test-renameat.c: include <sys/stat.h>
[gnulib.git] / ChangeLog
1 2010-05-23  Jim Meyering  <meyering@redhat.com>
2
3         test-renameat.c: include <sys/stat.h>
4         * tests/test-renameat.c: Include <sys/stat.h>; required for
5         definition of S_IS* macros.
6
7 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
8
9         Update maintainer documentation for 'relocatable-prog' module.
10         * doc/relocatable-maint.texi: Update.
11         Comments by Bruno Haible.
12
13 2010-05-23  Bruno Haible  <bruno@clisp.org>
14
15         git-merge-changelog: Enable --split-merged-entry by default.
16         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
17         (usage): Don't mention this option any more.
18         Reported by Ralf Wildenhues.
19
20 2010-05-23  Jim Meyering  <meyering@redhat.com>
21
22         test-pwrite: do not leave behind a test file named "out"
23         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
24         The trivial-looking use of init.sh is really necessary.
25         It ensures that the temporary file, "out", is created in
26         a temporary directory, and removed upon termination.
27         * tests/test-pwrite.sh: Re-add file.
28         * modules/pwrite-tests: Reference it.
29
30 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31
32         Fix output redirection buglet in init.sh.
33         * tests/init.sh: Fix redirection of stderr.
34
35 2010-05-20  Simon Josefsson  <simon@josefsson.org>
36
37         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
38
39 2010-05-17  Simon Josefsson  <simon@josefsson.org>
40
41         * modules/valgrind-tests: New file.
42         * m4/valgrind-tests.m4: New file.
43         * doc/valgrind-tests.texi: New file.
44         * doc/gnulib.texi (Running self-tests under valgrind): New
45         section.
46
47 2010-05-19  Bruno Haible  <bruno@clisp.org>
48
49         Clean up dead code in recent commit.
50         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
51         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
52         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
53         Suggested by Paolo Bonzini.
54
55 2010-05-19  Bruno Haible  <bruno@clisp.org>
56
57         Avoid valgrind error reports from libunistring.
58         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
59         * modules/libunistring (Files): Add it.
60         * modules/libunistring-optional (Files): Likewise.
61
62 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
63             Bruno Haible  <bruno@clisp.org>
64
65         New module 'libunistring-optional'.
66         * modules/libunistring-optional: New file.
67         * m4/libunistring-base.m4: New file.
68         * m4/libunistring-optional.m4: New file.
69         * lib/unicase.in.h: Renamed from lib/unicase.h.
70         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
71         * lib/unictype.in.h: Renamed from lib/unictype.h.
72         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
73         * lib/uniname.in.h: Renamed from lib/uniname.h.
74         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
75         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
76         * lib/unistr.in.h: Renamed from lib/unistr.h.
77         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
78         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
79         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
80         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
81         gl_LIBUNISTRING. If the library was found, determine the installed
82         version and set LIBUNISTRING_VERSION.
83         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
84         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
85         handle a configuration option --with-included-libunistring.
86         * modules/libunistring (Files): Add m4/absolute-header.m4.
87         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
88         Add m4/libunistring-base.m4.
89         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
90         (Makefile.am): Build unicase.h from unicase.in.h.
91         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
92         Add m4/libunistring-base.m4.
93         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
94         (Makefile.am): Build uniconv.h from uniconv.in.h.
95         * modules/unictype/base (Files): Use unictype.in.h instead of
96         unictype.h. Add m4/libunistring-base.m4.
97         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
98         (Makefile.am): Build unictype.h from unictype.in.h.
99         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
100         Add m4/libunistring-base.m4.
101         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
102         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
103         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
104         Add m4/libunistring-base.m4.
105         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
106         (Makefile.am): Build uniname.h from uniname.in.h.
107         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
108         Add m4/libunistring-base.m4.
109         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
110         (Makefile.am): Build uninorm.h from uninorm.in.h.
111         * modules/unistdio/base (Files): Use unistdio.in.h instead of
112         unistdio.h. Add m4/libunistring-base.m4.
113         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
114         (Makefile.am): Build unistdio.h from unistdio.in.h.
115         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
116         Add m4/libunistring-base.m4.
117         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
118         (Makefile.am): Build unistr.h from unistr.in.h.
119         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
120         Add m4/libunistring-base.m4.
121         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
122         (Makefile.am): Build unitypes.h from unitypes.in.h.
123         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
124         Add m4/libunistring-base.m4.
125         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
126         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
127         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
128         uniwidth.h. Add m4/libunistring-base.m4.
129         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
130         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
131         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
132         instead of augmenting lib_SOURCES.
133         * modules/unicase/empty-suffix-context: Likewise.
134         * modules/unicase/locale-language: Likewise.
135         * modules/unicase/tolower: Likewise.
136         * modules/unicase/totitle: Likewise.
137         * modules/unicase/toupper: Likewise.
138         * modules/unicase/u8-casecmp: Likewise.
139         * modules/unicase/u8-casecoll: Likewise.
140         * modules/unicase/u8-casefold: Likewise.
141         * modules/unicase/u8-casexfrm: Likewise.
142         * modules/unicase/u8-ct-casefold: Likewise.
143         * modules/unicase/u8-ct-tolower: Likewise.
144         * modules/unicase/u8-ct-totitle: Likewise.
145         * modules/unicase/u8-ct-toupper: Likewise.
146         * modules/unicase/u8-is-cased: Likewise.
147         * modules/unicase/u8-is-casefolded: Likewise.
148         * modules/unicase/u8-is-lowercase: Likewise.
149         * modules/unicase/u8-is-titlecase: Likewise.
150         * modules/unicase/u8-is-uppercase: Likewise.
151         * modules/unicase/u8-prefix-context: Likewise.
152         * modules/unicase/u8-suffix-context: Likewise.
153         * modules/unicase/u8-tolower: Likewise.
154         * modules/unicase/u8-totitle: Likewise.
155         * modules/unicase/u8-toupper: Likewise.
156         * modules/unicase/u16-casecmp: Likewise.
157         * modules/unicase/u16-casecoll: Likewise.
158         * modules/unicase/u16-casefold: Likewise.
159         * modules/unicase/u16-casexfrm: Likewise.
160         * modules/unicase/u16-ct-casefold: Likewise.
161         * modules/unicase/u16-ct-tolower: Likewise.
162         * modules/unicase/u16-ct-totitle: Likewise.
163         * modules/unicase/u16-ct-toupper: Likewise.
164         * modules/unicase/u16-is-cased: Likewise.
165         * modules/unicase/u16-is-casefolded: Likewise.
166         * modules/unicase/u16-is-lowercase: Likewise.
167         * modules/unicase/u16-is-titlecase: Likewise.
168         * modules/unicase/u16-is-uppercase: Likewise.
169         * modules/unicase/u16-prefix-context: Likewise.
170         * modules/unicase/u16-suffix-context: Likewise.
171         * modules/unicase/u16-tolower: Likewise.
172         * modules/unicase/u16-totitle: Likewise.
173         * modules/unicase/u16-toupper: Likewise.
174         * modules/unicase/u32-casecmp: Likewise.
175         * modules/unicase/u32-casecoll: Likewise.
176         * modules/unicase/u32-casefold: Likewise.
177         * modules/unicase/u32-casexfrm: Likewise.
178         * modules/unicase/u32-ct-casefold: Likewise.
179         * modules/unicase/u32-ct-tolower: Likewise.
180         * modules/unicase/u32-ct-totitle: Likewise.
181         * modules/unicase/u32-ct-toupper: Likewise.
182         * modules/unicase/u32-is-cased: Likewise.
183         * modules/unicase/u32-is-casefolded: Likewise.
184         * modules/unicase/u32-is-lowercase: Likewise.
185         * modules/unicase/u32-is-titlecase: Likewise.
186         * modules/unicase/u32-is-uppercase: Likewise.
187         * modules/unicase/u32-prefix-context: Likewise.
188         * modules/unicase/u32-suffix-context: Likewise.
189         * modules/unicase/u32-tolower: Likewise.
190         * modules/unicase/u32-totitle: Likewise.
191         * modules/unicase/u32-toupper: Likewise.
192         * modules/unicase/ulc-casecmp: Likewise.
193         * modules/unicase/ulc-casecoll: Likewise.
194         * modules/unicase/ulc-casexfrm: Likewise.
195         * modules/uniconv/u8-conv-from-enc: Likewise.
196         * modules/uniconv/u8-conv-to-enc: Likewise.
197         * modules/uniconv/u8-strconv-from-enc: Likewise.
198         * modules/uniconv/u8-strconv-from-locale: Likewise.
199         * modules/uniconv/u8-strconv-to-enc: Likewise.
200         * modules/uniconv/u8-strconv-to-locale: Likewise.
201         * modules/uniconv/u16-conv-from-enc: Likewise.
202         * modules/uniconv/u16-conv-to-enc: Likewise.
203         * modules/uniconv/u16-strconv-from-enc: Likewise.
204         * modules/uniconv/u16-strconv-from-locale: Likewise.
205         * modules/uniconv/u16-strconv-to-enc: Likewise.
206         * modules/uniconv/u16-strconv-to-locale: Likewise.
207         * modules/uniconv/u32-conv-from-enc: Likewise.
208         * modules/uniconv/u32-conv-to-enc: Likewise.
209         * modules/uniconv/u32-strconv-from-enc: Likewise.
210         * modules/uniconv/u32-strconv-from-locale: Likewise.
211         * modules/uniconv/u32-strconv-to-enc: Likewise.
212         * modules/uniconv/u32-strconv-to-locale: Likewise.
213         * modules/unictype/bidicategory-byname: Likewise.
214         * modules/unictype/bidicategory-name: Likewise.
215         * modules/unictype/bidicategory-of: Likewise.
216         * modules/unictype/bidicategory-test: Likewise.
217         * modules/unictype/block-list: Likewise.
218         * modules/unictype/block-test: Likewise.
219         * modules/unictype/category-C: Likewise.
220         * modules/unictype/category-Cc: Likewise.
221         * modules/unictype/category-Cf: Likewise.
222         * modules/unictype/category-Cn: Likewise.
223         * modules/unictype/category-Co: Likewise.
224         * modules/unictype/category-Cs: Likewise.
225         * modules/unictype/category-L: Likewise.
226         * modules/unictype/category-Ll: Likewise.
227         * modules/unictype/category-Lm: Likewise.
228         * modules/unictype/category-Lo: Likewise.
229         * modules/unictype/category-Lt: Likewise.
230         * modules/unictype/category-Lu: Likewise.
231         * modules/unictype/category-M: Likewise.
232         * modules/unictype/category-Mc: Likewise.
233         * modules/unictype/category-Me: Likewise.
234         * modules/unictype/category-Mn: Likewise.
235         * modules/unictype/category-N: Likewise.
236         * modules/unictype/category-Nd: Likewise.
237         * modules/unictype/category-Nl: Likewise.
238         * modules/unictype/category-No: Likewise.
239         * modules/unictype/category-P: Likewise.
240         * modules/unictype/category-Pc: Likewise.
241         * modules/unictype/category-Pd: Likewise.
242         * modules/unictype/category-Pe: Likewise.
243         * modules/unictype/category-Pf: Likewise.
244         * modules/unictype/category-Pi: Likewise.
245         * modules/unictype/category-Po: Likewise.
246         * modules/unictype/category-Ps: Likewise.
247         * modules/unictype/category-S: Likewise.
248         * modules/unictype/category-Sc: Likewise.
249         * modules/unictype/category-Sk: Likewise.
250         * modules/unictype/category-Sm: Likewise.
251         * modules/unictype/category-So: Likewise.
252         * modules/unictype/category-Z: Likewise.
253         * modules/unictype/category-Zl: Likewise.
254         * modules/unictype/category-Zp: Likewise.
255         * modules/unictype/category-Zs: Likewise.
256         * modules/unictype/category-and: Likewise.
257         * modules/unictype/category-and-not: Likewise.
258         * modules/unictype/category-byname: Likewise.
259         * modules/unictype/category-name: Likewise.
260         * modules/unictype/category-none: Likewise.
261         * modules/unictype/category-of: Likewise.
262         * modules/unictype/category-or: Likewise.
263         * modules/unictype/category-test: Likewise.
264         * modules/unictype/combining-class: Likewise.
265         * modules/unictype/ctype-alnum: Likewise.
266         * modules/unictype/ctype-alpha: Likewise.
267         * modules/unictype/ctype-blank: Likewise.
268         * modules/unictype/ctype-cntrl: Likewise.
269         * modules/unictype/ctype-digit: Likewise.
270         * modules/unictype/ctype-graph: Likewise.
271         * modules/unictype/ctype-lower: Likewise.
272         * modules/unictype/ctype-print: Likewise.
273         * modules/unictype/ctype-punct: Likewise.
274         * modules/unictype/ctype-space: Likewise.
275         * modules/unictype/ctype-upper: Likewise.
276         * modules/unictype/ctype-xdigit: Likewise.
277         * modules/unictype/decimal-digit: Likewise.
278         * modules/unictype/digit: Likewise.
279         * modules/unictype/mirror: Likewise.
280         * modules/unictype/numeric: Likewise.
281         * modules/unictype/property-alphabetic: Likewise.
282         * modules/unictype/property-ascii-hex-digit: Likewise.
283         * modules/unictype/property-bidi-arabic-digit: Likewise.
284         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
285         * modules/unictype/property-bidi-block-separator: Likewise.
286         * modules/unictype/property-bidi-boundary-neutral: Likewise.
287         * modules/unictype/property-bidi-common-separator: Likewise.
288         * modules/unictype/property-bidi-control: Likewise.
289         * modules/unictype/property-bidi-embedding-or-override: Likewise.
290         * modules/unictype/property-bidi-eur-num-separator: Likewise.
291         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
292         * modules/unictype/property-bidi-european-digit: Likewise.
293         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
294         * modules/unictype/property-bidi-left-to-right: Likewise.
295         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
296         * modules/unictype/property-bidi-other-neutral: Likewise.
297         * modules/unictype/property-bidi-pdf: Likewise.
298         * modules/unictype/property-bidi-segment-separator: Likewise.
299         * modules/unictype/property-bidi-whitespace: Likewise.
300         * modules/unictype/property-byname: Likewise.
301         * modules/unictype/property-combining: Likewise.
302         * modules/unictype/property-composite: Likewise.
303         * modules/unictype/property-currency-symbol: Likewise.
304         * modules/unictype/property-dash: Likewise.
305         * modules/unictype/property-decimal-digit: Likewise.
306         * modules/unictype/property-default-ignorable-code-point: Likewise.
307         * modules/unictype/property-deprecated: Likewise.
308         * modules/unictype/property-diacritic: Likewise.
309         * modules/unictype/property-extender: Likewise.
310         * modules/unictype/property-format-control: Likewise.
311         * modules/unictype/property-grapheme-base: Likewise.
312         * modules/unictype/property-grapheme-extend: Likewise.
313         * modules/unictype/property-grapheme-link: Likewise.
314         * modules/unictype/property-hex-digit: Likewise.
315         * modules/unictype/property-hyphen: Likewise.
316         * modules/unictype/property-id-continue: Likewise.
317         * modules/unictype/property-id-start: Likewise.
318         * modules/unictype/property-ideographic: Likewise.
319         * modules/unictype/property-ids-binary-operator: Likewise.
320         * modules/unictype/property-ids-trinary-operator: Likewise.
321         * modules/unictype/property-ignorable-control: Likewise.
322         * modules/unictype/property-iso-control: Likewise.
323         * modules/unictype/property-join-control: Likewise.
324         * modules/unictype/property-left-of-pair: Likewise.
325         * modules/unictype/property-line-separator: Likewise.
326         * modules/unictype/property-logical-order-exception: Likewise.
327         * modules/unictype/property-lowercase: Likewise.
328         * modules/unictype/property-math: Likewise.
329         * modules/unictype/property-non-break: Likewise.
330         * modules/unictype/property-not-a-character: Likewise.
331         * modules/unictype/property-numeric: Likewise.
332         * modules/unictype/property-other-alphabetic: Likewise.
333         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
334         * modules/unictype/property-other-grapheme-extend: Likewise.
335         * modules/unictype/property-other-id-continue: Likewise.
336         * modules/unictype/property-other-id-start: Likewise.
337         * modules/unictype/property-other-lowercase: Likewise.
338         * modules/unictype/property-other-math: Likewise.
339         * modules/unictype/property-other-uppercase: Likewise.
340         * modules/unictype/property-paired-punctuation: Likewise.
341         * modules/unictype/property-paragraph-separator: Likewise.
342         * modules/unictype/property-pattern-syntax: Likewise.
343         * modules/unictype/property-pattern-white-space: Likewise.
344         * modules/unictype/property-private-use: Likewise.
345         * modules/unictype/property-punctuation: Likewise.
346         * modules/unictype/property-quotation-mark: Likewise.
347         * modules/unictype/property-radical: Likewise.
348         * modules/unictype/property-sentence-terminal: Likewise.
349         * modules/unictype/property-soft-dotted: Likewise.
350         * modules/unictype/property-space: Likewise.
351         * modules/unictype/property-terminal-punctuation: Likewise.
352         * modules/unictype/property-test: Likewise.
353         * modules/unictype/property-titlecase: Likewise.
354         * modules/unictype/property-unassigned-code-value: Likewise.
355         * modules/unictype/property-unified-ideograph: Likewise.
356         * modules/unictype/property-uppercase: Likewise.
357         * modules/unictype/property-variation-selector: Likewise.
358         * modules/unictype/property-white-space: Likewise.
359         * modules/unictype/property-xid-continue: Likewise.
360         * modules/unictype/property-xid-start: Likewise.
361         * modules/unictype/property-zero-width: Likewise.
362         * modules/unictype/scripts: Likewise.
363         * modules/unictype/syntax-c-ident: Likewise.
364         * modules/unictype/syntax-c-whitespace: Likewise.
365         * modules/unictype/syntax-java-ident: Likewise.
366         * modules/unictype/syntax-java-whitespace: Likewise.
367         * modules/unilbrk/u8-possible-linebreaks: Likewise.
368         * modules/unilbrk/u8-width-linebreaks: Likewise.
369         * modules/unilbrk/u16-possible-linebreaks: Likewise.
370         * modules/unilbrk/u16-width-linebreaks: Likewise.
371         * modules/unilbrk/u32-possible-linebreaks: Likewise.
372         * modules/unilbrk/u32-width-linebreaks: Likewise.
373         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
374         * modules/unilbrk/ulc-width-linebreaks: Likewise.
375         * modules/uniname/uniname: Likewise.
376         * modules/uninorm/canonical-decomposition: Likewise.
377         * modules/uninorm/composition: Likewise.
378         * modules/uninorm/decomposing-form: Likewise.
379         * modules/uninorm/decomposition: Likewise.
380         * modules/uninorm/filter: Likewise.
381         * modules/uninorm/nfc: Likewise.
382         * modules/uninorm/nfd: Likewise.
383         * modules/uninorm/nfkc: Likewise.
384         * modules/uninorm/nfkd: Likewise.
385         * modules/uninorm/u8-normalize: Likewise.
386         * modules/uninorm/u8-normcmp: Likewise.
387         * modules/uninorm/u8-normcoll: Likewise.
388         * modules/uninorm/u8-normxfrm: Likewise.
389         * modules/uninorm/u16-normalize: Likewise.
390         * modules/uninorm/u16-normcmp: Likewise.
391         * modules/uninorm/u16-normcoll: Likewise.
392         * modules/uninorm/u16-normxfrm: Likewise.
393         * modules/uninorm/u32-normalize: Likewise.
394         * modules/uninorm/u32-normcmp: Likewise.
395         * modules/uninorm/u32-normcoll: Likewise.
396         * modules/uninorm/u32-normxfrm: Likewise.
397         * modules/unistdio/u8-asnprintf: Likewise.
398         * modules/unistdio/u8-asprintf: Likewise.
399         * modules/unistdio/u8-snprintf: Likewise.
400         * modules/unistdio/u8-sprintf: Likewise.
401         * modules/unistdio/u8-u8-asnprintf: Likewise.
402         * modules/unistdio/u8-u8-asprintf: Likewise.
403         * modules/unistdio/u8-u8-snprintf: Likewise.
404         * modules/unistdio/u8-u8-sprintf: Likewise.
405         * modules/unistdio/u8-u8-vasnprintf: Likewise.
406         * modules/unistdio/u8-u8-vasprintf: Likewise.
407         * modules/unistdio/u8-u8-vsnprintf: Likewise.
408         * modules/unistdio/u8-u8-vsprintf: Likewise.
409         * modules/unistdio/u8-vasnprintf: Likewise.
410         * modules/unistdio/u8-vasprintf: Likewise.
411         * modules/unistdio/u8-vsnprintf: Likewise.
412         * modules/unistdio/u8-vsprintf: Likewise.
413         * modules/unistdio/u16-asnprintf: Likewise.
414         * modules/unistdio/u16-asprintf: Likewise.
415         * modules/unistdio/u16-snprintf: Likewise.
416         * modules/unistdio/u16-sprintf: Likewise.
417         * modules/unistdio/u16-u16-asnprintf: Likewise.
418         * modules/unistdio/u16-u16-asprintf: Likewise.
419         * modules/unistdio/u16-u16-snprintf: Likewise.
420         * modules/unistdio/u16-u16-sprintf: Likewise.
421         * modules/unistdio/u16-u16-vasnprintf: Likewise.
422         * modules/unistdio/u16-u16-vasprintf: Likewise.
423         * modules/unistdio/u16-u16-vsnprintf: Likewise.
424         * modules/unistdio/u16-u16-vsprintf: Likewise.
425         * modules/unistdio/u16-vasnprintf: Likewise.
426         * modules/unistdio/u16-vasprintf: Likewise.
427         * modules/unistdio/u16-vsnprintf: Likewise.
428         * modules/unistdio/u16-vsprintf: Likewise.
429         * modules/unistdio/u32-asnprintf: Likewise.
430         * modules/unistdio/u32-asprintf: Likewise.
431         * modules/unistdio/u32-snprintf: Likewise.
432         * modules/unistdio/u32-sprintf: Likewise.
433         * modules/unistdio/u32-u32-asnprintf: Likewise.
434         * modules/unistdio/u32-u32-asprintf: Likewise.
435         * modules/unistdio/u32-u32-snprintf: Likewise.
436         * modules/unistdio/u32-u32-sprintf: Likewise.
437         * modules/unistdio/u32-u32-vasnprintf: Likewise.
438         * modules/unistdio/u32-u32-vasprintf: Likewise.
439         * modules/unistdio/u32-u32-vsnprintf: Likewise.
440         * modules/unistdio/u32-u32-vsprintf: Likewise.
441         * modules/unistdio/u32-vasnprintf: Likewise.
442         * modules/unistdio/u32-vasprintf: Likewise.
443         * modules/unistdio/u32-vsnprintf: Likewise.
444         * modules/unistdio/u32-vsprintf: Likewise.
445         * modules/unistdio/ulc-asnprintf: Likewise.
446         * modules/unistdio/ulc-asprintf: Likewise.
447         * modules/unistdio/ulc-fprintf: Likewise.
448         * modules/unistdio/ulc-snprintf: Likewise.
449         * modules/unistdio/ulc-sprintf: Likewise.
450         * modules/unistdio/ulc-vasnprintf: Likewise.
451         * modules/unistdio/ulc-vasprintf: Likewise.
452         * modules/unistdio/ulc-vfprintf: Likewise.
453         * modules/unistdio/ulc-vsnprintf: Likewise.
454         * modules/unistdio/ulc-vsprintf: Likewise.
455         * modules/unistr/u8-check: Likewise.
456         * modules/unistr/u8-chr: Likewise.
457         * modules/unistr/u8-cmp: Likewise.
458         * modules/unistr/u8-cmp2: Likewise.
459         * modules/unistr/u8-cpy: Likewise.
460         * modules/unistr/u8-cpy-alloc: Likewise.
461         * modules/unistr/u8-endswith: Likewise.
462         * modules/unistr/u8-mblen: Likewise.
463         * modules/unistr/u8-mbsnlen: Likewise.
464         * modules/unistr/u8-mbtouc: Likewise.
465         * modules/unistr/u8-mbtouc-unsafe: Likewise.
466         * modules/unistr/u8-mbtoucr: Likewise.
467         * modules/unistr/u8-move: Likewise.
468         * modules/unistr/u8-next: Likewise.
469         * modules/unistr/u8-prev: Likewise.
470         * modules/unistr/u8-set: Likewise.
471         * modules/unistr/u8-startswith: Likewise.
472         * modules/unistr/u8-stpcpy: Likewise.
473         * modules/unistr/u8-stpncpy: Likewise.
474         * modules/unistr/u8-strcat: Likewise.
475         * modules/unistr/u8-strchr: Likewise.
476         * modules/unistr/u8-strcmp: Likewise.
477         * modules/unistr/u8-strcoll: Likewise.
478         * modules/unistr/u8-strcpy: Likewise.
479         * modules/unistr/u8-strcspn: Likewise.
480         * modules/unistr/u8-strdup: Likewise.
481         * modules/unistr/u8-strlen: Likewise.
482         * modules/unistr/u8-strmblen: Likewise.
483         * modules/unistr/u8-strmbtouc: Likewise.
484         * modules/unistr/u8-strncat: Likewise.
485         * modules/unistr/u8-strncmp: Likewise.
486         * modules/unistr/u8-strncpy: Likewise.
487         * modules/unistr/u8-strnlen: Likewise.
488         * modules/unistr/u8-strpbrk: Likewise.
489         * modules/unistr/u8-strrchr: Likewise.
490         * modules/unistr/u8-strspn: Likewise.
491         * modules/unistr/u8-strstr: Likewise.
492         * modules/unistr/u8-strtok: Likewise.
493         * modules/unistr/u8-to-u16: Likewise.
494         * modules/unistr/u8-to-u32: Likewise.
495         * modules/unistr/u8-uctomb: Likewise.
496         * modules/unistr/u16-check: Likewise.
497         * modules/unistr/u16-chr: Likewise.
498         * modules/unistr/u16-cmp: Likewise.
499         * modules/unistr/u16-cmp2: Likewise.
500         * modules/unistr/u16-cpy: Likewise.
501         * modules/unistr/u16-cpy-alloc: Likewise.
502         * modules/unistr/u16-endswith: Likewise.
503         * modules/unistr/u16-mblen: Likewise.
504         * modules/unistr/u16-mbsnlen: Likewise.
505         * modules/unistr/u16-mbtouc: Likewise.
506         * modules/unistr/u16-mbtouc-unsafe: Likewise.
507         * modules/unistr/u16-mbtoucr: Likewise.
508         * modules/unistr/u16-move: Likewise.
509         * modules/unistr/u16-next: Likewise.
510         * modules/unistr/u16-prev: Likewise.
511         * modules/unistr/u16-set: Likewise.
512         * modules/unistr/u16-startswith: Likewise.
513         * modules/unistr/u16-stpcpy: Likewise.
514         * modules/unistr/u16-stpncpy: Likewise.
515         * modules/unistr/u16-strcat: Likewise.
516         * modules/unistr/u16-strchr: Likewise.
517         * modules/unistr/u16-strcmp: Likewise.
518         * modules/unistr/u16-strcoll: Likewise.
519         * modules/unistr/u16-strcpy: Likewise.
520         * modules/unistr/u16-strcspn: Likewise.
521         * modules/unistr/u16-strdup: Likewise.
522         * modules/unistr/u16-strlen: Likewise.
523         * modules/unistr/u16-strmblen: Likewise.
524         * modules/unistr/u16-strmbtouc: Likewise.
525         * modules/unistr/u16-strncat: Likewise.
526         * modules/unistr/u16-strncmp: Likewise.
527         * modules/unistr/u16-strncpy: Likewise.
528         * modules/unistr/u16-strnlen: Likewise.
529         * modules/unistr/u16-strpbrk: Likewise.
530         * modules/unistr/u16-strrchr: Likewise.
531         * modules/unistr/u16-strspn: Likewise.
532         * modules/unistr/u16-strstr: Likewise.
533         * modules/unistr/u16-strtok: Likewise.
534         * modules/unistr/u16-to-u32: Likewise.
535         * modules/unistr/u16-to-u8: Likewise.
536         * modules/unistr/u16-uctomb: Likewise.
537         * modules/unistr/u32-check: Likewise.
538         * modules/unistr/u32-chr: Likewise.
539         * modules/unistr/u32-cmp: Likewise.
540         * modules/unistr/u32-cmp2: Likewise.
541         * modules/unistr/u32-cpy: Likewise.
542         * modules/unistr/u32-cpy-alloc: Likewise.
543         * modules/unistr/u32-endswith: Likewise.
544         * modules/unistr/u32-mblen: Likewise.
545         * modules/unistr/u32-mbsnlen: Likewise.
546         * modules/unistr/u32-mbtouc: Likewise.
547         * modules/unistr/u32-mbtouc-unsafe: Likewise.
548         * modules/unistr/u32-mbtoucr: Likewise.
549         * modules/unistr/u32-move: Likewise.
550         * modules/unistr/u32-next: Likewise.
551         * modules/unistr/u32-prev: Likewise.
552         * modules/unistr/u32-set: Likewise.
553         * modules/unistr/u32-startswith: Likewise.
554         * modules/unistr/u32-stpcpy: Likewise.
555         * modules/unistr/u32-stpncpy: Likewise.
556         * modules/unistr/u32-strcat: Likewise.
557         * modules/unistr/u32-strchr: Likewise.
558         * modules/unistr/u32-strcmp: Likewise.
559         * modules/unistr/u32-strcoll: Likewise.
560         * modules/unistr/u32-strcpy: Likewise.
561         * modules/unistr/u32-strcspn: Likewise.
562         * modules/unistr/u32-strdup: Likewise.
563         * modules/unistr/u32-strlen: Likewise.
564         * modules/unistr/u32-strmblen: Likewise.
565         * modules/unistr/u32-strmbtouc: Likewise.
566         * modules/unistr/u32-strncat: Likewise.
567         * modules/unistr/u32-strncmp: Likewise.
568         * modules/unistr/u32-strncpy: Likewise.
569         * modules/unistr/u32-strnlen: Likewise.
570         * modules/unistr/u32-strpbrk: Likewise.
571         * modules/unistr/u32-strrchr: Likewise.
572         * modules/unistr/u32-strspn: Likewise.
573         * modules/unistr/u32-strstr: Likewise.
574         * modules/unistr/u32-strtok: Likewise.
575         * modules/unistr/u32-to-u16: Likewise.
576         * modules/unistr/u32-to-u8: Likewise.
577         * modules/unistr/u32-uctomb: Likewise.
578         * modules/uniwbrk/u8-wordbreaks: Likewise.
579         * modules/uniwbrk/u16-wordbreaks: Likewise.
580         * modules/uniwbrk/u32-wordbreaks: Likewise.
581         * modules/uniwbrk/ulc-wordbreaks: Likewise.
582         * modules/uniwbrk/wordbreak-property: Likewise.
583         * modules/uniwidth/u8-strwidth: Likewise.
584         * modules/uniwidth/u8-width: Likewise.
585         * modules/uniwidth/u16-strwidth: Likewise.
586         * modules/uniwidth/u16-width: Likewise.
587         * modules/uniwidth/u32-strwidth: Likewise.
588         * modules/uniwidth/u32-width: Likewise.
589         * modules/uniwidth/width: Likewise.
590         * modules/unicase/cased-tests (Makefile.am): Link all test programs
591         with $(LIBUNISTRING).
592         * modules/unicase/ignorable-tests: Likewise.
593         * modules/unicase/locale-language-tests: Likewise.
594         * modules/unicase/tolower-tests: Likewise.
595         * modules/unicase/totitle-tests: Likewise.
596         * modules/unicase/toupper-tests: Likewise.
597         * modules/unicase/u8-casecmp-tests: Likewise.
598         * modules/unicase/u8-casecoll-tests: Likewise.
599         * modules/unicase/u8-casefold-tests: Likewise.
600         * modules/unicase/u8-is-cased-tests: Likewise.
601         * modules/unicase/u8-is-casefolded-tests: Likewise.
602         * modules/unicase/u8-is-lowercase-tests: Likewise.
603         * modules/unicase/u8-is-titlecase-tests: Likewise.
604         * modules/unicase/u8-is-uppercase-tests: Likewise.
605         * modules/unicase/u8-tolower-tests: Likewise.
606         * modules/unicase/u8-totitle-tests: Likewise.
607         * modules/unicase/u8-toupper-tests: Likewise.
608         * modules/unicase/u16-casecmp-tests: Likewise.
609         * modules/unicase/u16-casecoll-tests: Likewise.
610         * modules/unicase/u16-casefold-tests: Likewise.
611         * modules/unicase/u16-is-cased-tests: Likewise.
612         * modules/unicase/u16-is-casefolded-tests: Likewise.
613         * modules/unicase/u16-is-lowercase-tests: Likewise.
614         * modules/unicase/u16-is-titlecase-tests: Likewise.
615         * modules/unicase/u16-is-uppercase-tests: Likewise.
616         * modules/unicase/u16-tolower-tests: Likewise.
617         * modules/unicase/u16-totitle-tests: Likewise.
618         * modules/unicase/u16-toupper-tests: Likewise.
619         * modules/unicase/u32-casecmp-tests: Likewise.
620         * modules/unicase/u32-casecoll-tests: Likewise.
621         * modules/unicase/u32-casefold-tests: Likewise.
622         * modules/unicase/u32-is-cased-tests: Likewise.
623         * modules/unicase/u32-is-casefolded-tests: Likewise.
624         * modules/unicase/u32-is-lowercase-tests: Likewise.
625         * modules/unicase/u32-is-titlecase-tests: Likewise.
626         * modules/unicase/u32-is-uppercase-tests: Likewise.
627         * modules/unicase/u32-tolower-tests: Likewise.
628         * modules/unicase/u32-totitle-tests: Likewise.
629         * modules/unicase/u32-toupper-tests: Likewise.
630         * modules/unicase/ulc-casecmp-tests: Likewise.
631         * modules/unicase/ulc-casecoll-tests: Likewise.
632         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
633         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
634         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
635         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
636         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
637         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
638         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
639         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
640         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
641         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
642         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
643         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
644         * modules/unictype/bidicategory-byname-tests: Likewise.
645         * modules/unictype/bidicategory-name-tests: Likewise.
646         * modules/unictype/bidicategory-of-tests: Likewise.
647         * modules/unictype/bidicategory-test-tests: Likewise.
648         * modules/unictype/block-list-tests: Likewise.
649         * modules/unictype/block-of-tests: Likewise.
650         * modules/unictype/block-test-tests: Likewise.
651         * modules/unictype/category-C-tests: Likewise.
652         * modules/unictype/category-Cc-tests: Likewise.
653         * modules/unictype/category-Cf-tests: Likewise.
654         * modules/unictype/category-Cn-tests: Likewise.
655         * modules/unictype/category-Co-tests: Likewise.
656         * modules/unictype/category-Cs-tests: Likewise.
657         * modules/unictype/category-L-tests: Likewise.
658         * modules/unictype/category-Ll-tests: Likewise.
659         * modules/unictype/category-Lm-tests: Likewise.
660         * modules/unictype/category-Lo-tests: Likewise.
661         * modules/unictype/category-Lt-tests: Likewise.
662         * modules/unictype/category-Lu-tests: Likewise.
663         * modules/unictype/category-M-tests: Likewise.
664         * modules/unictype/category-Mc-tests: Likewise.
665         * modules/unictype/category-Me-tests: Likewise.
666         * modules/unictype/category-Mn-tests: Likewise.
667         * modules/unictype/category-N-tests: Likewise.
668         * modules/unictype/category-Nd-tests: Likewise.
669         * modules/unictype/category-Nl-tests: Likewise.
670         * modules/unictype/category-No-tests: Likewise.
671         * modules/unictype/category-P-tests: Likewise.
672         * modules/unictype/category-Pc-tests: Likewise.
673         * modules/unictype/category-Pd-tests: Likewise.
674         * modules/unictype/category-Pe-tests: Likewise.
675         * modules/unictype/category-Pf-tests: Likewise.
676         * modules/unictype/category-Pi-tests: Likewise.
677         * modules/unictype/category-Po-tests: Likewise.
678         * modules/unictype/category-Ps-tests: Likewise.
679         * modules/unictype/category-S-tests: Likewise.
680         * modules/unictype/category-Sc-tests: Likewise.
681         * modules/unictype/category-Sk-tests: Likewise.
682         * modules/unictype/category-Sm-tests: Likewise.
683         * modules/unictype/category-So-tests: Likewise.
684         * modules/unictype/category-Z-tests: Likewise.
685         * modules/unictype/category-Zl-tests: Likewise.
686         * modules/unictype/category-Zp-tests: Likewise.
687         * modules/unictype/category-Zs-tests: Likewise.
688         * modules/unictype/category-and-not-tests: Likewise.
689         * modules/unictype/category-and-tests: Likewise.
690         * modules/unictype/category-byname-tests: Likewise.
691         * modules/unictype/category-name-tests: Likewise.
692         * modules/unictype/category-none-tests: Likewise.
693         * modules/unictype/category-of-tests: Likewise.
694         * modules/unictype/category-or-tests: Likewise.
695         * modules/unictype/category-test-withtable-tests: Likewise.
696         * modules/unictype/combining-class-tests: Likewise.
697         * modules/unictype/ctype-alnum-tests: Likewise.
698         * modules/unictype/ctype-alpha-tests: Likewise.
699         * modules/unictype/ctype-blank-tests: Likewise.
700         * modules/unictype/ctype-cntrl-tests: Likewise.
701         * modules/unictype/ctype-digit-tests: Likewise.
702         * modules/unictype/ctype-graph-tests: Likewise.
703         * modules/unictype/ctype-lower-tests: Likewise.
704         * modules/unictype/ctype-print-tests: Likewise.
705         * modules/unictype/ctype-punct-tests: Likewise.
706         * modules/unictype/ctype-space-tests: Likewise.
707         * modules/unictype/ctype-upper-tests: Likewise.
708         * modules/unictype/ctype-xdigit-tests: Likewise.
709         * modules/unictype/decimal-digit-tests: Likewise.
710         * modules/unictype/digit-tests: Likewise.
711         * modules/unictype/mirror-tests: Likewise.
712         * modules/unictype/numeric-tests: Likewise.
713         * modules/unictype/property-alphabetic-tests: Likewise.
714         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
715         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
716         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
717         * modules/unictype/property-bidi-block-separator-tests: Likewise.
718         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
719         * modules/unictype/property-bidi-common-separator-tests: Likewise.
720         * modules/unictype/property-bidi-control-tests: Likewise.
721         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
722         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
723         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
724         * modules/unictype/property-bidi-european-digit-tests: Likewise.
725         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
726         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
727         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
728         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
729         * modules/unictype/property-bidi-pdf-tests: Likewise.
730         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
731         * modules/unictype/property-bidi-whitespace-tests: Likewise.
732         * modules/unictype/property-byname-tests: Likewise.
733         * modules/unictype/property-combining-tests: Likewise.
734         * modules/unictype/property-composite-tests: Likewise.
735         * modules/unictype/property-currency-symbol-tests: Likewise.
736         * modules/unictype/property-dash-tests: Likewise.
737         * modules/unictype/property-decimal-digit-tests: Likewise.
738         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
739         * modules/unictype/property-deprecated-tests: Likewise.
740         * modules/unictype/property-diacritic-tests: Likewise.
741         * modules/unictype/property-extender-tests: Likewise.
742         * modules/unictype/property-format-control-tests: Likewise.
743         * modules/unictype/property-grapheme-base-tests: Likewise.
744         * modules/unictype/property-grapheme-extend-tests: Likewise.
745         * modules/unictype/property-grapheme-link-tests: Likewise.
746         * modules/unictype/property-hex-digit-tests: Likewise.
747         * modules/unictype/property-hyphen-tests: Likewise.
748         * modules/unictype/property-id-continue-tests: Likewise.
749         * modules/unictype/property-id-start-tests: Likewise.
750         * modules/unictype/property-ideographic-tests: Likewise.
751         * modules/unictype/property-ids-binary-operator-tests: Likewise.
752         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
753         * modules/unictype/property-ignorable-control-tests: Likewise.
754         * modules/unictype/property-iso-control-tests: Likewise.
755         * modules/unictype/property-join-control-tests: Likewise.
756         * modules/unictype/property-left-of-pair-tests: Likewise.
757         * modules/unictype/property-line-separator-tests: Likewise.
758         * modules/unictype/property-logical-order-exception-tests: Likewise.
759         * modules/unictype/property-lowercase-tests: Likewise.
760         * modules/unictype/property-math-tests: Likewise.
761         * modules/unictype/property-non-break-tests: Likewise.
762         * modules/unictype/property-not-a-character-tests: Likewise.
763         * modules/unictype/property-numeric-tests: Likewise.
764         * modules/unictype/property-other-alphabetic-tests: Likewise.
765         * modules/unictype/property-other-default-ignorable-code-point-tests:
766         Likewise.
767         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
768         * modules/unictype/property-other-id-continue-tests: Likewise.
769         * modules/unictype/property-other-id-start-tests: Likewise.
770         * modules/unictype/property-other-lowercase-tests: Likewise.
771         * modules/unictype/property-other-math-tests: Likewise.
772         * modules/unictype/property-other-uppercase-tests: Likewise.
773         * modules/unictype/property-paired-punctuation-tests: Likewise.
774         * modules/unictype/property-paragraph-separator-tests: Likewise.
775         * modules/unictype/property-pattern-syntax-tests: Likewise.
776         * modules/unictype/property-pattern-white-space-tests: Likewise.
777         * modules/unictype/property-private-use-tests: Likewise.
778         * modules/unictype/property-punctuation-tests: Likewise.
779         * modules/unictype/property-quotation-mark-tests: Likewise.
780         * modules/unictype/property-radical-tests: Likewise.
781         * modules/unictype/property-sentence-terminal-tests: Likewise.
782         * modules/unictype/property-soft-dotted-tests: Likewise.
783         * modules/unictype/property-space-tests: Likewise.
784         * modules/unictype/property-terminal-punctuation-tests: Likewise.
785         * modules/unictype/property-test-tests: Likewise.
786         * modules/unictype/property-titlecase-tests: Likewise.
787         * modules/unictype/property-unassigned-code-value-tests: Likewise.
788         * modules/unictype/property-unified-ideograph-tests: Likewise.
789         * modules/unictype/property-uppercase-tests: Likewise.
790         * modules/unictype/property-variation-selector-tests: Likewise.
791         * modules/unictype/property-white-space-tests: Likewise.
792         * modules/unictype/property-xid-continue-tests: Likewise.
793         * modules/unictype/property-xid-start-tests: Likewise.
794         * modules/unictype/property-zero-width-tests: Likewise.
795         * modules/unictype/scripts-tests: Likewise.
796         * modules/unictype/syntax-c-ident-tests: Likewise.
797         * modules/unictype/syntax-c-whitespace-tests: Likewise.
798         * modules/unictype/syntax-java-ident-tests: Likewise.
799         * modules/unictype/syntax-java-whitespace-tests: Likewise.
800         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
801         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
802         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
803         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
804         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
805         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
806         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
807         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
808         * modules/uniname/uniname-tests: Likewise.
809         * modules/uninorm/canonical-decomposition-tests: Likewise.
810         * modules/uninorm/compat-decomposition-tests: Likewise.
811         * modules/uninorm/composition-tests: Likewise.
812         * modules/uninorm/decomposing-form-tests: Likewise.
813         * modules/uninorm/decomposition-tests: Likewise.
814         * modules/uninorm/filter-tests: Likewise.
815         * modules/uninorm/nfc-tests: Likewise.
816         * modules/uninorm/nfd-tests: Likewise.
817         * modules/uninorm/nfkc-tests: Likewise.
818         * modules/uninorm/nfkd-tests: Likewise.
819         * modules/uninorm/u8-normcmp-tests: Likewise.
820         * modules/uninorm/u8-normcoll-tests: Likewise.
821         * modules/uninorm/u16-normcmp-tests: Likewise.
822         * modules/uninorm/u16-normcoll-tests: Likewise.
823         * modules/uninorm/u32-normcmp-tests: Likewise.
824         * modules/uninorm/u32-normcoll-tests: Likewise.
825         * modules/unistdio/u8-asnprintf-tests: Likewise.
826         * modules/unistdio/u8-vasnprintf-tests: Likewise.
827         * modules/unistdio/u8-vasprintf-tests: Likewise.
828         * modules/unistdio/u8-vsnprintf-tests: Likewise.
829         * modules/unistdio/u8-vsprintf-tests: Likewise.
830         * modules/unistdio/u16-asnprintf-tests: Likewise.
831         * modules/unistdio/u16-vasnprintf-tests: Likewise.
832         * modules/unistdio/u16-vasprintf-tests: Likewise.
833         * modules/unistdio/u16-vsnprintf-tests: Likewise.
834         * modules/unistdio/u16-vsprintf-tests: Likewise.
835         * modules/unistdio/u32-asnprintf-tests: Likewise.
836         * modules/unistdio/u32-vasnprintf-tests: Likewise.
837         * modules/unistdio/u32-vasprintf-tests: Likewise.
838         * modules/unistdio/u32-vsnprintf-tests: Likewise.
839         * modules/unistdio/u32-vsprintf-tests: Likewise.
840         * modules/unistdio/ulc-asnprintf-tests: Likewise.
841         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
842         * modules/unistdio/ulc-vasprintf-tests: Likewise.
843         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
844         * modules/unistdio/ulc-vsprintf-tests: Likewise.
845         * modules/unistr/u8-check-tests: Likewise.
846         * modules/unistr/u8-chr-tests: Likewise.
847         * modules/unistr/u8-cmp-tests: Likewise.
848         * modules/unistr/u8-cmp2-tests: Likewise.
849         * modules/unistr/u8-cpy-alloc-tests: Likewise.
850         * modules/unistr/u8-cpy-tests: Likewise.
851         * modules/unistr/u8-mblen-tests: Likewise.
852         * modules/unistr/u8-mbsnlen-tests: Likewise.
853         * modules/unistr/u8-mbtouc-tests: Likewise.
854         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
855         * modules/unistr/u8-mbtoucr-tests: Likewise.
856         * modules/unistr/u8-move-tests: Likewise.
857         * modules/unistr/u8-next-tests: Likewise.
858         * modules/unistr/u8-prev-tests: Likewise.
859         * modules/unistr/u8-set-tests: Likewise.
860         * modules/unistr/u8-stpcpy-tests: Likewise.
861         * modules/unistr/u8-stpncpy-tests: Likewise.
862         * modules/unistr/u8-strcat-tests: Likewise.
863         * modules/unistr/u8-strcmp-tests: Likewise.
864         * modules/unistr/u8-strcoll-tests: Likewise.
865         * modules/unistr/u8-strcpy-tests: Likewise.
866         * modules/unistr/u8-strdup-tests: Likewise.
867         * modules/unistr/u8-strlen-tests: Likewise.
868         * modules/unistr/u8-strmblen-tests: Likewise.
869         * modules/unistr/u8-strmbtouc-tests: Likewise.
870         * modules/unistr/u8-strncat-tests: Likewise.
871         * modules/unistr/u8-strncmp-tests: Likewise.
872         * modules/unistr/u8-strncpy-tests: Likewise.
873         * modules/unistr/u8-strnlen-tests: Likewise.
874         * modules/unistr/u8-to-u16-tests: Likewise.
875         * modules/unistr/u8-to-u32-tests: Likewise.
876         * modules/unistr/u8-uctomb-tests: Likewise.
877         * modules/unistr/u16-check-tests: Likewise.
878         * modules/unistr/u16-chr-tests: Likewise.
879         * modules/unistr/u16-cmp-tests: Likewise.
880         * modules/unistr/u16-cmp2-tests: Likewise.
881         * modules/unistr/u16-cpy-alloc-tests: Likewise.
882         * modules/unistr/u16-cpy-tests: Likewise.
883         * modules/unistr/u16-mblen-tests: Likewise.
884         * modules/unistr/u16-mbsnlen-tests: Likewise.
885         * modules/unistr/u16-mbtouc-tests: Likewise.
886         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
887         * modules/unistr/u16-mbtoucr-tests: Likewise.
888         * modules/unistr/u16-move-tests: Likewise.
889         * modules/unistr/u16-next-tests: Likewise.
890         * modules/unistr/u16-prev-tests: Likewise.
891         * modules/unistr/u16-set-tests: Likewise.
892         * modules/unistr/u16-stpcpy-tests: Likewise.
893         * modules/unistr/u16-stpncpy-tests: Likewise.
894         * modules/unistr/u16-strcat-tests: Likewise.
895         * modules/unistr/u16-strcmp-tests: Likewise.
896         * modules/unistr/u16-strcoll-tests: Likewise.
897         * modules/unistr/u16-strcpy-tests: Likewise.
898         * modules/unistr/u16-strdup-tests: Likewise.
899         * modules/unistr/u16-strlen-tests: Likewise.
900         * modules/unistr/u16-strmblen-tests: Likewise.
901         * modules/unistr/u16-strmbtouc-tests: Likewise.
902         * modules/unistr/u16-strncat-tests: Likewise.
903         * modules/unistr/u16-strncmp-tests: Likewise.
904         * modules/unistr/u16-strncpy-tests: Likewise.
905         * modules/unistr/u16-strnlen-tests: Likewise.
906         * modules/unistr/u16-to-u32-tests: Likewise.
907         * modules/unistr/u16-to-u8-tests: Likewise.
908         * modules/unistr/u16-uctomb-tests: Likewise.
909         * modules/unistr/u32-check-tests: Likewise.
910         * modules/unistr/u32-chr-tests: Likewise.
911         * modules/unistr/u32-cmp-tests: Likewise.
912         * modules/unistr/u32-cmp2-tests: Likewise.
913         * modules/unistr/u32-cpy-alloc-tests: Likewise.
914         * modules/unistr/u32-cpy-tests: Likewise.
915         * modules/unistr/u32-mblen-tests: Likewise.
916         * modules/unistr/u32-mbsnlen-tests: Likewise.
917         * modules/unistr/u32-mbtouc-tests: Likewise.
918         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
919         * modules/unistr/u32-mbtoucr-tests: Likewise.
920         * modules/unistr/u32-move-tests: Likewise.
921         * modules/unistr/u32-next-tests: Likewise.
922         * modules/unistr/u32-prev-tests: Likewise.
923         * modules/unistr/u32-set-tests: Likewise.
924         * modules/unistr/u32-stpcpy-tests: Likewise.
925         * modules/unistr/u32-stpncpy-tests: Likewise.
926         * modules/unistr/u32-strcat-tests: Likewise.
927         * modules/unistr/u32-strcmp-tests: Likewise.
928         * modules/unistr/u32-strcoll-tests: Likewise.
929         * modules/unistr/u32-strcpy-tests: Likewise.
930         * modules/unistr/u32-strdup-tests: Likewise.
931         * modules/unistr/u32-strlen-tests: Likewise.
932         * modules/unistr/u32-strmblen-tests: Likewise.
933         * modules/unistr/u32-strmbtouc-tests: Likewise.
934         * modules/unistr/u32-strncat-tests: Likewise.
935         * modules/unistr/u32-strncmp-tests: Likewise.
936         * modules/unistr/u32-strncpy-tests: Likewise.
937         * modules/unistr/u32-strnlen-tests: Likewise.
938         * modules/unistr/u32-to-u16-tests: Likewise.
939         * modules/unistr/u32-to-u8-tests: Likewise.
940         * modules/unistr/u32-uctomb-tests: Likewise.
941         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
942         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
943         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
944         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
945         * modules/uniwidth/u8-strwidth-tests: Likewise.
946         * modules/uniwidth/u8-width-tests: Likewise.
947         * modules/uniwidth/u16-strwidth-tests: Likewise.
948         * modules/uniwidth/u16-width-tests: Likewise.
949         * modules/uniwidth/u32-strwidth-tests: Likewise.
950         * modules/uniwidth/u32-width-tests: Likewise.
951         * modules/uniwidth/width-tests: Likewise.
952
953 2010-05-18  Richard Jones  <rjones@redhat.com>
954
955         doc: users.txt: list hivex
956         * users.txt: Add hivex.
957
958 2010-05-18  Richard Jones  <rjones@redhat.com>
959
960         doc: users.txt: list febootstrap
961         * users.txt: Add febootstrap.
962
963 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
964
965         bootstrap: fix an error when gnulib is not used as a git submodule
966         * build-aux/bootstrap (gnulib_path): If its length is zero then
967         assign "gnulib" to it.
968         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
969
970 2010-05-16  Bruno Haible  <bruno@clisp.org>
971
972         Avoid autoconf warnings about AM_ICONV.
973         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
974         2.64.
975
976 2010-05-16  Bruno Haible  <bruno@clisp.org>
977
978         absolute-header: Make the macro usable in more situations.
979         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
980         from gl_ABSOLUTE_HEADER.
981         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
982
983 2010-05-16  James Youngman  <jay@gnu.org>
984
985         doc: update users.txt
986         * users.txt: Add CSSC.
987
988 2010-05-16  Jim Meyering  <meyering@redhat.com>
989
990         init.sh: fix an error in the previous change; add more comments
991         * tests/init.sh: Compare exit code in loop against 9, not 2.
992         Patch by Bruno Haible.
993         Make the two tests more similar by adding an empty "then" clause.
994         Add comments.
995
996         init.sh: avoid unnecessary shell re-exec
997         * tests/init.sh: Improve the re-exec-required check to first test the
998         current shell.  If it passes the test, do not search for a shell that
999         does pass, and do not re-exec.  This test is particularly contorted to
1000         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
1001         of $(...) evokes a syntax error and causes immediate shell exit with
1002         status 2.  Bruno Haible reported that the re-exec made it impossible
1003         to single-step through any init.sh-using script.
1004
1005 2010-05-16  Bruno Haible  <bruno@clisp.org>
1006
1007         Fix collision between gnulib's and libintl's printf replacements.
1008         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
1009         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
1010         (printf): When using GNU C, map the __printf__ function to rpl_printf
1011         via __asm__. When not using GNU C, define rpl_printf instead of
1012         __printf__.
1013         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
1014         commit.
1015         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
1016         commit.
1017         * m4/asm-underscore.m4: New file.
1018         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
1019         * modules/stdio (Files): Add m4/asm-underscore.m4.
1020         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
1021         Reported by Ben Pfaff.
1022
1023 2010-05-16  Bruno Haible  <bruno@clisp.org>
1024
1025         verify: Avoid skipping the test on openSUSE 11.0.
1026         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
1027
1028 2010-05-13  Bruno Haible  <bruno@clisp.org>
1029
1030         Avoid useless warnings from G++.
1031         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
1032         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
1033         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1034
1035 2010-05-11  Jim Meyering  <meyering@redhat.com>
1036
1037         maint.mk: tweak preceding change
1038         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
1039         regexps tighter by anchoring at EOL, and make the new group "shy"
1040         for slightly decreased overhead.
1041
1042 2010-05-11  Eric Blake  <eblake@redhat.com>
1043
1044         maint.mk: gnulib doesn't guarantee NSIG
1045         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
1046
1047 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
1048
1049         test-pwrite.c: Remove unused variable declaration.
1050         * tests/test-pwrite.c (main): Remove read_buf declaration.
1051
1052         Remove useless test-pwrite.sh file.
1053         * tests/test-pwrite.sh: Delete file.
1054         * modules/pwrite-tests: Remove references.
1055         Reported by Bruno Haible.
1056
1057 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
1058
1059         init.sh: fix a typo
1060         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
1061
1062 2010-05-10  Jim Meyering  <meyering@redhat.com>
1063
1064         maint.mk: avoid using a temporary file in the always-defined-macros check
1065         * top/maint.mk (.re-defmac): Remove rule.
1066         (gl_trap_): Remove definition.
1067         (sc_prohibit_always-defined_macros): Rewrite not to create and
1068         depend on a temporary file.  Instead, depend on GNU grep's ability
1069         to read a list of regular expressions from stdin when given "-f -".
1070
1071 2010-05-09  Bruno Haible  <bruno@clisp.org>
1072
1073         Update to GNU gettext 0.18.
1074         * m4/gettext.m4: Update to GNU gettext 0.17.
1075         * m4/intl.m4: Likewise.
1076         * m4/po.m4: Likewise.
1077         * modules/gettext (Files): Add m4/fcntl-o.m4.
1078         (configure.ac): Require gettext infrastructure from version 0.18.
1079
1080 2010-05-09  Jim Meyering  <meyering@redhat.com>
1081
1082         init.sh: enable MALLOC_PERTURB_
1083         * tests/init.sh: Enable glibc's malloc-perturbing option.
1084
1085         maint.mk: improve sc_cross_check_PATH_usage_in_tests
1086         With my recent change in init.sh from the two-line form:
1087             -#   : ${srcdir=.}
1088             -#   . "$srcdir/init.sh"; path_prepend_ .
1089             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
1090         I noticed that using the one-line form would cause this test
1091         to fail with a false-positive, or to stop working altogether,
1092         depending on whether help-version changed or all the tests did.
1093         * top/maint.mk (_hv_regex): Remove this definition.
1094         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
1095         (_hv_regex_strong): Use a stronger regex to check for conformance.
1096         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
1097         Give a separate diagnostic for lack of conforming use.
1098
1099         maint.mk: prohibit definition of symbols defined by gnulib
1100         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
1101         definition of symbols defined by gnulib.
1102
1103 2010-05-09  Bruno Haible  <bruno@clisp.org>
1104
1105         acl: Avoid test failure on Cygwin-hosted mingw.
1106         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
1107
1108 2010-05-09  Bruno Haible  <bruno@clisp.org>
1109
1110         error: Use system's fcntl function.
1111         * lib/error.c (fcntl): Undefine.
1112
1113 2010-05-09  Jim Meyering  <meyering@redhat.com>
1114
1115         verify: adjust formatting to be more consistent
1116         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
1117         argument-list '('s, and after one comma.
1118
1119 2010-05-09  Bruno Haible  <bruno@clisp.org>
1120
1121         error: More reliable output on mingw.
1122         * lib/error.c: Include <windows.h>.
1123         (is_open): New function.
1124         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
1125         defined.
1126
1127 2010-05-09  Bruno Haible  <bruno@clisp.org>
1128
1129         vasnprintf: Fix syntax errors in libintl build on mingw.
1130         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
1131         pad_ourselves and prec_ourselves after use.
1132
1133 2010-05-08  Bruno Haible  <bruno@clisp.org>
1134
1135         * lib/config.charset: Update comments for Cygwin 1.7.
1136         * lib/localcharset.c: Likewise.
1137
1138 2010-05-07  Jim Meyering  <meyering@redhat.com>
1139
1140         init.sh: improve comments
1141         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
1142         . "${srcdir=.}/init.sh"; path_prepend_ .
1143         Add a note about path_prepend_ and the alternative of using
1144         TESTS_ENVIRONMENT.
1145
1146 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
1147
1148         exclude: Unescape hashed patterns in wildcard mode.
1149         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
1150         to the hash list.
1151         * tests/test-exclude8.sh: New test case.
1152         * modules/exclude-tests: Add new test.
1153
1154 2010-05-05  Eric Blake  <eblake@redhat.com>
1155
1156         verify: automate tests
1157         * modules/verify-tests: New module.
1158         * tests/test-verify.sh: New file.
1159         * tests/test-verify.c: Guard each negative test with a unique id.
1160         Also avoid warning about unused left hand of comma expressions.
1161
1162 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1163
1164         Further improvements to verify.h, suggested by Eric Blake.
1165         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
1166         the GL_* versions, to avoid collision with OpenGL.
1167         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
1168         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
1169         than testing merely whether it's defined.
1170
1171         Modify verify.h to pacify gcc -Wredundant_decls.
1172         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
1173         These use the prefix "GL_" since they're likely to be useful elsewhere.
1174         We may need to break them out into a different .h file.
1175         (__COUNTER__): Define to 0 if the compiler doesn't support it.
1176         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
1177         of verify_function__.
1178
1179 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
1180
1181         Tests for module pwrite.
1182         * modules/pwrite-tests: New file.
1183         * tests/test-pwrite.sh: New file.
1184         * tests/test-pwrite.c: New file.
1185
1186         New module pwrite.
1187         * lib/unistd.in.h (pwrite): New declaration.
1188         * lib/pwrite.c: New file, from glibc with modifications.
1189         * m4/pwrite.m4: New file.
1190         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
1191         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
1192         REPLACE_PWRITE.
1193         * modules/pwrite: New file.
1194         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
1195         REPLACE_PWRITE.
1196         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
1197         * doc/posix-functions/pwrite.texi: Mention the new module.
1198
1199 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
1200
1201         pread: Update documentation.
1202         * doc/posix-functions/pread.texi: Mention the 'pread' module.
1203
1204 2010-05-04  Eric Blake  <eblake@redhat.com>
1205
1206         docs: update cygwin progress
1207         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
1208         this bug.
1209         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
1210         Added in cygwin 1.7.2.
1211         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
1212         Likewise.
1213         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
1214         Likewise.
1215         * doc/glibc-functions/dup3.texi (dup3): Likewise.
1216         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
1217         * doc/glibc-functions/accept4.texi (accept4): Likewise.
1218         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
1219         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
1220         Mention nproc module.
1221         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
1222         bug in cygwin 1.7.5 addition.
1223         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
1224         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
1225         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
1226         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
1227         1.7.5.
1228         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
1229         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
1230         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
1231         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
1232         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
1233         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
1234         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
1235         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
1236         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
1237         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
1238         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
1239         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
1240         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
1241         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
1242         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
1243         Likewise.
1244         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
1245         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
1246         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
1247         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
1248         Likewise.
1249         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
1250         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
1251         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
1252         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
1253         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
1254         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
1255         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
1256         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
1257         Likewise.
1258         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
1259         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
1260         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
1261         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
1262         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
1263         Likewise.
1264         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
1265         Likewise.
1266         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
1267         Likewise.
1268         * doc/glibc-functions/xdrrec_endofrecord.texi
1269         (xdrrec_endofrecord): Likewise.
1270         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
1271         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
1272         Likewise.
1273         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
1274         Likewise.
1275
1276 2010-05-04  Jim Meyering  <meyering@redhat.com>
1277
1278         gendocs.sh: make its "-s FILE" option more useful
1279         * build-aux/gendocs.sh: When honoring the -s FILE option, update
1280         $PACKAGE to reflect the probably-different basename of "FILE".
1281
1282 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
1283
1284         bootstrap: don't ignore download_po_files failure
1285         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
1286         failure.
1287
1288 2010-05-03  Jim Meyering  <meyering@redhat.com>
1289
1290         maint.mk: allow to pass options to gendocs.sh
1291         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
1292         (gendocs_options_): New overridable variable.
1293
1294         gnu-web-doc-update: don't ignore configure or build failure
1295         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
1296
1297         announce-gen: backslash-escape '@'s in --help output
1298         * build-aux/announce-gen: Fix syntax errors.
1299
1300         maint.mk, announce-gen: allow project-specific announcement mail headers
1301         * top/maint.mk (translation_project_): Define default.
1302         (announcement_Cc_, announcement_mail_headers_): Likewise.
1303         (announcement): Invoke announce-gen with new --mail-headers option.
1304         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
1305
1306         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
1307         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
1308         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
1309         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
1310         line in the "err2" output file when running "make check" in verbose
1311         mode (i.e., with set -x enabled).
1312
1313 2010-05-03  Bruno Haible  <bruno@clisp.org>
1314
1315         wctob: Fix for weird platforms.
1316         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
1317         argument value.
1318
1319 2010-05-03  Jim Meyering  <meyering@redhat.com>
1320
1321         maint.mk: prohibit unwarranted use of <strings.h>
1322         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
1323         strings.h in a file that does not also use strcasecmp, strncasecmp,
1324         ffs or ffsll.
1325
1326         maint.mk: remove obsolete comments
1327         * top/maint.mk: Remove stale, commented-out rules.
1328
1329 2010-05-02  Bruno Haible  <bruno@clisp.org>
1330
1331         wcwidth: Declare also when it's aliased.
1332         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
1333         macro.
1334
1335 2010-05-02  Bruno Haible  <bruno@clisp.org>
1336
1337         Fix regression from 2010-04-25.
1338         * gnulib-tool (func_modules_transitive_closure): Check the status of
1339         all modules, not only of the tests that are of the form foo-tests where
1340         foo is a module.
1341
1342 2010-05-02  Bruno Haible  <bruno@clisp.org>
1343
1344         wctob: Work around nasty Cygwin 1.7.2 bug.
1345         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
1346         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
1347
1348 2010-05-01  Bruno Haible  <bruno@clisp.org>
1349
1350         fpurge: Sharper test.
1351         * tests/test-fpurge.c (main): Add one more ftell check.
1352         * modules/fpurge-tests (Depends-on): Add ftell.
1353         Suggested by Eric Blake.
1354
1355 2010-05-01  Bruno Haible  <bruno@clisp.org>
1356
1357         ftello: Another test.
1358         * tests/test-ftello3.c: New file.
1359         * modules/ftello-tests (Files): Add it.
1360         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
1361         MOSTLYCLEANFILES.
1362
1363         ftell: Another test.
1364         * tests/test-ftell3.c: New file.
1365         * modules/ftell-tests (Files): Add it.
1366         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
1367         MOSTLYCLEANFILES.
1368
1369 2010-05-01  Bruno Haible  <bruno@clisp.org>
1370
1371         ftell, ftello: Work around Solaris bug.
1372         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
1373         * lib/ftello.c: Include stdio-impl.h.
1374         (ftello): On Solaris, when _IOWRT is set, compute the result without
1375         looking at _IOREAD.
1376         * modules/ftello (Files): Add lib/stdio-impl.h.
1377         * doc/posix-functions/ftell.texi: Mention Solaris bug.
1378         * doc/posix-functions/ftello.texi: Likewise.
1379         Reported by Eric Blake.
1380
1381 2010-05-01  Bruno Haible  <bruno@clisp.org>
1382
1383         freading: Adapt to special meaning of _IOREAD flag on Solaris.
1384         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
1385         the _IOWRT flag is also set.
1386
1387 2010-05-01  Bruno Haible  <bruno@clisp.org>
1388
1389         Fix doc about a HP-UX stdio bug.
1390         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
1391         * doc/posix-functions/ftello.texi: Likewise.
1392
1393 2010-05-01  Bruno Haible  <bruno@clisp.org>
1394
1395         lseek test: Fix failure on Solaris.
1396         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
1397         output.
1398
1399 2010-04-30  Jim Meyering  <meyering@redhat.com>
1400
1401         bootstrap: don't ignore failure to generate po*/Makevars
1402         * build-aux/bootstrap (with_gettext): Don't ignore failure
1403         to create po/Makevars or runtime-po/Makevars.
1404
1405 2010-04-29  Eric Blake  <eblake@redhat.com>
1406
1407         headers: relax license to LGPLv2+
1408         * modules/fcntl-h (License): Relax license.
1409         * modules/getopt-posix (License): Likewise.
1410         * modules/locale (License): Likewise.
1411         * modules/math (License): Likewise.
1412         * modules/pty (License): Likewise.
1413         * modules/sched (License): Likewise.
1414         * modules/search (License): Likewise.
1415         * modules/spawn (License): Likewise.
1416         * modules/stdarg (License): Likewise.
1417         * modules/sysexits (License): Likewise.
1418
1419 2010-04-29  Jim Meyering  <meyering@redhat.com>
1420
1421         inttypes: relax license to LGPLv2+
1422         * modules/inttypes (License): Relax license.
1423
1424 2010-04-29  Simon Josefsson  <simon@josefsson.org>
1425
1426         * top/maint.mk (indent): Run twice to produce idempotent results.
1427
1428 2010-04-28  Bruno Haible  <bruno@clisp.org>
1429
1430         getdate: Generate getdate.c in the source directory.
1431         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
1432         MOSTLYCLEANFILES.
1433         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
1434
1435 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
1436
1437         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
1438         is not declared as a const *; avoid warnings in that case.
1439
1440 2010-04-28  Eric Blake  <eblake@redhat.com>
1441
1442         canonicalize-lgpl: avoid compiler warning
1443         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
1444         declaration' / 'extraneous semicolon' warning with some compilers.
1445         Reported by Andreas Gruenbacher.
1446
1447 2010-04-28  Jim Meyering  <meyering@redhat.com>
1448
1449         init.sh: ensure a more reliable exit status when exiting via trap
1450         * tests/init.sh (setup_): Don't rely on $? in signal handler.
1451         Inspired by patches from Dmitry V. Levin.
1452         Also trap on signal 3 (SIGQUIT).
1453
1454 2010-04-27  Bruno Haible  <bruno@clisp.org>
1455
1456         Update doc about utimes().
1457         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
1458         'utimens' module.
1459         Reported by Andreas Gruenbacher <agruen@suse.de>.
1460
1461 2010-04-27  Eric Blake  <eblake@redhat.com>
1462
1463         full-read, full-write: relax license
1464         * modules/full-read (License): Drop to LGPLv2+.
1465         * modules/full-write (License): Likewise.
1466         * modules/safe-read (License): Likewise.
1467         * modules/safe-write (License): Likewise.
1468
1469         pthread: mention library for linking
1470         * modules/pthread (Link): Mention $(LIB_PTHREAD).
1471
1472 2010-04-27  Jim Meyering  <meyering@redhat.com>
1473
1474         maint.mk: fix a bug introduced in last change
1475         * top/maint.mk (gl_assured_headers_): Now that all names are on
1476         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
1477         is not anchored to end of word, it should be adequate.
1478
1479         maint.mk: avoid side-effect in latest syntax-check
1480         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
1481         to run commands via $(shell...), and hence to incur cost only when
1482         the new rule is actually run.
1483
1484         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
1485         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
1486         and use that to create a regexp used to detect all #if HAVE_..._H uses.
1487         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
1488         (gl_assured_headers_, az_, AZ_): Define.
1489         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
1490
1491 2010-04-26  Jim Meyering  <jim@meyering.net>
1492             Bruno Haible  <bruno@clisp.org>
1493
1494         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
1495         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
1496         Prompted by an exchange with Gilles Espinasse.
1497
1498 2010-04-26  Jim Meyering  <meyering@redhat.com>
1499
1500         git-version-gen: aesthetic tweak
1501         * build-aux/git-version-gen: Use "$nl" rather than a literal,
1502         so that the command remains on a single line.
1503
1504 2010-04-26  Eric Blake  <eblake@redhat.com>
1505
1506         git-version-gen: allow use on EBCDIC hosts
1507         * build-aux/git-version-gen (dirty): Use literal rather than tying
1508         ourselves to ascii.
1509         Reported by Steve Goetze.
1510
1511 2010-04-25  Bruno Haible  <bruno@clisp.org>
1512
1513         netdb: Add support for GNULIB_POSIXCHECK.
1514         * lib/netdb.in.h: Include warn-on-use.h.
1515         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
1516         functions are used when GNULIB_POSIXCHECK is defined and the
1517         getaddrinfo module is not in use.
1518         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
1519         freeaddrinfo, gai_strerror, getnameinfo are declared.
1520         * modules/netdb (Depends-on): Add warn-on-use.
1521         (Makefile.am): Include warn-on-use.h in netdb.h.
1522
1523 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
1524
1525         build: avoid "make check" failure without .git/ directory
1526         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
1527         there is no .git/ directory.
1528
1529 2010-04-25  Bruno Haible  <bruno@clisp.org>
1530
1531         ptsname: Fix misuse of ttyname_r.
1532         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
1533         of errno.
1534
1535 2010-04-25  Bruno Haible  <bruno@clisp.org>
1536
1537         ttyname_r: Make it work on Solaris 10.
1538         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
1539         if the system function has the POSIX declaration. Test whether the
1540         function fails if the buffer is less than 128 bytes large.
1541         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
1542         system's ttyname_r function. Provide a reasonably large buffer.
1543         * modules/ttyname_r (Depends-on): Add extensions.
1544         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
1545
1546 2010-04-25  Bruno Haible  <bruno@clisp.org>
1547
1548         Use the 'extensions' module for some more functions on Solaris.
1549         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
1550         module.
1551         * doc/posix-functions/ctime_r.texi: Likewise.
1552         * doc/posix-functions/getgrgid_r.texi: Likewise.
1553         * doc/posix-functions/getgrnam_r.texi: Likewise.
1554         * doc/posix-functions/getpwnam_r.texi: Likewise.
1555         * doc/posix-functions/getpwuid_r.texi: Likewise.
1556         * doc/posix-functions/readdir_r.texi: Likewise.
1557         * doc/posix-functions/sigwait.texi: Likewise.
1558         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
1559         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
1560
1561 2010-04-25  Bruno Haible  <bruno@clisp.org>
1562
1563         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
1564         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
1565         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
1566         * lib/ttyname_r.c: Include <limits.h>.
1567         (ttyname_r): Define using the system's ttyname_r function, if it exists
1568         and not on Solaris.
1569         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
1570         set.
1571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
1572         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
1573         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
1574         Reported by Simon Josefsson.
1575
1576 2010-04-25  Bruno Haible  <bruno@clisp.org>
1577
1578         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
1579         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
1580         * doc/posix-functions/ctime_r.texi: Likewise.
1581         * doc/posix-functions/getgrgid_r.texi: Likewise.
1582         * doc/posix-functions/getgrnam_r.texi: Likewise.
1583         * doc/posix-functions/getlogin_r.texi: Likewise.
1584         * doc/posix-functions/getpwnam_r.texi: Likewise.
1585         * doc/posix-functions/getpwuid_r.texi: Likewise.
1586         * doc/posix-functions/readdir_r.texi: Likewise.
1587         * doc/posix-functions/sigwait.texi: Likewise.
1588         * doc/posix-functions/ttyname_r.texi: Likewise.
1589         Reported by Simon Josefsson.
1590
1591 2010-04-25  Bruno Haible  <bruno@clisp.org>
1592
1593         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
1594         * gnulib-tool (func_usage): Document that --with-*-tests options apply
1595         also to --create-testdir.
1596         (func_acceptable): Don't consider the status of *-tests modules here.
1597         (func_modules_transitive_closure): Consider it here, before including a
1598         test module.
1599         (func_import, func_create_testdir): Set inc_all_direct_tests,
1600         inc_all_indirect_tests.
1601         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
1602         --create-testdir and --create-megatestdir.
1603
1604 2010-04-25  Bruno Haible  <bruno@clisp.org>
1605
1606         gnulib-tool: Add --without-*-tests options.
1607         * gnulib-tool (func_usage): Document the --without-*-tests options.
1608         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
1609         excl_unportable_tests): New variables.
1610         Fail if they are specified with --import or --update.
1611         (func_acceptable): Respect the excl_*_tests variables.
1612         (func_import): Set the excl_*_tests variables to empty.
1613
1614 2010-04-25  Simon Josefsson  <simon@josefsson.org>
1615             Bruno Haible  <bruno@clisp.org>
1616
1617         Work around a MacOS X 10.4 bug with openpty.
1618         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
1619         * tests/test-openpty.c (main): Close the master side explicitly.
1620
1621 2010-04-25  Bruno Haible  <bruno@clisp.org>
1622
1623         strnlen: Fix a C++ test error on MacOS X and Solaris.
1624         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
1625         the function is not declared.
1626         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
1627         Simon Josefsson.
1628
1629 2010-04-24  Bruno Haible  <bruno@clisp.org>
1630
1631         Avoid a gcc warning.
1632         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
1633         of correct type for %08lx directive.
1634         Reported by Eric Blake.
1635
1636 2010-04-24  Bruno Haible  <bruno@clisp.org>
1637
1638         vasnprintf: Correct errno value in case of out-of-memory.
1639         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
1640         or sprintf. Use the errno value from SNPRINTF or sprintf.
1641         Reported by Ian Beckwith <ianb@erislabs.net>.
1642
1643 2010-04-24  Bruno Haible  <bruno@clisp.org>
1644
1645         ansi-c++-opt: Find correct compiler when cross-compiling.
1646         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
1647         AC_CHECK_PROGS.
1648         Reported by Simon Josefsson.
1649
1650 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
1651
1652         vc-list-files: Add support for subversion
1653         * build-aux/vc-list-files: Use "svn list" to generate the list of
1654         files controlled by subversion.
1655
1656 2010-04-23  Jim Meyering  <meyering@redhat.com>
1657
1658         vc-list-files tests: convert to use init.sh
1659         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
1660         path_prepend_.
1661         Use Exit, not exit.
1662         Use skip_ rather than open coding it.
1663         Remove trap set-up and compare definitions.
1664         * tests/test-vc-list-files-git.sh: Likewise.
1665         * modules/vc-list-files-tests (Files): Add tests/init.sh.
1666
1667 2010-04-22  Simon Josefsson  <simon@josefsson.org>
1668
1669         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
1670         backup files.
1671
1672 2010-04-21  Simon Josefsson  <simon@josefsson.org>
1673
1674         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
1675
1676 2010-04-20  Eric Blake  <eblake@redhat.com>
1677
1678         tests: be robust to ignored SIGPIPE
1679         * tests/test-select-in.sh: Consume all output.
1680         * tests/test-lseek.sh: Check correct exit status, while avoiding
1681         EPIPE.
1682
1683 2010-04-20  Simon Josefsson  <simon@josefsson.org>
1684             Bruno Haible  <bruno@clisp.org>
1685
1686         visibility: Don't use -fvisibility if it leads to a warning.
1687         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
1688         yes, don't pretend that visibility works if it leads to a warning.
1689         Reported by Mike Gran <spk121@yahoo.com>.
1690
1691 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
1692
1693         * build-aux/bootstrap: Use "git -h" for testing for supported options
1694         instead of "git --help".  The short-form option only shows a summary,
1695         and doesn't layout the full man page.  Grep for the full option name
1696         in the summary, too.
1697
1698 2010-04-19  Bruno Haible  <bruno@clisp.org>
1699
1700         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
1701         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
1702         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
1703         mention of RELOCATABLE_STRIP.
1704         Reported by Sylvain Beucler <beuc@beuc.net>.
1705
1706 2010-04-19  Bruno Haible  <bruno@clisp.org>
1707
1708         * lib/diffseq.h: Fix typo in comment.
1709         Reported by Eric Blake.
1710
1711 2010-04-19  Bruno Haible  <bruno@clisp.org>
1712
1713         ioctl: Move autoconf macro to a .m4 file.
1714         * m4/ioctl.m4: New file, extracted from modules/ioctl.
1715         * modules/ioctl (Files): Add it.
1716         (configure.ac): Simply invoke gl_FUNC_IOCTL.
1717         Reported by Ian Beckwith <ianb@erislabs.net>.
1718
1719 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
1720             Bruno Haible  <bruno@clisp.org>
1721
1722         diffseq: Accommodate use-case with abstract arrays.
1723         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
1724         is not defined.
1725         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
1726         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
1727
1728 2010-04-18  Bruno Haible  <bruno@clisp.org>
1729
1730         * doc/posix-headers/stdbool.texi: More precise wording.
1731
1732 2010-04-17  Jim Meyering  <meyering@redhat.com>
1733
1734         maint.mk: use gnu-style indentation in an embedded perl script
1735         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
1736         Rename variable: s/two/last_two_bytes/
1737
1738 2010-04-16  Eric Blake  <eblake@redhat.com>
1739
1740         test-stdbool: skip test that fails with Solaris CC
1741         * tests/test-stdbool.c (f): Skip test that causes compilation
1742         error under buggy C++ compiler.
1743         * lib/stdbool.in.h: Document the limitation.
1744         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
1745
1746         setenv: allow compilation with C++
1747         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
1748         register keyword.
1749
1750         stdint: allow test to pass with C++
1751         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
1752
1753         getopt: allow compilation with C++
1754         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
1755         struct.
1756         * lib/getopt.c (_getopt_internal_r): Use correct type.
1757         Reported by Dagobert Michelson, via Joel E. Denny.
1758
1759 2010-04-16  Bruno Haible  <bruno@clisp.org>
1760
1761         Override netdb.h always.
1762         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
1763         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
1764         Reported by Ludovic Courtès <ludo@gnu.org>.
1765
1766 2010-04-15  Bruno Haible  <bruno@clisp.org>
1767
1768         openpty: Fix mistake from 2010-03-21.
1769         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
1770         Reported by Simon Josefsson.
1771
1772 2010-04-15  Eric Blake  <eblake@redhat.com>
1773
1774         test-forkpty: fix expected signature
1775         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
1776         Reported by Simon Josefsson.
1777
1778 2010-04-15  Jim Meyering  <meyering@redhat.com>
1779
1780         maint.mk: texinfo_suffix_re_: correct the default regexp
1781         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
1782
1783         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
1784         make it configurable via texinfo_suffix_re_.
1785
1786 2010-04-14  Eric Blake  <eblake@redhat.com>
1787
1788         strtok_r: relax license to LGPLv2+
1789         * modules/strtok_r (License): Relax license.
1790         Reported by Matthias Bolte.
1791
1792 2010-04-14  Simon Josefsson  <simon@josefsson.org>
1793
1794         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
1795         version 1.4.4 by default instead of requiring the libgcrypt
1796         version used during build.  This makes it possible to use the
1797         application with older but still binary compatible libgcrypt
1798         versions.
1799
1800 2010-04-13  Eric Blake  <eblake@redhat.com>
1801
1802         getopt-gnu: match recent glibc fixes and posix ruling
1803         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
1804         '+' handling, when requesting extensions.
1805         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
1806         'W;' handling.
1807         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
1808         * doc/posix-functions/getopt.texi (getopt): Document this.
1809         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
1810         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1811         Likewise.
1812
1813         getopt: merge bug fixes from glibc
1814         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
1815         diagnostics.  Honor '+:' correctly.  Reject ';'.
1816
1817         getopt-posix: detect MacOS bug
1818         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
1819         optind when missing a required argument.
1820         * doc/posix-functions/getopt.texi (getopt): Document the bug.
1821         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
1822         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1823         Likewise.
1824
1825         getopt-posix: avoid spurious failure on Solaris
1826         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
1827         an indicator that setting optind=1 is sufficient for reset.
1828
1829         getopt-posix: avoid spurious failure on FreeBSD
1830         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
1831         in POSIX mode, since the m4 test uses it.
1832
1833         gnulib-tool: silence warning on BSD sh
1834         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
1835
1836 2010-04-13  Jim Meyering  <meyering@redhat.com>
1837
1838         doc: users.txt: GNU patch now uses gnulib
1839         * users.txt: Add patch.
1840
1841 2010-04-12  Jim Meyering  <meyering@redhat.com>
1842
1843         maint.mk: generate more concise timing data for syntax-check rules
1844         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
1845         " done" from each line that reports a syntax-check test duration.
1846
1847 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
1848
1849         git-version-gen: use "git update-index..." rather than "git status"
1850         * build-aux/git-version-gen: Use git update-index --refresh, not
1851         "git status".  With some versions of git, "git status" would fail
1852         to update the index and result in an unwarranted "-dirty" suffix.
1853
1854 2010-04-11  Jim Meyering  <meyering@redhat.com>
1855
1856         openat: correct formatting (no semantic change)
1857         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
1858         Suggested by Bruno Haible.
1859
1860 2010-04-11  Bruno Haible  <bruno@clisp.org>
1861
1862         Stricter declaration checking in testdirs.
1863         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1864         If for_tests is true, augment AM_CPPFLAGS to define
1865         GNULIB_STRICT_CHECKING.
1866         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
1867         GNULIB_STRICT_CHECKING is defined, verify that the function is
1868         declared.
1869
1870 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
1871             Bruno Haible  <bruno@clisp.org>
1872
1873         libunistring: Improve configure output.
1874         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
1875         Don't say "consider installing GNU libunistring" when checking again
1876         with libiconv.
1877
1878 2010-04-11  Bruno Haible  <bruno@clisp.org>
1879
1880         libunistring: Correct value of $LTLIBUNISTRING.
1881         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
1882         correct the value of $LTLIBUNISTRING.
1883
1884 2010-04-11  Bruno Haible  <bruno@clisp.org>
1885
1886         havelib: Add static libraries to LIBS in the right order.
1887         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
1888         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
1889
1890 2010-04-11  Bruno Haible  <bruno@clisp.org>
1891
1892         libunistring: Detect libunistring also when it depends on libiconv.
1893         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
1894         the second AC_LIB_HAVE_LINKFLAGS invocation.
1895
1896 2010-04-11  James Youngman  <jay@gnu.org>
1897
1898         close-stream: declare local scalars to be "const"
1899         * lib/close-stream.c (close_stream): Make boolean variables const
1900         to document the fact that we set but do not change them.
1901
1902 2010-04-11  Bruno Haible  <bruno@clisp.org>
1903
1904         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
1905
1906 2010-04-11  Jim Meyering  <meyering@redhat.com>
1907
1908         maint.mk: don't include dist-check.mk
1909         * top/maint.mk: Remove bogus include directive.
1910
1911         maint.mk: improve empty-line-at-EOF check
1912         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
1913         solution, rather than tail+Perl-based one.  The latter would read
1914         a few kilobytes from the end of each file, and did not handle empty
1915         files properly.
1916
1917         maint.mk: print the elapsed time for each syntax-check rule
1918         * top/maint.mk (sc_m_rules_): Save start time in a file.
1919         (sc_z_rules_): New rules: remove temp file and print elapsed time.
1920         (local-check): Interpose the .z rules
1921
1922 2010-04-11  Jim Meyering  <meyering@redhat.com>
1923
1924         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
1925         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
1926         empty file with one that ends in an empty line.
1927
1928 2010-04-10  Bruno Haible  <bruno@clisp.org>
1929
1930         mkdir: Make it work on mingw64.
1931         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
1932         * lib/mkdir.c: Update comment.
1933         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
1934
1935 2010-04-10  Bruno Haible  <bruno@clisp.org>
1936
1937         Don't override improved macro from newer autoconf.
1938         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
1939         autoconf >= 2.62.
1940         Reported by Joel E. Denny <jdenny@clemson.edu>.
1941
1942 2010-04-10  Jim Meyering  <meyering@redhat.com>
1943
1944         maint.mk: new syntax-check rule: prohibit empty lines at end of file
1945         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
1946
1947         maint.mk: correct a diagnostic
1948         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
1949         in diagnostic; now use $prohibit.
1950
1951 2010-04-10  Bruno Haible  <address@hidden>
1952
1953         fchownat: Fix a C++ test error on Solaris 8.
1954         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
1955         the function does not exist.
1956
1957 2010-04-10  Bruno Haible  <bruno@clisp.org>
1958
1959         vasnprintf: Add more tests.
1960         * tests/test-vasnprintf-posix.c: Include <errno.h>.
1961         (test_function): Test converting an invalid wide string.
1962
1963         vasnprintf: Correct handling of unconvertible wide string arguments.
1964         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
1965         VASNPRINTF.
1966         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
1967         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
1968         smaller than the expected maximum need for the directive. Set errno to
1969         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
1970         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
1971         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
1972         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
1973         * modules/vasnprintf (Files): Add m4/printf.m4.
1974         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1975
1976 2010-04-10  Bruno Haible  <bruno@clisp.org>
1977
1978         vasnprintf: Fix crash in %ls directive.
1979         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
1980         string is passed as argument to %ls, with no precision and no width.
1981         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1982
1983 2010-04-10  Bruno Haible  <bruno@clisp.org>
1984
1985         vasnprintf: Fix multiple test failures on mingw.
1986         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
1987         _snprintf, or snwprintf, not _snwprintf.
1988
1989 2010-04-10  Bruno Haible  <bruno@clisp.org>
1990
1991         write: Fix a C++ test error on mingw.
1992         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
1993
1994 2010-04-10  Bruno Haible  <bruno@clisp.org>
1995
1996         vasnprintf test: Reduce code duplication.
1997         * tests/test-vasnprintf.c (test_function): New function, extracted from
1998         test_vasnprintf.
1999         (test_vasnprintf, test_asnprintf): Invoke it.
2000
2001 2010-04-10  Bruno Haible  <bruno@clisp.org>
2002
2003         strnlen: Fix warning in C++ mode on MacOS X.
2004         * lib/string.in.h (strnlen): Use the modern idiom.
2005         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
2006         defining strnlen as a macro already in <config.h>.
2007         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2008         REPLACE_STRNLEN.
2009         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
2010         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2011
2012 2010-04-08  James Youngman  <jay@gnu.org>
2013
2014         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
2015         the example.
2016
2017 2010-04-09  Jim Meyering  <meyering@redhat.com>
2018
2019         maint.mk: print better diagnostic when there is no $(_hv_file)
2020         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
2021         announce that when $(_hv_file) (aka help-version) does not exist.
2022
2023         init.sh: run tr in the "C" locale to avoid multibyte interpretation
2024         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
2025         not try to interpret its random input bytes.  Jarno Rajahalme reported
2026         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
2027         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
2028         (mktempd_): Likewise, just in case.
2029
2030         ftruncate: add two years to projected module removal date: 2012
2031         * m4/ftruncate.m4: Adjust comments.
2032
2033         ftruncate: mark module as obsolete; even MinGW provides it, now
2034         * modules/ftruncate (Status): Obsolete.
2035         (Notice): Say that.
2036         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
2037         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
2038
2039 2010-04-08  Bruno Haible  <bruno@clisp.org>
2040
2041         Fix side effects from tests-related modules.
2042         * modules/dprintf-posix (Comment): New section.
2043         * modules/fprintf-posix (Comment): Likewise.
2044         * modules/obstack-printf-posix (Comment): Likewise.
2045         * modules/printf-posix (Comment): Likewise.
2046         * modules/snprintf-posix (Comment): Likewise.
2047         * modules/sprintf-posix (Comment): Likewise.
2048         * modules/vasnprintf-posix (Comment): Likewise.
2049         * modules/vasprintf-posix (Comment): Likewise.
2050         * modules/vdprintf-posix (Comment): Likewise.
2051         * modules/vfprintf-posix (Comment): Likewise.
2052         * modules/vprintf-posix (Comment): Likewise.
2053         * modules/vsnprintf-posix (Comment): Likewise.
2054         * modules/vsprintf-posix (Comment): Likewise.
2055         * modules/xprintf-posix (Comment): Likewise.
2056         * modules/xvasprintf-posix (Comment): Likewise.
2057         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
2058         * modules/floorf-tests (Depends-on): Likewise.
2059         * modules/round-tests (Depends-on): Likewise.
2060         * modules/roundf-tests (Depends-on): Likewise.
2061         * modules/trunc-tests (Depends-on): Likewise.
2062         * modules/truncf-tests (Depends-on): Likewise.
2063         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
2064         'fprintf-posix' module is not present.
2065         * tests/test-floorf2.c (check): Likewise.
2066         * tests/test-trunc2.c (check): Likewise.
2067         * tests/test-truncf2.c (check): Likewise.
2068         * tests/test-round2.c (equal): Likewise.
2069         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2070
2071 2010-04-07  Karl Berry  <karl@gnu.org>
2072
2073         * config/srclist.txt,
2074         * config/srclistvars.sh,
2075         * config/srclist-update: doc fixes.
2076
2077 2010-04-07  Jim Meyering  <meyering@redhat.com>
2078
2079         maint.mk: add a PATH crosschecking syntax-check rule
2080         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
2081         Useful if you use a test like the one in help-version (coreutils,
2082         diffutils, grep, gzip) that ensures $(VERSION) matches what is
2083         printed by prog --version.
2084
2085 2010-04-06  Bruno Haible  <bruno@clisp.org>
2086
2087         Fix link error on mingw.
2088         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
2089         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
2090
2091 2010-04-06  Bruno Haible  <bruno@clisp.org>
2092
2093         Assume rmdir exists.
2094         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
2095
2096 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
2097
2098         doc: update users.txt
2099         * users.txt: Add gcal.
2100
2101 2010-04-06  Jim Meyering  <meyering@redhat.com>
2102
2103         init.sh: simply unset TMPDIR rather than risking env -i
2104         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
2105         although it probably works fine on all Unix-based systems, some
2106         systems (Cygwin?) cannot tolerate a totally cleared environment.
2107         Suggestion from Eric Blake.
2108
2109 2010-04-06  Jim Meyering  <meyering@redhat.com>
2110
2111         init.sh: portability fix: use env's POSIX-specified -i option not -u
2112         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
2113         than unportable env -u.  Solaris 5.11's env lacks support for -u.
2114
2115 2010-04-05  Bruno Haible  <bruno@clisp.org>
2116
2117         btowc: Work around Cygwin 1.7.2 bug.
2118         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
2119         does not map NUL to 0.
2120         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
2121
2122 2010-04-05  Bruno Haible  <bruno@clisp.org>
2123
2124         Make the multithread modules work on Cygwin 1.7.2.
2125         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
2126         imported symbols can be declared weak, so that it returns "no" on
2127         Cygwin 1.7.2.
2128
2129 2010-04-05  Bruno Haible  <bruno@clisp.org>
2130
2131         Use the module 'strncat'.
2132         * modules/unistr/u8-strncat (Depends-on): Add strncat.
2133
2134         Tests for module 'strncat'.
2135         * modules/strncat-tests: New file.
2136         * tests/test-strncat.c: New file.
2137
2138         New module 'strncat'.
2139         * lib/string.in.h (strncat): New declaration.
2140         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
2141         * m4/strncat.m4: New file, based on m4/memchr.m4.
2142         * modules/strncat: New file.
2143         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
2144         is declared.
2145         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
2146         REPLACE_STRNCAT.
2147         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
2148         REPLACE_STRNCAT.
2149         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
2150         module.
2151         * tests/test-string-c++.cc: Check signature of strncat.
2152
2153 2010-04-05  Jim Meyering  <meyering@redhat.com>
2154
2155         xstrtoumax-tests: convert to use init.sh
2156         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
2157         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2158         Use Exit, not exit.
2159         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2160
2161         xstrtoimax-tests: convert to use init.sh
2162         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
2163         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2164         Use Exit, not exit.
2165         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2166
2167 2010-04-05  Bruno Haible  <bruno@clisp.org>
2168
2169         sys_socket: Avoid #define replacements in C++ mode.
2170         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
2171         warning to the function if possible, rather than #defining the symbol
2172         to a dysfunctional alias.
2173
2174 2010-04-05  Bruno Haible  <bruno@clisp.org>
2175
2176         fseeko: Fix C++ test error on mingw.
2177         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
2178         gl_FUNC_FSEEKO.
2179         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
2180         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
2181         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
2182         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
2183
2184 2010-04-05  Bruno Haible  <bruno@clisp.org>
2185
2186         duplocale: Improve test output.
2187         * tests/test-duplocale.c (main): Print reason for skipped test.
2188
2189 2010-04-05  Bruno Haible  <bruno@clisp.org>
2190
2191         Assume rmdir exists.
2192         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
2193         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
2194
2195 2010-04-05  Bruno Haible  <bruno@clisp.org>
2196
2197         Fix link error on Solaris 8 with cc.
2198         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
2199
2200 2010-04-05  Bruno Haible  <bruno@clisp.org>
2201
2202         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
2203         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
2204
2205 2010-04-05  Bruno Haible  <bruno@clisp.org>
2206
2207         vasprintf: Update documentation.
2208         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
2209
2210 2010-04-05  Bruno Haible  <bruno@clisp.org>
2211
2212         ptsname: Improve test.
2213         * tests/test-ptsname.c (main): Also try the various master names of BSD
2214         systems.
2215
2216 2010-04-05  Bruno Haible  <bruno@clisp.org>
2217
2218         memchr: Avoid a possible C++ test error.
2219         * lib/string.in.h (memchr): Provide declaration if function is missing.
2220         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
2221         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
2222         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
2223         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
2224
2225 2010-04-05  Bruno Haible  <bruno@clisp.org>
2226
2227         strtok_r: Improve idiom.
2228         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
2229         AC_LIBOBJ is used.
2230
2231 2010-04-05  Bruno Haible  <bruno@clisp.org>
2232
2233         strdup: Improve idiom.
2234         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
2235         AC_LIBOBJ is used.
2236         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
2237         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
2238         when AC_LIBOBJ is used.
2239
2240 2010-04-05  Bruno Haible  <bruno@clisp.org>
2241
2242         mbsinit, mbrtowc, wcrtomb: Improve idioms.
2243         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
2244         don't set REPLACE_MBSINIT to 1.
2245         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
2246         don't set REPLACE_MBRTOWC to 1.
2247         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
2248         exist, don't set REPLACE_MBSRTOWCS to 1.
2249         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
2250         exist, don't set REPLACE_MBSNRTOWCS to 1.
2251         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
2252         don't set REPLACE_WCRTOMB to 1.
2253         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
2254         exist, don't set REPLACE_WCSRTOMBS to 1.
2255         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
2256         exist, don't set REPLACE_WCSNRTOMBS to 1.
2257
2258 2010-04-05  Bruno Haible  <bruno@clisp.org>
2259
2260         ldexpl: Improve idiom.
2261         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
2262         make sure to set HAVE_DECL_LDEXPL to 0.
2263
2264 2010-04-05  Jim Meyering  <meyering@redhat.com>
2265
2266         xstrtol-tests: convert to use init.sh
2267         * modules/xstrtol-tests (Files): Add tests/init.sh.
2268         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2269         Use Exit, not exit.
2270         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2271
2272         atexit-tests: convert to use init.sh
2273         * modules/atexit-tests (Files): Add tests/init.sh.
2274         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2275         Use Exit, not exit.
2276         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2277
2278         init.sh: fix typo
2279         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
2280
2281         init.sh: make it easier for a test script to write to the tty, ...
2282         when using automake's parallel-tests mode.
2283         * tests/init.sh (stderr_fileno_): Define overridable variable.
2284         (warn_): New function, to use it.
2285         (fail_, skip_, framework_failure_): Use warn_.
2286
2287 2010-04-04  Bruno Haible  <bruno@clisp.org>
2288
2289         btowc: Avoid warning.
2290         * lib/btowc.c: Include <stdlib.h>.
2291         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
2292
2293 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
2294             Bruno Haible  <bruno@clisp.org>
2295
2296         wchar: Port to NetBSD 1.5.
2297         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
2298         * lib/wctype.in.h (WEOF): Likewise.
2299
2300 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
2301             Bruno Haible  <bruno@clisp.org>
2302
2303         Port extended stdio to NetBSD 1.5.
2304         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
2305         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
2306         older.
2307
2308 2010-04-04  Bruno Haible  <bruno@clisp.org>
2309
2310         string: Remove unused substitution.
2311         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
2312         HAVE_DECL_STRERROR.
2313         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
2314
2315 2010-04-04  Bruno Haible  <bruno@clisp.org>
2316
2317         strtod: Avoid a possible C++ test error.
2318         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
2319         set REPLACE_STRTOD.
2320
2321 2010-04-04  Bruno Haible  <bruno@clisp.org>
2322
2323         strerror: Update documentation.
2324         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
2325
2326 2010-04-04  Bruno Haible  <bruno@clisp.org>
2327
2328         stdio: Fix some C++ test errors on Solaris 8 with GCC.
2329         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
2330         _GL_CXXALIAS_SYS_CAST.
2331
2332 2010-04-04  Bruno Haible  <bruno@clisp.org>
2333
2334         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
2335         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
2336         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
2337         REPLACE_FREXPL to 1.
2338         * doc/posix-functions/frexpl.texi: Update documentation.
2339
2340 2010-04-04  Bruno Haible  <bruno@clisp.org>
2341
2342         math: Fix some C++ test errors on Solaris 8 and Cygwin.
2343         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
2344
2345 2010-04-04  Bruno Haible  <bruno@clisp.org>
2346
2347         Implement nanosleep for native Windows.
2348         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
2349
2350 2010-04-04  Bruno Haible  <bruno@clisp.org>
2351
2352         math: Fix some C++ test errors on Solaris 8.
2353         * lib/math.in.h (truncf, trunc): Use simpler idiom.
2354
2355 2010-04-04  Bruno Haible  <bruno@clisp.org>
2356
2357         math: Fix some C++ test errors on Cygwin.
2358         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
2359         truncl): Provide declaration if the system does not have it.
2360         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
2361         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
2362         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
2363         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
2364         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
2365         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
2366         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
2367         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
2368         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
2369         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
2370         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
2371         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
2372         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
2373         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
2374         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
2375         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
2376         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
2377         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
2378         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
2379         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
2380         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
2381         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
2382
2383 2010-04-04  Bruno Haible  <bruno@clisp.org>
2384
2385         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
2386         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
2387         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
2388         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
2389         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
2390         * m4/isinf.m4 (gl_ISINF): Likewise.
2391         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
2392
2393 2010-04-04  Bruno Haible  <bruno@clisp.org>
2394
2395         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
2396         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
2397
2398 2010-04-04  Bruno Haible  <bruno@clisp.org>
2399
2400         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
2401         * modules/tmpfile (configure.ac): Update.
2402
2403         tmpfile: Fix C++ test error on mingw.
2404         * lib/stdio.in.h (tmpfile): New declaration.
2405         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
2406         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
2407         * modules/tmpfile (Depends-on): Add stdio.
2408         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
2409         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
2410         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
2411         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
2412         REPLACE_TMPFILE.
2413         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
2414
2415 2010-04-04  Bruno Haible  <bruno@clisp.org>
2416
2417         ioctl: Fix C++ test error on mingw.
2418         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
2419         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
2420         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
2421
2422 2010-04-03  Bruno Haible  <bruno@clisp.org>
2423
2424         wcwidth: Fix C++ test error on mingw.
2425         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
2426         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
2427         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
2428
2429 2010-04-03  Bruno Haible  <bruno@clisp.org>
2430
2431         nanosleep: Fix C++ test error on mingw.
2432         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
2433         * lib/time.in.h (nanosleep): Use modern idiom.
2434         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
2435         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
2436         REPLACE_NANOSLEEP to 1.
2437         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
2438         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
2439
2440 2010-04-03  Bruno Haible  <bruno@clisp.org>
2441
2442         strptime: Fix C++ test error on mingw.
2443         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
2444         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
2445         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
2446         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
2447         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
2448         not REPLACE_STRPTIME.
2449         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
2450         REPLACE_STRPTIME.
2451
2452 2010-04-03  Bruno Haible  <bruno@clisp.org>
2453
2454         timegm: Fix C++ test error on mingw.
2455         * lib/time.in.h (timegm): Use modern idiom.
2456         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
2457         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
2458         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
2459         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
2460
2461 2010-04-03  Bruno Haible  <bruno@clisp.org>
2462
2463         timegm: Assume declaration if function exists.
2464         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
2465         if it exists. Don't clobber ac_cv_func_timegm.
2466
2467 2010-04-03  Bruno Haible  <bruno@clisp.org>
2468
2469         time_r: Fix C++ test error on mingw.
2470         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
2471         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
2472         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
2473         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
2474         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
2475
2476 2010-04-03  Bruno Haible  <bruno@clisp.org>
2477
2478         time_r: Minor updates.
2479         * modules/time_r (Description): Mention the provided functions.
2480         * lib/time_r.c: Don't include <string.h>.
2481         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
2482         * doc/posix-functions/localtime_r.texi: Likewise.
2483
2484 2010-04-03  Bruno Haible  <bruno@clisp.org>
2485
2486         time: Fix regression introduced on 2010-03-08.
2487         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
2488         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
2489
2490 2010-04-03  Jim Meyering  <meyering@redhat.com>
2491
2492         maint.mk: don't silently disable project-specific syntax-check rules
2493         * top/maint.mk (_prohibit_regexp): Define, to help people realize
2494         that they need to convert their project-specific syntax-check rules
2495         to use the new _sc_search_regexp.
2496
2497 2010-04-03  Bruno Haible  <bruno@clisp.org>
2498
2499         fchdir: Fix regression introduced on 2010-03-08.
2500         * lib/unistd.in.h (fchdir): Fix declaration.
2501         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
2502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
2503         REPLACE_FCHDIR.
2504         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
2505         REPLACE_FCHDIR.
2506
2507 2010-04-03  Bruno Haible  <bruno@clisp.org>
2508
2509         getpagesize: Fix C++ test error on mingw.
2510         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
2511         system does not declare the function.
2512         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
2513         declared.
2514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2515         HAVE_DECL_GETPAGESIZE.
2516         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
2517
2518 2010-04-03  Bruno Haible  <bruno@clisp.org>
2519
2520         stdio: Make C++ tests work on mingw.
2521         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
2522         does not declare the function.
2523
2524 2010-04-03  Bruno Haible  <bruno@clisp.org>
2525
2526         ftello: Fix C++ test error on mingw.
2527         * lib/stdio.in.h (ftello): Use modern idiom.
2528         * lib/ftello.c (ftello): Renamed from rpl_ftello.
2529         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
2530         is missing and that it needs to be replaced.
2531         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
2532         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
2533         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
2534
2535 2010-04-03  Bruno Haible  <bruno@clisp.org>
2536
2537         fseeko: Fix C++ test error on mingw.
2538         * lib/stdio.in.h (fseeko): Use modern idiom.
2539         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
2540         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
2541         is missing and that it needs to be replaced.
2542         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
2543         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
2544         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
2545
2546 2010-04-03  Bruno Haible  <bruno@clisp.org>
2547
2548         mkstemp: Fix C++ test error on mingw.
2549         * lib/stdlib.in.h (mkstemp): Use modern idiom.
2550         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
2551         function is missing and that it needs to be replaced.
2552         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
2553         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
2554
2555 2010-04-03  Bruno Haible  <bruno@clisp.org>
2556
2557         stpncpy: Fix C++ test error on mingw.
2558         * lib/string.in.h (stpncpy): Use modern idiom.
2559         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
2560         function is missing and that it needs to be replaced.
2561         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2562         REPLACE_STPNCPY.
2563         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
2564
2565 2010-04-03  Bruno Haible  <bruno@clisp.org>
2566
2567         sys_stat: Fix C++ test error on mingw.
2568         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
2569         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
2570
2571 2010-04-03  Bruno Haible  <bruno@clisp.org>
2572
2573         pty: Update doc.
2574         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
2575
2576 2010-04-03  Bruno Haible  <bruno@clisp.org>
2577
2578         unistd: Fix C++ test error on mingw.
2579         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
2580
2581 2010-04-03  Bruno Haible  <bruno@clisp.org>
2582
2583         Update doc regarding mingw.
2584         * doc/glibc-functions/openpty.texi: Update regarding mingw.
2585         * doc/glibc-functions/login_tty.texi: Likewise.
2586         * doc/glibc-functions/forkpty.texi: Likewise.
2587
2588 2010-04-03  Bruno Haible  <bruno@clisp.org>
2589
2590         stdlib: Avoid compilation failure of c-strtold on mingw.
2591         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
2592
2593 2010-04-03  Bruno Haible  <bruno@clisp.org>
2594
2595         locale: Make C++ tests work on Cygwin and mingw.
2596         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
2597         cannot provide the function.
2598         Reported by Simon Josefsson.
2599
2600 2010-04-03  Bruno Haible  <bruno@clisp.org>
2601
2602         localename: Port to MacOS X 10.6.
2603         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
2604         memory layout of the locales in MacOS X 10.6 as well.
2605         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
2606
2607 2010-04-02  Bruno Haible  <bruno@clisp.org>
2608
2609         gnulib-tool: Ensure that long-running tests are executed last.
2610         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
2611         running tests after the one for the other tests.
2612
2613 2010-04-02  Bruno Haible  <bruno@clisp.org>
2614
2615         gnulib-tool: Ensure the tests in the main directory are executed first.
2616         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
2617         start with the current directory.
2618
2619 2010-04-02  Bruno Haible  <bruno@clisp.org>
2620
2621         Tests for module 'havelib', moved here from GNU gettext.
2622         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
2623         modifications.
2624         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
2625         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
2626         with modifications.
2627         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
2628         modifications.
2629         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
2630         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
2631         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
2632         with modifications.
2633         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
2634         with modifications.
2635         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
2636         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
2637         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
2638         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
2639         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
2640         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
2641         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
2642         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
2643         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
2644         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
2645         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
2646         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
2647         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
2648         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
2649         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
2650         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
2651         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
2652         with modifications.
2653         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
2654         with modifications.
2655         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
2656         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
2657         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
2658         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
2659         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
2660         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
2661         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
2662         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
2663         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
2664         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
2665         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
2666         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
2667         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
2668         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
2669         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
2670         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
2671         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
2672         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
2673         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
2674         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
2675         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
2676         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
2677         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
2678         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
2679         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
2680         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
2681         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
2682         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
2683         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
2684         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
2685         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
2686         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
2687         * tests/havelib/rpathx/rpathx.c: New file, from
2688         gettext/autoconf-lib-link.
2689         * tests/havelib/rpathx/Makefile.am: New file, from
2690         gettext/autoconf-lib-link.
2691         * tests/havelib/rpathx/configure.ac: New file, from
2692         gettext/autoconf-lib-link with modifications.
2693         * tests/havelib/rpathy/rpathy.c: New file, from
2694         gettext/autoconf-lib-link.
2695         * tests/havelib/rpathy/Makefile.am: New file, from
2696         gettext/autoconf-lib-link.
2697         * tests/havelib/rpathy/configure.ac: New file, from
2698         gettext/autoconf-lib-link with modifications.
2699         * tests/havelib/rpathz/rpathz.c: New file, from
2700         gettext/autoconf-lib-link.
2701         * tests/havelib/rpathz/Makefile.am: New file, from
2702         gettext/autoconf-lib-link.
2703         * tests/havelib/rpathz/configure.ac: New file, from
2704         gettext/autoconf-lib-link with modifications.
2705         * tests/havelib/rpathlx/usex.c: New file, from
2706         gettext/autoconf-lib-link.
2707         * tests/havelib/rpathlx/Makefile.am: New file, from
2708         gettext/autoconf-lib-link.
2709         * tests/havelib/rpathlx/configure.ac: New file, from
2710         gettext/autoconf-lib-link with modifications.
2711         * tests/havelib/rpathly/usey.c: New file, from
2712         gettext/autoconf-lib-link.
2713         * tests/havelib/rpathly/Makefile.am: New file, from
2714         gettext/autoconf-lib-link.
2715         * tests/havelib/rpathly/configure.ac: New file, from
2716         gettext/autoconf-lib-link with modifications.
2717         * tests/havelib/rpathlz/usez.c: New file, from
2718         gettext/autoconf-lib-link.
2719         * tests/havelib/rpathlz/Makefile.am: New file, from
2720         gettext/autoconf-lib-link.
2721         * tests/havelib/rpathlz/configure.ac: New file, from
2722         gettext/autoconf-lib-link with modifications.
2723         * tests/havelib/rpathlyx/usey.c: New file, from
2724         gettext/autoconf-lib-link.
2725         * tests/havelib/rpathlyx/Makefile.am: New file, from
2726         gettext/autoconf-lib-link.
2727         * tests/havelib/rpathlyx/configure.ac: New file, from
2728         gettext/autoconf-lib-link with modifications.
2729         * tests/havelib/rpathlzyx/usez.c: New file, from
2730         gettext/autoconf-lib-link.
2731         * tests/havelib/rpathlzyx/Makefile.am: New file, from
2732         gettext/autoconf-lib-link.
2733         * tests/havelib/rpathlzyx/configure.ac: New file, from
2734         gettext/autoconf-lib-link with modifications.
2735         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
2736         with modifications.
2737
2738 2010-04-02  Bruno Haible  <bruno@clisp.org>
2739
2740         gnulib-tool: Create distributed built sources also for the tests.
2741         * gnulib-tool (func_create_testdir): Also generate distributed built
2742         sources in the tests directory.
2743
2744 2010-04-02  Bruno Haible  <bruno@clisp.org>
2745
2746         gnulib-tool: Obey user's environment variables.
2747         * gnulib-tool (func_create_testdir): When creating built sources,
2748         respect the environment variables for autoconf, automake, etc. given by
2749         the user.
2750
2751 2010-04-02  Bruno Haible  <bruno@clisp.org>
2752
2753         gnulib-tool: Provide the value of --m4-base to modules.
2754         * gnulib-tool (func_import, func_create_testdir): Emit a definition
2755         of gl_m4_base.
2756
2757 2010-04-02  Eric Blake  <eblake@redhat.com>
2758
2759         maint.mk: fix some fallout
2760         * NEWS: Document the incompatible change, and its effect on cfg.mk.
2761         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
2762
2763 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
2764
2765         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
2766         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
2767         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
2768         (sc_cast_of_x_alloc_return_value): Likewise.
2769         (sc_cast_of_alloca_return_value): Likewise.
2770         (sc_space_tab): Likewise.
2771         (sc_prohibit_atoi_atof): Likewise.
2772         (sc_prohibit_magic_number_exit): Likewise.
2773         (sc_error_exit_success): Likewise.
2774         (sc_file_system): Likewise.
2775         (sc_prohibit_have_config_h): Likewise.
2776         (sc_require_config_h): Likewise.
2777         (sc_prohibit_HAVE_MBRTOWC): Likewise.
2778         (sc_obsolete_symbols): Likewise.
2779         (sc_changelog): Likewise.
2780         (sc_program_name): Likewise.
2781         (sc_the_the): Likewise.
2782         (sc_trailing_blank): Likewise.
2783         (sc_two_space_separator_in_usage): Likewise.
2784         (sc_useless_cpp_parens): Likewise.
2785         (sc_GPL_version): Likewise.
2786         (sc_GFDL_version): Likewise.
2787         (sc_texinfo_acronym): Likewise.
2788         (sc_prohibit_cvs_keyword): Likewise.
2789         (sc_prohibit_stat_st_blocks): Likewise.
2790         (sc_prohibit_S_IS_definition): Likewise.
2791         (sc_redundant_const): Likewise.
2792         (sc_makefile_TAB_only_indentation): Likewise.
2793         (sc_m4_quote_check): Likewise.
2794         (sc_makefile_path_separator_check): Likewise.
2795         (sc_copyright_check): Likewise.
2796         (sc_Wundef_boolean): Likewise.
2797         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
2798
2799         maint.mk: match 0 or more whitespace-before-function-call '('
2800         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
2801         that have zero or two-and-more spaces between the function name
2802         and the open parenthesis.
2803         (sc_error_message_warn_fatal): Likewise.
2804         (sc_error_message_uppercase): Likewise.
2805         (sc_error_message_period): Likewise.
2806
2807 2010-03-31  Eric Blake  <eblake@redhat.com>
2808
2809         maint.mk: check for [ as well as test
2810         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
2811         Based on a libvirt report by Matthias Bolte.
2812
2813         gnumakefile: don't squelch _version output
2814         * top/GNUmakefile (_version): Create one-shot dependency rather
2815         than using $(shell) when version must be regenerated.
2816         (_autoreconf): Run verbosely, by default.
2817
2818         sys_time: avoid compiler warnings
2819         * lib/sys_time.in.h (includes): Ensure gcc pragma is
2820         unconditional, fixing regression from 2010-03-29.
2821         Reported by Simon Josefsson.
2822
2823 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
2824
2825         maint.mk: s/_header_without_use/_sc_header_without_use/
2826         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
2827         (sc_prohibit_assert_without_use): Use the new name.
2828         (sc_prohibit_close_stream_without_use): Likewise.
2829         (sc_prohibit_getopt_without_use): Likewise.
2830         (sc_prohibit_quotearg_without_use): Likewise.
2831         (sc_prohibit_quote_without_use): Likewise.
2832         (sc_prohibit_long_options_without_use): Likewise.
2833         (sc_prohibit_inttostr_without_use): Likewise.
2834         (sc_prohibit_ignore_value_without_use): Likewise.
2835         (sc_prohibit_error_without_use): Likewise.
2836         (sc_prohibit_xalloc_without_use): Likewise.
2837         (sc_prohibit_hash_without_use): Likewise.
2838         (sc_prohibit_hash_pjw_without_use): Likewise.
2839         (sc_prohibit_safe_read_without_use): Likewise.
2840         (sc_prohibit_argmatch_without_use): Likewise.
2841         (sc_prohibit_canonicalize_without_use): Likewise.
2842         (sc_prohibit_root_dev_ino_without_use): Likewise.
2843         (sc_prohibit_openat_without_use): Likewise.
2844         (sc_prohibit_c_ctype_without_use): Likewise.
2845         (sc_prohibit_signal_without_use): Likewise.
2846         (sc_prohibit_intprops_without_use): Likewise.
2847
2848 2010-03-30  Eric Blake  <eblake@redhat.com>
2849
2850         maint: improve module indicators
2851         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
2852         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
2853         columns, and avoid extra macro expansion.
2854
2855         fdopendir: work around FreeBSD bug
2856         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
2857         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
2858         * modules/dirent (Makefile.am): Substitute it.
2859         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
2860         declaration.
2861         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
2862         fix.
2863         Reported by Christian Weisgerber <naddy@mips.inka.de>.
2864
2865 2010-03-29  Bruno Haible  <bruno@clisp.org>
2866
2867         Emit #pragma system_header after the inclusion guard, not before.
2868         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
2869         guard that spans the entire file, not before. This enables an
2870         optimization in GCC's preprocessor.
2871         * lib/ctype.in.h: Likewise.
2872         * lib/dirent.in.h: Likewise.
2873         * lib/errno.in.h: Likewise.
2874         * lib/float.in.h: Likewise.
2875         * lib/getopt.in.h: Likewise.
2876         * lib/iconv.in.h: Likewise.
2877         * lib/langinfo.in.h: Likewise.
2878         * lib/locale.in.h: Likewise.
2879         * lib/math.in.h: Likewise.
2880         * lib/netdb.in.h: Likewise.
2881         * lib/netinet_in.in.h: Likewise.
2882         * lib/pty.in.h: Likewise.
2883         * lib/sched.in.h: Likewise.
2884         * lib/se-selinux.in.h: Likewise.
2885         * lib/search.in.h: Likewise.
2886         * lib/spawn.in.h: Likewise.
2887         * lib/stdarg.in.h: Likewise.
2888         * lib/stdint.in.h: Likewise.
2889         * lib/string.in.h: Likewise.
2890         * lib/strings.in.h: Likewise.
2891         * lib/sys_file.in.h: Likewise.
2892         * lib/sys_ioctl.in.h: Likewise.
2893         * lib/sys_time.in.h: Likewise.
2894         * lib/sys_times.in.h: Likewise.
2895         * lib/sys_utsname.in.h: Likewise.
2896         * lib/sys_wait.in.h: Likewise.
2897         * lib/sysexits.in.h: Likewise.
2898         * lib/wctype.in.h: Likewise.
2899
2900 2010-03-28  James Youngman  <jay@gnu.org>
2901
2902         save-cwd: don't leak a file descriptor when the caller execs.
2903         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
2904         saved file descriptor.
2905         * modules/save-cwd (Depends-on): Depend on cloexec.
2906
2907 2010-03-29  Bruno Haible  <bruno@clisp.org>
2908
2909         Remove vestiges of fts-lgpl module.
2910         * lib/fts_.h: Assume GNULIB_FTS is 1.
2911         * lib/fts.c: Likewise.
2912         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
2913
2914 2010-03-28  Bruno Haible  <bruno@clisp.org>
2915
2916         Fix definition of tests witness macro.
2917         * gnulib-tool (func_import): Fix definition of witness macro.
2918
2919 2010-03-28  Bruno Haible  <bruno@clisp.org>
2920
2921         Fix ioctl's protoype on glibc systems.
2922         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
2923         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
2924         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
2925         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
2926         signature. If not, arrange to replace the ioctl function.
2927         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
2928         REPLACE_IOCTL.
2929         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
2930         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
2931         Reported by Ludovic Courtès <ludo@gnu.org>.
2932
2933 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
2934
2935         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
2936         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
2937         made it so grep -r --include=GLOB* ... did not work.
2938
2939 2010-03-26  Jim Meyering  <meyering@redhat.com>
2940             Eric Blake  <eblake@redhat.com>
2941
2942         maint.mk: prohibit use of test's -o and -a operators
2943         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
2944
2945 2010-03-28  Bruno Haible  <bruno@clisp.org>
2946
2947         Remove unused GNULIB_XYZ macro definitions.
2948         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
2949         invocation.
2950
2951 2010-03-28  Bruno Haible  <bruno@clisp.org>
2952
2953         Mark privileged tests modules.
2954         * modules/idpriv-drop-tests (Status): New section.
2955         * modules/idpriv-droptemp-tests (Status): New section.
2956
2957 2010-03-28  Bruno Haible  <bruno@clisp.org>
2958
2959         Split C++ tests into separate tests modules.
2960         * modules/dirent-c++-tests: New file, extracted from
2961         modules/dirent-tests.
2962         * modules/dirent-tests: Depend on it.
2963         * modules/fcntl-h-c++-tests: New file, extracted from
2964         modules/fcntl-h-tests.
2965         * modules/fcntl-h-tests: Depend on it.
2966         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
2967         * modules/glob-tests: Depend on it.
2968         * modules/iconv-h-c++-tests: New file, extracted from
2969         modules/iconv-h-tests.
2970         * modules/iconv-h-tests: Depend on it.
2971         * modules/langinfo-c++-tests: New file, extracted from
2972         modules/langinfo-tests.
2973         * modules/langinfo-tests: Depend on it.
2974         * modules/locale-c++-tests: New file, extracted from
2975         modules/locale-tests.
2976         * modules/locale-tests: Depend on it.
2977         * modules/math-c++-tests: New file, extracted from modules/math-tests.
2978         * modules/math-tests: Depend on it.
2979         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
2980         * modules/pty-tests: Depend on it.
2981         * modules/search-c++-tests: New file, extracted from
2982         modules/search-tests.
2983         * modules/search-tests: Depend on it.
2984         * modules/signal-c++-tests: New file, extracted from
2985         modules/signal-tests.
2986         * modules/signal-tests: Depend on it.
2987         * modules/spawn-c++-tests: New file, extracted from
2988         modules/spawn-tests.
2989         * modules/spawn-tests: Depend on it.
2990         * modules/stdio-c++-tests: New file, extracted from
2991         modules/stdio-tests.
2992         * modules/stdio-tests: Depend on it.
2993         * modules/stdlib-c++-tests: New file, extracted from
2994         modules/stdlib-tests.
2995         * modules/stdlib-tests: Depend on it.
2996         * modules/string-c++-tests: New file, extracted from
2997         modules/string-tests.
2998         * modules/string-tests: Depend on it.
2999         * modules/sys_ioctl-c++-tests: New file, extracted from
3000         modules/sys_ioctl-tests.
3001         * modules/sys_ioctl-tests: Depend on it.
3002         * modules/sys_select-c++-tests: New file, extracted from
3003         modules/sys_select-tests.
3004         * modules/sys_select-tests: Depend on it.
3005         * modules/sys_socket-c++-tests: New file, extracted from
3006         modules/sys_socket-tests.
3007         * modules/sys_socket-tests: Depend on it.
3008         * modules/sys_stat-c++-tests: New file, extracted from
3009         modules/sys_stat-tests.
3010         * modules/sys_stat-tests: Depend on it.
3011         * modules/sys_time-c++-tests: New file, extracted from
3012         modules/sys_time-tests.
3013         * modules/sys_time-tests: Depend on it.
3014         * modules/time-c++-tests: New file, extracted from modules/time-tests.
3015         * modules/time-tests: Depend on it.
3016         * modules/unistd-c++-tests: New file, extracted from
3017         modules/unistd-tests.
3018         * modules/unistd-tests: Depend on it.
3019         * modules/wchar-c++-tests: New file, extracted from
3020         modules/wchar-tests.
3021         * modules/wchar-tests: Depend on it.
3022         * modules/wctype-c++-tests: New file, extracted from
3023         modules/wctype-tests.
3024         * modules/wctype-tests: Depend on it.
3025         Reported by Simon Josefsson.
3026
3027 2010-03-28  Bruno Haible  <bruno@clisp.org>
3028
3029         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
3030         * gnulib-tool (func_exists_module): New function, extracted from
3031         func_verify_module.
3032         (func_verify_module): Use it.
3033         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
3034         'foo' only if 'foo' exists.
3035         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
3036         module.
3037
3038 2010-03-28  Bruno Haible  <bruno@clisp.org>
3039
3040         gnulib-tool: Add support for special categories of tests.
3041         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
3042         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
3043         (func_usage): Document them.
3044         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
3045         inc_unportable_tests, inc_all_tests): New variables.
3046         (func_acceptable): Consider these variables.
3047         (func_modules_transitive_closure): Make it work when the 'Status' field
3048         consists of multiple words.
3049         (func_import): Store and restore the values of inc_cxx_tests,
3050         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
3051         inc_all_tests in gnulib-comp.m4.
3052         (func_create_testdir): Set inc_all_tests to true.
3053         * doc/gnulib.texi (Extra tests modules): New section.
3054         Suggested by Jim Meyering.
3055
3056 2010-03-28  Bruno Haible  <bruno@clisp.org>
3057
3058         ansi-c++-opt: Allow turning off the C++ build by default.
3059         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
3060         gl_CXX_CHOICE_DEFAULT_NO is defined.
3061         Requested by Eric Blake.
3062
3063 2010-03-28  Bruno Haible  <bruno@clisp.org>
3064
3065         unistd: Avoid #define replacements in C++ mode.
3066         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
3067         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
3068         setsockopt, shutdown, select): In C++, attach a warning to the function
3069         if possible, rather than #defining the symbol to a dysfunctional alias.
3070         Reported by John W. Eaton <jwe@gnu.org>.
3071
3072 2010-03-28  Bruno Haible  <bruno@clisp.org>
3073
3074         Fix link errors on mingw.
3075         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
3076         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
3077         $(LIBSOCKET).
3078         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
3079         $(LIBSOCKET).
3080
3081 2010-03-28  Bruno Haible  <bruno@clisp.org>
3082             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3083
3084         lib-ignore: Determine different options for different compilers.
3085         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
3086         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
3087         Add comments.
3088         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
3089         * NEWS: Mention the change.
3090
3091 2010-03-27  Bruno Haible  <bruno@clisp.org>
3092
3093         Remove unused GNULIB_XYZ macro definitions.
3094         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
3095         * modules/fseek (configure.ac): Likewise.
3096         * modules/ioctl (configure.ac): Likewise.
3097         * modules/open (configure.ac): Likewise.
3098         * modules/stdlib-safer (configure.ac): Likewise.
3099
3100 2010-03-27  Bruno Haible  <bruno@clisp.org>
3101
3102         Add a remark about certain modules.
3103         * modules/malloc (Comment): New section.
3104         * modules/realloc (Comment): Likewise.
3105         * modules/sigpipe (Comment): Likewise.
3106
3107 2010-03-27  Bruno Haible  <bruno@clisp.org>
3108
3109         Resolve conflict between the two kinds of module indicators.
3110         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
3111         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
3112         * modules/canonicalize (configure.ac): Invoke
3113         gl_MODULE_INDICATOR_FOR_TESTS.
3114         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
3115         GNULIB_XYZ.
3116         * tests/test-dirent-c++.cc: Likewise.
3117         * tests/test-dirent-safer.c: Likewise.
3118         * tests/test-dup2.c: Likewise.
3119         * tests/test-fchdir.c: Likewise.
3120         * tests/test-fcntl-h-c++.cc: Likewise.
3121         * tests/test-getopt.c: Likewise.
3122         * tests/test-getopt.h: Likewise.
3123         * tests/test-langinfo-c++.cc: Likewise.
3124         * tests/test-locale-c++.cc: Likewise.
3125         * tests/test-math-c++.cc: Likewise.
3126         * tests/test-pty-c++.cc: Likewise.
3127         * tests/test-search-c++.cc: Likewise.
3128         * tests/test-signal-c++.cc: Likewise.
3129         * tests/test-spawn-c++.cc: Likewise.
3130         * tests/test-stdio-c++.cc: Likewise.
3131         * tests/test-stdlib-c++.cc: Likewise.
3132         * tests/test-string-c++.cc: Likewise.
3133         * tests/test-sys_ioctl-c++.cc: Likewise.
3134         * tests/test-sys_select-c++.cc: Likewise.
3135         * tests/test-sys_socket-c++.cc: Likewise.
3136         * tests/test-sys_stat-c++.cc: Likewise.
3137         * tests/test-sys_time-c++.cc: Likewise.
3138         * tests/test-time-c++.cc: Likewise.
3139         * tests/test-unistd-c++.cc: Likewise.
3140         * tests/test-wchar-c++.cc: Likewise.
3141         * tests/uninorm/test-u8-nfc.c: Likewise.
3142         * tests/uninorm/test-u8-nfd.c: Likewise.
3143         * tests/uninorm/test-u8-nfkc.c: Likewise.
3144         * tests/uninorm/test-u8-nfkd.c: Likewise.
3145         * tests/uninorm/test-u16-nfc.c: Likewise.
3146         * tests/uninorm/test-u16-nfd.c: Likewise.
3147         * tests/uninorm/test-u16-nfkc.c: Likewise.
3148         * tests/uninorm/test-u16-nfkd.c: Likewise.
3149         * tests/uninorm/test-u32-nfc.c: Likewise.
3150         * tests/uninorm/test-u32-nfc-big.c: Likewise.
3151         * tests/uninorm/test-u32-nfd.c: Likewise.
3152         * tests/uninorm/test-u32-nfd-big.c: Likewise.
3153         * tests/uninorm/test-u32-nfkc.c: Likewise.
3154         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
3155         * tests/uninorm/test-u32-nfkd.c: Likewise.
3156         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
3157         * tests/uninorm/test-u32-normalize-big.c: Likewise.
3158
3159 2010-03-27  Bruno Haible  <bruno@clisp.org>
3160
3161         Distinguish two kinds of module indicators.
3162         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
3163         gl_MODULE_INDICATOR.
3164         (gl_MODULE_INDICATOR): New macro.
3165         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
3166         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
3167         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
3168         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
3169         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
3170         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
3171         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
3172         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
3173         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
3174         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
3175         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
3176         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
3177         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
3178         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
3179         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
3180         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
3181         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
3182         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
3183         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
3184         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
3185         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
3186         * modules/cloexec (configure.ac): Likewise.
3187         * modules/getopt-gnu (configure.ac): Likewise.
3188         * modules/uninorm/u8-normalize (configure.ac): Likewise.
3189         * modules/uninorm/u16-normalize (configure.ac): Likewise.
3190         * modules/uninorm/u32-normalize (configure.ac): Likewise.
3191         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
3192
3193 2010-03-27  Bruno Haible  <bruno@clisp.org>
3194
3195         New module description field 'Comment'.
3196         * gnulib-tool: New option --extract-comment.
3197         (func_usage): Document it.
3198         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
3199         (func_get_comment): New function.
3200         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
3201
3202 2010-03-27  Bruno Haible  <bruno@clisp.org>
3203
3204         Addendum to 2010-02-07 commit.
3205         * gnulib-tool (func_usage): Document --extract-applicability option.
3206
3207 2010-03-27  Bruno Haible  <bruno@clisp.org>
3208
3209         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
3210         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
3211         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
3212         rather than link errors.
3213
3214 2010-03-27  Bruno Haible  <bruno@clisp.org>
3215
3216         Avoid side effects from tests-related modules on the compilation of lib.
3217         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
3218         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
3219         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
3220         parameter. Emit into AM_CPPFLAGS a definition of the designated C
3221         macro.
3222         (func_import): Define a witness macro. Assign it a value that depends
3223         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
3224         tests-related modules.
3225         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
3226         Reported by Jim Meyering.
3227
3228 2010-03-27  Bruno Haible  <bruno@clisp.org>
3229
3230         Factorize common .m4 code.
3231         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
3232         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
3233         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
3234         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
3235         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
3236         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
3237         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
3238         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
3239         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
3240         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
3241         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
3242         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
3243         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
3244         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
3245         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
3246         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
3247         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
3248         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
3249         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
3250         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
3251         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
3252         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
3253         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
3254         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
3255         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
3256         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
3257         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
3258         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
3259         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
3260         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
3261         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
3262         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
3263
3264 2010-03-27  Bruno Haible  <bruno@clisp.org>
3265
3266         Fix a compilation error on Cygwin with g++ >= 4.3.
3267         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
3268         if it is undefined or if we alias it to chmod.
3269         (lstat): Don't warn about the use of this function if it is undefined
3270         or if we alias it to stat.
3271         Reported by Simon Josefsson.
3272
3273 2010-03-27  Bruno Haible  <bruno@clisp.org>
3274
3275         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
3276         * modules/getlogin (configure.ac): Update.
3277
3278         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
3279         * modules/getlogin_r (configure.ac): Update.
3280
3281         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
3282         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
3283         * modules/inet_ntop (configure.ac): Update.
3284
3285         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
3286         * modules/inet_pton (configure.ac): Update.
3287
3288         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
3289         * modules/mbslen (configure.ac): Update.
3290
3291         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
3292         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
3293         * modules/forkpty (configure.ac): Update.
3294         * modules/openpty (configure.ac): Update.
3295
3296 2010-03-26  Simon Josefsson  <simon@josefsson.org>
3297
3298         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
3299         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
3300
3301 2010-03-25  Eric Blake  <eblake@redhat.com>
3302
3303         maint: use pragma consistently across replacement headers
3304         * lib/ctype.in.h (system_header): Hoist for consistent placement.
3305         * lib/dirent.in.h (system_header): Likewise.
3306         * lib/errno.in.h (system_header): Likewise.
3307         * lib/float.in.h (system_header): Likewise.
3308         * lib/getopt.in.h (system_header): Likewise.
3309         * lib/iconv.in.h (system_header): Likewise.
3310         * lib/inttypes.in.h (system_header): Likewise.
3311         * lib/langinfo.in.h (system_header): Likewise.
3312         * lib/locale.in.h (system_header): Likewise.
3313         * lib/math.in.h (system_header): Likewise.
3314         * lib/netdb.in.h (system_header): Likewise.
3315         * lib/netinet_in.in.h (system_header): Likewise.
3316         * lib/pty.in.h (system_header): Likewise.
3317         * lib/sched.in.h (system_header): Likewise.
3318         * lib/se-selinux.in.h (system_header): Likewise.
3319         * lib/search.in.h (system_header): Likewise.
3320         * lib/spawn.in.h (system_header): Likewise.
3321         * lib/stdarg.in.h (system_header): Likewise.
3322         * lib/stdint.in.h (system_header): Likewise.
3323         * lib/string.in.h (system_header): Likewise.
3324         * lib/strings.in.h (system_header): Likewise.
3325         * lib/sys_file.in.h (system_header): Likewise.
3326         * lib/sys_ioctl.in.h (system_header): Likewise.
3327         * lib/sys_socket.in.h (system_header): Likewise.
3328         * lib/sys_times.in.h (system_header): Likewise.
3329         * lib/sys_utsname.in.h (system_header): Likewise.
3330         * lib/sys_wait.in.h (system_header): Likewise.
3331         * lib/sysexits.in.h (system_header): Likewise.
3332         * lib/unistd.in.h (system_header): Likewise.
3333         * lib/wctype.in.h (system_header): Likewise.
3334
3335         arpa/inet: fix mingw compilation warning
3336         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
3337         Reported by Matthew Bolte.
3338
3339 2010-03-25  Bruno Haible  <bruno@clisp.org>
3340
3341         Avoid collision between gnulib wrapper and libintl wrapper.
3342         * lib/printf.c (printf): Don't define if a printf wrapper is already
3343         defined in intl/printf.c.
3344         Reported by Michel Boaventura <michel@michelboaventura.com>.
3345
3346 2010-03-25  Bruno Haible  <bruno@clisp.org>
3347
3348         Use ANSI C.
3349         * lib/readutmp.h (getutent): Provide ANSI C prototype.
3350
3351 2010-03-25  Bruno Haible  <bruno@clisp.org>
3352
3353         Minor formatting changes.
3354         * lib/acosl.c: Insert space before function argument list.
3355         * lib/argz.c: Likewise.
3356         * lib/asinl.c: Likewise.
3357         * lib/expl.c: Likewise.
3358         * lib/gen-uni-tables.c: Likewise.
3359         * lib/gettext.h: Likewise.
3360         * lib/glthread/lock.h: Likewise.
3361         * lib/tanl.c: Likewise.
3362         * lib/uniname/uniname.c: Likewise.
3363         * tests/test-idpriv-drop.c: Likewise.
3364         * tests/test-idpriv-droptemp.c: Likewise.
3365         * tests/test-lock.c: Likewise.
3366         * tests/test-tls.c: Likewise.
3367         * lib/argp-help.c: Insert space before function-like macro argument
3368         list.
3369         * lib/memcmp.c: Likewise.
3370         * tests/test-base64.c: Likewise.
3371         * lib/localename.c: Insert space before sizeof's argument list.
3372         * lib/safe-alloc.h: Likewise.
3373         * lib/file-set.h: Insert space before macro argument list.
3374         * tests/test-argp.c: Likewise.
3375         * lib/argp-namefrob.h: Insert space before function parameter list.
3376         * lib/getaddrinfo.c: Likewise.
3377         * lib/netdb.in.h: Likewise.
3378         * lib/parse-duration.h: Likewise.
3379         * lib/parse-duration.c: Likewise.
3380         * lib/poll.c: Likewise.
3381         * lib/select.c: Likewise.
3382         * lib/trim.h: Likewise.
3383         * tests/test-usleep.c: Likewise.
3384         * lib/ldexpl.c: Insert space before function parameter list and before
3385         function argument list.
3386         * lib/logl.c: Likewise.
3387         * lib/sqrtl.c: Likewise.
3388         * lib/trim.c: Likewise.
3389         * lib/cosl.c: Use GNU style indentation. Insert space before function
3390         argument list.
3391         * lib/sinl.c: Likewise.
3392         * lib/tsearch.c: Insert space after 'for'.
3393         Reported by Jim Meyering.
3394
3395 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
3396
3397         * maint.mk (sc_Wundef_boolean): Check for the presence of the
3398         config header before grepping, as it's not present before
3399         autoreconf/configure are run.  Reported by Simon Josefsson.
3400
3401 2010-03-23  Bruno Haible  <bruno@clisp.org>
3402
3403         pt_chown: Make it work with automake < 1.11.
3404         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
3405         Reported by Simon Josefsson.
3406
3407 2010-03-23  Bruno Haible  <bruno@clisp.org>
3408
3409         pt_chown: Don't depend on GPLed modules.
3410         * lib/pt_chown.c: Don't include idpriv.h.
3411         (main): Don't drop privileges.
3412         * modules/pt_chown (Depends-on): Remove idpriv-drop.
3413         Reported by Simon Josefsson.
3414
3415 2010-03-24  Simon Josefsson  <simon@josefsson.org>
3416
3417         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
3418         suggestions from karl@freefriends.org (Karl Berry).
3419
3420 2010-03-22  Eric Blake  <eblake@redhat.com>
3421
3422         gethostname: further tweaks
3423         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
3424         are overriding gethostname.
3425         Suggested by Bruno Haible.
3426
3427 2010-03-21  Bruno Haible  <bruno@clisp.org>
3428
3429         Fix comments.
3430         * lib/forkpty.c (rpl_forkpty): Fix comment.
3431         * lib/openpty.c (rpl_openpty): Likewise.
3432         Reported by Eric Blake.
3433
3434 2010-03-22  Eric Blake  <eblake@redhat.com>
3435
3436         gethostname: fix build on mingw
3437         * lib/unistd.in.h (includes): Work around fact that mingw
3438         <winsock2.h> re-includes <unistd.h>, by avoiding any
3439         redeclarations if we are being included by <winsock2.h>.
3440         Reported by Matthias Bolte.
3441
3442 2010-03-21  Bruno Haible  <bruno@clisp.org>
3443
3444         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
3445         * lib/forkpty.c (forkpty): New replacement function, from glibc with
3446         modifications.
3447         * lib/pty.in.h (forkpty): Update declaration. Add comments.
3448         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
3449         provide the replacement.
3450         * modules/forkpty (Depends-on): Add openpty, login_tty.
3451         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
3452         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
3453         * doc/glibc-functions/forkpty.texi: More supported platforms.
3454         * config/srclist.txt: Add forkpty.c (commented).
3455
3456 2010-03-21  Bruno Haible  <bruno@clisp.org>
3457
3458         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
3459         (Makefile.am): Verify that PTY_LIB is defined.
3460
3461         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
3462
3463 2010-03-21  Bruno Haible  <bruno@clisp.org>
3464
3465         Tests for module 'login_tty'.
3466         * modules/login_tty-tests: New file.
3467         * tests/test-login_tty.c: New file.
3468
3469         New module 'login_tty'.
3470         * lib/login_tty.c: New file.
3471         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
3472         * modules/login_tty: New file.
3473         * doc/glibc-functions/login_tty.texi: Mention the new module.
3474
3475 2010-03-21  Bruno Haible  <bruno@clisp.org>
3476
3477         login_tty: Documentation.
3478         * doc/glibc-functions/login_tty.texi: New file.
3479         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
3480
3481 2010-03-21  Bruno Haible  <bruno@clisp.org>
3482
3483         pty: Consistent macro naming.
3484         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
3485         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
3486         * modules/pty (configure.ac): Update.
3487
3488 2010-03-21  Bruno Haible  <bruno@clisp.org>
3489
3490         Tests for openpty: Make stricter.
3491         * tests/test-openpty.c (main): Add test of canonical processing and
3492         erase.
3493         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
3494
3495         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
3496         * lib/openpty.c (openpty): New replacement function.
3497         * lib/pty.in.h: Include <termios.h>.
3498         (openpty): Update declaration. Add comments.
3499         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
3500         is not declared, arrange to provide the replacement. Check for _getpty
3501         and posix_openpt.
3502         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
3503         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
3504         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
3505         * modules/pty-tests (test_pty_c___LDADD): New variable.
3506         * doc/glibc-functions/openpty.texi: More supported platforms.
3507
3508 2010-03-21  Bruno Haible  <bruno@clisp.org>
3509
3510         setenv: Tweaks.
3511         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
3512         the test program.
3513         * doc/posix-functions/setenv.texi: Update platforms list.
3514
3515 2010-03-21  Bruno Haible  <bruno@clisp.org>
3516
3517         New module 'unlockpt'.
3518         * lib/unlockpt.c: New file, from glibc with modifications.
3519         * m4/unlockpt.m4: New file.
3520         * modules/unlockpt: New file.
3521         * lib/stdlib.in.h (unlockpt): New declaration.
3522         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
3523         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
3524         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
3525         HAVE_UNLOCKPT.
3526         * doc/posix-functions/unlockpt.texi: Mention the new module.
3527         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
3528         * config/srclist.txt: Add unlockpt.c (commented).
3529
3530 2010-03-21  Jim Meyering  <meyering@redhat.com>
3531
3532         maint.mk: prohibit inclusion of "intprops.h" without use
3533         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
3534
3535 2010-03-21  Bruno Haible  <bruno@clisp.org>
3536
3537         New module 'grantpt'.
3538         * lib/grantpt.c: New file, from glibc with modifications.
3539         * m4/grantpt.m4: New file.
3540         * modules/grantpt: New file.
3541         * lib/stdlib.in.h (grantpt): New declaration.
3542         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
3543         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
3544         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
3545         HAVE_GRANTPT.
3546         * doc/posix-functions/grantpt.texi: Mention the new module.
3547         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
3548         * config/srclist.txt: Add grantpt.c (commented).
3549
3550 2010-03-21  Bruno Haible  <bruno@clisp.org>
3551
3552         New module 'pt_chown'.
3553         * lib/pt_chown.c: New file, from glibc with modifications.
3554         * lib/pty-private.h: New file, from glibc with modifications.
3555         * modules/pt_chown: New file.
3556         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
3557
3558 2010-03-21  Bruno Haible  <bruno@clisp.org>
3559
3560         Tests for module 'ptsname'.
3561         * modules/ptsname-tests: New file.
3562         * tests/test-ptsname.c: New file.
3563
3564         New module 'ptsname'.
3565         * lib/ptsname.c: New file, from glibc with modifications.
3566         * m4/ptsname.m4: New file.
3567         * modules/ptsname: New file.
3568         * lib/stdlib.in.h (ptsname): New declaration.
3569         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
3570         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
3571         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
3572         HAVE_PTSNAME.
3573         * doc/posix-functions/ptsname.texi: Mention the new module.
3574         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
3575         * config/srclist.txt: Add ptsname.c (commented).
3576
3577 2010-03-21  Bruno Haible  <bruno@clisp.org>
3578
3579         Tests for module 'ttyname_r'.
3580         * modules/ttyname_r-tests: New file.
3581         * tests/test-ttyname_r.c: New file.
3582
3583         New module 'ttyname_r'.
3584         * lib/ttyname_r.c: New file.
3585         * m4/ttyname_r.m4: New file.
3586         * modules/ttyname_r: New file.
3587         * lib/unistd.in.h (ttyname_r): New declaration.
3588         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
3589         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
3590         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
3591         HAVE_TTYNAME_R.
3592         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
3593         * doc/posix-functions/ttyname_r.texi: Mention the new module.
3594
3595 2010-03-20  Bruno Haible  <bruno@clisp.org>
3596
3597         signal: Undefine macro definitions in C++ mode.
3598         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
3599         sigfillset): Undefine macro definitions from the system header in C++
3600         mode.
3601         Reported by John W. Eaton <jwe@gnu.org>.
3602
3603 2010-03-20  Bruno Haible  <bruno@clisp.org>
3604
3605         Ensure no #include statements inside extern "C" { ... }.
3606         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
3607         contain #include statements.
3608         * lib/time.in.h: Likewise.
3609
3610 2010-03-20  Bruno Haible  <bruno@clisp.org>
3611
3612         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
3613         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
3614         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
3615         Reported by John W. Eaton <jwe@gnu.org>.
3616
3617 2010-03-20  Bruno Haible  <bruno@clisp.org>
3618
3619         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
3620         Reported by Jim Meyering.
3621
3622 2010-03-20  Bruno Haible  <bruno@clisp.org>
3623
3624         pipe: Set errno upon failure.
3625         * lib/pipe.h: Specify that when -1 is returned, errno is set.
3626         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
3627         errno value in error message.
3628
3629 2010-03-20  Bruno Haible  <bruno@clisp.org>
3630             Jim Meyering  <meyering@redhat.com>
3631
3632         lchown: Avoid "unused variable" warning.
3633         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
3634
3635 2010-03-20  Bruno Haible  <bruno@clisp.org>
3636
3637         Work around unlink() bug on MacOS X 10.5.6.
3638         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
3639         attempting to unlink a parent directory.
3640         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
3641         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
3642         activate for the replacement function.
3643         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
3644
3645 2010-03-20  Bruno Haible  <bruno@clisp.org>
3646
3647         Fix link errors on Solaris 8.
3648         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
3649         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
3650
3651 2010-03-19  Jim Meyering  <meyering@redhat.com>
3652
3653         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
3654         The _LIBC implementation of build_range_exp correctly honors the
3655         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
3656         However, the non-_LIBC implementation would ignore that syntax-bit
3657         flag and return REG_ERANGE unconditionally.
3658         This change makes it honor that flag.
3659         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
3660         Make two pointer parameters "const".
3661         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
3662         (parse_bracket_exp): Update caller.
3663
3664         regex.m4: correct the reversed range endpoint ([b-a]) test
3665         * m4/regex.m4: When requiring that [b-a] evoke failure,
3666         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
3667         test pass once again for x86-based systems.
3668
3669 2010-03-19  Bruno Haible  <bruno@clisp.org>
3670
3671         scandir: Fix link error on Solaris 8.
3672         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
3673         macros.
3674
3675 2010-03-19  Bruno Haible  <bruno@clisp.org>
3676
3677         getusershell: Fix documentation.
3678         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
3679         module.
3680         * doc/glibc-functions/setusershell.texi: Likewise.
3681
3682         getusershell: Provide declaration, missing on Solaris 9.
3683         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
3684         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
3685         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
3686         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
3687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3688         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
3689         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
3690         HAVE_GETUSERSHELL.
3691         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
3692
3693 2010-03-19  Bruno Haible  <bruno@clisp.org>
3694
3695         wctype: Provide iswblank function.
3696         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
3697         exists and is fine.
3698         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
3699         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
3700         * tests/test-wctype.c (main): Re-enable the iswblank tests.
3701         * doc/posix-functions/iswblank.texi: Update.
3702
3703 2010-03-19  Bruno Haible  <bruno@clisp.org>
3704
3705         Tests of module 'pty' in C++ mode.
3706         * modules/pty-tests: New file.
3707         * tests/test-pty-c++.cc: New file.
3708         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
3709
3710 2010-03-19  Eric Blake  <eblake@redhat.com>
3711
3712         logb: fix documentation
3713         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
3714         1.5 declaration bug.
3715
3716         forkpty, openpty: prefer glibc's const-safe prototype
3717         * lib/forkpty.c (rpl_forkpty): New file.
3718         * lib/openpty.c (rpl_openpty): Likewise.
3719         * modules/forkpty (Files): Distribute it.
3720         * modules/openpty (Files): Likewise.
3721         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
3722         check...
3723         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
3724         replacement for for non-const BSD signature.
3725         * modules/pty (Makefile.am): Substitute witnesses.
3726         * lib/pty.in.h (forkpty, openpty): Declare replacements.
3727         * tests/test-forkpty.c: Update signature check.
3728         * tests/test-openpty.c: Likewise.
3729         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
3730         * doc/glibc-functions/openpty.texi (openpty): Likewise.
3731
3732         forkpty, openpty: split functions into new modules
3733         * modules/pty (Makefile.am): Substitute new witnesses.
3734         (Libraries): Move library detection...
3735         * modules/forkpty: ...into new module.
3736         * modules/openpty: Another new module.
3737         * modules/pty-tests: Rename and split...
3738         * modules/forkpty-tests: ...to this...
3739         * modules/openpty-tests: ...and this.
3740         * tests/test-pty.c: Rename and split...
3741         * tests/test-forkpty.c: ...to this...
3742         * tests/test-openpty.c: ...and this.
3743         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
3744         (gl_PTY): Split library searching...
3745         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
3746         (gl_FORKPTY, gl_OPENPTY): New macros.
3747         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
3748         * NEWS: Mention the split.
3749         * MODULES.html.sh (Misc): Document the modules.
3750         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
3751         * doc/glibc-functions/openpty.texi (openpty): Likewise.
3752
3753         pty: improve replacement header
3754         * lib/pty.in.h: New file.
3755         * modules/pty (Files): Ship it.
3756         (Makefile.am): Always build replacement.
3757         * m4/pty.m4: Rename...
3758         * m4/pty_h.m4: ...to this.
3759         (gl_PTY): Modernize setting of witness macros; update check of
3760         forkpty to take proper advantage of cache.
3761         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
3762
3763         getopt: avoid compiler warning
3764         * lib/getopt.c (attribute_hidden): Remove unused macro.
3765
3766 2010-03-18  Bruno Haible  <bruno@clisp.org>
3767
3768         Fix link errors on Solaris 8.
3769         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
3770         * modules/search-tests (test_search_c___LDADD): Likewise.
3771         * modules/signal-tests (test_signal_c___LDADD): Likewise.
3772         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
3773         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
3774         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
3775         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
3776         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
3777         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
3778
3779 2010-03-18  Bruno Haible  <bruno@clisp.org>
3780
3781         Fix bug introduced on 2010-03-14.
3782         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
3783         (gl_SPAWN_H): Require it.
3784         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
3785         Reported by Simon Josefsson.
3786
3787 2010-03-18  Bruno Haible  <bruno@clisp.org>
3788
3789         Fix typo introduced on 2009-12-31.
3790         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
3791         posix_spawn_file_actions_adddup2.
3792
3793 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
3794         and Eric Blake  <eblake@redhat.com>
3795
3796         test-vc-list-files-git: make more robust
3797         * tests/test-vc-list-files-git.sh: Unset problematic environment
3798         variables.  Chain commands together.
3799
3800 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
3801
3802         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
3803         `AC_CHECK_DECL' invocation.
3804
3805 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
3806
3807         * lib/inttostr.c (inttostr): Make sure the invocation of verify
3808         appears before executable statements. Suggested by Petr Sumbera
3809         <Petr.Sumbera@Sun.COM>.
3810
3811 2010-03-14  Bruno Haible  <bruno@clisp.org>
3812
3813         * tests/test-flock.c (test_exclusive): Comment out a test that causes
3814         portability problems. Instead use a simpler test.
3815         (main): Check that invalid arguments are rejected only on Linux.
3816
3817 2010-03-14  Bruno Haible  <bruno@clisp.org>
3818
3819         Fix bug introduced on 2009-12-31.
3820         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
3821         gl_PREREQ_SYS_H_WINSOCK2 always.
3822         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
3823         SYS_SOCKET_H variable.
3824         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
3825         Update comments.
3826         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
3827         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
3828         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3829         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3830         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3831
3832 2010-03-14  Bruno Haible  <bruno@clisp.org>
3833
3834         Fix values returned by sinl, cosl.
3835         * lib/trigl.h: Add specification comments.
3836         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
3837         that combines the values from the precomputed table with the values of
3838         the Chebyshev polynomials.
3839
3840 2010-03-14  Bruno Haible  <bruno@clisp.org>
3841
3842         Fix compilation error when modules 'posix_spawn[p]' are not used.
3843         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
3844         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
3845
3846 2010-03-14  Bruno Haible  <bruno@clisp.org>
3847
3848         Fix compilation error on mingw when module 'time_r' is not used.
3849         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
3850         is 1.
3851         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
3852         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
3853         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
3854         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
3855
3856 2010-03-14  Bruno Haible  <bruno@clisp.org>
3857
3858         Fix compilation error with Sun C.
3859         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
3860         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
3861         instead of GCC specific ULONG_LONG_MAX.
3862         * lib/xstrtoll.c: Likewise.
3863         * lib/xstrtoull.c: Likewise.
3864
3865 2010-03-13  Bruno Haible  <bruno@clisp.org>
3866
3867         Allow the user to disable C++ code and tests.
3868         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
3869         (gl_PROG_ANSI_CXX): Require it.
3870
3871 2010-03-13  Bruno Haible  <bruno@clisp.org>
3872
3873         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
3874         cases.
3875
3876 2010-03-13  Bruno Haible  <bruno@clisp.org>
3877
3878         Test that gnulib does not break the standard C++ headers.
3879         * tests/test-locale-c++2.cc: New file.
3880         * modules/locale-tests (Files): Add it.
3881         (Makefile.am): Compile it for test-locale-c++.
3882         * tests/test-math-c++2.cc: New file.
3883         * modules/math-tests (Files): Add it.
3884         (Makefile.am): Compile it for test-math-c++.
3885         * tests/test-signal-c++2.cc: New file.
3886         * modules/signal-tests (Files): Add it.
3887         (Makefile.am): Compile it for test-signal-c++.
3888         * tests/test-stdio-c++2.cc: New file.
3889         * modules/stdio-tests (Files): Add it.
3890         (Makefile.am): Compile it for test-stdio-c++.
3891         * tests/test-stdlib-c++2.cc: New file.
3892         * modules/stdlib-tests (Files): Add it.
3893         (Makefile.am): Compile it for test-stdlib-c++.
3894         * tests/test-string-c++2.cc: New file.
3895         * modules/string-tests (Files): Add it.
3896         (Makefile.am): Compile it for test-string-c++.
3897         * tests/test-time-c++2.cc: New file.
3898         * modules/time-tests (Files): Add it.
3899         (Makefile.am): Compile it for test-time-c++.
3900         Reported by John W. Eaton <jwe@gnu.org>.
3901
3902 2010-03-13  Bruno Haible  <bruno@clisp.org>
3903
3904         * gnulib-tool (func_usage): Clarify which options are available for
3905         --create-testdir and --create-megatestdir.
3906
3907 2010-03-13  Bruno Haible  <bruno@clisp.org>
3908
3909         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
3910         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
3911         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
3912         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
3913         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
3914         when appropriate.
3915         Reported by Jim Meyering.
3916
3917 2010-03-12  Simon Josefsson  <simon@josefsson.org>
3918
3919         * gnulib-tool (func_import): Explain origin of code.
3920
3921 2010-03-12  Bruno Haible  <bruno@clisp.org>
3922
3923         Fix problem with automake's definition of CXXLINK.
3924         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
3925         Reported by Simon Josefsson and Ludovic Courtès.
3926
3927 2010-03-12  Bruno Haible  <bruno@clisp.org>
3928
3929         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
3930         stable releases.
3931
3932 2010-03-11  Bruno Haible  <bruno@clisp.org>
3933
3934         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
3935         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
3936         whether the system provides one variant or multiple variants of the
3937         function.
3938         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
3939         C++ compilers.
3940         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
3941         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
3942         Reported by Jim Meyering.
3943
3944 2010-03-09  Simon Josefsson  <simon@josefsson.org>
3945
3946         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
3947
3948 2010-03-08  Bruno Haible  <bruno@clisp.org>
3949
3950         gnulib-tool: Add support for --libtool in --create-testdir.
3951         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
3952         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
3953
3954 2010-03-08  Eric Blake  <eblake@redhat.com>
3955
3956         gnulib-tool.texi: mention possibility of git submodule
3957         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
3958         submodules.
3959         * doc/.gitignore: Ignore another generated file.
3960
3961 2010-03-08  Karl Berry  <karl@gnu.org>
3962
3963         * doc/gnulib-tool.texi (VCS Issues): Mention third option
3964         of committing gnulib files while skipping others.
3965
3966 2010-03-07  Bruno Haible  <bruno@clisp.org>
3967
3968         Tests of module 'wctype' in C++ mode.
3969         * tests/test-wctype-c++.cc: New file.
3970         * modules/wctype-tests (Files): Add it and tests/signature.h.
3971         (Depends-on): Add ansi-c++-opt.
3972         (Makefile.am): Arrange to compile and run test-wctype-c++.
3973
3974         Tests of module 'wchar' in C++ mode.
3975         * tests/test-wchar-c++.cc: New file.
3976         * modules/wchar-tests (Files): Add it and tests/signature.h.
3977         (Depends-on): Add ansi-c++-opt.
3978         (Makefile.am): Arrange to compile and run test-wchar-c++.
3979         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
3980         gl_MODULE_INDICATOR.
3981
3982         Tests of module 'unistd' in C++ mode.
3983         * tests/test-unistd-c++.cc: New file.
3984         * modules/unistd-tests (Files): Add it and tests/signature.h.
3985         (Depends-on): Add ansi-c++-opt.
3986         (Makefile.am): Arrange to compile and run test-unistd-c++.
3987         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
3988         gl_MODULE_INDICATOR.
3989
3990         Tests of module 'time' in C++ mode.
3991         * tests/test-time-c++.cc: New file.
3992         * modules/time-tests (Files): Add it and tests/signature.h.
3993         (Depends-on): Add ansi-c++-opt.
3994         (Makefile.am): Arrange to compile and run test-time-c++.
3995         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
3996
3997         Tests of module 'sys_time' in C++ mode.
3998         * tests/test-sys_time-c++.cc: New file.
3999         * modules/sys_time-tests (Files): Add it and tests/signature.h.
4000         (Depends-on): Add ansi-c++-opt.
4001         (Makefile.am): Arrange to compile and run test-sys_time-c++.
4002         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
4003         gl_MODULE_INDICATOR.
4004
4005         Tests of module 'sys_stat' in C++ mode.
4006         * tests/test-sys_stat-c++.cc: New file.
4007         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
4008         (Depends-on): Add ansi-c++-opt.
4009         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
4010         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
4011         gl_MODULE_INDICATOR.
4012
4013         Tests of module 'sys_socket' in C++ mode.
4014         * tests/test-sys_socket-c++.cc: New file.
4015         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
4016         (Depends-on): Add ansi-c++-opt.
4017         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
4018         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
4019         gl_MODULE_INDICATOR.
4020
4021         Tests of module 'sys_select' in C++ mode.
4022         * tests/test-sys_select-c++.cc: New file.
4023         * modules/sys_select-tests (Files): Add it and tests/signature.h.
4024         (Depends-on): Add ansi-c++-opt.
4025         (Makefile.am): Arrange to compile and run test-sys_select-c++.
4026         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
4027         gl_MODULE_INDICATOR.
4028
4029         Tests of module 'sys_ioctl' in C++ mode.
4030         * tests/test-sys_ioctl-c++.cc: New file.
4031         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
4032         (Depends-on): Add ansi-c++-opt.
4033         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
4034         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
4035         gl_MODULE_INDICATOR.
4036
4037         Tests of module 'string' in C++ mode.
4038         * tests/test-string-c++.cc: New file.
4039         * modules/string-tests (Files): Add it and tests/signature.h.
4040         (Depends-on): Add ansi-c++-opt.
4041         (Makefile.am): Arrange to compile and run test-string-c++.
4042         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
4043         gl_MODULE_INDICATOR.
4044
4045         Tests of module 'stdlib' in C++ mode.
4046         * tests/test-stdlib-c++.cc: New file.
4047         * modules/stdlib-tests (Files): Add it and tests/signature.h.
4048         (Depends-on): Add ansi-c++-opt.
4049         (Makefile.am): Arrange to compile and run test-stdlib-c++.
4050         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
4051         gl_MODULE_INDICATOR.
4052
4053         Tests of module 'stdio' in C++ mode.
4054         * tests/test-stdio-c++.cc: New file.
4055         * modules/stdio-tests (Files): Add it and tests/signature.h.
4056         (Depends-on): Add ansi-c++-opt.
4057         (Makefile.am): Arrange to compile and run test-stdio-c++.
4058         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
4059         gl_MODULE_INDICATOR.
4060
4061         Tests of module 'spawn' in C++ mode.
4062         * tests/test-spawn-c++.cc: New file.
4063         * modules/spawn-tests (Files): Add it and tests/signature.h.
4064         (Depends-on): Add ansi-c++-opt.
4065         (Makefile.am): Arrange to compile and run test-spawn-c++.
4066         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
4067         gl_MODULE_INDICATOR.
4068
4069         Tests of module 'signal' in C++ mode.
4070         * tests/test-signal-c++.cc: New file.
4071         * modules/signal-tests (Files): Add it and tests/signature.h.
4072         (Depends-on): Add ansi-c++-opt.
4073         (Makefile.am): Arrange to compile and run test-signal-c++.
4074         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
4075         gl_MODULE_INDICATOR.
4076
4077         Tests of module 'search' in C++ mode.
4078         * tests/test-search-c++.cc: New file.
4079         * modules/search-tests (Files): Add it and tests/signature.h.
4080         (Depends-on): Add ansi-c++-opt.
4081         (Makefile.am): Arrange to compile and run test-search-c++.
4082         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
4083         gl_MODULE_INDICATOR.
4084
4085         Tests of module 'math' in C++ mode.
4086         * tests/test-math-c++.cc: New file.
4087         * modules/math-tests (Files): Add it and tests/signature.h.
4088         (Depends-on): Add ansi-c++-opt.
4089         (Makefile.am): Arrange to compile and run test-math-c++.
4090         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4091
4092         Tests of module 'locale' in C++ mode.
4093         * tests/test-locale-c++.cc: New file.
4094         * modules/locale-tests (Files): Add it and tests/signature.h.
4095         (Depends-on): Add ansi-c++-opt.
4096         (Makefile.am): Arrange to compile and run test-locale-c++.
4097         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
4098         gl_MODULE_INDICATOR.
4099
4100         Tests of module 'langinfo' in C++ mode.
4101         * tests/test-langinfo-c++.cc: New file.
4102         * modules/langinfo-tests (Files): Add it and tests/signature.h.
4103         (Depends-on): Add ansi-c++-opt.
4104         (Makefile.am): Arrange to compile and run test-langinfo-c++.
4105         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
4106         gl_MODULE_INDICATOR.
4107
4108         Tests of module 'iconv-h' in C++ mode.
4109         * tests/test-iconv-h-c++.cc: New file.
4110         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
4111         (Depends-on): Add ansi-c++-opt.
4112         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
4113
4114         Tests of module 'glob' in C++ mode.
4115         * tests/test-glob-c++.cc: New file.
4116         * modules/glob-tests (Files): Add it.
4117         (Depends-on): Add ansi-c++-opt.
4118         (Makefile.am): Arrange to compile and run test-glob-c++.
4119
4120         Tests of module 'fcntl-h' in C++ mode.
4121         * tests/test-fcntl-h-c++.cc: New file.
4122         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
4123         (Depends-on): Add ansi-c++-opt.
4124         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
4125         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
4126         gl_MODULE_INDICATOR.
4127
4128         Tests of module 'dirent' in C++ mode.
4129         * tests/test-dirent-c++.cc: New file.
4130         * modules/dirent-tests (Files): Add it and tests/signature.h.
4131         (Depends-on): Add ansi-c++-opt.
4132         (Makefile.am): Arrange to compile and run test-dirent-c++.
4133         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
4134         gl_MODULE_INDICATOR.
4135
4136         New module 'ansi-c++-opt'.
4137         * modules/ansi-c++-opt: New file.
4138         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
4139
4140         Document C++ namespace mode.
4141         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
4142
4143         wctype: Avoid #define replacements in C++ mode.
4144         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
4145         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
4146         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
4147         In C++, define a namespaced alias symbol.
4148         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
4149         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
4150         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
4151         rule.
4152
4153         wchar: Avoid #define replacements in C++ mode.
4154         * lib/wchar.in.h: Include c++defs.h.
4155         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
4156         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
4157         symbol.
4158         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
4159         * modules/wchar (Depends-on): Add c++defs.
4160         (Makefile.am): Update wchar.h rule.
4161
4162         unistd: Avoid #define replacements in C++ mode.
4163         * lib/unistd.in.h: Include c++defs.h.
4164         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
4165         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
4166         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
4167         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
4168         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
4169         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
4170         symbol.
4171         (environ): Update.
4172         * modules/unistd (Depends-on): Add c++defs.
4173         (Makefile.am): Update unistd.h rule.
4174
4175         time: Avoid #define replacements in C++ mode.
4176         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
4177         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
4178         define a namespaced alias symbol.
4179         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
4180         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
4181         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
4182         * modules/time (Depends-on): Add c++defs, warn-on-use.
4183         (Makefile.am): Update time.h rule.
4184         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
4185         * modules/nanosleep (configure.ac): Likewise.
4186         * modules/strptime (configure.ac): Likewise.
4187         * modules/timegm (configure.ac): Likewise.
4188
4189         sys_time: Avoid #define replacements in C++ mode.
4190         * lib/sys_time.in.h: Include c++defs.h.
4191         (gettimeofday): In C++, define a namespaced alias symbol.
4192         * modules/sys_time (Depends-on): Add c++defs.
4193         (Makefile.am): Update sys/time.h rule.
4194
4195         sys_stat: Avoid #define replacements in C++ mode.
4196         * lib/sys_stat.in.h: Include c++defs.h.
4197         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
4198         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
4199         namespaced alias symbol.
4200         In C++, define a namespaced alias symbol.
4201         * modules/sys_stat (Depends-on): Add c++defs.
4202         (Makefile.am): Update sys/stat.h rule.
4203
4204         sys_socket: Avoid #define replacements in C++ mode.
4205         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
4206         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
4207         definitions also when the system has a <sys/socket.h>.
4208         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
4209         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
4210         In C++, define a namespaced alias symbol.
4211         * modules/sys_socket (Depends-on): Add c++defs.
4212         (Makefile.am): Update sys/socket.h rule.
4213
4214         sys_select: Avoid #define replacements in C++ mode.
4215         * lib/sys_select.in.h: Include c++defs.h. Enable the function
4216         definitions also when the system has a <sys/select.h>.
4217         (select): In C++, define a namespaced alias symbol.
4218         * modules/sys_select (Depends-on): Add c++defs.
4219         (Makefile.am): Update sys/select.h rule.
4220
4221         sys_ioctl: Avoid #define replacements in C++ mode.
4222         * lib/sys_ioctl.in.h: Include c++defs.h.
4223         (ioctl): In C++, define a namespaced alias symbol.
4224         * modules/sys_ioctl (Depends-on): Add c++defs.
4225         (Makefile.am): Update sys/ioctl.h rule.
4226
4227         string: Avoid #define replacements in C++ mode.
4228         * lib/string.in.h: Include c++defs.h.
4229         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
4230         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
4231         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
4232         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
4233         strsignal, strverscmp): In C++, define a namespaced alias symbol.
4234         * modules/string (Depends-on): Add c++defs.
4235         (Makefile.am): Update string.h rule.
4236
4237         stdlib: Avoid #define replacements in C++ mode.
4238         * lib/stdlib.in.h: Include c++defs.h.
4239         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
4240         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
4241         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
4242         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
4243         symbol.
4244         * modules/stdlib (Depends-on): Add c++defs.
4245         (Makefile.am): Update stdlib.h rule.
4246
4247         stdio: Avoid #define replacements in C++ mode.
4248         * lib/stdio.in.h: Include c++defs.h.
4249         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
4250         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
4251         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
4252         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
4253         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
4254         namespaced alias symbol.
4255         * modules/stdio (Depends-on): Add c++defs.
4256         (Makefile.am): Update stdio.h rule.
4257
4258         spawn: Avoid #define replacements in C++ mode.
4259         * lib/spawn.in.h: Include c++defs.h.
4260         (posix_spawn, posix_spawnp, posix_spawnattr_init,
4261         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
4262         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
4263         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
4264         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
4265         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
4266         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
4267         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
4268         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
4269         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
4270         In C++, define a namespaced alias symbol.
4271         * modules/spawn (Depends-on): Add c++defs.
4272         (Makefile.am): Update spawn.h rule.
4273
4274         signal: Avoid #define replacements in C++ mode.
4275         * lib/signal.in.h: Include c++defs.h.
4276         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
4277         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
4278         namespaced alias symbol.
4279         * modules/signal (Depends-on): Add c++defs.
4280         (Makefile.am): Update signal.h rule.
4281
4282         search: Avoid #define replacements in C++ mode.
4283         * lib/search.in.h: Include c++defs.h.
4284         (_gl_search_compar_fn, _gl_search_action_fn): New types.
4285         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
4286         symbol.
4287         * modules/search (Depends-on): Add c++defs.
4288         (Makefile.am): Update search.h rule.
4289
4290         math: Avoid #define replacements in C++ mode.
4291         * lib/math.in.h: Include c++defs.h.
4292         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
4293         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
4294         trunc, truncl): In C++, define a namespaced alias symbol.
4295         * modules/math (Depends-on): Add c++defs.
4296         (Makefile.am): Update math.h rule.
4297
4298         locale: Avoid #define replacements in C++ mode.
4299         * lib/locale.in.h: Include c++defs.h.
4300         (duplocale): In C++, define a namespaced alias symbol.
4301         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
4302         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
4303         * modules/locale (Depends-on): Add c++defs.
4304         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
4305
4306         langinfo: Avoid #define replacements in C++ mode.
4307         * lib/langinfo.in.h: Include c++defs.h.
4308         (nl_langinfo): In C++, define a namespaced alias symbol.
4309         * modules/langinfo (Depends-on): Add c++defs.
4310         (Makefile.am): Update langinfo.h rule.
4311
4312         iconv-h: Avoid #define replacements in C++ mode.
4313         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
4314         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
4315         symbol.
4316         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
4317         whenever iconv is present.
4318         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
4319         (Makefile.am): Update iconv.h rule.
4320
4321         glob: Avoid #define replacements in C++ mode.
4322         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
4323         (_gl_glob_errfunc_fn): New type.
4324         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
4325         symbol.
4326         * modules/glob (Depends-on): Add c++defs, warn-on-use.
4327         (Makefile.am): Update glob.h rule.
4328
4329         fcntl-h: Avoid #define replacements in C++ mode.
4330         * lib/fcntl.in.h: Include c++defs.h.
4331         (fcntl, open, openat): In C++, define a namespaced alias symbol.
4332         * modules/fcntl-h (Depends-on): Add c++defs.
4333         (Makefile.am): Update fcntl.h rule.
4334
4335         dirent: Avoid #define replacements in C++ mode.
4336         * lib/dirent.in.h: Include c++defs.h.
4337         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
4338         namespaced alias symbol.
4339         (dirfd): Update declaration.
4340         * modules/dirent (Depends-on): Add c++defs.
4341         (Makefile.am): Update dirent.h rule.
4342
4343         ctype: Make it usable in C++ code.
4344         * lib/ctype.in.h: Include c++defs.h.
4345         (isblank): Declare as extern "C".
4346         * modules/ctype (Depends-on): Add c++defs.
4347         (Makefile.am): Update ctype.h rule.
4348
4349         New module 'c++defs'.
4350         * modules/c++defs: New file.
4351         * build-aux/c++defs.h: New file.
4352         Reported by John W. Eaton <jwe@gnu.org>.
4353
4354 2010-03-07  Bruno Haible  <bruno@clisp.org>
4355
4356         logb: Provide missing declaration for Cygwin.
4357         * lib/math.in.h (logb): New declaration.
4358         * m4/logb.m4: New file.
4359         * modules/logb (Files): Add m4/logb.m4.
4360         (Depends-on): Add math.
4361         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
4362         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
4363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
4364         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
4365         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
4366
4367 2010-03-07  Bruno Haible  <bruno@clisp.org>
4368
4369         Fix test-cond link error.
4370         * tests/test-cond.c: Include <stdio.h>.
4371
4372 2010-03-07  Bruno Haible  <bruno@clisp.org>
4373
4374         Fix test-dirent-safer link error.
4375         * modules/dirent-safer-tests (Makefile.am): Define
4376         test_dirent_safer_LDADD.
4377
4378 2010-03-07  Bruno Haible  <bruno@clisp.org>
4379
4380         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
4381         among default module list.
4382
4383 2010-03-07  Bruno Haible  <bruno@clisp.org>
4384
4385         Fix link error on platforms with GNU libiconv.
4386         * modules/unistr/u8-strcoll-tests (Makefile): Define
4387         test_u8_strcoll_LDADD.
4388         * modules/unistr/u16-strcoll-tests (Makefile): Define
4389         test_u16_strcoll_LDADD.
4390         * modules/unistr/u32-strcoll-tests (Makefile): Define
4391         test_u32_strcoll_LDADD.
4392
4393 2010-03-07  Bruno Haible  <bruno@clisp.org>
4394
4395         Use POSIX declarations for socket functions.
4396         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
4397         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
4398         rpl_sendto): Change declaration to match POSIX.
4399         * lib/connect.c (rpl_connect): Likewise.
4400         * lib/accept.c (rpl_accept): Likewise.
4401         * lib/bind.c (rpl_bind): Likewise.
4402         * lib/getpeername.c (rpl_getpeername): Likewise.
4403         * lib/getsockname.c (rpl_getsockname): Likewise.
4404         * lib/recv.c (rpl_recv): Likewise.
4405         * lib/send.c (rpl_send): Likewise.
4406         * lib/recvfrom.c (rpl_recvfrom): Likewise.
4407         * lib/sendto.c (rpl_sendto): Likewise.
4408
4409 2010-03-06  Bruno Haible  <bruno@clisp.org>
4410
4411         Clarify access, euidaccess, faccessat.
4412         * doc/posix-functions/faccessat.texi: Mention security problem under
4413         "Other problems", not "Portability problems".
4414         * doc/posix-functions/access.texi: Likewise. Mention a related security
4415         problem.
4416         * doc/glibc-functions/euidaccess.texi: Mention security problems.
4417         * lib/euidaccess.c: Add comments about platforms.
4418         * lib/unistd.in.h (access, euidaccess): Add warnings.
4419
4420 2010-03-07  Bruno Haible  <bruno@clisp.org>
4421
4422         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
4423         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
4424         (POSIX_SPAWN_SETSCHEDULER): Likewise.
4425         (POSIX_SPAWN_USEVFORK): Define in a way that works when
4426         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
4427         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
4428         declare when POSIX_SPAWN_SETSCHEDULER is zero.
4429         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
4430         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
4431         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
4432         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
4433         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
4434         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
4435         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
4436         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
4437         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
4438         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
4439         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
4440         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
4441         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
4442         Likewise.
4443         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
4444         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
4445         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
4446         Likewise.
4447         * tests/test-spawn.c (main): Make it work when
4448         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
4449
4450 2010-03-07  Bruno Haible  <bruno@clisp.org>
4451
4452         Fix incorrect Makefile.am generation in German locale.
4453         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4454         Execute sed command with character range in C locale.
4455
4456 2010-03-06  Bruno Haible  <bruno@clisp.org>
4457
4458         Tests for module 'iconv-h'.
4459         * modules/iconv-h-tests: New file.
4460         * tests/test-iconv-h.c: New file.
4461
4462         New module 'iconv-h'.
4463         * modules/iconv-h: New file.
4464         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
4465         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
4466         (configure.ac): Remove gl_ICONV_H.
4467         (Makefile.am): Remove rule for iconv.h.
4468
4469 2010-03-06  Bruno Haible  <bruno@clisp.org>
4470
4471         More consistent naming of *.m4 files.
4472         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
4473         * modules/wctype (Files): Update.
4474
4475         More consistent naming of *.m4 files.
4476         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
4477         * modules/wchar (Files): Update.
4478
4479 2010-03-06  Jim Meyering  <meyering@redhat.com>
4480
4481         euidaccess: relax license to LGPLv2+
4482         * modules/euidaccess (License): Relax to LGPLv2+.
4483
4484 2010-03-06  Bruno Haible  <bruno@clisp.org>
4485
4486         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
4487         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
4488         (Makefile.am): Augment lib_SOURCES instead.
4489
4490 2010-03-04  Jim Meyering  <meyering@redhat.com>
4491
4492         utime: remove obsolete module
4493         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
4494         unnecessary for years, and has been marked as obsolete for 10 months.
4495         * modules/utime: Remove file.
4496         * lib/utime.c: Remove file.
4497         * m4/utime.m4: Remove file.
4498         * m4/utimes-null.m4: Remove file.
4499         * doc/posix-functions/utime.texi (utime): Remove reference to
4500         the module.  Move the sole "fixed by gnulib" item into the
4501         "problems not fixed by Gnulib" list.
4502         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
4503
4504 2010-03-05  Simon Josefsson  <simon@josefsson.org>
4505
4506         * modules/exit (License): Relax license to LGPLv2+.
4507         (Status): Mark as obsolete.
4508         * NEWS: Mention deprecated 'exit' module.
4509         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
4510         of now obsolete 'exit'.
4511
4512 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4513
4514         fts-lgpl: remove unused module
4515         * modules/fts-lgpl: Remove.
4516         * MODULES.html.sh (func_all_modules): Adjust.
4517         * check-module (find_included_lib_files): Adjust.
4518         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
4519
4520 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
4521
4522         copy-acl: enhance Solaris ACL error handling
4523         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
4524         * lib/set-mode-acl.c (qset_acl): Likewise.
4525
4526 2010-03-02  Bruno Haible  <bruno@clisp.org>
4527
4528         spawn: Don't override the system defined values on FreeBSD 8.
4529         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
4530         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
4531         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
4532         if HAVE_POSIX_SPAWN is 1.
4533         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
4534
4535 2010-03-01  Bruno Haible  <bruno@clisp.org>
4536
4537         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
4538         regarding Automake.
4539
4540 2010-02-25  Bruno Haible  <bruno@clisp.org>
4541
4542         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
4543         * gnulib-tool: Define 'echo' as a function only before the ksh alias
4544         setting, not afterwards.
4545         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4546
4547 2010-02-24  Eric Blake  <eblake@redhat.com>
4548
4549         bootstrap, git-version-gen: use timestamp
4550         * build-aux/git-version-gen (scriptversion): Force UTC.
4551         * build-aux/bootstrap (scriptversion): New variable.
4552
4553         bootstrap: allow older git
4554         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
4555         older than 1.6.4.  Requested by the libvirt project.
4556
4557 2010-02-23  Eric Blake  <eblake@redhat.com>
4558
4559         warn-on-use: work with old autoconf
4560         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
4561         AS_VAR semantics of autoconf 2.60.
4562         Reported by Bruno Haible.
4563
4564         bootstrap: improve some comments
4565         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
4566         clarification comments.
4567
4568         gettimeofday: provide correct function
4569         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
4570         when replacement is declared, otherwise provide gettimeofday.
4571         Reported by Michael Goffioul.
4572
4573 2010-02-23  Jim Meyering  <meyering@redhat.com>
4574
4575         lib-ignore: relax license to "unlimited", not LGPLv2+
4576         * modules/lib-ignore (License): Relax to "unlimited".
4577
4578 2010-02-23  Jim Meyering  <meyering@redhat.com>
4579
4580         lib-ignore: relax license to LGPLv2+
4581         * modules/lib-ignore (License): Relax to LGPLv2+.
4582
4583 2010-02-22  Eric Blake  <eblake@redhat.com>
4584
4585         lseek: avoid bash 3.2 broken pipe bug
4586         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
4587         warning from bash 3.2.
4588         Reported by Ben Pfaff, with analysis from Bruno Haible.
4589
4590         bootstrap: support non-FSF copyright holder
4591         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
4592         bootstrap.conf override of COPYRIGHT_HOLDER.
4593         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
4594
4595         bootstrap: interoperate with gettext 0.14.1
4596         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
4597
4598         bootstrap: allow for alternate submodule location
4599         * build-aux/bootstrap (gnulib_path): New variable; use instead of
4600         hardcoding submodule location.
4601         (gnulib_mk): Allow direct use of Makefile.am.
4602
4603         bootstrap: use GNULIB_SRCDIR to reduce disk usage
4604         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
4605         rather than reconfiguring where the submodule points.
4606
4607         gettimeofday: restore support for platforms that lack function
4608         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
4609         replacement if function is missing.
4610         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
4611         * modules/sys_time (Makefile.am): Substitute it.
4612         * lib/sys_time.in.h (gettimeofday): Check it.
4613         Reported by Michael Goffioul.
4614
4615 2010-02-21  Bruno Haible  <bruno@clisp.org>
4616
4617         * lib/stdio.in.h (obstack_printf): Fix typo.
4618
4619 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
4620
4621         vc-list-files: use bzr ls's -R option
4622         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
4623         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
4624
4625 2010-02-21  Jim Meyering  <meyering@redhat.com>
4626
4627         init.sh: fix EXEEXT shims to work also for names like test-prog
4628         * tests/init.sh: Re-exec a better shell, when needed.
4629         If the current shell lacks support for posix $(...), an init.sh-using
4630         test will now try to find a shell that supports that.  If EXEEXT is
4631         nonempty, we also require support for hyphen-in-alias-name and shell
4632         substitutions like ${var#glob}.  Failure to find such a shell results
4633         in a skipped test.
4634
4635 2010-02-21  Bruno Haible  <bruno@clisp.org>
4636
4637         Really work around around "broken pipe" error message from bash 3.2.
4638         * gnulib-tool (func_reset_sigpipe): Remove function.
4639         (echo): In bash 3.2, define to a function that uses printf.
4640         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
4641
4642 2010-02-20  Bruno Haible  <bruno@clisp.org>
4643
4644         Restore support for automake 1.9.6 with autoconf 2.61.
4645         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
4646         Reported by James Youngman <jay@gnu.org>.
4647
4648 2010-02-20  Bruno Haible  <bruno@clisp.org>
4649
4650         Improve *printf warning condition.
4651         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
4652         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
4653         and the function is overridden due to SIGPIPE emulation.
4654
4655 2010-02-20  Bruno Haible  <bruno@clisp.org>
4656
4657         * lib/stdio.in.h: Tweak comments.
4658
4659 2010-02-19  Bruno Haible  <bruno@clisp.org>
4660
4661         Make it easier to find modules. New gnulib-tool option '--find'.
4662         * gnulib-tool: New option --find.
4663         (func_usage): Document it.
4664         (func_sanitize_modulelist): New function, extracted from
4665         func_all_modules.
4666         (func_all_modules): Invoke it.
4667         * doc/gnulib-tool.texi (Which modules?): New node.
4668
4669 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
4670
4671         * lib/sys_select.in.h: Provide select replacement even if
4672         sys/select.h exists on a system, for Interix.
4673
4674 2010-02-18  Jim Meyering  <meyering@redhat.com>
4675
4676         init.sh: don't use $(...) just yet
4677         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
4678         to accommodate e.g., Solaris' /bin/sh.
4679
4680 2010-02-17  Bruno Haible  <bruno@clisp.org>
4681
4682         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
4683         Reported by Ludovic Courtès <ludo@gnu.org>.
4684
4685 2010-02-16  Simon Josefsson  <simon@josefsson.org>
4686
4687         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
4688         linking with -lintl.
4689
4690 2010-02-17  Simon Josefsson  <simon@josefsson.org>
4691
4692         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
4693         if not provided by the system's netdb.h.  Reported by
4694         ludo@gnu.org (Ludovic Courtès).
4695
4696 2010-02-15  Jim Meyering  <meyering@redhat.com>
4697
4698         init.sh: improve portability and efficiency
4699         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
4700         "dummy" in a for loop.
4701         Use '!', not '^' to select the complement of a character set used
4702         in a "case" statement.
4703         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
4704         Suggestions from Eric Blake.
4705
4706         init.sh: automatically accommodate programs with the .exe suffix
4707         Automatically arrange for an invocation of "prog" to execute the
4708         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
4709         may use the simpler "prog", yet still work when built on a system
4710         that requires specifying the added suffix.
4711         Do this by constructing a function named "prog" that invokes
4712         "prog.exe" for each .exe file in selected directories.
4713         * tests/init.sh (find_exe_basenames_): New function.
4714         (create_exe_shim_functions_): New function.
4715         (path_prepend_): Use it.
4716
4717         maint.mk: mark syntax-check sc_*.m rules as .PHONY
4718         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
4719         "make -t syntax-check" doesn't create a ton of sc_*.m files.
4720
4721 2010-02-14  Jim Meyering  <meyering@redhat.com>
4722
4723         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
4724         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
4725         (sc_prohibit_hash_pjw_without_use): New rule.
4726
4727         maint.mk: allow the default upload destination dir to be overridden
4728         * top/maint.mk (upload_dest_dir_): Define with a default that
4729         preserves the status quo.
4730         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
4731         Reported by Peter Simons.
4732
4733         maint.mk: prohibit inclusion of "hash.h" without_use
4734         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
4735
4736 2010-02-10  Jim Meyering  <meyering@redhat.com>
4737
4738         maint.mk: prohibit inclusion of "ignore-value.h" without_use
4739         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
4740
4741 2010-02-09  Eric Blake  <ebb9@byu.net>
4742         and Bruno Haible  <bruno@clisp.org>
4743
4744         obstack-printf-posix: ensure declaration
4745         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
4746         extracted from gl_FUNC_OBSTACK_PRINTF.
4747         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
4748         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
4749         Likewise.
4750         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
4751         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
4752         0.
4753
4754 2010-02-08  Bruno Haible  <bruno@clisp.org>
4755
4756         gnulib-tool: Fix typo in 2010-02-07 commit.
4757         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
4758         Reported by Eric Blake.
4759
4760 2010-02-07  Bruno Haible  <bruno@clisp.org>
4761
4762         gnulib-tool: Fix up caching patches.
4763         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
4764         option --no-cache. Use associative arrays when supported by the shell.
4765         (sed_comments): New variable.
4766         (modcache): Renamed from do_cache.
4767         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
4768         abbreviate unnecessarily.
4769         (have_associative): New variable.
4770         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
4771         way also for ksh and zsh.
4772         (func_init_sed_convert_to_cache_statements): New function, extracted
4773         from func_cache_lookup_module. Add support for associative arrays.
4774         Don't set the c_MODULE_cached variable here. Ignore all lines before
4775         the first field header. Remove only the final newline, not all trailing
4776         newlines. Support empty fields correctly. Limit the use of 'eval' to
4777         assignments.
4778         (func_get_description, func_get_status, func_get_notice,
4779         func_get_applicability, func_get_filelist, func_get_dependencies,
4780         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
4781         func_get_automake_snippet, func_get_include_directive,
4782         func_get_link_directive, func_get_license, func_get_maintainer):
4783         Update documentation. List the unoptimized code first. Add support for
4784         associative arrays. Limit the use of 'eval' to assignments.
4785         (func_get_applicability): Undo stylistic pessimisations.
4786         (func_get_automake_snippet, func_get_include_directive): Reduce code
4787         duplication.
4788         (func_modules_transitive_closure, func_modules_add_dummy,
4789         func_modules_notice, func_modules_to_filelist, func_add_file,
4790         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
4791         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
4792         func_create_testdir, func_create_megatestdir): Update documentation.
4793
4794 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4795
4796         * gnulib-tool (func_cache_lookup_module): Store the module name
4797         belonging to the cache variable; error out if two different
4798         module names map to the same cache variable name.
4799
4800 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4801
4802         gnulib-tool: Make caching optional.
4803         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
4804         Update matching short versions of --no-changelog.
4805         (func_usage): Update.
4806         (sed_extract_cache_prog): Renamed from ...
4807         (sed_extract_prog): ... this; revert to old extraction script.
4808         (func_get_description, func_get_status)
4809         (func_get_notice, func_get_applicability, func_get_filelist)
4810         (func_get_dependencies, func_get_autoconf_early_snippet)
4811         (func_get_autoconf_snippet, func_get_automake_snippet)
4812         (func_get_include_directive, func_get_link_directive)
4813         (func_get_license, func_get_maintainer): If $do_cache is false,
4814         use old, non-caching extraction scripts.
4815         Suggestion by Bruno Haible.
4816
4817 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4818
4819         gnulib-tool: cache module metainformation.
4820         * gnulib-tool (sed_extract_prog): Match newline before each
4821         header, and rewrite header to a shell variable suffix.
4822         (func_cache_var, func_cache_lookup_module): New functions,
4823         to turn a module name into a cache variable prefix, and to
4824         look up and cache module metainformation.
4825         (func_get_description, func_get_status)
4826         (func_get_notice, func_get_applicability, func_get_filelist)
4827         (func_get_dependencies, func_get_autoconf_early_snippet)
4828         (func_get_autoconf_snippet, func_get_automake_snippet)
4829         (func_get_include_directive, func_get_link_directive)
4830         (func_get_license, func_get_maintainer): Use
4831         func_cache_lookup_module.
4832
4833 2010-02-07  Bruno Haible  <bruno@clisp.org>
4834
4835         fnctl: Fix missing dependency.
4836         * modules/fcntl (Depends-on): Add getdtablesize.
4837         Reported by John W. Eaton <jwe@gnu.org>.
4838
4839 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
4840
4841         Argp: fix recognition of short alias options.
4842
4843         * lib/argp-parse.c (convert_options): Fix improper use of
4844         `|' between character values.
4845         * tests/test-argp.c (group1_option): New alias option
4846         --read (-r).
4847         (group1_parser): Special handling for 'r'.
4848         (test15): New test case.
4849         (test_fun): Add test15.
4850         * tests/test-argp-2.sh: Update expected --help and --usage
4851         outputs.
4852
4853 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
4854
4855         * tests/test-argp.c: Fix indentation.
4856
4857 2010-02-04  Eric Blake  <ebb9@byu.net>
4858
4859         gettimeofday: expose type of second argument
4860         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
4861         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
4862         * tests/test-gettimeofday.c: Use it to silence warning.
4863         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
4864         the issue.
4865
4866 2010-02-03  Jim Meyering  <meyering@redhat.com>
4867
4868         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
4869         * lib/regcomp.c (TYPE_SIGNED): Define.
4870         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
4871
4872         regcomp.c: avoid a new -Wshadow warning
4873         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
4874
4875 2010-02-01  Jim Meyering  <meyering@redhat.com>
4876
4877         removing useless parentheses in cpp #define directives
4878         For motivation, see commit c0221df4, "define STREQ(a,b)
4879         consistently, removing useless parentheses"
4880         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
4881         * lib/mountlist.c (MNT_IGNORE): Likewise.
4882         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
4883
4884 2010-02-01  Eric Blake  <ebb9@byu.net>
4885
4886         sys_time: use link-warning
4887         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
4888         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
4889         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
4890         * modules/sys_time (Depends-on): Add warn-on-use.
4891         (Makefile.am): Always build replacement.
4892         (configure.ac): Update substitutions.
4893         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
4894         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
4895         bother with SYS_TIME_H.
4896         * modules/gettimeofday (configure.ac): Declare indicator.
4897         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
4898         in use.
4899
4900         closein-tests: silence compiler warning
4901         * tests/test-closein.c (main): Ignore fread result.
4902         * modules/closein-tests (Depends-on): Add ignore-value.
4903
4904         tests: silence warning about system return
4905         * tests/test-areadlink-with-size.c (main): Ignore system result.
4906         * tests/test-areadlink.c (main): Likewise.
4907         * tests/test-areadlinkat-with-size.c (main): Likewise.
4908         * tests/test-areadlinkat.c (main): Likewise.
4909         * tests/test-canonicalize-lgpl.c (main): Likewise.
4910         * tests/test-canonicalize.c (main): Likewise.
4911         * tests/test-chown.c (main): Likewise.
4912         * tests/test-fchownat.c (main): Likewise.
4913         * tests/test-fdutimensat.c (main): Likewise.
4914         * tests/test-fstatat.c (main): Likewise.
4915         * tests/test-futimens.c (main): Likewise.
4916         * tests/test-lchown.c (main): Likewise.
4917         * tests/test-link.c (main): Likewise.
4918         * tests/test-linkat.c (main): Likewise.
4919         * tests/test-lstat.c (main): Likewise.
4920         * tests/test-mkdir.c (main): Likewise.
4921         * tests/test-mkdirat.c (main): Likewise.
4922         * tests/test-mkfifo.c (main): Likewise.
4923         * tests/test-mkfifoat.c (main): Likewise.
4924         * tests/test-mknod.c (main): Likewise.
4925         * tests/test-readlink.c (main): Likewise.
4926         * tests/test-remove.c (main): Likewise.
4927         * tests/test-rename.c (main): Likewise.
4928         * tests/test-renameat.c (main): Likewise.
4929         * tests/test-rmdir.c (main): Likewise.
4930         * tests/test-symlink.c (main): Likewise.
4931         * tests/test-symlinkat.c (main): Likewise.
4932         * tests/test-unlink.c (main): Likewise.
4933         * tests/test-unlinkat.c (main): Likewise.
4934         * tests/test-utimens.c (main): Likewise.
4935         * tests/test-utimensat.c (main): Likewise.
4936         * modules/areadlink-tests (Depends-on): Add ignore-value.
4937         * modules/areadlink-with-size-tests (Depends-on): Likewise.
4938         * modules/areadlinkat-tests (Depends-on): Likewise.
4939         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
4940         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
4941         * modules/canonicalize-tests (Depends-on): Likewise.
4942         * modules/chown-tests (Depends-on): Likewise.
4943         * modules/fdutimensat-tests (Depends-on): Likewise.
4944         * modules/futimens-tests (Depends-on): Likewise.
4945         * modules/lchown-tests (Depends-on): Likewise.
4946         * modules/link-tests (Depends-on): Likewise.
4947         * modules/linkat-tests (Depends-on): Likewise.
4948         * modules/lstat-tests (Depends-on): Likewise.
4949         * modules/mkdir-tests (Depends-on): Likewise.
4950         * modules/mkfifo-tests (Depends-on): Likewise.
4951         * modules/mkfifoat-tests (Depends-on): Likewise.
4952         * modules/mknod-tests (Depends-on): Likewise.
4953         * modules/openat-tests (Depends-on): Likewise.
4954         * modules/readlink-tests (Depends-on): Likewise.
4955         * modules/remove-tests (Depends-on): Likewise.
4956         * modules/rename-tests (Depends-on): Likewise.
4957         * modules/renameat-tests (Depends-on): Likewise.
4958         * modules/rmdir-tests (Depends-on): Likewise.
4959         * modules/symlink-tests (Depends-on): Likewise.
4960         * modules/symlinkat-tests (Depends-on): Likewise.
4961         * modules/unlink-tests (Depends-on): Likewise.
4962         * modules/utimens-tests (Depends-on): Likewise.
4963         * modules/utimensat-tests (Depends-on): Likewise.
4964
4965 2010-01-31  Bruno Haible  <bruno@clisp.org>
4966
4967         Perform the same test for many <math.h> functions.
4968         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
4969         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
4970         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
4971         of gl_MATHFUNC.
4972         * modules/acos (configure.ac): Likewise.
4973         * modules/asin (configure.ac): Likewise.
4974         * modules/atan (configure.ac): Likewise.
4975         * modules/atan2 (configure.ac): Likewise.
4976         * modules/cbrt (configure.ac): Likewise.
4977         * modules/copysign (configure.ac): Likewise.
4978         * modules/cos (configure.ac): Likewise.
4979         * modules/cosh (configure.ac): Likewise.
4980         * modules/erf (configure.ac): Likewise.
4981         * modules/erfc (configure.ac): Likewise.
4982         * modules/exp (configure.ac): Likewise.
4983         * modules/fmod (configure.ac): Likewise.
4984         * modules/hypot (configure.ac): Likewise.
4985         * modules/j0 (configure.ac): Likewise.
4986         * modules/j1 (configure.ac): Likewise.
4987         * modules/jn (configure.ac): Likewise.
4988         * modules/lgamma (configure.ac): Likewise.
4989         * modules/log (configure.ac): Likewise.
4990         * modules/log10 (configure.ac): Likewise.
4991         * modules/log1p (configure.ac): Likewise.
4992         * modules/pow (configure.ac): Likewise.
4993         * modules/remainder (configure.ac): Likewise.
4994         * modules/sin (configure.ac): Likewise.
4995         * modules/sinh (configure.ac): Likewise.
4996         * modules/tan (configure.ac): Likewise.
4997         * modules/tanh (configure.ac): Likewise.
4998         * modules/y0 (configure.ac): Likewise.
4999         * modules/y1 (configure.ac): Likewise.
5000         * modules/yn (configure.ac): Likewise.
5001         Suggested by Paolo Bonzini.
5002
5003 2010-01-31  Bruno Haible  <bruno@clisp.org>
5004
5005         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
5006
5007 2010-01-31  Bruno Haible  <bruno@clisp.org>
5008
5009         Work around getdelim() bug on FreeBSD 8.0.
5010         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
5011         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
5012         not work.
5013         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
5014         is 1.
5015         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
5016         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
5017         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
5018         a non-zero size.
5019         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
5020
5021 2010-01-31  Bruno Haible  <bruno@clisp.org>
5022
5023         Work around getline() bug on FreeBSD 8.0.
5024         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
5025         and a non-zero size.
5026         * tests/test-getline.c (main): Likewise.
5027         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
5028         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
5029
5030 2010-01-28  Eric Blake  <ebb9@byu.net>
5031
5032         regex: fix build failure
5033         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
5034         platforms.
5035
5036 2010-01-28  Jim Meyering  <meyering@redhat.com>
5037
5038         regex: do not ignore memory allocation failure
5039         * lib/regex_internal.c (create_cd_newstate): Detect
5040         re_node_set_init_copy failure.   Extracted from glibc commit
5041         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5042
5043         regex: sync more white-space changes from libc
5044         * lib/regex_internal.c: White-space only changes.
5045         * lib/regexec.c: Likewise.
5046
5047         regex: add many uses of __attribute_warn_unused_result__
5048         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
5049         * lib/regexec.c: Likewise.
5050         Extracted from a messy glibc commit.
5051
5052         regcomp.c: spelling and merge-artifact from glibc
5053         * lib/regcomp.c: Merge remainder of glibc's
5054         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5055
5056         regcomp.c: sync white-space changes from glibc
5057         * lib/regcomp.c: Merge to accommodate white space
5058         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5059
5060         regcomp.c: do not ignore internal return values
5061         * lib/regcomp.c: Do not ignore internal return values.
5062         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
5063         but without its white-space changes and spelling fixes.
5064
5065         regex_internal.h: define __attribute_warn_unused_result__
5066         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
5067
5068         maint: add a syntax-check rule to check for vulnerable Makefile.in
5069         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
5070
5071 2010-01-27  Jim Meyering  <meyering@redhat.com>
5072
5073         ncftpput-ftp: clean up spaces
5074         * build-aux/ncftpput-ftp: Make Copyright line consistent.
5075         Remove trailing blanks.
5076
5077 2010-01-27  Simon Josefsson  <simon@josefsson.org>
5078
5079         * build-aux/git-version-gen: Fix copyright statement.
5080         * build-aux/gnupload: Likewise.
5081         * tests/test-arcfour.c: Likewise.
5082         * tests/test-arctwo.c: Likewise.
5083         * tests/test-count-one-bits.c: Likewise.
5084         * tests/test-crc.c: Likewise.
5085         * tests/test-des.c: Likewise.
5086         * tests/test-gc-arcfour.c: Likewise.
5087         * tests/test-gc-arctwo.c: Likewise.
5088         * tests/test-gc-des.c: Likewise.
5089         * tests/test-gc-hmac-md5.c: Likewise.
5090         * tests/test-gc-hmac-sha1.c: Likewise.
5091         * tests/test-gc-md2.c: Likewise.
5092         * tests/test-gc-md4.c: Likewise.
5093         * tests/test-gc-md5.c: Likewise.
5094         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5095         * tests/test-gc-rijndael.c: Likewise.
5096         * tests/test-gc-sha1.c: Likewise.
5097         * tests/test-gc.c: Likewise.
5098         * tests/test-gethostname.c: Likewise.
5099         * tests/test-gettimeofday.c: Likewise.
5100         * tests/test-hash.c: Likewise.
5101         * tests/test-hmac-md5.c: Likewise.
5102         * tests/test-hmac-sha1.c: Likewise.
5103         * tests/test-md2.c: Likewise.
5104         * tests/test-md4.c: Likewise.
5105         * tests/test-md5.c: Likewise.
5106         * tests/test-memchr.c: Likewise.
5107         * tests/test-memchr2.c: Likewise.
5108         * tests/test-memcmp.c: Likewise.
5109         * tests/test-memmem.c: Likewise.
5110         * tests/test-memrchr.c: Likewise.
5111         * tests/test-rawmemchr.c: Likewise.
5112         * tests/test-read-file.c: Likewise.
5113         * tests/test-rijndael.c: Likewise.
5114         * tests/test-sockets.c: Likewise.
5115         * tests/test-strchrnul.c: Likewise.
5116         * tests/test-strstr.c: Likewise.
5117         * tests/test-strtod.c: Likewise.
5118         * build-aux/ncftpput-ftp: Likewise.
5119
5120 2010-01-26  Eric Blake  <ebb9@byu.net>
5121
5122         ignore-value: update recommended header name
5123         * modules/ignore-value (Include): Only use <> for headers that
5124         exist in glibc.
5125
5126 2010-01-26  Jim Meyering  <meyering@redhat.com>
5127
5128         test-userspec.c: avoid compiler warnings
5129         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
5130         and "initialization discards qualifiers..." warnings.
5131         Put the first "uid" in its own scope, and make char* members "const".
5132
5133 2010-01-25  Bruno Haible  <bruno@clisp.org>
5134
5135         gnulib-tool: Make warning diagnostics consistent.
5136         * gnulib-tool (func_warning): New function.
5137         Use it everywhere where gnulib-tool produces output to stderr and it is
5138         not a fatal error.
5139
5140 2010-01-25  Bruno Haible  <bruno@clisp.org>
5141
5142         Fix test dependencies.
5143         * modules/xstrtol-tests (Depends-on): Add inttypes.
5144         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
5145
5146 2010-01-25 Pádraig Brady <P@draigBrady.com>
5147
5148         syntax-check: detect incorrect boolean macro values in config.h
5149         * modules/maintainer-makefile (configure.ac): Parameterize the location
5150         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
5151         The logic is from Eric Blake and the location indicated by Jim Meyering.
5152         Note the more natural CONFIG_HEADER name is prohibited by automake
5153         for backwards compatibility reasons.
5154         * top/maint.mk (sc_Wundef_boolean): New rule.
5155
5156 2010-01-25  Jim Meyering  <meyering@redhat.com>
5157
5158         bootstrap: detect MacOS 10.6's shasum, too
5159         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
5160         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
5161
5162 2010-01-23  Jim Meyering  <meyering@redhat.com>
5163
5164         xstrtoll: new module
5165         * modules/xstrtoll: New file.
5166         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
5167         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
5168         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
5169         ./configure fails if you use this module and lack "long long".
5170         * modules/xstrtoll-tests: New module.
5171         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
5172         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
5173         new init.sh-based test framework.
5174
5175 2010-01-24  Bruno Haible  <bruno@clisp.org>
5176
5177         Tests for module 'yn'.
5178         * modules/yn-tests: New file.
5179         * tests/test-yn.c: New file.
5180
5181         Tests for module 'y1'.
5182         * modules/y1-tests: New file.
5183         * tests/test-y1.c: New file.
5184
5185         Tests for module 'y0'.
5186         * modules/y0-tests: New file.
5187         * tests/test-y0.c: New file.
5188
5189         Tests for module 'tanh'.
5190         * modules/tanh-tests: New file.
5191         * tests/test-tanh.c: New file.
5192
5193         Tests for module 'tan'.
5194         * modules/tan-tests: New file.
5195         * tests/test-tan.c: New file.
5196
5197         Tests for module 'sqrt'.
5198         * modules/sqrt-tests: New file.
5199         * tests/test-sqrt.c: New file.
5200
5201         Tests for module 'sinh'.
5202         * modules/sinh-tests: New file.
5203         * tests/test-sinh.c: New file.
5204
5205         Tests for module 'sin'.
5206         * modules/sin-tests: New file.
5207         * tests/test-sin.c: New file.
5208
5209         Tests for module 'rint'.
5210         * modules/rint-tests: New file.
5211         * tests/test-rint.c: New file.
5212
5213         Tests for module 'remainder'.
5214         * modules/remainder-tests: New file.
5215         * tests/test-remainder.c: New file.
5216
5217         Tests for module 'pow'.
5218         * modules/pow-tests: New file.
5219         * tests/test-pow.c: New file.
5220
5221         Tests for module 'nextafter'.
5222         * modules/nextafter-tests: New file.
5223         * tests/test-nextafter.c: New file.
5224
5225         Tests for module 'modf'.
5226         * modules/modf-tests: New file.
5227         * tests/test-modf.c: New file.
5228
5229         Tests for module 'logb'.
5230         * modules/logb-tests: New file.
5231         * tests/test-logb.c: New file.
5232
5233         Tests for module 'log1p'.
5234         * modules/log1p-tests: New file.
5235         * tests/test-log1p.c: New file.
5236
5237         Tests for module 'log10'.
5238         * modules/log10-tests: New file.
5239         * tests/test-log10.c: New file.
5240
5241         Tests for module 'log'.
5242         * modules/log-tests: New file.
5243         * tests/test-log.c: New file.
5244
5245         Tests for module 'lgamma'.
5246         * modules/lgamma-tests: New file.
5247         * tests/test-lgamma.c: New file.
5248
5249         Tests for module 'ldexp'.
5250         * modules/ldexp-tests: New file.
5251         * tests/test-ldexp.c: New file.
5252
5253         Tests for module 'jn'.
5254         * modules/jn-tests: New file.
5255         * tests/test-jn.c: New file.
5256
5257         Tests for module 'j1'.
5258         * modules/j1-tests: New file.
5259         * tests/test-j1.c: New file.
5260
5261         Tests for module 'j0'.
5262         * modules/j0-tests: New file.
5263         * tests/test-j0.c: New file.
5264
5265         Tests for module 'hypot'.
5266         * modules/hypot-tests: New file.
5267         * tests/test-hypot.c: New file.
5268
5269         Tests for module 'fmod'.
5270         * modules/fmod-tests: New file.
5271         * tests/test-fmod.c: New file.
5272
5273         Tests for module 'fabs'.
5274         * modules/fabs-tests: New file.
5275         * tests/test-fabs.c: New file.
5276
5277         Tests for module 'exp'.
5278         * modules/exp-tests: New file.
5279         * tests/test-exp.c: New file.
5280
5281         Tests for module 'erfc'.
5282         * modules/erfc-tests: New file.
5283         * tests/test-erfc.c: New file.
5284
5285         Tests for module 'erf'.
5286         * modules/erf-tests: New file.
5287         * tests/test-erf.c: New file.
5288
5289         Tests for module 'cosh'.
5290         * modules/cosh-tests: New file.
5291         * tests/test-cosh.c: New file.
5292
5293         Tests for module 'cos'.
5294         * modules/cos-tests: New file.
5295         * tests/test-cos.c: New file.
5296
5297         Tests for module 'copysign'.
5298         * modules/copysign-tests: New file.
5299         * tests/test-copysign.c: New file.
5300
5301         Tests for module 'cbrt'.
5302         * modules/cbrt-tests: New file.
5303         * tests/test-cbrt.c: New file.
5304
5305         Tests for module 'atan2'.
5306         * modules/atan2-tests: New file.
5307         * tests/test-atan2.c: New file.
5308
5309         Tests for module 'atan'.
5310         * modules/atan-tests: New file.
5311         * tests/test-atan.c: New file.
5312
5313         Tests for module 'asin'.
5314         * modules/asin-tests: New file.
5315         * tests/test-asin.c: New file.
5316
5317         Tests for module 'acos'.
5318         * modules/acos-tests: New file.
5319         * tests/test-acos.c: New file.
5320
5321 2010-01-24  Bruno Haible  <bruno@clisp.org>
5322
5323         Fix tests for common <math.h> functions.
5324         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
5325         code snippet that references the function pointer, rather than merely
5326         calling the function. Substitute the FUNC_LIBM variable.
5327         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
5328         * modules/acos (configure.ac): Likewise.
5329         * modules/asin (configure.ac): Likewise.
5330         * modules/atan (configure.ac): Likewise.
5331         * modules/atan2 (configure.ac): Likewise.
5332         * modules/cbrt (configure.ac): Likewise.
5333         * modules/copysign (configure.ac): Likewise.
5334         * modules/cos (configure.ac): Likewise.
5335         * modules/cosh (configure.ac): Likewise.
5336         * modules/erf (configure.ac): Likewise.
5337         * modules/erfc (configure.ac): Likewise.
5338         * modules/exp (configure.ac): Likewise.
5339         * modules/fabs (configure.ac): Likewise.
5340         * modules/fmod (configure.ac): Likewise.
5341         * modules/hypot (configure.ac): Likewise.
5342         * modules/j0 (configure.ac): Likewise.
5343         * modules/j1 (configure.ac): Likewise.
5344         * modules/jn (configure.ac): Likewise.
5345         * modules/ldexp (configure.ac): Likewise.
5346         * modules/lgamma (configure.ac): Likewise.
5347         * modules/log (configure.ac): Likewise.
5348         * modules/log10 (configure.ac): Likewise.
5349         * modules/log1p (configure.ac): Likewise.
5350         * modules/logb (configure.ac): Likewise.
5351         * modules/modf (configure.ac): Likewise.
5352         * modules/nextafter (configure.ac): Likewise.
5353         * modules/pow (configure.ac): Likewise.
5354         * modules/remainder (configure.ac): Likewise.
5355         * modules/rint (configure.ac): Likewise.
5356         * modules/sin (configure.ac): Likewise.
5357         * modules/sinh (configure.ac): Likewise.
5358         * modules/tan (configure.ac): Likewise.
5359         * modules/tanh (configure.ac): Likewise.
5360         * modules/y0 (configure.ac): Likewise.
5361         * modules/y1 (configure.ac): Likewise.
5362         * modules/yn (configure.ac): Likewise.
5363
5364 2010-01-24  Bruno Haible  <bruno@clisp.org>
5365
5366         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
5367         * tests/test-acosl.c (x): New variable.
5368         (main): Store argument in x and fetch it from x.
5369         * tests/test-asinl.c (x): New variable.
5370         (main): Store argument in x and fetch it from x.
5371         * tests/test-atanl.c (x): New variable.
5372         (main): Store argument in x and fetch it from x.
5373         * tests/test-cosl.c (x): New variable.
5374         (main): Store argument in x and fetch it from x.
5375         * tests/test-expl.c (x): New variable.
5376         (main): Store argument in x and fetch it from x.
5377         * tests/test-logl.c (x): New variable.
5378         (main): Store argument in x and fetch it from x.
5379         * tests/test-sinl.c (x): New variable.
5380         (main): Store argument in x and fetch it from x.
5381         * tests/test-sqrtl.c (x): New variable.
5382         (main): Store argument in x and fetch it from x.
5383         * tests/test-tanl.c (x): New variable.
5384         (main): Store argument in x and fetch it from x.
5385
5386 2010-01-24  Bruno Haible  <bruno@clisp.org>
5387
5388         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
5389         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
5390         assignments to the initial TESTS_ENVIRONMENT.
5391         * doc/gnulib.texi (Unit test modules): Document it.
5392         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
5393         TESTS_ENVIRONMENT.
5394         * modules/btowc-tests (Makefile.am): Likewise.
5395         * modules/c-stack-tests (Makefile.am): Likewise.
5396         * modules/c-strcase-tests (Makefile.am): Likewise.
5397         * modules/copy-file-tests (Makefile.am): Likewise.
5398         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
5399         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
5400         * modules/mbrtowc-tests (Makefile.am): Likewise.
5401         * modules/mbscasecmp-tests (Makefile.am): Likewise.
5402         * modules/mbscasestr-tests (Makefile.am): Likewise.
5403         * modules/mbschr-tests (Makefile.am): Likewise.
5404         * modules/mbscspn-tests (Makefile.am): Likewise.
5405         * modules/mbsinit-tests (Makefile.am): Likewise.
5406         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
5407         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
5408         * modules/mbspbrk-tests (Makefile.am): Likewise.
5409         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
5410         * modules/mbsrchr-tests (Makefile.am): Likewise.
5411         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
5412         * modules/mbsspn-tests (Makefile.am): Likewise.
5413         * modules/mbsstr-tests (Makefile.am): Likewise.
5414         * modules/nl_langinfo-tests (Makefile.am): Likewise.
5415         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
5416         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
5417         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
5418         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
5419         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
5420         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
5421         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
5422         * modules/wcrtomb-tests (Makefile.am): Likewise.
5423         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
5424         * modules/wcsrtombs-tests (Makefile.am): Likewise.
5425         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
5426         assignments from TESTS_ENVIRONMENT.
5427         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
5428         augmentation.
5429         * modules/argp-version-etc-tests (Makefile.am): Likewise.
5430         * modules/atexit-tests (Makefile.am): Likewise.
5431         * modules/binary-io-tests (Makefile.am): Likewise.
5432         * modules/closein-tests (Makefile.am): Likewise.
5433         * modules/dprintf-posix-tests (Makefile.am): Likewise.
5434         * modules/exclude-tests (Makefile.am): Likewise.
5435         * modules/fflush-tests (Makefile.am): Likewise.
5436         * modules/fpending-tests (Makefile.am): Likewise.
5437         * modules/fprintf-posix-tests (Makefile.am): Likewise.
5438         * modules/freadahead-tests (Makefile.am): Likewise.
5439         * modules/freadptr-tests (Makefile.am): Likewise.
5440         * modules/freadseek-tests (Makefile.am): Likewise.
5441         * modules/fseek-tests (Makefile.am): Likewise.
5442         * modules/fseeko-tests (Makefile.am): Likewise.
5443         * modules/ftell-tests (Makefile.am): Likewise.
5444         * modules/ftello-tests (Makefile.am): Likewise.
5445         * modules/idpriv-drop-tests (Makefile.am): Likewise.
5446         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
5447         * modules/lseek-tests (Makefile.am): Likewise.
5448         * modules/parse-duration-tests (Makefile.am): Likewise.
5449         * modules/perror-tests (Makefile.am): Likewise.
5450         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
5451         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
5452         * modules/pipe-tests (Makefile.am): Likewise.
5453         * modules/pread-tests (Makefile.am): Likewise.
5454         * modules/printf-posix-tests (Makefile.am): Likewise.
5455         * modules/select-tests (Makefile.am): Likewise.
5456         * modules/sigpipe-tests (Makefile.am): Likewise.
5457         * modules/tsearch-tests (Makefile.am): Likewise.
5458         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
5459         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
5460         * modules/uniname/uniname-tests (Makefile.am): Likewise.
5461         * modules/uniwidth/width-tests (Makefile.am): Likewise.
5462         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
5463         * modules/version-etc-tests (Makefile.am): Likewise.
5464         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
5465         * modules/vprintf-posix-tests (Makefile.am): Likewise.
5466         * modules/xalloc-die-tests (Makefile.am): Likewise.
5467         * modules/xprintf-posix-tests (Makefile.am): Likewise.
5468         * modules/xstrtoimax-tests (Makefile.am): Likewise.
5469         * modules/xstrtol-tests (Makefile.am): Likewise.
5470         * modules/xstrtoumax-tests (Makefile.am): Likewise.
5471         * modules/yesno-tests (Makefile.am): Likewise.
5472         Suggested by Jim Meyering.
5473
5474 2010-01-24  Bruno Haible  <bruno@clisp.org>
5475
5476         More documentation.
5477         * doc/gnulib.texi (Writing modules): New chapter.
5478         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
5479         the new chapter.
5480
5481 2010-01-24  Jim Meyering  <meyering@redhat.com>
5482
5483         maint.mk: do not prepend "./" after filtering
5484         * top/maint.mk (_prepend_srcdir_prefix): New variable
5485         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
5486         "./" when $(srcdir) is ".".
5487
5488         define STREQ(a,b) consistently, removing useless parentheses
5489         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
5490         since the only risk is that "a" or "b" contains an unparenthesized
5491         comma, but if either did that, STREQ would have 3 or more arguments.
5492         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
5493         * lib/fts.c (STREQ): Remove unnecessary parentheses.
5494         * lib/hash-triple.c (STREQ): Likewise.
5495         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
5496         * lib/getugroups.c (STREQ): Likewise.
5497
5498 2010-01-23  Jim Meyering  <meyering@redhat.com>
5499
5500         maint.mk: fix syntax-check in a non-srcdir build directory
5501         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
5502         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
5503
5504 2010-01-22  Jim Meyering  <meyering@redhat.com>
5505
5506         userspec: add unit tests
5507         * tests/test-userspec.c: New file.
5508         * modules/userspec-tests: Likewise.
5509
5510 2010-01-21  Jim Meyering  <meyering@redhat.com>
5511
5512         maint.mk: handle source file names containing "." robustly
5513         * top/maint.mk (_dot_escaped_srcdir): Define.
5514         (VC_LIST): Use it in LHS of sed substitution.
5515
5516 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
5517
5518         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
5519         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
5520         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
5521         from a non-srcdir build.
5522
5523 2010-01-20  Eric Blake  <ebb9@byu.net>
5524
5525         warn-on-use: use instead of link-warning
5526         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
5527         * modules/unistd (Depends-on, Makefile.am): Likewise.
5528         * modules/arpa_inet (Depends-on): Replace link-warning with
5529         warn-on-use.
5530         (Makefile.am): Update rules accordingly.
5531         * modules/ctype (Depends-on, Makefile.am): Likewise.
5532         * modules/dirent (Depends-on, Makefile.am): Likewise.
5533         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
5534         * modules/inttypes (Depends-on, Makefile.am): Likewise.
5535         * modules/langinfo (Depends-on, Makefile.am): Likewise.
5536         * modules/locale (Depends-on, Makefile.am): Likewise.
5537         * modules/math (Depends-on, Makefile.am): Likewise.
5538         * modules/search (Depends-on, Makefile.am): Likewise.
5539         * modules/signal (Depends-on, Makefile.am): Likewise.
5540         * modules/spawn (Depends-on, Makefile.am): Likewise.
5541         * modules/stdlib (Depends-on, Makefile.am): Likewise.
5542         * modules/string (Depends-on, Makefile.am): Likewise.
5543         * modules/strings (Depends-on, Makefile.am): Likewise.
5544         * modules/sys_file (Depends-on, Makefile.am): Likewise.
5545         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
5546         * modules/sys_select (Depends-on, Makefile.am): Likewise.
5547         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
5548         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
5549         * modules/sys_times (Depends-on, Makefile.am): Likewise.
5550         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
5551         * modules/wchar (Depends-on, Makefile.am): Likewise.
5552         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
5553         should be poisoned.
5554         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
5555         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
5556         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
5557         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5558         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5559         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
5560         * m4/math_h.m4 (gl_MATH_H): Likewise.
5561         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5562         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
5563         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5564         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
5565         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
5566         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
5567         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
5568         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
5569         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
5570         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5571         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
5572         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
5573         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5574         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
5575         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5576         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
5577         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
5578         GL_LINK_WARNING.
5579         * lib/ctype.in.h: Likewise.
5580         * lib/dirent.in.h: Likewise.
5581         * lib/fcntl.in.h: Likewise.
5582         * lib/inttypes.in.h: Likewise.
5583         * lib/langinfo.in.h: Likewise.
5584         * lib/locale.in.h: Likewise.
5585         * lib/math.in.h: Likewise.
5586         * lib/search.in.h: Likewise.
5587         * lib/signal.in.h: Likewise.
5588         * lib/spawn.in.h: Likewise.
5589         * lib/stdio.in.h: Likewise.
5590         * lib/stdlib.in.h: Likewise.
5591         * lib/string.in.h: Likewise.
5592         * lib/strings.in.h: Likewise.
5593         * lib/sys_file.in.h: Likewise.
5594         * lib/sys_ioctl.in.h: Likewise.
5595         * lib/sys_select.in.h: Likewise.
5596         * lib/sys_socket.in.h: Likewise.
5597         * lib/sys_stat.in.h: Likewise.
5598         * lib/sys_times.in.h: Likewise.
5599         * lib/sys_utsname.in.h: Likewise.
5600         * lib/unistd.in.h: Likewise.
5601         * lib/wchar.in.h: Likewise.
5602
5603 2010-01-20  Bruno Haible  <bruno@clisp.org>
5604
5605         Avoid duplicate -lm.
5606         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
5607         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
5608         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
5609         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
5610         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
5611         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
5612         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
5613         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
5614         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
5615         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
5616         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
5617         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
5618         Reported by Paolo Bonzini.
5619
5620 2010-01-19  Bruno Haible  <bruno@clisp.org>
5621
5622         langinfo, nl_langinfo: Relicense under LGPLv2+.
5623         * modules/langinfo (License): Change to LGPLv2+.
5624         * modules/nl_langinfo (License): Likewise.
5625         Patch by David Lutterkort <lutter@redhat.com>.
5626
5627 2010-01-19  Bruno Haible  <bruno@clisp.org>
5628
5629         Avoid compilation error with cc on OSF/1 5.1.
5630         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
5631         statement, not before.
5632         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5633
5634 2010-01-18  Bruno Haible  <bruno@clisp.org>
5635
5636         Avoid a link error due to the __printf__ symbol.
5637         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
5638         and 2.6.x.
5639         (__format__, __printf__): Remove definitions.
5640         * lib/argp-fmtstream.h: Likewise.
5641         * lib/argp.h: Likewise.
5642         * lib/error.h: Likewise.
5643         * lib/vasnprintf.h: Likewise.
5644         * lib/xprintf.h: Likewise.
5645         * lib/xvasprintf.h: Likewise.
5646         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5647
5648 2010-01-18  Bruno Haible  <bruno@clisp.org>
5649
5650         Tests for module 'tanl'.
5651         * modules/tanl-tests: New file.
5652         * tests/test-tanl.c: New file.
5653
5654         Tests for module 'sqrtl'.
5655         * modules/sqrtl-tests: New file.
5656         * tests/test-sqrtl.c: New file.
5657
5658         Tests for module 'sinl'.
5659         * modules/sinl-tests: New file.
5660         * tests/test-sinl.c: New file.
5661
5662         Tests for module 'logl'.
5663         * modules/logl-tests: New file.
5664         * tests/test-logl.c: New file.
5665
5666         Tests for module 'expl'.
5667         * modules/expl-tests: New file.
5668         * tests/test-expl.c: New file.
5669
5670         Tests for module 'cosl'.
5671         * modules/cosl-tests: New file.
5672         * tests/test-cosl.c: New file.
5673
5674         Tests for module 'atanl'.
5675         * modules/atanl-tests: New file.
5676         * tests/test-atanl.c: New file.
5677
5678         Tests for module 'asinl'.
5679         * modules/asinl-tests: New file.
5680         * tests/test-asinl.c: New file.
5681
5682         Tests for module 'acosl'.
5683         * modules/acosl-tests: New file.
5684         * tests/test-acosl.c: New file.
5685
5686         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
5687         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
5688         tanl): Use the standard gnulib idiom.
5689         * lib/cosl.c: Don't include trigl.c and sincosl.c.
5690         * lib/sinl.c: Likewise.
5691         * lib/tanl.c: Don't include trigl.c.
5692         (kernel_tanl): Make static.
5693         * lib/sincosl.c: Include trigl.h first.
5694         * lib/trigl.c: Likewise.
5695         * m4/acosl.m4: New file.
5696         * m4/asinl.m4: New file.
5697         * m4/atanl.m4: New file.
5698         * m4/cosl.m4: New file.
5699         * m4/expl.m4: New file.
5700         * m4/logl.m4: New file.
5701         * m4/sinl.m4: New file.
5702         * m4/sqrtl.m4: New file.
5703         * m4/tanl.m4: New file.
5704         * m4/mathl.m4: Remove file.
5705         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
5706         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
5707         Don't initialize GNULIB_MATHL.
5708         * modules/acosl: New file.
5709         * modules/asinl: New file.
5710         * modules/atanl: New file.
5711         * modules/cosl: New file.
5712         * modules/expl: New file.
5713         * modules/logl: New file.
5714         * modules/sinl: New file.
5715         * modules/sqrtl: New file.
5716         * modules/tanl: New file.
5717         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
5718         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
5719         substitute GNULIB_MATHL.
5720         * modules/mathl: Rewritten.
5721         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
5722         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
5723         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
5724         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
5725         * doc/posix-functions/expl.texi: Mention the 'expl' module.
5726         * doc/posix-functions/logl.texi: Mention the 'logl' module.
5727         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
5728         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
5729         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
5730
5731 2010-01-18  Bruno Haible  <bruno@clisp.org>
5732
5733         sqrt: Make gl_FUNC_SQRT requirable.
5734         * m4/sqrt.m4: New file.
5735         * modules/sqrt (Files): Add it.
5736         (configure.ac): Invoke gl_FUNC_SQRT.
5737
5738 2010-01-18  Bruno Haible  <bruno@clisp.org>
5739
5740         New modules for common <math.h> functions.
5741         * m4/mathfunc.m4: New file.
5742         * modules/acos: New file.
5743         * modules/asin: New file.
5744         * modules/atan: New file.
5745         * modules/atan2: New file.
5746         * modules/cbrt: New file.
5747         * modules/copysign: New file.
5748         * modules/cos: New file.
5749         * modules/cosh: New file.
5750         * modules/erf: New file.
5751         * modules/erfc: New file.
5752         * modules/exp: New file.
5753         * modules/fabs: New file.
5754         * modules/fmod: New file.
5755         * modules/hypot: New file.
5756         * modules/j0: New file.
5757         * modules/j1: New file.
5758         * modules/jn: New file.
5759         * modules/ldexp: New file.
5760         * modules/lgamma: New file.
5761         * modules/log: New file.
5762         * modules/log10: New file.
5763         * modules/log1p: New file.
5764         * modules/logb: New file.
5765         * modules/modf: New file.
5766         * modules/nextafter: New file.
5767         * modules/pow: New file.
5768         * modules/remainder: New file.
5769         * modules/rint: New file.
5770         * modules/sin: New file.
5771         * modules/sinh: New file.
5772         * modules/sqrt: New file.
5773         * modules/tan: New file.
5774         * modules/tanh: New file.
5775         * modules/y0: New file.
5776         * modules/y1: New file.
5777         * modules/yn: New file.
5778         * doc/posix-functions/acos.texi: Mention the 'acos' module.
5779         * doc/posix-functions/asin.texi: Mention the 'asin' module.
5780         * doc/posix-functions/atan.texi: Mention the 'atan' module.
5781         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
5782         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
5783         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
5784         * doc/posix-functions/cos.texi: Mention the 'cos' module.
5785         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
5786         * doc/posix-functions/erf.texi: Mention the 'erf' module.
5787         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
5788         * doc/posix-functions/exp.texi: Mention the 'exp' module.
5789         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
5790         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
5791         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
5792         * doc/posix-functions/j0.texi: Mention the 'j0' module.
5793         * doc/posix-functions/j1.texi: Mention the 'j1' module.
5794         * doc/posix-functions/jn.texi: Mention the 'jn' module.
5795         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
5796         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
5797         * doc/posix-functions/log.texi: Mention the 'log' module.
5798         * doc/posix-functions/log10.texi: Mention the 'log10' module.
5799         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
5800         * doc/posix-functions/logb.texi: Mention the 'logb' module.
5801         * doc/posix-functions/modf.texi: Mention the 'modf' module.
5802         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
5803         * doc/posix-functions/pow.texi: Mention the 'pow' module.
5804         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
5805         * doc/posix-functions/rint.texi: Mention the 'rint' module.
5806         * doc/posix-functions/sin.texi: Mention the 'sin' module.
5807         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
5808         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
5809         * doc/posix-functions/tan.texi: Mention the 'tan' module.
5810         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
5811         * doc/posix-functions/y0.texi: Mention the 'y0' module.
5812         * doc/posix-functions/y1.texi: Mention the 'y1' module.
5813         * doc/posix-functions/yn.texi: Mention the 'yn' module.
5814
5815 2010-01-18  Jim Meyering  <meyering@redhat.com>
5816
5817         ignore-value: relax license to LGPLv2+
5818         * modules/ignore-value (License): Relax to LGPLv2+.
5819
5820         getdate: don't leak when TZ contains two or more '"'s
5821         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
5822         double quote in TZ after the first one.
5823
5824         readtokens: do not leak internal token_lengths buffer
5825         * lib/readtokens.c (readtokens): Free the local, lengths,
5826         when the supplied "token_lengths" parameter is NULL.
5827
5828 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5829
5830         Fix a couple of missing LIBTHREAD link failures on AIX.
5831         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
5832         $(LIBTHREAD).
5833         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
5834
5835         Link test-poll against INET_PTON_LIB.
5836         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
5837         for inet_pton on Solaris 10.
5838
5839 2010-01-17  Bruno Haible  <bruno@clisp.org>
5840
5841         unistdio/*-sprintf: Fix typo in module description.
5842         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
5843         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
5844         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
5845         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
5846         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
5847         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
5848         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
5849         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5850
5851 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5852
5853         gnulib-tool: fix filelist for AIX, HP-UX ksh.
5854         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
5855         variables in shell case patterns, for AIX and HP-UX ksh.
5856
5857         Split large sed scripts, for HP-UX sed.
5858         * modules/stdio: Split sed scripts around 50 sed commands,
5859         to avoid HP-UX limit of 99 commands, in the near future.
5860         * modules/string: Likewise.
5861         * modules/unistd: Likewise.
5862
5863         gnulib-tool: avoid writing in the current directory.
5864         * gnulib-tool (func_emit_lib_Makefile_am)
5865         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
5866         not in the current directory, so concurrent gnulib-tool
5867         instances do not interfere.
5868
5869 2010-01-16  Jim Meyering  <meyering@redhat.com>
5870
5871         doc: update users.txt
5872         * users.txt: Add grep.
5873         (diffutils, gzip): Update URLs.
5874
5875 2010-01-12  Bruno Haible  <bruno@clisp.org>
5876
5877         posix_spawn: Avoid test failure on Cygwin.
5878         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
5879         characters.
5880         Reported by Simon Josefsson.
5881
5882 2010-01-12  Bruno Haible  <bruno@clisp.org>
5883
5884         * tests/test-cond.c (main): When skipping the test, show the reason.
5885
5886 2010-01-12  Simon Josefsson  <simon@josefsson.org>
5887
5888         * lib/striconv.c (str_cd_iconv): Avoid if before free.
5889
5890 2010-01-12  Simon Josefsson  <simon@josefsson.org>
5891
5892         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
5893         VC_LIST_ALWAYS_EXCLUDE_REGEX.
5894
5895 2010-01-12  Eric Blake  <ebb9@byu.net>
5896
5897         build: guarantee AS_VAR_IF
5898         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
5899         (gl_AS_VAR_IF): Move...
5900         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
5901         Reported by Simon Josefsson.
5902
5903 2010-01-12  Simon Josefsson  <simon@josefsson.org>
5904
5905         * lib/stdio.in.h: Fix typo.
5906
5907 2010-01-12  Simon Josefsson  <simon@josefsson.org>
5908
5909         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
5910         libgpg-error.
5911
5912 2010-01-12  Simon Josefsson  <simon@josefsson.org>
5913
5914         * tests/test-xalloc-die.sh: Use $EXEEXT.
5915
5916 2010-01-12  Simon Josefsson  <simon@josefsson.org>
5917             Bruno Haible  <bruno@clisp.org>
5918
5919         getlogin, getlogin_r: Avoid test failure.
5920         * tests/test-getlogin.c: Include <stdio.h>.
5921         (main): Skip the test when the function fails because stdin is not a
5922         tty.
5923         * tests/test-getlogin_r.c: Include <stdio.h>.
5924         (main): Skip the test when the function fails because stdin is not a
5925         tty.
5926
5927 2010-01-11  Eric Blake  <ebb9@byu.net>
5928
5929         tests: avoid more large file warnings
5930         * tests/test-fflush.c: Avoid warning about ftell use.
5931         * tests/test-fseek.c: Avoid warning about fseek use.
5932
5933 2010-01-10  Bruno Haible  <bruno@clisp.org>
5934
5935         nproc: Work better on Linux when /proc and /sys are not mounted.
5936         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
5937         as lower bound when, on glibc/Linux systems,
5938         sysconf (_SC_NPROCESSORS_CONF) returns 1.
5939         Suggested by Pádraig Brady <P@draigbrady.com>.
5940         Reported by Dmitry V. Levin <ldv@altlinux.org>.
5941
5942         nproc: Refactor.
5943         * lib/nproc.c (num_processors_via_affinity_mask): New function,
5944         extracted from num_processors.
5945         (num_processors): Call it.
5946
5947 2010-01-11  Jim Meyering  <meyering@redhat.com>
5948
5949         utimecmp: avoid new warning from upcoming gcc-4.5.0
5950         * lib/utimecmp.c (BILLION): Define using #define rather than an
5951         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
5952
5953 2010-01-11  Eric Blake  <ebb9@byu.net>
5954
5955         math: add portability warnings for classification macros
5956         * modules/math (Depends-on): Add warn-on-use.
5957         (Makefile.am): Provide new substitutions.
5958         * m4/math_h.m4 (gl_MATH_H): Require inline.
5959         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
5960         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
5961         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
5962         implement warnings.
5963
5964         unistd: warn on use of environ without module
5965         * modules/unistd (Depends-on): Add warn-on-use.
5966         (Makefile.am): Provide new substitutions.
5967         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
5968         * lib/unistd.in.h (environ): Wrap with a warning helper function.
5969
5970         stdio: warn on suspicious uses
5971         * modules/stdio (Depends-on): Add warn-on-use.
5972         (Makefile.am): Provide new substitutions.
5973         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
5974         fseeko.
5975         * lib/stdio.in.h (gets): Always warn on use.
5976         (fseek, ftell): Adjust when warnings are issued, and honor
5977         _GL_NO_LARGE_FILES as a way to silence the warning.
5978         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
5979         any warning about large file offsets.
5980         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
5981         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
5982         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
5983         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
5984         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
5985         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
5986         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
5987         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
5988
5989         warn-on-use: new module
5990         * modules/warn-on-use: New file.
5991         * build-aux/warn-on-use.h: Likewise.
5992         * m4/warn-on-use.m4: Likewise.
5993         * MODULES.html.sh (Support for building): Mention it.
5994
5995 2010-01-10  Bruno Haible  <bruno@clisp.org>
5996
5997         Tests for module 'unistr/u32-strdup'.
5998         * modules/unistr/u32-strdup-tests: New file.
5999         * tests/unistr/test-u32-strdup.c: New file.
6000
6001         Tests for module 'unistr/u16-strdup'.
6002         * modules/unistr/u16-strdup-tests: New file.
6003         * tests/unistr/test-u16-strdup.c: New file.
6004
6005         Tests for module 'unistr/u8-strdup'.
6006         * modules/unistr/u8-strdup-tests: New file.
6007         * tests/unistr/test-u8-strdup.c: New file.
6008         * tests/unistr/test-strdup.h: New file.
6009
6010         Tests for module 'unistr/u32-strncmp'.
6011         * modules/unistr/u32-strncmp-tests: New file.
6012         * tests/unistr/test-u32-strncmp.c: New file.
6013
6014         Tests for module 'unistr/u16-strncmp'.
6015         * modules/unistr/u16-strncmp-tests: New file.
6016         * tests/unistr/test-u16-strncmp.c: New file.
6017
6018         Tests for module 'unistr/u8-strncmp'.
6019         * modules/unistr/u8-strncmp-tests: New file.
6020         * tests/unistr/test-u8-strncmp.c: New file.
6021         * tests/unistr/test-strncmp.h: New file.
6022
6023         Tests for module 'unistr/u32-strcoll'.
6024         * modules/unistr/u32-strcoll-tests: New file.
6025         * tests/unistr/test-u32-strcoll.c: New file.
6026
6027         Tests for module 'unistr/u16-strcoll'.
6028         * modules/unistr/u16-strcoll-tests: New file.
6029         * tests/unistr/test-u16-strcoll.c: New file.
6030
6031         Tests for module 'unistr/u8-strcoll'.
6032         * modules/unistr/u8-strcoll-tests: New file.
6033         * tests/unistr/test-u8-strcoll.c: New file.
6034
6035         Tests for module 'unistr/u32-strcmp'.
6036         * modules/unistr/u32-strcmp-tests: New file.
6037         * tests/unistr/test-u32-strcmp.c: New file.
6038         * tests/unistr/test-u32-strcmp.h: New file.
6039
6040         Tests for module 'unistr/u16-strcmp'.
6041         * modules/unistr/u16-strcmp-tests: New file.
6042         * tests/unistr/test-u16-strcmp.c: New file.
6043         * tests/unistr/test-u16-strcmp.h: New file.
6044
6045         Tests for module 'unistr/u8-strcmp'.
6046         * modules/unistr/u8-strcmp-tests: New file.
6047         * tests/unistr/test-u8-strcmp.c: New file.
6048         * tests/unistr/test-u8-strcmp.h: New file.
6049         * tests/unistr/test-strcmp.h: New file.
6050
6051         Tests for module 'unistr/u32-strncat'.
6052         * modules/unistr/u32-strncat-tests: New file.
6053         * tests/unistr/test-u32-strncat.c: New file.
6054
6055         Tests for module 'unistr/u16-strncat'.
6056         * modules/unistr/u16-strncat-tests: New file.
6057         * tests/unistr/test-u16-strncat.c: New file.
6058
6059         Tests for module 'unistr/u8-strncat'.
6060         * modules/unistr/u8-strncat-tests: New file.
6061         * tests/unistr/test-u8-strncat.c: New file.
6062         * tests/unistr/test-strncat.h: New file.
6063
6064         Tests for module 'unistr/u32-strcat'.
6065         * modules/unistr/u32-strcat-tests: New file.
6066         * tests/unistr/test-u32-strcat.c: New file.
6067
6068         Tests for module 'unistr/u16-strcat'.
6069         * modules/unistr/u16-strcat-tests: New file.
6070         * tests/unistr/test-u16-strcat.c: New file.
6071
6072         Tests for module 'unistr/u8-strcat'.
6073         * modules/unistr/u8-strcat-tests: New file.
6074         * tests/unistr/test-u8-strcat.c: New file.
6075         * tests/unistr/test-strcat.h: New file.
6076
6077         Tests for module 'unistr/u32-stpncpy'.
6078         * modules/unistr/u32-stpncpy-tests: New file.
6079         * tests/unistr/test-u32-stpncpy.c: New file.
6080
6081         Tests for module 'unistr/u16-stpncpy'.
6082         * modules/unistr/u16-stpncpy-tests: New file.
6083         * tests/unistr/test-u16-stpncpy.c: New file.
6084
6085         Tests for module 'unistr/u8-stpncpy'.
6086         * modules/unistr/u8-stpncpy-tests: New file.
6087         * tests/unistr/test-u8-stpncpy.c: New file.
6088         * tests/unistr/test-stpncpy.h: New file.
6089
6090         Tests for module 'unistr/u32-strncpy'.
6091         * modules/unistr/u32-strncpy-tests: New file.
6092         * tests/unistr/test-u32-strncpy.c: New file.
6093
6094         Tests for module 'unistr/u16-strncpy'.
6095         * modules/unistr/u16-strncpy-tests: New file.
6096         * tests/unistr/test-u16-strncpy.c: New file.
6097
6098         Tests for module 'unistr/u8-strncpy'.
6099         * modules/unistr/u8-strncpy-tests: New file.
6100         * tests/unistr/test-u8-strncpy.c: New file.
6101         * tests/unistr/test-strncpy.h: New file.
6102
6103         Tests for module 'unistr/u32-stpcpy'.
6104         * modules/unistr/u32-stpcpy-tests: New file.
6105         * tests/unistr/test-u32-stpcpy.c: New file.
6106
6107         Tests for module 'unistr/u16-stpcpy'.
6108         * modules/unistr/u16-stpcpy-tests: New file.
6109         * tests/unistr/test-u16-stpcpy.c: New file.
6110
6111         Tests for module 'unistr/u8-stpcpy'.
6112         * modules/unistr/u8-stpcpy-tests: New file.
6113         * tests/unistr/test-u8-stpcpy.c: New file.
6114         * tests/unistr/test-stpcpy.h: New file.
6115
6116         Tests for module 'unistr/u32-strcpy'.
6117         * modules/unistr/u32-strcpy-tests: New file.
6118         * tests/unistr/test-u32-strcpy.c: New file.
6119
6120         Tests for module 'unistr/u16-strcpy'.
6121         * modules/unistr/u16-strcpy-tests: New file.
6122         * tests/unistr/test-u16-strcpy.c: New file.
6123
6124         Tests for module 'unistr/u8-strcpy'.
6125         * modules/unistr/u8-strcpy-tests: New file.
6126         * tests/unistr/test-u8-strcpy.c: New file.
6127         * tests/unistr/test-strcpy.h: New file.
6128
6129         Tests for module 'unistr/u32-strnlen'.
6130         * modules/unistr/u32-strnlen-tests: New file.
6131         * tests/unistr/test-u32-strnlen.c: New file.
6132
6133         Tests for module 'unistr/u16-strnlen'.
6134         * modules/unistr/u16-strnlen-tests: New file.
6135         * tests/unistr/test-u16-strnlen.c: New file.
6136
6137         Tests for module 'unistr/u8-strnlen'.
6138         * modules/unistr/u8-strnlen-tests: New file.
6139         * tests/unistr/test-u8-strnlen.c: New file.
6140         * tests/unistr/test-strnlen.h: New file.
6141
6142         Tests for module 'unistr/u32-strlen'.
6143         * modules/unistr/u32-strlen-tests: New file.
6144         * tests/unistr/test-u32-strlen.c: New file.
6145
6146         Tests for module 'unistr/u16-strlen'.
6147         * modules/unistr/u16-strlen-tests: New file.
6148         * tests/unistr/test-u16-strlen.c: New file.
6149
6150         Tests for module 'unistr/u8-strlen'.
6151         * modules/unistr/u8-strlen-tests: New file.
6152         * tests/unistr/test-u8-strlen.c: New file.
6153
6154         Tests for module 'unistr/u32-prev'.
6155         * modules/unistr/u32-prev-tests: New file.
6156         * tests/unistr/test-u32-prev.c: New file.
6157
6158         Tests for module 'unistr/u16-prev'.
6159         * modules/unistr/u16-prev-tests: New file.
6160         * tests/unistr/test-u16-prev.c: New file.
6161
6162         Tests for module 'unistr/u8-prev'.
6163         * modules/unistr/u8-prev-tests: New file.
6164         * tests/unistr/test-u8-prev.c: New file.
6165
6166         Tests for module 'unistr/u32-next'.
6167         * modules/unistr/u32-next-tests: New file.
6168         * tests/unistr/test-u32-next.c: New file.
6169
6170         Tests for module 'unistr/u16-next'.
6171         * modules/unistr/u16-next-tests: New file.
6172         * tests/unistr/test-u16-next.c: New file.
6173
6174         Tests for module 'unistr/u8-next'.
6175         * modules/unistr/u8-next-tests: New file.
6176         * tests/unistr/test-u8-next.c: New file.
6177
6178         Tests for module 'unistr/u32-strmbtouc'.
6179         * modules/unistr/u32-strmbtouc-tests: New file.
6180         * tests/unistr/test-u32-strmbtouc.c: New file.
6181
6182         Tests for module 'unistr/u16-strmbtouc'.
6183         * modules/unistr/u16-strmbtouc-tests: New file.
6184         * tests/unistr/test-u16-strmbtouc.c: New file.
6185
6186         Tests for module 'unistr/u8-strmbtouc'.
6187         * modules/unistr/u8-strmbtouc-tests: New file.
6188         * tests/unistr/test-u8-strmbtouc.c: New file.
6189
6190         Tests for module 'unistr/u32-strmblen'.
6191         * modules/unistr/u32-strmblen-tests: New file.
6192         * tests/unistr/test-u32-strmblen.c: New file.
6193
6194         Tests for module 'unistr/u16-strmblen'.
6195         * modules/unistr/u16-strmblen-tests: New file.
6196         * tests/unistr/test-u16-strmblen.c: New file.
6197
6198         Tests for module 'unistr/u8-strmblen'.
6199         * modules/unistr/u8-strmblen-tests: New file.
6200         * tests/unistr/test-u8-strmblen.c: New file.
6201
6202         Tests for module 'unistr/u32-cpy-alloc'.
6203         * modules/unistr/u32-cpy-alloc-tests: New file.
6204         * tests/unistr/test-u32-cpy-alloc.c: New file.
6205
6206         Tests for module 'unistr/u16-cpy-alloc'.
6207         * modules/unistr/u16-cpy-alloc-tests: New file.
6208         * tests/unistr/test-u16-cpy-alloc.c: New file.
6209
6210         Tests for module 'unistr/u8-cpy-alloc'.
6211         * modules/unistr/u8-cpy-alloc-tests: New file.
6212         * tests/unistr/test-u8-cpy-alloc.c: New file.
6213         * tests/unistr/test-cpy-alloc.h: New file.
6214
6215         Tests for module 'unistr/u32-mbsnlen'.
6216         * modules/unistr/u32-mbsnlen-tests: New file.
6217         * tests/unistr/test-u32-mbsnlen.c: New file.
6218
6219         Tests for module 'unistr/u16-mbsnlen'.
6220         * modules/unistr/u16-mbsnlen-tests: New file.
6221         * tests/unistr/test-u16-mbsnlen.c: New file.
6222
6223         Tests for module 'unistr/u8-mbsnlen'.
6224         * modules/unistr/u8-mbsnlen-tests: New file.
6225         * tests/unistr/test-u8-mbsnlen.c: New file.
6226
6227         Tests for module 'unistr/u32-chr'.
6228         * modules/unistr/u32-chr-tests: New file.
6229         * tests/unistr/test-u32-chr.c: New file.
6230
6231         Tests for module 'unistr/u16-chr'.
6232         * modules/unistr/u16-chr-tests: New file.
6233         * tests/unistr/test-u16-chr.c: New file.
6234
6235         Tests for module 'unistr/u8-chr'.
6236         * modules/unistr/u8-chr-tests: New file.
6237         * tests/unistr/test-u8-chr.c: New file.
6238         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
6239
6240         Tests for module 'unistr/u32-cmp2'.
6241         * modules/unistr/u32-cmp2-tests: New file.
6242         * tests/unistr/test-u32-cmp2.c: New file.
6243
6244         Tests for module 'unistr/u16-cmp2'.
6245         * modules/unistr/u16-cmp2-tests: New file.
6246         * tests/unistr/test-u16-cmp2.c: New file.
6247
6248         Tests for module 'unistr/u8-cmp2'.
6249         * modules/unistr/u8-cmp2-tests: New file.
6250         * tests/unistr/test-u8-cmp2.c: New file.
6251         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
6252
6253         Tests for module 'unistr/u32-cmp'.
6254         * modules/unistr/u32-cmp-tests: New file.
6255         * tests/unistr/test-u32-cmp.c: New file.
6256
6257         Tests for module 'unistr/u16-cmp'.
6258         * modules/unistr/u16-cmp-tests: New file.
6259         * tests/unistr/test-u16-cmp.c: New file.
6260
6261         Tests for module 'unistr/u8-cmp'.
6262         * modules/unistr/u8-cmp-tests: New file.
6263         * tests/unistr/test-u8-cmp.c: New file.
6264         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
6265
6266         Tests for module 'unistr/u32-set'.
6267         * modules/unistr/u32-set-tests: New file.
6268         * tests/unistr/test-u32-set.c: New file.
6269
6270         Tests for module 'unistr/u16-set'.
6271         * modules/unistr/u16-set-tests: New file.
6272         * tests/unistr/test-u16-set.c: New file.
6273
6274         Tests for module 'unistr/u8-set'.
6275         * modules/unistr/u8-set-tests: New file.
6276         * tests/unistr/test-u8-set.c: New file.
6277         * tests/unistr/test-set.h: New file.
6278
6279         Tests for module 'unistr/u32-move'.
6280         * modules/unistr/u32-move-tests: New file.
6281         * tests/unistr/test-u32-move.c: New file.
6282
6283         Tests for module 'unistr/u16-move'.
6284         * modules/unistr/u16-move-tests: New file.
6285         * tests/unistr/test-u16-move.c: New file.
6286
6287         Tests for module 'unistr/u8-move'.
6288         * modules/unistr/u8-move-tests: New file.
6289         * tests/unistr/test-u8-move.c: New file.
6290         * tests/unistr/test-move.h: New file.
6291
6292         Tests for module 'unistr/u32-cpy'.
6293         * modules/unistr/u32-cpy-tests: New file.
6294         * tests/unistr/test-u32-cpy.c: New file.
6295
6296         Tests for module 'unistr/u16-cpy'.
6297         * modules/unistr/u16-cpy-tests: New file.
6298         * tests/unistr/test-u16-cpy.c: New file.
6299
6300         Tests for module 'unistr/u8-cpy'.
6301         * modules/unistr/u8-cpy-tests: New file.
6302         * tests/unistr/test-u8-cpy.c: New file.
6303         * tests/unistr/test-cpy.h: New file.
6304
6305 2010-01-09  Bruno Haible  <bruno@clisp.org>
6306
6307         Tests for module 'unistr/u32-uctomb'.
6308         * modules/unistr/u32-uctomb-tests: New file.
6309         * tests/unistr/test-u32-uctomb.c: New file.
6310
6311         Tests for module 'unistr/u16-uctomb'.
6312         * modules/unistr/u16-uctomb-tests: New file.
6313         * tests/unistr/test-u16-uctomb.c: New file.
6314
6315         Tests for module 'unistr/u8-uctomb'.
6316         * modules/unistr/u8-uctomb-tests: New file.
6317         * tests/unistr/test-u8-uctomb.c: New file.
6318
6319         Tests for module 'unistr/u32-mbtoucr'.
6320         * modules/unistr/u32-mbtoucr-tests: New file.
6321         * tests/unistr/test-u32-mbtoucr.c: New file.
6322
6323         Tests for module 'unistr/u16-mbtoucr'.
6324         * modules/unistr/u16-mbtoucr-tests: New file.
6325         * tests/unistr/test-u16-mbtoucr.c: New file.
6326
6327         Tests for module 'unistr/u8-mbtoucr'.
6328         * modules/unistr/u8-mbtoucr-tests: New file.
6329         * tests/unistr/test-u8-mbtoucr.c: New file.
6330
6331         Tests for module 'unistr/u32-mbtouc'.
6332         * modules/unistr/u32-mbtouc-tests: New file.
6333         * tests/unistr/test-u32-mbtouc.c: New file.
6334
6335         Tests for module 'unistr/u16-mbtouc'.
6336         * modules/unistr/u16-mbtouc-tests: New file.
6337         * tests/unistr/test-u16-mbtouc.c: New file.
6338
6339         Tests for module 'unistr/u8-mbtouc'.
6340         * modules/unistr/u8-mbtouc-tests: New file.
6341         * tests/unistr/test-u8-mbtouc.c: New file.
6342
6343         Tests for module 'unistr/u32-mbtouc-unsafe'.
6344         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
6345         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
6346         * tests/unistr/test-u32-mbtouc.h: New file.
6347
6348         Tests for module 'unistr/u16-mbtouc-unsafe'.
6349         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
6350         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
6351         * tests/unistr/test-u16-mbtouc.h: New file.
6352
6353         Tests for module 'unistr/u8-mbtouc-unsafe'.
6354         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
6355         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
6356         * tests/unistr/test-u8-mbtouc.h: New file.
6357
6358         Tests for module 'unistr/u32-mblen'.
6359         * modules/unistr/u32-mblen-tests: New file.
6360         * tests/unistr/test-u32-mblen.c: New file.
6361
6362         Tests for module 'unistr/u16-mblen'.
6363         * modules/unistr/u16-mblen-tests: New file.
6364         * tests/unistr/test-u16-mblen.c: New file.
6365
6366         Tests for module 'unistr/u8-mblen'.
6367         * modules/unistr/u8-mblen-tests: New file.
6368         * tests/unistr/test-u8-mblen.c: New file.
6369
6370         Tests for module 'unistr/u32-to-u16'.
6371         * modules/unistr/u32-to-u16-tests: New file.
6372         * tests/unistr/test-u32-to-u16.c: New file.
6373
6374         Tests for module 'unistr/u32-to-u8'.
6375         * modules/unistr/u32-to-u8-tests: New file.
6376         * tests/unistr/test-u32-to-u8.c: New file.
6377
6378         Tests for module 'unistr/u16-to-u32'.
6379         * modules/unistr/u16-to-u32-tests: New file.
6380         * tests/unistr/test-u16-to-u32.c: New file.
6381
6382         Tests for module 'unistr/u16-to-u8'.
6383         * modules/unistr/u16-to-u8-tests: New file.
6384         * tests/unistr/test-u16-to-u8.c: New file.
6385
6386         Tests for module 'unistr/u8-to-u32'.
6387         * modules/unistr/u8-to-u32-tests: New file.
6388         * tests/unistr/test-u8-to-u32.c: New file.
6389
6390         Tests for module 'unistr/u8-to-u16'.
6391         * modules/unistr/u8-to-u16-tests: New file.
6392         * tests/unistr/test-u8-to-u16.c: New file.
6393
6394         Tests for module 'unistr/u32-check'.
6395         * modules/unistr/u32-check-tests: New file.
6396         * tests/unistr/test-u32-check.c: New file.
6397
6398         Tests for module 'unistr/u16-check'.
6399         * modules/unistr/u16-check-tests: New file.
6400         * tests/unistr/test-u16-check.c: New file.
6401
6402         Tests for module 'unistr/u8-check'.
6403         * modules/unistr/u8-check-tests: New file.
6404         * tests/unistr/test-u8-check.c: New file.
6405
6406         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
6407         (category_equals): New function.
6408         (main): Add more tests.
6409         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
6410
6411         * tests/unictype/test-bidi_byname.c (main): Add more tests.
6412
6413 2010-01-10  Bruno Haible  <bruno@clisp.org>
6414
6415         unistr/u*-strcoll: Try harder to distinguish different strings.
6416         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
6417         compare s1 and s2 to see if they are different.
6418
6419 2010-01-10  Bruno Haible  <bruno@clisp.org>
6420
6421         unistr/u*-stpncpy: Fix the return value.
6422         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
6423         description of the return value consistent with stpncpy in glibc.
6424         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
6425         written non-NUL unit.
6426
6427 2010-01-10  Bruno Haible  <bruno@clisp.org>
6428
6429         unistr/u*-next: Add missing dependencies.
6430         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
6431         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
6432         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
6433
6434 2010-01-10  Bruno Haible  <bruno@clisp.org>
6435
6436         unistr/u8-mbsnlen: Fix return value for incomplete character.
6437         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
6438         u8_mblen.
6439         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
6440         Remove unistr/u8-mblen.
6441         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
6442         u16_mblen.
6443         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
6444         Remove unistr/u16-mblen.
6445
6446 2010-01-10  Bruno Haible  <bruno@clisp.org>
6447
6448         wchar: Fix compilation error when <wchar.h> is used from coreutils.
6449         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
6450         Reported by Brian Gough <bjg@gnu.org> and
6451         Chris Clayton <chris2553@googlemail.com> via
6452         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
6453
6454 2010-01-09  Bruno Haible  <bruno@clisp.org>
6455
6456         unistr/u16-to-u32: Reject invalid input.
6457         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
6458         u16_mbtouc.
6459         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
6460         Remove unistr/u16-mbtouc.
6461
6462         unistr/u16-to-u8: Reject invalid input.
6463         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
6464         u16_mbtouc.
6465         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
6466         Remove unistr/u16-mbtouc.
6467
6468         unistr/u8-to-u32: Reject invalid input.
6469         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
6470         u8_mbtouc.
6471         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
6472         Remove unistr/u8-mbtouc.
6473
6474         unistr/u8-to-u16: Reject invalid input.
6475         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
6476         u8_mbtouc.
6477         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
6478         Remove unistr/u8-mbtouc.
6479
6480 2010-01-09  Bruno Haible  <bruno@clisp.org>
6481
6482         Tests for module 'getlogin'.
6483         * modules/getlogin-tests: New file.
6484         * tests/test-getlogin.c: New file.
6485
6486         New module 'getlogin'.
6487         * lib/unistd.in.h (getlogin): New declaration.
6488         * lib/getlogin.c: New file.
6489         * m4/getlogin.m4: New file.
6490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
6491         HAVE_GETLOGIN.
6492         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
6493         HAVE_GETLOGIN.
6494         * modules/getlogin: New file.
6495         * doc/posix-functions/getlogin.texi: Mention the new module.
6496         Reported by John W. Eaton <jwe@gnu.org>.
6497
6498 2010-01-09  Bruno Haible  <bruno@clisp.org>
6499
6500         getlogin_r: Support for native Windows.
6501         * lib/getlogin_r.c: Include <windows.h>
6502         (getlogin_r): Implement for native Windows.
6503         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
6504         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
6505         via John W. Eaton <jwe@gnu.org>.
6506
6507 2010-01-09  Bruno Haible  <bruno@clisp.org>
6508
6509         getlogin_r: Small fixes.
6510         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
6511         succeeds.
6512         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
6513         before testing whether getlogin_r is declared. No need to set
6514         HAVE_DECL_GETLOGIN_R to 1.
6515         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
6516
6517 2010-01-09  Bruno Haible  <bruno@clisp.org>
6518
6519         * lib/unistd.in.h (getlogin_r): Add comment.
6520
6521 2010-01-09  Bruno Haible  <bruno@clisp.org>
6522
6523         Tests for module 'getlogin_r'.
6524         * modules/getlogin_r-tests: New file.
6525         * tests/test-getlogin_r.c: New file.
6526
6527 2010-01-09  Jim Meyering  <meyering@redhat.com>
6528
6529         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
6530         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
6531         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
6532
6533 2010-01-08  Simon Josefsson  <simon@josefsson.org>
6534
6535         * lib/dup2.c (rpl_dup2): Improve comment.
6536
6537 2010-01-08  Eric Blake  <ebb9@byu.net>
6538
6539         maint.mk: allow packages to add makefile @@ exceptions
6540         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
6541         (sc_makefile_check): Rename...
6542         (sc_makefile_at_at_check): ...to this, and use hook.
6543
6544         dup2: work around mingw bug
6545         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
6546         Reported by Simon Josefsson.
6547
6548 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
6549
6550         glob: Fix C++ compilation.
6551         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
6552         C++.
6553
6554 2010-01-07  Bruno Haible  <bruno@clisp.org>
6555
6556         Fix indentation of wctype.in.h, broken since 2007-01-06.
6557         * lib/wctype.in.h: Fix indentation of preprocessor directives.
6558
6559 2010-01-07  Bruno Haible  <bruno@clisp.org>
6560
6561         mbslen: Avoid collision with system function.
6562         * lib/string.in.h [MirBSD]: Include <wchar.h>.
6563         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
6564         * m4/mbslen.m4: New file.
6565         * modules/mbslen (Files): Add it.
6566         (configure.ac): Invoke gl_MBSLEN.
6567         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
6568         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
6569         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
6570         via Ian Beckwith <ianb@erislabs.net>.
6571
6572 2010-01-07  Bruno Haible  <bruno@clisp.org>
6573
6574         dirent: Document the last fix.
6575         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
6576
6577 2010-01-07  Bruno Haible  <bruno@clisp.org>
6578
6579         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
6580         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
6581         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
6582         va_list are defined.
6583         * doc/posix-headers/stdio.texi: Document the bug of missing types.
6584         Reported by Eric Blake.
6585
6586 2010-01-07  Bruno Haible  <bruno@clisp.org>
6587
6588         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
6589         * modules/xlist (Depends-on): Add 'list',
6590         * modules/xoset (Depends-on): Add 'oset'.
6591         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6592
6593 2010-01-07  Bruno Haible  <bruno@clisp.org>
6594
6595         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
6596         * doc/posix-functions/strncasecmp.texi: Likewise.
6597
6598 2010-01-07  Bruno Haible  <bruno@clisp.org>
6599
6600         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
6601
6602 2010-01-07  John W. Eaton  <jwe@octave.org>
6603
6604         wctype: allow C++ use
6605         * lib/wctype.in.h: Add extern "C" block for C++.
6606
6607 2010-01-06  Eric Blake  <ebb9@byu.net>
6608
6609         maint.mk: detect incorrect GFDL usage
6610         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
6611
6612 2010-01-06  Jim Meyering  <meyering@redhat.com>
6613         and Eric Blake  <ebb9@byu.net>
6614
6615         maint.mk: ignore multi-line copyright in NEWS
6616         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
6617
6618 2010-01-06  Eric Blake  <ebb9@byu.net>
6619
6620         select: add missing dependency
6621         * modules/select-tests (Depends-on): Move sockets dependency...
6622         * modules/select (Depends-on): ...here.
6623         Reported by Ian Beckwith.
6624
6625         doc: regenerate INSTALL
6626         * doc/INSTALL: Reflect recent autoconf update.
6627         * doc/INSTALL.ISO: Likewise.
6628         * doc/INSTALL.UTF-8: Likewise.
6629
6630         pread: fix compilation on glibc
6631         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
6632         Reported by Ralf Wildenhues.
6633
6634         dirent: fix test failure
6635         * lib/dirent.in.h (includes): Guarantee ino_t.
6636         Reported by Ralf Wildenhues.
6637
6638 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
6639
6640         linkat, renameat: avoid bad free
6641         * lib/at-func2.c (at_func2): Fix typo.
6642         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
6643
6644 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6645
6646         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
6647         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
6648         to avoid failure of symlink test later.
6649
6650 2010-01-06  Eric Blake  <ebb9@byu.net>
6651
6652         stdio, unistd: guarantee ssize_t
6653         * lib/unistd.in.h (includes): Ensure that types required by POSIX
6654         2008 are exposed when needed.
6655         * lib/stdio.in.h (includes): Likewise.
6656         Reported by Ralf Wildenhues.
6657
6658 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
6659
6660         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
6661         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
6662         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
6663
6664 2010-01-06  Jim Meyering  <meyering@redhat.com>
6665
6666         readtokens: this module *does* require xalloc.h
6667         It uses only functions that were omitted by the old syntax-check rule.
6668         * lib/readtokens.c: Include "xalloc.h" once again.
6669         * modules/readtokens (Depends-on): Add xalloc.
6670         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
6671
6672 2010-01-05  Eric Blake  <ebb9@byu.net>
6673
6674         maint: support 'make announcement' from a VPATH build
6675         * top/maint.mk (announcement): Look for correct NEWS file.
6676
6677 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
6678
6679         utimens (fdutimens): ignore a negative FD, per contract
6680         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
6681         when we have a valid file descriptor.  Otherwise, using a brand
6682         new glibc (with just-patched futimens that now fails with EBADF)
6683         would cause this function to fail with ENOSYS.
6684         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
6685         See also http://bugzilla.redhat.com/552320.
6686
6687 2010-01-05  Eric Blake  <ebb9@byu.net>
6688
6689         strcase: document what it provides
6690         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
6691         gnulib module.
6692         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
6693         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
6694
6695 2010-01-05  Jim Meyering  <meyering@redhat.com>
6696
6697         maint: remove useless inclusions of "xalloc.h"
6698         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
6699         * lib/readtokens.c: Likewise.
6700         * lib/same.c: Likewise.
6701         * modules/getloadavg (Depends-on): Remove xalloc.
6702         * modules/readtokens: Likewise.
6703         * modules/same: Likewise.
6704
6705         maint.mk: include 4 more function names in alloca.h-checking regexp
6706         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
6707         regexp.  Before, we would give a false-positive (saying alloca.h
6708         is included unnecessarily) when the only uses involved omitted symbols.
6709
6710         xalloc.h: use consistent formatting
6711         * lib/xalloc.h: Move declarations to start in the first column.
6712
6713 2010-01-05  Eric Blake  <ebb9@byu.net>
6714
6715         mkdir: avoid xalloc
6716         * lib/mkdir.c (includes): Drop unused header.
6717         Reported by John W. Eaton.
6718
6719 2010-01-04  Jim Meyering  <meyering@redhat.com>
6720
6721         nl_langinfo: avoid configure-time syntax error
6722         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
6723         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
6724         the empty string.  Don't let that provoke a shell syntax error.
6725
6726         regcomp, regexec, fnmatch: avoid array bounds read error
6727         * lib/regcomp.c (build_equiv_class): From glibc:
6728         Use only the low 24 bits of a findidx return value as an index
6729         into the weights array.  Patch by Ulrich Drepper:
6730         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
6731         * lib/regexec.c (check_node_accept_bytes): Likewise.
6732         * lib/fnmatch_loop.c (FCT): Likewise.
6733
6734         regcomp: skip collseq lookup when there are no rules
6735         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
6736         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
6737
6738         regcomp: recognize ill-formed { } expressions
6739         * lib/regcomp.c (parse_dup_op): From glibc:
6740         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
6741
6742         regcomp: fix typo in comment
6743         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
6744         s/satisfy/satisfies/.
6745
6746         regcomp: sync from glibc: remove dead store
6747         * lib/regcomp.c (duplicate_node_closure): Remove useless
6748         search_duplicated_node call and dead store.
6749
6750         regcomp: sync from glibc; always use nl_langinfo
6751         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
6752         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
6753         * modules/regex (Depends-on): Add nl_langinfo.
6754
6755 2010-01-04  Eric Blake  <ebb9@byu.net>
6756
6757         fdopendir: fix configure test
6758         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
6759
6760 2010-01-01  Bruno Haible  <bruno@clisp.org>
6761
6762         wchar: Remove unused configure check.
6763         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
6764
6765 2010-01-01  Eric Blake  <ebb9@byu.net>
6766
6767         headers: make check of system header explicit
6768         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
6769         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
6770         ourselves.
6771         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6772         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6773         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
6774         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
6775         internals.
6776         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
6777         missing.
6778         Suggested by Bruno Haible.
6779
6780 2010-01-01  Jim Meyering  <meyering@redhat.com>
6781
6782         ChangeLog: tweak to eliminate unnecessary copyright line
6783         * ChangeLog: Remove a copyright line that was mistakenly updated
6784         by today's update-copyright run.  Reported by Eric Blake.
6785
6786         test-update-copyright: don't let envvar setting cause test failure
6787         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
6788
6789 2010-01-01  Bruno Haible  <bruno@clisp.org>
6790
6791         localename: Avoid gcc warning.
6792         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
6793         function if it is not used.
6794
6795 2010-01-01  Jim Meyering  <meyering@redhat.com>
6796
6797         update nearly all FSF copyright year lists to include 2010
6798         Use the same procedure as for 2009, outlined in
6799         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
6800
6801         version-etc: set COPYRIGHT_YEAR to 2010
6802         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
6803
6804 2009-12-31  Eric Blake  <ebb9@byu.net>
6805
6806         doc: correct availability of cygwin 1.5.x getopt
6807         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
6808         variables.
6809         * doc/posix-functions/opterr.texi (opterr): Likewise.
6810         * doc/posix-functions/optind.texi (optind): Likewise.
6811         * doc/posix-functions/optopt.texi (optopt): Likewise.
6812         * doc/posix-functions/tzname.texi (tzname): Likewise.
6813
6814         openat: update maintainer
6815         * modules/openat (Maintainer): Add myself.
6816
6817         utimens: avoid shadowing warning
6818         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
6819         buffers into one, to avoid shadowing, as well as avoiding a
6820         redundant stat.
6821         Reported by Jim Meyering.
6822
6823         test-dup2: avoid compiler warning
6824         * tests/test-dup2.c (is_inheritable): Only define if used.
6825
6826 2010-01-01  Bruno Haible  <bruno@clisp.org>
6827
6828         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
6829         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
6830         defined, use wctomb instead of wcrtomb.
6831
6832 2010-01-01  Bruno Haible  <bruno@clisp.org>
6833
6834         iconv: Reject native Solaris iconv.
6835         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
6836         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
6837
6838 2009-12-31  Bruno Haible  <bruno@clisp.org>
6839
6840         * tests/test-signal.c (main): Remove test of 'SIG'.
6841
6842 2009-12-31  Bruno Haible  <bruno@clisp.org>
6843
6844         spawn: Fix incomplete fix.
6845         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
6846         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
6847         warnings for GNULIB_POSIXCHECK again.
6848         Reported by Eric Blake.
6849
6850 2009-12-31  Bruno Haible  <bruno@clisp.org>
6851
6852         Avoid namespace pollution on glibc systems.
6853         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
6854         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
6855         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
6856         glibc systems.
6857
6858 2009-12-31  Bruno Haible  <bruno@clisp.org>
6859
6860         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
6861         (gl_REPLACE_WCHAR_H): Turn into a no-op.
6862         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
6863         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
6864         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
6865         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
6866         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
6867
6868 2009-12-31  Bruno Haible  <bruno@clisp.org>
6869
6870         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
6871         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
6872         afterwards.
6873
6874 2009-12-31  Bruno Haible  <bruno@clisp.org>
6875
6876         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
6877         SYS_UTSNAME_H.
6878
6879 2009-12-31  Bruno Haible  <bruno@clisp.org>
6880
6881         spawn: Fix misapplied patch.
6882         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
6883         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
6884         warnings for GNULIB_POSIXCHECK.
6885
6886 2009-12-31  Bruno Haible  <bruno@clisp.org>
6887
6888         times: Update after sys_times changed.
6889         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
6890         * modules/times (Files): Add it.
6891         (configure.ac): Invoke gl_FUNC_TIMES.
6892
6893 2009-12-31  Bruno Haible  <bruno@clisp.org>
6894
6895         Use AC_C_INLINE where necessary.
6896         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
6897         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
6898         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
6899         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
6900         * m4/mbfile.m4 (gl_MBFILE): Likewise.
6901         * m4/mbiter.m4 (gl_MBITER): Likewise.
6902         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6903         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6904         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
6905         * modules/u64 (configure.ac): Likewise.
6906
6907 2009-12-31  Bruno Haible  <bruno@clisp.org>
6908
6909         Use AC_C_INLINE instead of module 'inline' where possible.
6910         * modules/inline (Description): Clarify purpose.
6911         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
6912         * modules/count-one-bits (Depends-on): Remove inline.
6913         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
6914         * modules/openat (Depends-on): Remove inline.
6915         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
6916         instead of depending on module 'inline'.
6917         * modules/filevercmp (Depends-on, configure.ac): Likewise.
6918         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
6919         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
6920         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
6921         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
6922         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
6923         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
6924         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
6925         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
6926         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
6927         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
6928         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
6929         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
6930         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
6931         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
6932         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
6933         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
6934         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
6935         Likewise.
6936         * modules/unictype/property-ascii-hex-digit (Depends-on,
6937         configure.ac): Likewise.
6938         * modules/unictype/property-bidi-arabic-digit (Depends-on,
6939         configure.ac): Likewise.
6940         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
6941         configure.ac): Likewise.
6942         * modules/unictype/property-bidi-block-separator (Depends-on,
6943         configure.ac): Likewise.
6944         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
6945         configure.ac): Likewise.
6946         * modules/unictype/property-bidi-common-separator (Depends-on,
6947         configure.ac): Likewise.
6948         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
6949         Likewise.
6950         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
6951         configure.ac): Likewise.
6952         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
6953         configure.ac): Likewise.
6954         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
6955         configure.ac): Likewise.
6956         * modules/unictype/property-bidi-european-digit (Depends-on,
6957         configure.ac): Likewise.
6958         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
6959         configure.ac): Likewise.
6960         * modules/unictype/property-bidi-left-to-right (Depends-on,
6961         configure.ac): Likewise.
6962         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
6963         configure.ac): Likewise.
6964         * modules/unictype/property-bidi-other-neutral (Depends-on,
6965         configure.ac): Likewise.
6966         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
6967         Likewise.
6968         * modules/unictype/property-bidi-segment-separator (Depends-on,
6969         configure.ac): Likewise.
6970         * modules/unictype/property-bidi-whitespace (Depends-on,
6971         configure.ac): Likewise.
6972         * modules/unictype/property-combining (Depends-on, configure.ac):
6973         Likewise.
6974         * modules/unictype/property-composite (Depends-on, configure.ac):
6975         Likewise.
6976         * modules/unictype/property-currency-symbol (Depends-on,
6977         configure.ac): Likewise.
6978         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
6979         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
6980         Likewise.
6981         * modules/unictype/property-default-ignorable-code-point (Depends-on,
6982         configure.ac): Likewise.
6983         * modules/unictype/property-deprecated (Depends-on, configure.ac):
6984         Likewise.
6985         * modules/unictype/property-diacritic (Depends-on, configure.ac):
6986         Likewise.
6987         * modules/unictype/property-extender (Depends-on, configure.ac):
6988         Likewise.
6989         * modules/unictype/property-format-control (Depends-on, configure.ac):
6990         Likewise.
6991         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
6992         Likewise.
6993         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
6994         Likewise.
6995         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
6996         Likewise.
6997         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
6998         Likewise.
6999         * modules/unictype/property-hyphen (Depends-on, configure.ac):
7000         Likewise.
7001         * modules/unictype/property-id-continue (Depends-on, configure.ac):
7002         Likewise.
7003         * modules/unictype/property-id-start (Depends-on, configure.ac):
7004         Likewise.
7005         * modules/unictype/property-ideographic (Depends-on, configure.ac):
7006         Likewise.
7007         * modules/unictype/property-ids-binary-operator (Depends-on,
7008         configure.ac): Likewise.
7009         * modules/unictype/property-ids-trinary-operator (Depends-on,
7010         configure.ac): Likewise.
7011         * modules/unictype/property-ignorable-control (Depends-on,
7012         configure.ac): Likewise.
7013         * modules/unictype/property-iso-control (Depends-on, configure.ac):
7014         Likewise.
7015         * modules/unictype/property-join-control (Depends-on, configure.ac):
7016         Likewise.
7017         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
7018         Likewise.
7019         * modules/unictype/property-line-separator (Depends-on, configure.ac):
7020         Likewise.
7021         * modules/unictype/property-logical-order-exception (Depends-on,
7022         configure.ac): Likewise.
7023         * modules/unictype/property-lowercase (Depends-on, configure.ac):
7024         Likewise.
7025         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
7026         * modules/unictype/property-non-break (Depends-on, configure.ac):
7027         Likewise.
7028         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
7029         Likewise.
7030         * modules/unictype/property-numeric (Depends-on, configure.ac):
7031         Likewise.
7032         * modules/unictype/property-other-alphabetic (Depends-on,
7033         configure.ac): Likewise.
7034         * modules/unictype/property-other-default-ignorable-code-point
7035         (Depends-on, configure.ac): Likewise.
7036         * modules/unictype/property-other-grapheme-extend (Depends-on,
7037         configure.ac): Likewise.
7038         * modules/unictype/property-other-id-continue (Depends-on,
7039         configure.ac): Likewise.
7040         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
7041         Likewise.
7042         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
7043         Likewise.
7044         * modules/unictype/property-other-math (Depends-on, configure.ac):
7045         Likewise.
7046         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
7047         Likewise.
7048         * modules/unictype/property-paired-punctuation (Depends-on,
7049         configure.ac): Likewise.
7050         * modules/unictype/property-paragraph-separator (Depends-on,
7051         configure.ac): Likewise.
7052         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
7053         Likewise.
7054         * modules/unictype/property-pattern-white-space (Depends-on,
7055         configure.ac): Likewise.
7056         * modules/unictype/property-private-use (Depends-on, configure.ac):
7057         Likewise.
7058         * modules/unictype/property-punctuation (Depends-on, configure.ac):
7059         Likewise.
7060         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
7061         Likewise.
7062         * modules/unictype/property-radical (Depends-on, configure.ac):
7063         Likewise.
7064         * modules/unictype/property-sentence-terminal (Depends-on,
7065         configure.ac): Likewise.
7066         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
7067         Likewise.
7068         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
7069         * modules/unictype/property-terminal-punctuation (Depends-on,
7070         configure.ac): Likewise.
7071         * modules/unictype/property-titlecase (Depends-on, configure.ac):
7072         Likewise.
7073         * modules/unictype/property-unassigned-code-value (Depends-on,
7074         configure.ac): Likewise.
7075         * modules/unictype/property-unified-ideograph (Depends-on,
7076         configure.ac): Likewise.
7077         * modules/unictype/property-uppercase (Depends-on, configure.ac):
7078         Likewise.
7079         * modules/unictype/property-variation-selector (Depends-on,
7080         configure.ac): Likewise.
7081         * modules/unictype/property-white-space (Depends-on, configure.ac):
7082         Likewise.
7083         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
7084         Likewise.
7085         * modules/unictype/property-xid-start (Depends-on, configure.ac):
7086         Likewise.
7087         * modules/unictype/property-zero-width (Depends-on, configure.ac):
7088         Likewise.
7089         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
7090         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
7091         Likewise.
7092
7093 2009-12-31  Bruno Haible  <bruno@clisp.org>
7094
7095         Remove unnecessary AC_C_INLINE invocation.
7096         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
7097         since 2009-08-21.
7098
7099 2009-12-31  Jim Meyering  <meyering@redhat.com>
7100
7101         maint.mk: don't require explicit gpg_key_ID in cfg.mk
7102         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
7103         With this change, we can all remove the gpg_key_ID = ... definition
7104         from our respective cfg.mk files.
7105
7106         maint.mk: create announcement template in ~/, not in /tmp
7107         * top/maint.mk (emit_upload_commands): Adjust.
7108         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
7109         Remove temporary file, .ci-msg.
7110
7111 2009-12-31  Eric Blake  <ebb9@byu.net>
7112
7113         link-warning: always build headers with link warnings
7114         * modules/arpa_inet (Makefile.am): Always build replacement
7115         header.
7116         * modules/ctype (Makefile.am): Likewise.
7117         * modules/dirent (Makefile.am): Likewise.
7118         * modules/inttypes (Makefile.am): Likewise.
7119         * modules/langinfo (Makefile.am): Likewise.
7120         * modules/locale (Makefile.am): Likewise.
7121         * modules/spawn (Makefile.am): Likewise.
7122         * modules/sys_file (Makefile.am): Likewise.
7123         * modules/sys_ioctl (Makefile.am): Likewise.
7124         * modules/sys_select (Makefile.am): Likewise.
7125         * modules/sys_socket (Makefile.am): Likewise.
7126         * modules/sys_times (Makefile.am): Likewise.
7127         * modules/sys_utsname (Makefile.am): Likewise.
7128         * modules/sys_wait (Makefile.am): Likewise.
7129         * modules/wchar (Makefile.am): Likewise.
7130         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
7131         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
7132         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
7133         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
7134         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
7135         Likewise.
7136         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
7137         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7138         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
7139         Likewise.
7140         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
7141         Likewise.
7142         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
7143         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
7144         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
7145         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7146         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7147         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
7148         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
7149         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
7150         (gl_WCHAR_H_DEFAULTS): Likewise.
7151
7152 2009-12-31  Eric Blake  <ebb9@byu.net>
7153
7154         signal, spawn: use link warnings
7155         * lib/signal.in.h (sigset_t): Make unconditional.
7156         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
7157         (sigpending, sigprocmask, sigaction): Add link warnings.
7158         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
7159         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
7160         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
7161         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
7162         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
7163         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
7164         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
7165         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
7166         (posix_spawn_file_actions_destroy)
7167         (posix_spawn_file_actions_addopen)
7168         (posix_spawn_file_actions_addclose)
7169         (posix_spawn_file_actions_adddup2): Likewise.
7170         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
7171         * tests/test-signal.c (main): Enhance test.
7172
7173         spawn: improve wrapper support
7174         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
7175         (gl_SPAWN_H_DEFAULTS): New defaults.
7176         * modules/spawn (Makefile.am): Substitute them.
7177         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
7178         Only declare if missing or broken.
7179
7180         sys_times, sys_utsname: use include_next
7181         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
7182         header.
7183         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
7184         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
7185         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
7186         * modules/sys_times (Depends-on): Add include_next.
7187         (Makefile.am): Substitute additional values.
7188         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
7189         * lib/sys_times.in.h (includes): Include native header, if
7190         available.
7191         * lib/sys_utsname.in.h (includes): Likewise.
7192         * tests/test-sys_times.c (main): Enhance test.
7193
7194         fdutimensat: revert prior patch
7195         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
7196         utimens.h.
7197         Reported by Bruno Haible.
7198
7199 2009-12-30  Eric Blake  <ebb9@byu.net>
7200
7201         sys_wait: drop link-warning dependency
7202         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
7203         link-warning efforts.
7204         * lib/sys_wait.in.h: Likewise.
7205
7206         fdutimensat: remove bogus dependency
7207         * modules/fdutimensat (Depends-on): Drop inline.
7208
7209         unistd: fix typo
7210         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
7211
7212 2009-12-30  Bruno Haible  <bruno@clisp.org>
7213
7214         Fix compilation error with Solaris cc.
7215         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
7216         * lib/unicase/u16-is-invariant.c: Likewise.
7217         * lib/unicase/u32-is-invariant.c: Likewise.
7218         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
7219
7220 2009-12-30  Bruno Haible  <bruno@clisp.org>
7221
7222         Fix test crash.
7223         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
7224         locales.
7225         Reported by Simon Josefsson <simon@josefsson.org>.
7226
7227 2009-12-30  Bruno Haible  <bruno@clisp.org>
7228
7229         Fix compilation error on most platforms.
7230         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
7231         Reported by Simon Josefsson <simon@josefsson.org>
7232         and Nelson H. F. Beebe <beebe@math.utah.edu>.
7233
7234 2009-12-30  Eric Blake  <ebb9@byu.net>
7235
7236         futimens, utimensat: work around ntfs-3g bug
7237         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
7238         a ctime bug is present, and expand workaround to cover ntfs-3g.
7239         * lib/utimens.c (fdutimens, lutimens): Likewise.
7240         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
7241         (validate_timespec): Adjust return value.
7242         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
7243         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7244         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
7245
7246 2009-12-29  Eric Blake  <ebb9@byu.net>
7247
7248         link-warning: make usage consistent
7249         * modules/ctype (Depends-on): Add link-warning.
7250         (Makefile.am): Update rules accordingly.
7251         * modules/langinfo (Depends-on, Makefile.am): Likewise.
7252         * modules/locale (Depends-on, Makefile.am): Likewise.
7253         * modules/sys_file (Makefile.am): Likewise.
7254         * modules/getopt-posix (Makefile.am): Delete unused link warning
7255         efforts.
7256         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
7257         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
7258         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
7259         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
7260
7261         stdio: remove unused variables
7262         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
7263         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
7264         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
7265
7266         tests: test more substitute headers
7267         * modules/ctype-tests: New file.
7268         * modules/dirent-tests: Likewise.
7269         * modules/spawn-tests: Likewise.
7270         * modules/sys_file-tests: Likewise.
7271         * modules/sys_ioctl-tests: Likewise.
7272         * modules/sys_wait-tests: Likewise.
7273         * tests/test-ctype.c: Likewise.
7274         * tests/test-dirent.c: Likewise.
7275         * tests/test-spawn.c: Likewise.
7276         * tests/test-sys_file.c: Likewise.
7277         * tests/test-sys_ioctl.c: Likewise.
7278         * tests/test-sys_wait.c: Likewise.
7279         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
7280         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
7281         whether or not flock is in use.
7282
7283         tests: remove License section from module
7284         * modules/arpa_inet-tests: Remove unneeded section.
7285         * modules/byteswap-tests: Likewise.
7286         * modules/ceilf-tests: Likewise.
7287         * modules/ceill-tests: Likewise.
7288         * modules/crypto/des-tests: Likewise.
7289         * modules/crypto/gc-arcfour-tests: Likewise.
7290         * modules/crypto/gc-arctwo-tests: Likewise.
7291         * modules/crypto/gc-des-tests: Likewise.
7292         * modules/crypto/gc-hmac-md5-tests: Likewise.
7293         * modules/crypto/gc-hmac-sha1-tests: Likewise.
7294         * modules/crypto/gc-md2-tests: Likewise.
7295         * modules/crypto/gc-md4-tests: Likewise.
7296         * modules/crypto/gc-md5-tests: Likewise.
7297         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
7298         * modules/crypto/gc-rijndael-tests: Likewise.
7299         * modules/crypto/gc-sha1-tests: Likewise.
7300         * modules/crypto/gc-tests: Likewise.
7301         * modules/crypto/md2-tests: Likewise.
7302         * modules/crypto/md4-tests: Likewise.
7303         * modules/fcntl-h-tests: Likewise.
7304         * modules/floorf-tests: Likewise.
7305         * modules/floorl-tests: Likewise.
7306         * modules/frexp-nolibm-tests: Likewise.
7307         * modules/frexp-tests: Likewise.
7308         * modules/frexpl-nolibm-tests: Likewise.
7309         * modules/frexpl-tests: Likewise.
7310         * modules/getaddrinfo-tests: Likewise.
7311         * modules/inttypes-tests: Likewise.
7312         * modules/isfinite-tests: Likewise.
7313         * modules/isinf-tests: Likewise.
7314         * modules/ldexpl-tests: Likewise.
7315         * modules/locale-tests: Likewise.
7316         * modules/math-tests: Likewise.
7317         * modules/netdb-tests: Likewise.
7318         * modules/netinet_in-tests: Likewise.
7319         * modules/printf-frexp-tests: Likewise.
7320         * modules/printf-frexpl-tests: Likewise.
7321         * modules/priv-set-tests: Likewise.
7322         * modules/random_r-tests: Likewise.
7323         * modules/round-tests: Likewise.
7324         * modules/roundf-tests: Likewise.
7325         * modules/roundl-tests: Likewise.
7326         * modules/search-tests: Likewise.
7327         * modules/select-tests: Likewise.
7328         * modules/signal-tests: Likewise.
7329         * modules/stdbool-tests: Likewise.
7330         * modules/stddef-tests: Likewise.
7331         * modules/stdint-tests: Likewise.
7332         * modules/stdio-tests: Likewise.
7333         * modules/stdlib-tests: Likewise.
7334         * modules/string-tests: Likewise.
7335         * modules/strings-tests: Likewise.
7336         * modules/sys_select-tests: Likewise.
7337         * modules/sys_socket-tests: Likewise.
7338         * modules/sys_stat-tests: Likewise.
7339         * modules/sys_time-tests: Likewise.
7340         * modules/sys_utsname-tests: Likewise.
7341         * modules/sysexits-tests: Likewise.
7342         * modules/time-tests: Likewise.
7343         * modules/trunc-tests: Likewise.
7344         * modules/truncf-tests: Likewise.
7345         * modules/truncl-tests: Likewise.
7346         * modules/tsearch-tests: Likewise.
7347         * modules/unistd-tests: Likewise.
7348         * modules/wchar-tests: Likewise.
7349         * modules/wctype-tests: Likewise.
7350
7351         tests: fix license on several tests
7352         * tests/test-des.c: Update to GPLv3+.
7353         * tests/test-flock.c: Likewise.
7354         * tests/test-fsync.c: Likewise.
7355         * tests/test-futimens.h: Likewise.
7356         * tests/test-gc-arcfour.c: Likewise.
7357         * tests/test-gc-arctwo.c: Likewise.
7358         * tests/test-gc-des.c: Likewise.
7359         * tests/test-gc-hmac-md5.c: Likewise.
7360         * tests/test-gc-hmac-sha1.c: Likewise.
7361         * tests/test-gc-md2.c: Likewise.
7362         * tests/test-gc-md4.c: Likewise.
7363         * tests/test-gc-md5.c: Likewise.
7364         * tests/test-gc-pbkdf2-sha1.c: Likewise.
7365         * tests/test-gc-rijndael.c: Likewise.
7366         * tests/test-gc-sha1.c: Likewise.
7367         * tests/test-gc.c: Likewise.
7368         * tests/test-getcwd.c: Likewise.
7369         * tests/test-link.c: Likewise.
7370         * tests/test-link.h: Likewise.
7371         * tests/test-lutimens.h: Likewise.
7372         * tests/test-md2.c: Likewise.
7373         * tests/test-md4.c: Likewise.
7374         * tests/test-mkdir.h: Likewise.
7375         * tests/test-rename.c: Likewise.
7376         * tests/test-rename.h: Likewise.
7377         * tests/test-safe-alloc.c: Likewise.
7378         * tests/test-utimens-common.h: Likewise.
7379         * tests/test-utimens.h: Likewise.
7380
7381         maint: sync license texts
7382         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
7383         * doc/gpl-3.0.texi: Revert copyright year update.
7384         * doc/lgpl-3.0.texi: Likewise.
7385
7386 2009-12-29  Jim Meyering  <meyering@redhat.com>
7387
7388         update nearly all FSF copyright year lists to include 2009
7389         The files named by the following are exempted:
7390             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
7391               test -f "$dst" && { echo "$dst"; continue; }
7392               test -d "$dst" || continue
7393               echo "$dst"/$(basename "$src")
7394             done > exempt
7395             git ls-files tests/unictype >> exempt
7396         In the remaining files, convert to all-interval notation if
7397         - there is already at least one year interval like 2000-2003
7398         - the file is maintained by me
7399         - the file is in lib/uni*/, where that style already prevails
7400         Otherwise, use update-copyright's default.
7401
7402 2009-12-29  Simon Josefsson  <simon@josefsson.org>
7403         and Eric Blake  <ebb9@byu.net>
7404
7405         tests: don't require debug system() to pass
7406         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
7407         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7408         * tests/test-unlink.h (test_unlink_func): Likewise.
7409         * tests/test-fstatat.c (main): ...into callers.
7410         * tests/test-lstat.c (main): Likewise.
7411         * tests/test-rmdir.c (main): Likewise.
7412         * tests/test-unlink.c (main): Likewise.
7413         * tests/test-unlinkat.c (main): Likewise.
7414         * tests/test-areadlink-with-size.c (main): Don't require a
7415         debug-only system call to pass, aiding cross-testing to mingw.
7416         * tests/test-areadlink.c (main): Likewise.
7417         * tests/test-areadlinkat-with-size.c (main): Likewise.
7418         * tests/test-areadlinkat.c (main): Likewise.
7419         * tests/test-canonicalize-lgpl.c (main): Likewise.
7420         * tests/test-canonicalize.c (main): Likewise.
7421         * tests/test-chown.c (main): Likewise.
7422         * tests/test-fchownat.c (main): Likewise.
7423         * tests/test-lchown.c (main): Likewise.
7424         * tests/test-fdutimensat.c (main): Likewise.
7425         * tests/test-futimens.c (main): Likewise.
7426         * tests/test-link.c (main): Likewise.
7427         * tests/test-linkat.c (main): Likewise.
7428         * tests/test-mkdir.c (main): Likewise.
7429         * tests/test-mkdirat.c (main): Likewise.
7430         * tests/test-mkfifo.c (main): Likewise.
7431         * tests/test-mkfifoat.c (main): Likewise.
7432         * tests/test-mknod.c (main): Likewise.
7433         * tests/test-readlink.c (main): Likewise.
7434         * tests/test-remove.c (main): Likewise.
7435         * tests/test-rename.c (main): Likewise.
7436         * tests/test-renameat.c (main): Likewise.
7437         * tests/test-symlink.c (main): Likewise.
7438         * tests/test-symlinkat.c (main): Likewise.
7439         * tests/test-utimens.c (main): Likewise.
7440         * tests/test-utimensat.c (main): Likewise.
7441
7442 2009-12-29  Simon Josefsson  <simon@josefsson.org>
7443
7444         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
7445         on $(UNUSED_PARAMETER_H) to avoid build failure.
7446
7447 2009-12-28  Jim Meyering  <meyering@redhat.com>
7448
7449         update-copyright: you may specify a max. line length other than 72
7450         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
7451
7452         maint: use consistent FSF copyright line syntax
7453         * lib/posixtm.c: Add missing comma in FSF copyright line.
7454         * lib/posixtm.h: Likewise.
7455         * lib/getugroups.c: Add missing ", Inc.".
7456
7457         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
7458         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
7459         FSF copyright line.  Remove trailing blanks.
7460
7461 2009-12-28  Eric Blake  <ebb9@byu.net>
7462
7463         test-dup2: reduce dependencies
7464         * modules/cloexec (Configure.ac): Set witness.
7465         * modules/dup2-tests (Depends-on): Drop cloexec.
7466         * tests/test-dup2.c (main): Skip portion of test if cloexec module
7467         not present.
7468         Suggested by Bruno Haible.
7469
7470 2009-12-26  Bruno Haible  <bruno@clisp.org>
7471
7472         Remove an unneeded dependency.
7473         * modules/fseterr (Depends-on): Remove dup2.
7474
7475 2009-12-26  Eric Blake  <ebb9@byu.net>
7476
7477         tests: use macros.h in more places
7478         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
7479         (ASSERT_STREAM): Provide default of stderr.
7480         * tests/test-dirent-safer.c: Include macros.h, using alternate
7481         stream for assertions.
7482         * tests/test-dup-safer.c: Likewise.
7483         * tests/test-freopen-safer.c: Likewise.
7484         * tests/test-getopt.c: Likewise.
7485         * tests/test-openat-safer.c: Likewise.
7486         * tests/test-pipe.c: Likewise.
7487         * tests/test-popen-safer.c: Likewise.
7488         * modules/dirent-safer-tests (Files): Include macros.h.
7489         * modules/unistd-safer-tests (Files): Likewise.
7490         * modules/freopen-safer-tests (Files): Likewise.
7491         * modules/getopt-posix-tests (Files): Likewise.
7492         * modules/openat-safer-tests (Files): Likewise.
7493         * modules/pipe-tests (Files): Likewise.
7494
7495 2009-12-26  Bruno Haible  <bruno@clisp.org>
7496
7497         javacomp: Portability fix.
7498         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
7499         that it also works on Solaris.
7500
7501 2009-12-26  Bruno Haible  <bruno@clisp.org>
7502
7503         localename: Fix storage allocation of gl_locale_name_thread's result.
7504         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
7505         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
7506         all platforms that have 'uselocale'.
7507         (gl_locale_name_thread_unsafe): New function, extracted from
7508         gl_locale_name_thread.
7509         (gl_locale_name_thread): Call struniq on all platforms that have
7510         'uselocale'.
7511         * tests/test-localename.c (test_locale_name_thread): Check that the
7512         resulting strings are permanently allocated.
7513         * modules/localename-tests (Depends-on): Add strdup.
7514
7515 2009-12-26  Bruno Haible  <bruno@clisp.org>
7516
7517         * tests/test-localename.c (categories): Fill in the strings.
7518
7519 2009-12-26  Jim Meyering  <meyering@redhat.com>
7520
7521         isdir: complete the removal of m4/isdir.m4
7522         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
7523
7524         isdir: clean up, since at least grep still uses it
7525         * lib/isdir.c: Include "isdir.h".
7526         (S_ISDIR): Remove now-unneeded definition.
7527         * modules/isdir (Files): Add lib/isdir.h.
7528         * lib/isdir.h: New file, with declaration.
7529         * m4/isdir.m4: Remove file -- unneeded.
7530
7531 2009-12-25  Bruno Haible  <bruno@clisp.org>
7532
7533         selinux-h: Make generated .h files standalone.
7534         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
7535         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
7536         * lib/se-selinux.in.h: Likewise.
7537         * modules/selinux-h (Depends-on): Add unused-parameter.
7538         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
7539         selinux/selinux.h and selinux/context.h.
7540         Suggested by Eric Blake.
7541
7542 2009-12-25  Bruno Haible  <bruno@clisp.org>
7543
7544         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
7545         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
7546         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
7547         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
7548         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
7549
7550 2009-12-24  Bruno Haible  <bruno@clisp.org>
7551
7552         openat: Fix warning.
7553         * lib/openat-proc.c: Include <unistd.h>.
7554
7555 2009-12-24  Bruno Haible  <bruno@clisp.org>
7556
7557         New module 'unused-parameter'.
7558         * build-aux/unused-parameter.h: New file, extracted from earlier
7559         gnulib-common.m4.
7560         * modules/unused-parameter: New file.
7561         * lib/unistr.h: Include unused-parameter.h.
7562         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
7563         _GL_UNUSED.
7564         * modules/unistr/base (Depends-on): Add unused-parameter.
7565
7566 2009-12-24  Bruno Haible  <bruno@clisp.org>
7567
7568         Add missing dependencies to 'extensions' module.
7569         * m4/extensions.m4: Add comment.
7570         * modules/accept4 (Depends-on): Add extensions.
7571         * modules/dup3 (Depends-on): Likewise.
7572         * modules/fcntl (Depends-on): Likewise.
7573         * modules/futimens (Depends-on): Likewise.
7574         * modules/mknod (Depends-on): Likewise.
7575         * modules/pipe2 (Depends-on): Likewise.
7576         * modules/stat-time (Depends-on): Likewise.
7577         * modules/strcasestr-simple (Depends-on): Likewise.
7578         * modules/strsignal (Depends-on): Likewise.
7579         * modules/utimensat (Depends-on): Likewise.
7580         * modules/localcharset (Depends-on): Likewise. Needed because of
7581         gl_FCNTL_O_FLAGS.
7582         * modules/wcrtomb (Depends-on): Likewise. Needed because of
7583         AC_TYPE_MBSTATE_T.
7584         * modules/wcsnrtombs (Depends-on): Likewise.
7585         * modules/wcsrtombs (Depends-on): Likewise.
7586
7587 2009-12-24  Bruno Haible  <bruno@clisp.org>
7588
7589         binary-io: Avoid gcc warning due to SET_BINARY.
7590         * lib/binary-io.h (SET_BINARY): Cast the result to void.
7591         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
7592
7593 2009-12-24  Bruno Haible  <bruno@clisp.org>
7594
7595         Avoid future namespace pollution on glibc systems.
7596         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
7597         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
7598         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
7599         glibc systems.
7600
7601 2009-12-24  Bruno Haible  <bruno@clisp.org>
7602
7603         Refactor common macros used in tests.
7604         * tests/macros.h: New file.
7605         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
7606         and/or <stdlib.h>, if appropriate.
7607         (ASSERT, SIZEOF): Remove macros.
7608         * tests/test-areadlink-with-size.c: Likewise.
7609         * tests/test-areadlinkat.c: Likewise.
7610         * tests/test-areadlinkat-with-size.c: Likewise.
7611         * tests/test-argmatch.c: Likewise.
7612         * tests/test-argv-iter.c: Likewise.
7613         * tests/test-array-mergesort.c: Likewise.
7614         * tests/test-array_list.c: Likewise.
7615         * tests/test-array_oset.c: Likewise.
7616         * tests/test-avltree_list.c: Likewise.
7617         * tests/test-avltree_oset.c: Likewise.
7618         * tests/test-avltreehash_list.c: Likewise.
7619         * tests/test-base64.c: Likewise.
7620         * tests/test-binary-io.c: Likewise.
7621         * tests/test-bitrotate.c: Likewise.
7622         * tests/test-btowc.c: Likewise.
7623         * tests/test-byteswap.c: Likewise.
7624         * tests/test-c-ctype.c: Likewise.
7625         * tests/test-c-stack.c: Likewise.
7626         * tests/test-c-strcasecmp.c: Likewise.
7627         * tests/test-c-strcasestr.c: Likewise.
7628         * tests/test-c-strncasecmp.c: Likewise.
7629         * tests/test-c-strstr.c: Likewise.
7630         * tests/test-canonicalize-lgpl.c: Likewise.
7631         * tests/test-canonicalize.c: Likewise.
7632         * tests/test-carray_list.c: Likewise.
7633         * tests/test-ceilf1.c: Likewise.
7634         * tests/test-ceilf2.c: Likewise.
7635         * tests/test-ceill.c: Likewise.
7636         * tests/test-chown.c: Likewise.
7637         * tests/test-cloexec.c: Likewise.
7638         * tests/test-copy-acl.c: Likewise.
7639         * tests/test-copy-file.c: Likewise.
7640         * tests/test-count-one-bits.c: Likewise.
7641         * tests/test-dprintf-posix.c: Likewise.
7642         * tests/test-dup2.c: Likewise.
7643         * tests/test-dup3.c: Likewise.
7644         * tests/test-duplocale.c: Likewise.
7645         * tests/test-fbufmode.c: Likewise.
7646         * tests/test-fchdir.c: Likewise.
7647         * tests/test-fchownat.c: Likewise.
7648         * tests/test-fcntl-safer.c: Likewise.
7649         * tests/test-fcntl.c: Likewise.
7650         * tests/test-fdopendir.c: Likewise.
7651         * tests/test-fdutimensat.c: Likewise.
7652         * tests/test-fflush2.c: Likewise.
7653         * tests/test-file-has-acl.c: Likewise.
7654         * tests/test-filevercmp.c: Likewise.
7655         * tests/test-flock.c: Likewise.
7656         * tests/test-floorf1.c: Likewise.
7657         * tests/test-floorf2.c: Likewise.
7658         * tests/test-floorl.c: Likewise.
7659         * tests/test-fnmatch.c: Likewise.
7660         * tests/test-fopen.h: Likewise.
7661         * tests/test-fpending.c: Likewise.
7662         * tests/test-fprintf-posix.c: Likewise.
7663         * tests/test-fpurge.c: Likewise.
7664         * tests/test-freadable.c: Likewise.
7665         * tests/test-freadahead.c: Likewise.
7666         * tests/test-freading.c: Likewise.
7667         * tests/test-freadptr.c: Likewise.
7668         * tests/test-freadptr2.c: Likewise.
7669         * tests/test-freadseek.c: Likewise.
7670         * tests/test-freopen.c: Likewise.
7671         * tests/test-frexp.c: Likewise.
7672         * tests/test-frexpl.c: Likewise.
7673         * tests/test-fseek.c: Likewise.
7674         * tests/test-fseeko.c: Likewise.
7675         * tests/test-fstatat.c: Likewise.
7676         * tests/test-fstrcmp.c: Likewise.
7677         * tests/test-fsync.c: Likewise.
7678         * tests/test-ftell.c: Likewise.
7679         * tests/test-ftello.c: Likewise.
7680         * tests/test-func.c: Likewise.
7681         * tests/test-futimens.c: Likewise.
7682         * tests/test-fwritable.c: Likewise.
7683         * tests/test-fwriting.c: Likewise.
7684         * tests/test-getcwd.c: Likewise.
7685         * tests/test-getdate.c: Likewise.
7686         * tests/test-getdelim.c: Likewise.
7687         * tests/test-getdtablesize.c: Likewise.
7688         * tests/test-getgroups.c: Likewise.
7689         * tests/test-getline.c: Likewise.
7690         * tests/test-getndelim2.c: Likewise.
7691         * tests/test-glob.c: Likewise.
7692         * tests/test-hash.c: Likewise.
7693         * tests/test-i-ring.c: Likewise.
7694         * tests/test-iconv-utf.c: Likewise.
7695         * tests/test-iconv.c: Likewise.
7696         * tests/test-idpriv-drop.c: Likewise.
7697         * tests/test-idpriv-droptemp.c: Likewise.
7698         * tests/test-inet_ntop.c: Likewise.
7699         * tests/test-inet_pton.c: Likewise.
7700         * tests/test-isblank.c: Likewise.
7701         * tests/test-isfinite.c: Likewise.
7702         * tests/test-isinf.c: Likewise.
7703         * tests/test-isnan.c: Likewise.
7704         * tests/test-isnand.h: Likewise.
7705         * tests/test-isnanf.h: Likewise.
7706         * tests/test-isnanl.h: Likewise.
7707         * tests/test-lchown.c: Likewise.
7708         * tests/test-ldexpl.c: Likewise.
7709         * tests/test-link.c: Likewise.
7710         * tests/test-linkat.c: Likewise.
7711         * tests/test-linked_list.c: Likewise.
7712         * tests/test-linkedhash_list.c: Likewise.
7713         * tests/test-localename.c: Likewise.
7714         * tests/test-lseek.c: Likewise.
7715         * tests/test-lstat.c: Likewise.
7716         * tests/test-mbmemcasecmp.c: Likewise.
7717         * tests/test-mbmemcasecoll.c: Likewise.
7718         * tests/test-mbrtowc.c: Likewise.
7719         * tests/test-mbscasecmp.c: Likewise.
7720         * tests/test-mbscasestr1.c: Likewise.
7721         * tests/test-mbscasestr2.c: Likewise.
7722         * tests/test-mbscasestr3.c: Likewise.
7723         * tests/test-mbscasestr4.c: Likewise.
7724         * tests/test-mbschr.c: Likewise.
7725         * tests/test-mbscspn.c: Likewise.
7726         * tests/test-mbsinit.c: Likewise.
7727         * tests/test-mbsncasecmp.c: Likewise.
7728         * tests/test-mbsnrtowcs.c: Likewise.
7729         * tests/test-mbspbrk.c: Likewise.
7730         * tests/test-mbspcasecmp.c: Likewise.
7731         * tests/test-mbsrchr.c: Likewise.
7732         * tests/test-mbsrtowcs.c: Likewise.
7733         * tests/test-mbsspn.c: Likewise.
7734         * tests/test-mbsstr1.c: Likewise.
7735         * tests/test-mbsstr2.c: Likewise.
7736         * tests/test-mbsstr3.c: Likewise.
7737         * tests/test-memchr.c: Likewise.
7738         * tests/test-memchr2.c: Likewise.
7739         * tests/test-memcmp.c: Likewise.
7740         * tests/test-memmem.c: Likewise.
7741         * tests/test-memrchr.c: Likewise.
7742         * tests/test-mkdir.c: Likewise.
7743         * tests/test-mkdirat.c: Likewise.
7744         * tests/test-mkfifo.c: Likewise.
7745         * tests/test-mkfifoat.c: Likewise.
7746         * tests/test-mknod.c: Likewise.
7747         * tests/test-nanosleep.c: Likewise.
7748         * tests/test-nl_langinfo.c: Likewise.
7749         * tests/test-obstack-printf.c: Likewise.
7750         * tests/test-open.c: Likewise.
7751         * tests/test-openat.c: Likewise.
7752         * tests/test-pipe-filter-gi1.c: Likewise.
7753         * tests/test-pipe-filter-gi2-main.c: Likewise.
7754         * tests/test-pipe-filter-ii1.c: Likewise.
7755         * tests/test-pipe-filter-ii2-main.c: Likewise.
7756         * tests/test-pipe2.c: Likewise.
7757         * tests/test-popen.h: Likewise.
7758         * tests/test-posixtm.c: Likewise.
7759         * tests/test-pread.c: Likewise.
7760         * tests/test-printf-frexp.c: Likewise.
7761         * tests/test-printf-frexpl.c: Likewise.
7762         * tests/test-printf-posix.c: Likewise.
7763         * tests/test-priv-set.c: Likewise.
7764         * tests/test-quotearg.c: Likewise.
7765         * tests/test-random_r.c: Likewise.
7766         * tests/test-rawmemchr.c: Likewise.
7767         * tests/test-rbtree_list.c: Likewise.
7768         * tests/test-rbtree_oset.c: Likewise.
7769         * tests/test-rbtreehash_list.c: Likewise.
7770         * tests/test-readlink.c: Likewise.
7771         * tests/test-remove.c: Likewise.
7772         * tests/test-rename.c: Likewise.
7773         * tests/test-renameat.c: Likewise.
7774         * tests/test-rmdir.c: Likewise.
7775         * tests/test-round1.c: Likewise.
7776         * tests/test-roundf1.c: Likewise.
7777         * tests/test-roundl.c: Likewise.
7778         * tests/test-safe-alloc.c: Likewise.
7779         * tests/test-sameacls.c: Likewise.
7780         * tests/test-set-mode-acl.c: Likewise.
7781         * tests/test-setenv.c: Likewise.
7782         * tests/test-sigaction.c: Likewise.
7783         * tests/test-signbit.c: Likewise.
7784         * tests/test-sleep.c: Likewise.
7785         * tests/test-snprintf-posix.c: Likewise.
7786         * tests/test-snprintf.c: Likewise.
7787         * tests/test-sprintf-posix.c: Likewise.
7788         * tests/test-stat-time.c: Likewise.
7789         * tests/test-stat.c: Likewise.
7790         * tests/test-strcasestr.c: Likewise.
7791         * tests/test-strchrnul.c: Likewise.
7792         * tests/test-strerror.c: Likewise.
7793         * tests/test-striconv.c: Likewise.
7794         * tests/test-striconveh.c: Likewise.
7795         * tests/test-striconveha.c: Likewise.
7796         * tests/test-strsignal.c: Likewise.
7797         * tests/test-strstr.c: Likewise.
7798         * tests/test-strtod.c: Likewise.
7799         * tests/test-strverscmp.c: Likewise.
7800         * tests/test-symlink.c: Likewise.
7801         * tests/test-symlinkat.c: Likewise.
7802         * tests/test-trunc1.c: Likewise.
7803         * tests/test-trunc2.c: Likewise.
7804         * tests/test-truncf1.c: Likewise.
7805         * tests/test-truncf2.c: Likewise.
7806         * tests/test-truncl.c: Likewise.
7807         * tests/test-uname.c: Likewise.
7808         * tests/test-unlink.c: Likewise.
7809         * tests/test-unlinkat.c: Likewise.
7810         * tests/test-unsetenv.c: Likewise.
7811         * tests/test-usleep.c: Likewise.
7812         * tests/test-utimens.c: Likewise.
7813         * tests/test-utimensat.c: Likewise.
7814         * tests/test-vasnprintf-posix.c: Likewise.
7815         * tests/test-vasnprintf-posix2.c: Likewise.
7816         * tests/test-vasnprintf.c: Likewise.
7817         * tests/test-vasprintf-posix.c: Likewise.
7818         * tests/test-vasprintf.c: Likewise.
7819         * tests/test-vdprintf-posix.c: Likewise.
7820         * tests/test-vfprintf-posix.c: Likewise.
7821         * tests/test-vprintf-posix.c: Likewise.
7822         * tests/test-vsnprintf-posix.c: Likewise.
7823         * tests/test-vsnprintf.c: Likewise.
7824         * tests/test-vsprintf-posix.c: Likewise.
7825         * tests/test-wcrtomb.c: Likewise.
7826         * tests/test-wcsnrtombs.c: Likewise.
7827         * tests/test-wcsrtombs.c: Likewise.
7828         * tests/test-wctype.c: Likewise.
7829         * tests/test-wcwidth.c: Likewise.
7830         * tests/test-xfprintf-posix.c: Likewise.
7831         * tests/test-xmemdup0.c: Likewise.
7832         * tests/test-xprintf-posix.c: Likewise.
7833         * tests/test-xvasprintf.c: Likewise.
7834         * tests/unicase/test-locale-language.c: Likewise.
7835         * tests/unicase/test-mapping-part1.h: Likewise.
7836         * tests/unicase/test-predicate-part1.h: Likewise.
7837         * tests/unicase/test-u8-casecmp.c: Likewise.
7838         * tests/unicase/test-u8-casecoll.c: Likewise.
7839         * tests/unicase/test-u8-casefold.c: Likewise.
7840         * tests/unicase/test-u8-is-cased.c: Likewise.
7841         * tests/unicase/test-u8-is-casefolded.c: Likewise.
7842         * tests/unicase/test-u8-is-lowercase.c: Likewise.
7843         * tests/unicase/test-u8-is-titlecase.c: Likewise.
7844         * tests/unicase/test-u8-is-uppercase.c: Likewise.
7845         * tests/unicase/test-u8-tolower.c: Likewise.
7846         * tests/unicase/test-u8-totitle.c: Likewise.
7847         * tests/unicase/test-u8-toupper.c: Likewise.
7848         * tests/unicase/test-u16-casecmp.c: Likewise.
7849         * tests/unicase/test-u16-casecoll.c: Likewise.
7850         * tests/unicase/test-u16-casefold.c: Likewise.
7851         * tests/unicase/test-u16-is-cased.c: Likewise.
7852         * tests/unicase/test-u16-is-casefolded.c: Likewise.
7853         * tests/unicase/test-u16-is-lowercase.c: Likewise.
7854         * tests/unicase/test-u16-is-titlecase.c: Likewise.
7855         * tests/unicase/test-u16-is-uppercase.c: Likewise.
7856         * tests/unicase/test-u16-tolower.c: Likewise.
7857         * tests/unicase/test-u16-totitle.c: Likewise.
7858         * tests/unicase/test-u16-toupper.c: Likewise.
7859         * tests/unicase/test-u32-casecmp.c: Likewise.
7860         * tests/unicase/test-u32-casecoll.c: Likewise.
7861         * tests/unicase/test-u32-casefold.c: Likewise.
7862         * tests/unicase/test-u32-is-cased.c: Likewise.
7863         * tests/unicase/test-u32-is-casefolded.c: Likewise.
7864         * tests/unicase/test-u32-is-lowercase.c: Likewise.
7865         * tests/unicase/test-u32-is-titlecase.c: Likewise.
7866         * tests/unicase/test-u32-is-uppercase.c: Likewise.
7867         * tests/unicase/test-u32-tolower.c: Likewise.
7868         * tests/unicase/test-u32-totitle.c: Likewise.
7869         * tests/unicase/test-u32-toupper.c: Likewise.
7870         * tests/unicase/test-ulc-casecmp.c: Likewise.
7871         * tests/unicase/test-ulc-casecoll.c: Likewise.
7872         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
7873         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
7874         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
7875         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
7876         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
7877         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
7878         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
7879         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
7880         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
7881         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
7882         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
7883         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
7884         * tests/unictype/test-bidi_byname.c: Likewise.
7885         * tests/unictype/test-bidi_name.c: Likewise.
7886         * tests/unictype/test-bidi_of.c: Likewise.
7887         * tests/unictype/test-bidi_test.c: Likewise.
7888         * tests/unictype/test-block_list.c: Likewise.
7889         * tests/unictype/test-block_of.c: Likewise.
7890         * tests/unictype/test-block_test.c: Likewise.
7891         * tests/unictype/test-categ_and.c: Likewise.
7892         * tests/unictype/test-categ_and_not.c: Likewise.
7893         * tests/unictype/test-categ_byname.c: Likewise.
7894         * tests/unictype/test-categ_name.c: Likewise.
7895         * tests/unictype/test-categ_none.c: Likewise.
7896         * tests/unictype/test-categ_of.c: Likewise.
7897         * tests/unictype/test-categ_or.c: Likewise.
7898         * tests/unictype/test-categ_test_withtable.c: Likewise.
7899         * tests/unictype/test-combining.c: Likewise.
7900         * tests/unictype/test-decdigit.c: Likewise.
7901         * tests/unictype/test-digit.c: Likewise.
7902         * tests/unictype/test-mirror.c: Likewise.
7903         * tests/unictype/test-numeric.c: Likewise.
7904         * tests/unictype/test-pr_byname.c: Likewise.
7905         * tests/unictype/test-pr_test.c: Likewise.
7906         * tests/unictype/test-predicate-part1.h: Likewise.
7907         * tests/unictype/test-scripts.c: Likewise.
7908         * tests/unictype/test-sy_c_ident.c: Likewise.
7909         * tests/unictype/test-sy_java_ident.c: Likewise.
7910         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
7911         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
7912         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
7913         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
7914         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
7915         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
7916         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
7917         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
7918         * tests/uninorm/test-canonical-decomposition.c: Likewise.
7919         * tests/uninorm/test-compat-decomposition.c: Likewise.
7920         * tests/uninorm/test-composition.c: Likewise.
7921         * tests/uninorm/test-decomposing-form.c: Likewise.
7922         * tests/uninorm/test-decomposition.c: Likewise.
7923         * tests/uninorm/test-u8-nfc.c: Likewise.
7924         * tests/uninorm/test-u8-nfd.c: Likewise.
7925         * tests/uninorm/test-u8-nfkc.c: Likewise.
7926         * tests/uninorm/test-u8-nfkd.c: Likewise.
7927         * tests/uninorm/test-u8-normcmp.c: Likewise.
7928         * tests/uninorm/test-u8-normcoll.c: Likewise.
7929         * tests/uninorm/test-u16-nfc.c: Likewise.
7930         * tests/uninorm/test-u16-nfd.c: Likewise.
7931         * tests/uninorm/test-u16-nfkc.c: Likewise.
7932         * tests/uninorm/test-u16-nfkd.c: Likewise.
7933         * tests/uninorm/test-u16-normcmp.c: Likewise.
7934         * tests/uninorm/test-u16-normcoll.c: Likewise.
7935         * tests/uninorm/test-u32-nfc.c: Likewise.
7936         * tests/uninorm/test-u32-nfd.c: Likewise.
7937         * tests/uninorm/test-u32-nfkc.c: Likewise.
7938         * tests/uninorm/test-u32-nfkd.c: Likewise.
7939         * tests/uninorm/test-u32-normalize-big.c: Likewise.
7940         * tests/uninorm/test-u32-normcmp.c: Likewise.
7941         * tests/uninorm/test-u32-normcoll.c: Likewise.
7942         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
7943         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
7944         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
7945         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
7946         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
7947         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
7948         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
7949         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
7950         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
7951         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
7952         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
7953         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
7954         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
7955         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
7956         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
7957         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
7958         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
7959         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
7960         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
7961         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
7962         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
7963         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
7964         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
7965         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
7966         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
7967         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
7968         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
7969         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
7970         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
7971         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
7972         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
7973         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
7974         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
7975         * tests/uniwidth/test-u8-strwidth.c: Likewise.
7976         * tests/uniwidth/test-u8-width.c: Likewise.
7977         * tests/uniwidth/test-u16-strwidth.c: Likewise.
7978         * tests/uniwidth/test-u16-width.c: Likewise.
7979         * tests/uniwidth/test-u32-strwidth.c: Likewise.
7980         * tests/uniwidth/test-u32-width.c: Likewise.
7981         * tests/uniwidth/test-uc_width.c: Likewise.
7982         * tests/uniwidth/test-uc_width2.c: Likewise.
7983         * modules/acl-tests (Files): Add tests/macros.h.
7984         * modules/areadlink-tests (Files): Likewise.
7985         * modules/areadlink-with-size-tests (Files): Likewise.
7986         * modules/areadlinkat-tests (Files): Likewise.
7987         * modules/areadlinkat-with-size-tests (Files): Likewise.
7988         * modules/argmatch-tests (Files): Likewise.
7989         * modules/argv-iter-tests (Files): Likewise.
7990         * modules/array-list-tests (Files): Likewise.
7991         * modules/array-mergesort-tests (Files): Likewise.
7992         * modules/array-oset-tests (Files): Likewise.
7993         * modules/avltree-list-tests (Files): Likewise.
7994         * modules/avltree-oset-tests (Files): Likewise.
7995         * modules/avltreehash-list-tests (Files): Likewise.
7996         * modules/base64-tests (Files): Likewise.
7997         * modules/binary-io-tests (Files): Likewise.
7998         * modules/bitrotate-tests (Files): Likewise.
7999         * modules/btowc-tests (Files): Likewise.
8000         * modules/byteswap-tests (Files): Likewise.
8001         * modules/c-ctype-tests (Files): Likewise.
8002         * modules/c-stack-tests (Files): Likewise.
8003         * modules/c-strcase-tests (Files): Likewise.
8004         * modules/c-strcasestr-tests (Files): Likewise.
8005         * modules/c-strstr-tests (Files): Likewise.
8006         * modules/canonicalize-lgpl-tests (Files): Likewise.
8007         * modules/canonicalize-tests (Files): Likewise.
8008         * modules/carray-list-tests (Files): Likewise.
8009         * modules/ceilf-tests (Files): Likewise.
8010         * modules/ceill-tests (Files): Likewise.
8011         * modules/chown-tests (Files): Likewise.
8012         * modules/cloexec-tests (Files): Likewise.
8013         * modules/copy-file-tests (Files): Likewise.
8014         * modules/count-one-bits-tests (Files): Likewise.
8015         * modules/dprintf-posix-tests (Files): Likewise.
8016         * modules/dup2-tests (Files): Likewise.
8017         * modules/dup3-tests (Files): Likewise.
8018         * modules/duplocale-tests (Files): Likewise.
8019         * modules/fbufmode-tests (Files): Likewise.
8020         * modules/fchdir-tests (Files): Likewise.
8021         * modules/fcntl-safer-tests (Files): Likewise.
8022         * modules/fcntl-tests (Files): Likewise.
8023         * modules/fdopendir-tests (Files): Likewise.
8024         * modules/fdutimensat-tests (Files): Likewise.
8025         * modules/fflush-tests (Files): Likewise.
8026         * modules/filevercmp-tests (Files): Likewise.
8027         * modules/flock-tests (Files): Likewise.
8028         * modules/floorf-tests (Files): Likewise.
8029         * modules/floorl-tests (Files): Likewise.
8030         * modules/fnmatch-tests (Files): Likewise.
8031         * modules/fopen-safer-tests (Files): Likewise.
8032         * modules/fopen-tests (Files): Likewise.
8033         * modules/fpending-tests (Files): Likewise.
8034         * modules/fprintf-posix-tests (Files): Likewise.
8035         * modules/fpurge-tests (Files): Likewise.
8036         * modules/freadable-tests (Files): Likewise.
8037         * modules/freadahead-tests (Files): Likewise.
8038         * modules/freading-tests (Files): Likewise.
8039         * modules/freadptr-tests (Files): Likewise.
8040         * modules/freadseek-tests (Files): Likewise.
8041         * modules/freopen-tests (Files): Likewise.
8042         * modules/frexp-nolibm-tests (Files): Likewise.
8043         * modules/frexp-tests (Files): Likewise.
8044         * modules/frexpl-nolibm-tests (Files): Likewise.
8045         * modules/frexpl-tests (Files): Likewise.
8046         * modules/fseek-tests (Files): Likewise.
8047         * modules/fseeko-tests (Files): Likewise.
8048         * modules/fstrcmp-tests (Files): Likewise.
8049         * modules/fsync-tests (Files): Likewise.
8050         * modules/ftell-tests (Files): Likewise.
8051         * modules/ftello-tests (Files): Likewise.
8052         * modules/func-tests (Files): Likewise.
8053         * modules/futimens-tests (Files): Likewise.
8054         * modules/fwritable-tests (Files): Likewise.
8055         * modules/fwriting-tests (Files): Likewise.
8056         * modules/getcwd-tests (Files): Likewise.
8057         * modules/getdate-tests (Files): Likewise.
8058         * modules/getdelim-tests (Files): Likewise.
8059         * modules/getdtablesize-tests (Files): Likewise.
8060         * modules/getgroups-tests (Files): Likewise.
8061         * modules/getline-tests (Files): Likewise.
8062         * modules/getndelim2-tests (Files): Likewise.
8063         * modules/glob-tests (Files): Likewise.
8064         * modules/hash-tests (Files): Likewise.
8065         * modules/i-ring-tests (Files): Likewise.
8066         * modules/iconv-tests (Files): Likewise.
8067         * modules/iconv_open-utf-tests (Files): Likewise.
8068         * modules/idpriv-drop-tests (Files): Likewise.
8069         * modules/idpriv-droptemp-tests (Files): Likewise.
8070         * modules/inet_ntop-tests (Files): Likewise.
8071         * modules/inet_pton-tests (Files): Likewise.
8072         * modules/isblank-tests (Files): Likewise.
8073         * modules/isfinite-tests (Files): Likewise.
8074         * modules/isinf-tests (Files): Likewise.
8075         * modules/isnan-tests (Files): Likewise.
8076         * modules/isnand-nolibm-tests (Files): Likewise.
8077         * modules/isnand-tests (Files): Likewise.
8078         * modules/isnanf-nolibm-tests (Files): Likewise.
8079         * modules/isnanf-tests (Files): Likewise.
8080         * modules/isnanl-nolibm-tests (Files): Likewise.
8081         * modules/isnanl-tests (Files): Likewise.
8082         * modules/lchown-tests (Files): Likewise.
8083         * modules/ldexpl-tests (Files): Likewise.
8084         * modules/link-tests (Files): Likewise.
8085         * modules/linkat-tests (Files): Likewise.
8086         * modules/linked-list-tests (Files): Likewise.
8087         * modules/linkedhash-list-tests (Files): Likewise.
8088         * modules/localename-tests (Files): Likewise.
8089         * modules/lseek-tests (Files): Likewise.
8090         * modules/lstat-tests (Files): Likewise.
8091         * modules/mbmemcasecmp-tests (Files): Likewise.
8092         * modules/mbmemcasecoll-tests (Files): Likewise.
8093         * modules/mbrtowc-tests (Files): Likewise.
8094         * modules/mbscasecmp-tests (Files): Likewise.
8095         * modules/mbscasestr-tests (Files): Likewise.
8096         * modules/mbschr-tests (Files): Likewise.
8097         * modules/mbscspn-tests (Files): Likewise.
8098         * modules/mbsinit-tests (Files): Likewise.
8099         * modules/mbsncasecmp-tests (Files): Likewise.
8100         * modules/mbsnrtowcs-tests (Files): Likewise.
8101         * modules/mbspbrk-tests (Files): Likewise.
8102         * modules/mbspcasecmp-tests (Files): Likewise.
8103         * modules/mbsrchr-tests (Files): Likewise.
8104         * modules/mbsrtowcs-tests (Files): Likewise.
8105         * modules/mbsspn-tests (Files): Likewise.
8106         * modules/mbsstr-tests (Files): Likewise.
8107         * modules/memchr-tests (Files): Likewise.
8108         * modules/memchr2-tests (Files): Likewise.
8109         * modules/memcmp-tests (Files): Likewise.
8110         * modules/memmem-tests (Files): Likewise.
8111         * modules/memrchr-tests (Files): Likewise.
8112         * modules/mkdir-tests (Files): Likewise.
8113         * modules/mkfifo-tests (Files): Likewise.
8114         * modules/mkfifoat-tests (Files): Likewise.
8115         * modules/mknod-tests (Files): Likewise.
8116         * modules/nanosleep-tests (Files): Likewise.
8117         * modules/nl_langinfo-tests (Files): Likewise.
8118         * modules/obstack-printf-tests (Files): Likewise.
8119         * modules/open-tests (Files): Likewise.
8120         * modules/openat-tests (Files): Likewise.
8121         * modules/pipe-filter-gi-tests (Files): Likewise.
8122         * modules/pipe-filter-ii-tests (Files): Likewise.
8123         * modules/pipe2-tests (Files): Likewise.
8124         * modules/popen-safer-tests (Files): Likewise.
8125         * modules/popen-tests (Files): Likewise.
8126         * modules/posixtm-tests (Files): Likewise.
8127         * modules/pread-tests (Files): Likewise.
8128         * modules/printf-frexp-tests (Files): Likewise.
8129         * modules/printf-frexpl-tests (Files): Likewise.
8130         * modules/printf-posix-tests (Files): Likewise.
8131         * modules/priv-set-tests (Files): Likewise.
8132         * modules/quotearg-tests (Files): Likewise.
8133         * modules/random_r-tests (Files): Likewise.
8134         * modules/rawmemchr-tests (Files): Likewise.
8135         * modules/rbtree-list-tests (Files): Likewise.
8136         * modules/rbtree-oset-tests (Files): Likewise.
8137         * modules/rbtreehash-list-tests (Files): Likewise.
8138         * modules/readlink-tests (Files): Likewise.
8139         * modules/remove-tests (Files): Likewise.
8140         * modules/rename-tests (Files): Likewise.
8141         * modules/renameat-tests (Files): Likewise.
8142         * modules/rmdir-tests (Files): Likewise.
8143         * modules/round-tests (Files): Likewise.
8144         * modules/roundf-tests (Files): Likewise.
8145         * modules/roundl-tests (Files): Likewise.
8146         * modules/safe-alloc-tests (Files): Likewise.
8147         * modules/setenv-tests (Files): Likewise.
8148         * modules/sigaction-tests (Files): Likewise.
8149         * modules/signbit-tests (Files): Likewise.
8150         * modules/sleep-tests (Files): Likewise.
8151         * modules/snprintf-posix-tests (Files): Likewise.
8152         * modules/snprintf-tests (Files): Likewise.
8153         * modules/sprintf-posix-tests (Files): Likewise.
8154         * modules/stat-tests (Files): Likewise.
8155         * modules/stat-time-tests (Files): Likewise.
8156         * modules/strcasestr-tests (Files): Likewise.
8157         * modules/strchrnul-tests (Files): Likewise.
8158         * modules/strerror-tests (Files): Likewise.
8159         * modules/striconv-tests (Files): Likewise.
8160         * modules/striconveh-tests (Files): Likewise.
8161         * modules/striconveha-tests (Files): Likewise.
8162         * modules/strsignal-tests (Files): Likewise.
8163         * modules/strstr-tests (Files): Likewise.
8164         * modules/strtod-tests (Files): Likewise.
8165         * modules/strverscmp-tests (Files): Likewise.
8166         * modules/symlink-tests (Files): Likewise.
8167         * modules/symlinkat-tests (Files): Likewise.
8168         * modules/trunc-tests (Files): Likewise.
8169         * modules/truncf-tests (Files): Likewise.
8170         * modules/truncl-tests (Files): Likewise.
8171         * modules/uname-tests (Files): Likewise.
8172         * modules/unicase/cased-tests (Files): Likewise.
8173         * modules/unicase/ignorable-tests (Files): Likewise.
8174         * modules/unicase/locale-language-tests (Files): Likewise.
8175         * modules/unicase/tolower-tests (Files): Likewise.
8176         * modules/unicase/totitle-tests (Files): Likewise.
8177         * modules/unicase/toupper-tests (Files): Likewise.
8178         * modules/unicase/u8-casecmp-tests (Files): Likewise.
8179         * modules/unicase/u8-casecoll-tests (Files): Likewise.
8180         * modules/unicase/u8-casefold-tests (Files): Likewise.
8181         * modules/unicase/u8-is-cased-tests (Files): Likewise.
8182         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
8183         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
8184         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
8185         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
8186         * modules/unicase/u8-tolower-tests (Files): Likewise.
8187         * modules/unicase/u8-totitle-tests (Files): Likewise.
8188         * modules/unicase/u8-toupper-tests (Files): Likewise.
8189         * modules/unicase/u16-casecmp-tests (Files): Likewise.
8190         * modules/unicase/u16-casecoll-tests (Files): Likewise.
8191         * modules/unicase/u16-casefold-tests (Files): Likewise.
8192         * modules/unicase/u16-is-cased-tests (Files): Likewise.
8193         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
8194         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
8195         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
8196         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
8197         * modules/unicase/u16-tolower-tests (Files): Likewise.
8198         * modules/unicase/u16-totitle-tests (Files): Likewise.
8199         * modules/unicase/u16-toupper-tests (Files): Likewise.
8200         * modules/unicase/u32-casecmp-tests (Files): Likewise.
8201         * modules/unicase/u32-casecoll-tests (Files): Likewise.
8202         * modules/unicase/u32-casefold-tests (Files): Likewise.
8203         * modules/unicase/u32-is-cased-tests (Files): Likewise.
8204         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
8205         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
8206         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
8207         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
8208         * modules/unicase/u32-tolower-tests (Files): Likewise.
8209         * modules/unicase/u32-totitle-tests (Files): Likewise.
8210         * modules/unicase/u32-toupper-tests (Files): Likewise.
8211         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
8212         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
8213         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
8214         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
8215         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
8216         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
8217         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
8218         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
8219         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
8220         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
8221         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
8222         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
8223         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
8224         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
8225         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
8226         * modules/unictype/bidicategory-name-tests (Files): Likewise.
8227         * modules/unictype/bidicategory-of-tests (Files): Likewise.
8228         * modules/unictype/bidicategory-test-tests (Files): Likewise.
8229         * modules/unictype/block-list-tests (Files): Likewise.
8230         * modules/unictype/block-of-tests (Files): Likewise.
8231         * modules/unictype/block-test-tests (Files): Likewise.
8232         * modules/unictype/category-C-tests (Files): Likewise.
8233         * modules/unictype/category-Cc-tests (Files): Likewise.
8234         * modules/unictype/category-Cf-tests (Files): Likewise.
8235         * modules/unictype/category-Cn-tests (Files): Likewise.
8236         * modules/unictype/category-Co-tests (Files): Likewise.
8237         * modules/unictype/category-Cs-tests (Files): Likewise.
8238         * modules/unictype/category-L-tests (Files): Likewise.
8239         * modules/unictype/category-Ll-tests (Files): Likewise.
8240         * modules/unictype/category-Lm-tests (Files): Likewise.
8241         * modules/unictype/category-Lo-tests (Files): Likewise.
8242         * modules/unictype/category-Lt-tests (Files): Likewise.
8243         * modules/unictype/category-Lu-tests (Files): Likewise.
8244         * modules/unictype/category-M-tests (Files): Likewise.
8245         * modules/unictype/category-Mc-tests (Files): Likewise.
8246         * modules/unictype/category-Me-tests (Files): Likewise.
8247         * modules/unictype/category-Mn-tests (Files): Likewise.
8248         * modules/unictype/category-N-tests (Files): Likewise.
8249         * modules/unictype/category-Nd-tests (Files): Likewise.
8250         * modules/unictype/category-Nl-tests (Files): Likewise.
8251         * modules/unictype/category-No-tests (Files): Likewise.
8252         * modules/unictype/category-P-tests (Files): Likewise.
8253         * modules/unictype/category-Pc-tests (Files): Likewise.
8254         * modules/unictype/category-Pd-tests (Files): Likewise.
8255         * modules/unictype/category-Pe-tests (Files): Likewise.
8256         * modules/unictype/category-Pf-tests (Files): Likewise.
8257         * modules/unictype/category-Pi-tests (Files): Likewise.
8258         * modules/unictype/category-Po-tests (Files): Likewise.
8259         * modules/unictype/category-Ps-tests (Files): Likewise.
8260         * modules/unictype/category-S-tests (Files): Likewise.
8261         * modules/unictype/category-Sc-tests (Files): Likewise.
8262         * modules/unictype/category-Sk-tests (Files): Likewise.
8263         * modules/unictype/category-Sm-tests (Files): Likewise.
8264         * modules/unictype/category-So-tests (Files): Likewise.
8265         * modules/unictype/category-Z-tests (Files): Likewise.
8266         * modules/unictype/category-Zl-tests (Files): Likewise.
8267         * modules/unictype/category-Zp-tests (Files): Likewise.
8268         * modules/unictype/category-Zs-tests (Files): Likewise.
8269         * modules/unictype/category-and-not-tests (Files): Likewise.
8270         * modules/unictype/category-and-tests (Files): Likewise.
8271         * modules/unictype/category-byname-tests (Files): Likewise.
8272         * modules/unictype/category-name-tests (Files): Likewise.
8273         * modules/unictype/category-none-tests (Files): Likewise.
8274         * modules/unictype/category-of-tests (Files): Likewise.
8275         * modules/unictype/category-or-tests (Files): Likewise.
8276         * modules/unictype/category-test-withtable-tests (Files): Likewise.
8277         * modules/unictype/combining-class-tests (Files): Likewise.
8278         * modules/unictype/ctype-alnum-tests (Files): Likewise.
8279         * modules/unictype/ctype-alpha-tests (Files): Likewise.
8280         * modules/unictype/ctype-blank-tests (Files): Likewise.
8281         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
8282         * modules/unictype/ctype-digit-tests (Files): Likewise.
8283         * modules/unictype/ctype-graph-tests (Files): Likewise.
8284         * modules/unictype/ctype-lower-tests (Files): Likewise.
8285         * modules/unictype/ctype-print-tests (Files): Likewise.
8286         * modules/unictype/ctype-punct-tests (Files): Likewise.
8287         * modules/unictype/ctype-space-tests (Files): Likewise.
8288         * modules/unictype/ctype-upper-tests (Files): Likewise.
8289         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
8290         * modules/unictype/decimal-digit-tests (Files): Likewise.
8291         * modules/unictype/digit-tests (Files): Likewise.
8292         * modules/unictype/mirror-tests (Files): Likewise.
8293         * modules/unictype/numeric-tests (Files): Likewise.
8294         * modules/unictype/property-alphabetic-tests (Files): Likewise.
8295         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
8296         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
8297         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
8298         Likewise.
8299         * modules/unictype/property-bidi-block-separator-tests (Files):
8300         Likewise.
8301         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
8302         Likewise.
8303         * modules/unictype/property-bidi-common-separator-tests (Files):
8304         Likewise.
8305         * modules/unictype/property-bidi-control-tests (Files): Likewise.
8306         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
8307         Likewise.
8308         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
8309         Likewise.
8310         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
8311         Likewise.
8312         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
8313         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
8314         Likewise.
8315         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
8316         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
8317         Likewise.
8318         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
8319         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
8320         * modules/unictype/property-bidi-segment-separator-tests (Files):
8321         Likewise.
8322         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
8323         * modules/unictype/property-byname-tests (Files): Likewise.
8324         * modules/unictype/property-combining-tests (Files): Likewise.
8325         * modules/unictype/property-composite-tests (Files): Likewise.
8326         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
8327         * modules/unictype/property-dash-tests (Files): Likewise.
8328         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
8329         * modules/unictype/property-default-ignorable-code-point-tests (Files):
8330         Likewise.
8331         * modules/unictype/property-deprecated-tests (Files): Likewise.
8332         * modules/unictype/property-diacritic-tests (Files): Likewise.
8333         * modules/unictype/property-extender-tests (Files): Likewise.
8334         * modules/unictype/property-format-control-tests (Files): Likewise.
8335         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
8336         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
8337         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
8338         * modules/unictype/property-hex-digit-tests (Files): Likewise.
8339         * modules/unictype/property-hyphen-tests (Files): Likewise.
8340         * modules/unictype/property-id-continue-tests (Files): Likewise.
8341         * modules/unictype/property-id-start-tests (Files): Likewise.
8342         * modules/unictype/property-ideographic-tests (Files): Likewise.
8343         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
8344         * modules/unictype/property-ids-trinary-operator-tests (Files):
8345         Likewise.
8346         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
8347         * modules/unictype/property-iso-control-tests (Files): Likewise.
8348         * modules/unictype/property-join-control-tests (Files): Likewise.
8349         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
8350         * modules/unictype/property-line-separator-tests (Files): Likewise.
8351         * modules/unictype/property-logical-order-exception-tests (Files):
8352         Likewise.
8353         * modules/unictype/property-lowercase-tests (Files): Likewise.
8354         * modules/unictype/property-math-tests (Files): Likewise.
8355         * modules/unictype/property-non-break-tests (Files): Likewise.
8356         * modules/unictype/property-not-a-character-tests (Files): Likewise.
8357         * modules/unictype/property-numeric-tests (Files): Likewise.
8358         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
8359         * modules/unictype/property-other-default-ignorable-code-point-tests
8360         (Files): Likewise.
8361         * modules/unictype/property-other-grapheme-extend-tests (Files):
8362         Likewise.
8363         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
8364         * modules/unictype/property-other-id-start-tests (Files): Likewise.
8365         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
8366         * modules/unictype/property-other-math-tests (Files): Likewise.
8367         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
8368         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
8369         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
8370         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
8371         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
8372         * modules/unictype/property-private-use-tests (Files): Likewise.
8373         * modules/unictype/property-punctuation-tests (Files): Likewise.
8374         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
8375         * modules/unictype/property-radical-tests (Files): Likewise.
8376         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
8377         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
8378         * modules/unictype/property-space-tests (Files): Likewise.
8379         * modules/unictype/property-terminal-punctuation-tests (Files):
8380         Likewise.
8381         * modules/unictype/property-test-tests (Files): Likewise.
8382         * modules/unictype/property-titlecase-tests (Files): Likewise.
8383         * modules/unictype/property-unassigned-code-value-tests (Files):
8384         Likewise.
8385         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
8386         * modules/unictype/property-uppercase-tests (Files): Likewise.
8387         * modules/unictype/property-variation-selector-tests (Files): Likewise.
8388         * modules/unictype/property-white-space-tests (Files): Likewise.
8389         * modules/unictype/property-xid-continue-tests (Files): Likewise.
8390         * modules/unictype/property-xid-start-tests (Files): Likewise.
8391         * modules/unictype/property-zero-width-tests (Files): Likewise.
8392         * modules/unictype/scripts-tests (Files): Likewise.
8393         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
8394         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
8395         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
8396         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
8397         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
8398         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
8399         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
8400         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
8401         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
8402         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
8403         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
8404         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
8405         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
8406         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
8407         * modules/uninorm/composition-tests (Files): Likewise.
8408         * modules/uninorm/decomposing-form-tests (Files): Likewise.
8409         * modules/uninorm/decomposition-tests (Files): Likewise.
8410         * modules/uninorm/filter-tests (Files): Likewise.
8411         * modules/uninorm/nfc-tests (Files): Likewise.
8412         * modules/uninorm/nfd-tests (Files): Likewise.
8413         * modules/uninorm/nfkc-tests (Files): Likewise.
8414         * modules/uninorm/nfkd-tests (Files): Likewise.
8415         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
8416         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
8417         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
8418         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
8419         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
8420         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
8421         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
8422         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
8423         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
8424         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
8425         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
8426         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
8427         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
8428         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
8429         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
8430         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
8431         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
8432         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
8433         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
8434         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
8435         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
8436         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
8437         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
8438         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
8439         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
8440         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
8441         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
8442         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
8443         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
8444         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
8445         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
8446         * modules/uniwidth/u8-width-tests (Files): Likewise.
8447         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
8448         * modules/uniwidth/u16-width-tests (Files): Likewise.
8449         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
8450         * modules/uniwidth/u32-width-tests (Files): Likewise.
8451         * modules/uniwidth/width-tests (Files): Likewise.
8452         * modules/unlink-tests (Files): Likewise.
8453         * modules/unsetenv-tests (Files): Likewise.
8454         * modules/usleep-tests (Files): Likewise.
8455         * modules/utimens-tests (Files): Likewise.
8456         * modules/utimensat-tests (Files): Likewise.
8457         * modules/vasnprintf-posix-tests (Files): Likewise.
8458         * modules/vasnprintf-tests (Files): Likewise.
8459         * modules/vasprintf-posix-tests (Files): Likewise.
8460         * modules/vasprintf-tests (Files): Likewise.
8461         * modules/vdprintf-posix-tests (Files): Likewise.
8462         * modules/vfprintf-posix-tests (Files): Likewise.
8463         * modules/vprintf-posix-tests (Files): Likewise.
8464         * modules/vsnprintf-posix-tests (Files): Likewise.
8465         * modules/vsnprintf-tests (Files): Likewise.
8466         * modules/vsprintf-posix-tests (Files): Likewise.
8467         * modules/wcrtomb-tests (Files): Likewise.
8468         * modules/wcsnrtombs-tests (Files): Likewise.
8469         * modules/wcsrtombs-tests (Files): Likewise.
8470         * modules/wctype-tests (Files): Likewise.
8471         * modules/wcwidth-tests (Files): Likewise.
8472         * modules/xmemdup0-tests (Files): Likewise.
8473         * modules/xprintf-posix-tests (Files): Likewise.
8474         * modules/xvasprintf-tests (Files): Likewise.
8475
8476 2009-12-24  Eric Blake  <ebb9@byu.net>
8477
8478         test-nanosleep: fix typo
8479         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
8480         patch.
8481         Reported by Bruno Haible.
8482
8483 2009-12-24  Bruno Haible  <bruno@clisp.org>
8484
8485         Reduce namespace pollution on glibc systems.
8486         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
8487         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
8488         systems.
8489         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
8490         <getopt.h> on glibc systems.
8491         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
8492         systems.
8493         * lib/fcntl.c: Include <unistd.h> here instead.
8494
8495 2009-12-24  Bruno Haible  <bruno@clisp.org>
8496
8497         * lib/stdlib.in.h (includes): Fix typo in today's commit.
8498
8499 2009-12-24  Eric Blake  <ebb9@byu.net>
8500
8501         tests: add signature checks
8502         * tests/signature.h (SIGNATURE_CHECK): New file.
8503         * modules/atexit-tests (Files): Use it.
8504         * modules/btowc-tests (Files): Likewise.
8505         * modules/canonicalize-lgpl-tests (Files): Likewise.
8506         * modules/ceilf-tests (Files): Likewise.
8507         * modules/ceill-tests (Files): Likewise.
8508         * modules/chown-tests (Files): Likewise.
8509         * modules/dprintf-posix-tests (Files): Likewise.
8510         * modules/dup2-tests (Files): Likewise.
8511         * modules/dup3-tests (Files): Likewise.
8512         * modules/duplocale-tests (Files): Likewise.
8513         * modules/fchdir-tests (Files): Likewise.
8514         * modules/fcntl-tests (Files): Likewise.
8515         * modules/fdopendir-tests (Files): Likewise.
8516         * modules/fflush-tests (Files): Likewise.
8517         * modules/flock-tests (Files): Likewise.
8518         * modules/floorf-tests (Files): Likewise.
8519         * modules/floorl-tests (Files): Likewise.
8520         * modules/fnmatch-tests (Files): Likewise.
8521         * modules/fopen-tests (Files): Likewise.
8522         * modules/fprintf-posix-tests (Files): Likewise.
8523         * modules/freopen-tests (Files): Likewise.
8524         * modules/frexp-nolibm-tests (Files): Likewise.
8525         * modules/frexp-tests (Files): Likewise.
8526         * modules/frexpl-nolibm-tests (Files): Likewise.
8527         * modules/frexpl-tests (Files): Likewise.
8528         * modules/fseek-tests (Files): Likewise.
8529         * modules/fseeko-tests (Files): Likewise.
8530         * modules/fsync-tests (Files): Likewise.
8531         * modules/ftell-tests (Files): Likewise.
8532         * modules/ftello-tests (Files): Likewise.
8533         * modules/futimens-tests (Files): Likewise.
8534         * modules/getaddrinfo-tests (Files): Likewise.
8535         * modules/getcwd-tests (Files): Likewise.
8536         * modules/getdelim-tests (Files): Likewise.
8537         * modules/getdtablesize-tests (Files): Likewise.
8538         * modules/getgroups-tests (Files): Likewise.
8539         * modules/gethostname-tests (Files): Likewise.
8540         * modules/getline-tests (Files): Likewise.
8541         * modules/getopt-posix-tests (Files): Likewise.
8542         * modules/gettimeofday-tests (Files): Likewise.
8543         * modules/glob-tests (Files): Likewise.
8544         * modules/iconv-tests (Files): Likewise.
8545         * modules/inet_ntop-tests (Files): Likewise.
8546         * modules/inet_pton-tests (Files): Likewise.
8547         * modules/isblank-tests (Files): Likewise.
8548         * modules/lchown-tests (Files): Likewise.
8549         * modules/ldexpl-tests (Files): Likewise.
8550         * modules/link-tests (Files): Likewise.
8551         * modules/linkat-tests (Files): Likewise.
8552         * modules/lseek-tests (Files): Likewise.
8553         * modules/lstat-tests (Files): Likewise.
8554         * modules/mbrtowc-tests (Files): Likewise.
8555         * modules/mbsinit-tests (Files): Likewise.
8556         * modules/mbsnrtowcs-tests (Files): Likewise.
8557         * modules/mbsrtowcs-tests (Files): Likewise.
8558         * modules/memchr-tests (Files): Likewise.
8559         * modules/memcmp-tests (Files): Likewise.
8560         * modules/memmem-tests (Files): Likewise.
8561         * modules/memrchr-tests (Files): Likewise.
8562         * modules/mkdir-tests (Files): Likewise.
8563         * modules/mkfifo-tests (Files): Likewise.
8564         * modules/mkfifoat-tests (Files): Likewise.
8565         * modules/mknod-tests (Files): Likewise.
8566         * modules/nanosleep-tests (Files): Likewise.
8567         * modules/nl_langinfo-tests (Files): Likewise.
8568         * modules/obstack-printf-tests (Files): Likewise.
8569         * modules/open-tests (Files): Likewise.
8570         * modules/openat-tests (Files): Likewise.
8571         * modules/perror-tests (Files): Likewise.
8572         * modules/pipe2-tests (Files): Likewise.
8573         * modules/poll-tests (Files): Likewise.
8574         * modules/popen-tests (Files): Likewise.
8575         * modules/posix_spawn-tests (Files): Likewise.
8576         * modules/posix_spawnp-tests (Files): Likewise.
8577         * modules/pread-tests (Files): Likewise.
8578         * modules/printf-posix-tests (Files): Likewise.
8579         * modules/pty-tests (Files): Likewise.
8580         * modules/random_r-tests (Files): Likewise.
8581         * modules/rawmemchr-tests (Files): Likewise.
8582         * modules/readlink-tests (Files): Likewise.
8583         * modules/remove-tests (Files): Likewise.
8584         * modules/rename-tests (Files): Likewise.
8585         * modules/renameat-tests (Files): Likewise.
8586         * modules/rmdir-tests (Files): Likewise.
8587         * modules/round-tests (Files): Likewise.
8588         * modules/roundf-tests (Files): Likewise.
8589         * modules/roundl-tests (Files): Likewise.
8590         * modules/select-tests (Files): Likewise.
8591         * modules/setenv-tests (Files): Likewise.
8592         * modules/sigaction-tests (Files): Likewise.
8593         * modules/sleep-tests (Files): Likewise.
8594         * modules/snprintf-posix-tests (Files): Likewise.
8595         * modules/snprintf-tests (Files): Likewise.
8596         * modules/sprintf-posix-tests (Files): Likewise.
8597         * modules/stat-tests (Files): Likewise.
8598         * modules/strcasestr-tests (Files): Likewise.
8599         * modules/strchrnul-tests (Files): Likewise.
8600         * modules/strerror-tests (Files): Likewise.
8601         * modules/strsignal-tests (Files): Likewise.
8602         * modules/strstr-tests (Files): Likewise.
8603         * modules/strtod-tests (Files): Likewise.
8604         * modules/strverscmp-tests (Files): Likewise.
8605         * modules/symlink-tests (Files): Likewise.
8606         * modules/symlinkat-tests (Files): Likewise.
8607         * modules/times-tests (Files): Likewise.
8608         * modules/trunc-tests (Files): Likewise.
8609         * modules/truncf-tests (Files): Likewise.
8610         * modules/truncl-tests (Files): Likewise.
8611         * modules/tsearch-tests (Files): Likewise.
8612         * modules/uname-tests (Files): Likewise.
8613         * modules/unlink-tests (Files): Likewise.
8614         * modules/unsetenv-tests (Files): Likewise.
8615         * modules/usleep-tests (Files): Likewise.
8616         * modules/utimensat-tests (Files): Likewise.
8617         * modules/vasprintf-tests (Files): Likewise.
8618         * modules/vdprintf-posix-tests (Files): Likewise.
8619         * modules/vfprintf-posix-tests (Files): Likewise.
8620         * modules/vprintf-posix-tests (Files): Likewise.
8621         * modules/vsnprintf-posix-tests (Files): Likewise.
8622         * modules/vsnprintf-tests (Files): Likewise.
8623         * modules/vsprintf-posix-tests (Files): Likewise.
8624         * modules/wcrtomb-tests (Files): Likewise.
8625         * modules/wcsnrtombs-tests (Files): Likewise.
8626         * modules/wcsrtombs-tests (Files): Likewise.
8627         * modules/wcwidth-tests (Files): Likewise.
8628         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
8629         * tests/test-isinf.c (isinf): Likewise.
8630         * tests/test-isnan.c (isnan): Likewise.
8631         * tests/test-signbit.c (signbit): Likewise.
8632         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
8633         declaration, either as macro or with correct signature.
8634         (select): Ensure function under test is declared with correct
8635         signature in correct header.
8636         * tests/test-atexit.c (atexit): Likewise.
8637         * tests/test-btowc.c (btowc): Likewise.
8638         * tests/test-canonicalize-lgpl.c (realpath)
8639         (canonicalize_file_name): Likewise.
8640         * tests/test-ceilf1.c (ceilf): Likewise.
8641         * tests/test-ceill.c (ceill): Likewise.
8642         * tests/test-chown.c (chown): Likewise.
8643         * tests/test-dprintf-posix.c (dprintf): Likewise.
8644         * tests/test-dup2.c (dup2): Likewise.
8645         * tests/test-dup3.c (dup3): Likewise.
8646         * tests/test-duplocale.c (duplocale): Likewise.
8647         * tests/test-fchdir.c (fchdir): Likewise.
8648         * tests/test-fchownat.c (fchownat): Likewise.
8649         * tests/test-fcntl.c (fcntl): Likewise.
8650         * tests/test-fdopendir.c (fdopendir): Likewise.
8651         * tests/test-fflush.c (fflush): Likewise.
8652         * tests/test-flock.c (flock): Likewise.
8653         * tests/test-floorf1.c (floorf): Likewise.
8654         * tests/test-floorl.c (floorl): Likewise.
8655         * tests/test-fnmatch.c (fnmatch): Likewise.
8656         * tests/test-fopen.c (fopen): Likewise.
8657         * tests/test-fprintf-posix.c (fprintf): Likewise.
8658         * tests/test-freopen.c (freopen): Likewise.
8659         * tests/test-frexp.c (frexp): Likewise.
8660         * tests/test-frexpl.c (frexpl): Likewise.
8661         * tests/test-fseek.c (fseek): Likewise.
8662         * tests/test-fseeko.c (fseeko): Likewise.
8663         * tests/test-fstatat.c (fstatat): Likewise.
8664         * tests/test-fsync.c (fsync): Likewise.
8665         * tests/test-ftell.c (ftell): Likewise.
8666         * tests/test-ftello.c (ftello): Likewise.
8667         * tests/test-futimens.c (futimens): Likewise.
8668         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
8669         (gai_strerror): Likewise.
8670         * tests/test-getcwd.c (getcwd): Likewise.
8671         * tests/test-getdelim.c (getdelim): Likewise.
8672         * tests/test-getdtablesize.c (getdtablesize): Likewise.
8673         * tests/test-getgroups.c (getgroups): Likewise.
8674         * tests/test-gethostname.c (gethostname): Likewise.
8675         * tests/test-getline.c (getline): Likewise.
8676         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
8677         Likewise.
8678         * tests/test-gettimeofday.c (gettimeofday): Likewise.
8679         * tests/test-glob.c (glob, globfree): Likewise.
8680         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
8681         * tests/test-inet_ntop.c (inet_ntop): Likewise.
8682         * tests/test-inet_pton.c (inet_pton): Likewise.
8683         * tests/test-isblank.c (isblank): Likewise.
8684         * tests/test-lchown.c (lchown): Likewise.
8685         * tests/test-ldexpl.c (ldexpl): Likewise.
8686         * tests/test-link.c (link): Likewise.
8687         * tests/test-linkat.c (linkat): Likewise.
8688         * tests/test-lseek.c (lseek): Likewise.
8689         * tests/test-lstat.c (lstat): Likewise.
8690         * tests/test-mbrtowc.c (mbrtowc): Likewise.
8691         * tests/test-mbsinit.c (mbsinit): Likewise.
8692         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
8693         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
8694         * tests/test-memchr.c (memchr): Likewise.
8695         * tests/test-memcmp.c (memcmp): Likewise.
8696         * tests/test-memmem.c (memmem): Likewise.
8697         * tests/test-memrchr.c (memrchr): Likewise.
8698         * tests/test-mkdir.c (mkdir): Likewise.
8699         * tests/test-mkdirat.c (mkdirat): Likewise.
8700         * tests/test-mkfifo.c (mkfifo): Likewise.
8701         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
8702         * tests/test-mknod.c (mknod): Likewise.
8703         * tests/test-nanosleep.c (nanosleep): Likewise.
8704         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
8705         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
8706         Likewise.
8707         * tests/test-open.c (open): Likewise.
8708         * tests/test-openat.c (openat): Likewise.
8709         * tests/test-perror.c (perror): Likewise.
8710         * tests/test-pipe2.c (pipe2): Likewise.
8711         * tests/test-poll.c (poll): Likewise.
8712         * tests/test-popen.c (popen, pclose): Likewise.
8713         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
8714         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
8715         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
8716         (posix_spawn_file_actions_destroy)
8717         (posix_spawn_file_actions_addclose)
8718         (posix_spawn_file_actions_addopen)
8719         (posix_spawn_file_actions_adddup2): Likewise.
8720         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
8721         * tests/test-pread.c (pread): Likewise.
8722         * tests/test-printf-posix.c (printf): Likewise.
8723         * tests/test-pty.c (openpty, forkpty): Likewise.
8724         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
8725         (random_r): Likewise.
8726         * tests/test-rawmemchr.c (rawmemchr): Likewise.
8727         * tests/test-readlink.c (readlink): Likewise.
8728         * tests/test-remove.c (remove): Likewise.
8729         * tests/test-rename.c (rename): Likewise.
8730         * tests/test-renameat.c (renameat): Likewise.
8731         * tests/test-rmdir.c (rmdir): Likewise.
8732         * tests/test-round1.c (round): Likewise.
8733         * tests/test-roundf1.c (roundf): Likewise.
8734         * tests/test-roundl.c (roundl): Likewise.
8735         * tests/test-setenv.c (setenv): Likewise.
8736         * tests/test-sigaction.c (sigaction): Likewise.
8737         * tests/test-sleep.c (sleep): Likewise.
8738         * tests/test-snprintf.c (snprintf): Likewise.
8739         * tests/test-sprintf-posix.c (sprintf): Likewise.
8740         * tests/test-stat.c (stat): Likewise.
8741         * tests/test-stpncpy.c (stpncpy): Likewise.
8742         * tests/test-strcasestr.c (strcasestr): Likewise.
8743         * tests/test-strchrnul.c (strchrnul): Likewise.
8744         * tests/test-strerror.c (strerror): Likewise.
8745         * tests/test-strsignal.c (strsignal): Likewise.
8746         * tests/test-strstr.c (strstr): Likewise.
8747         * tests/test-strtod.c (strtod): Likewise.
8748         * tests/test-strverscmp.c (strverscmp): Likewise.
8749         * tests/test-symlink.c (symlink): Likewise.
8750         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
8751         * tests/test-times.c (times): Likewise.
8752         * tests/test-trunc1.c (trunc): Likewise.
8753         * tests/test-truncf1.c (truncf): Likewise.
8754         * tests/test-truncl.c (truncl): Likewise.
8755         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
8756         Likewise.
8757         * tests/test-uname.c (uname): Likewise.
8758         * tests/test-unlink.c (unlink): Likewise.
8759         * tests/test-unlinkat.c (unlinkat): Likewise.
8760         * tests/test-unsetenv.c (unsetenv): Likewise.
8761         * tests/test-usleep.c (usleep): Likewise.
8762         * tests/test-utimensat.c (utimensat): Likewise.
8763         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
8764         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
8765         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
8766         * tests/test-vprintf-posix.c (vprintf): Likewise.
8767         * tests/test-vsnprintf.c (vsnprintf): Likewise.
8768         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
8769         * tests/test-wcrtomb.c (wcrtomb): Likewise.
8770         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
8771         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
8772         * tests/test-wcwidth.c (wcwidth): Likewise.
8773
8774         build: pull in conditional headers during GNULIB_POSIXCHECK
8775         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
8776         definitions from any conditionally-included headers.
8777         * lib/stdlib.in.h (includes): Likewise.
8778         * lib/unistd.in.h (includes): Likewise.
8779
8780 2009-12-24  Bruno Haible  <bruno@clisp.org>
8781
8782         * tests/test-argv-iter.c: Include header file being tested immediately
8783         after config.h.
8784         * tests/test-base64.c: Likewise.
8785         * tests/test-flock.c: Likewise.
8786         * tests/test-fsync.c: Likewise.
8787         * tests/test-getdate.c: Likewise.
8788         * tests/test-getndelim2.c: Likewise.
8789         * tests/test-isfinite.c: Likewise.
8790         * tests/test-isinf.c: Likewise.
8791         * tests/test-strerror.c: Likewise.
8792         * tests/test-strsignal.c: Likewise.
8793
8794 2009-12-23  Eric Blake  <ebb9@byu.net>
8795
8796         unistd: work around cygwin bug
8797         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
8798         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
8799         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
8800
8801 2009-12-23  Bruno Haible  <bruno@clisp.org>
8802
8803         localename: More tests.
8804         * tests/test-localename.c (SIZEOF): New macro.
8805         (categories): New variable.
8806         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
8807         test_locale_name_default): Add test w.r.t. thread locale.
8808         (test_locale_name_thread): New function.
8809         (main): Invoke it.
8810
8811         localename: Make aware of thread locale.
8812         * lib/localename.h (gl_locale_name_thread): New declaration.
8813         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
8814         behaviour with respect to thread locale.
8815         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
8816         <langinfo.h>, glthread/lock.h.
8817         (SIZE_BITS): New macro.
8818         (string_hash): New function.
8819         (struct hash_node): New type.
8820         (HASH_TABLE_SIZE): New macro.
8821         (struniq_hash_table, struniq_lock): New variables.
8822         (struniq): New function.
8823         (gl_locale_name_thread): New function.
8824         (gl_locale_name): Invoke it.
8825         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
8826         * modules/localename (Depends-on): Add lock.
8827         Reported by Mike Gran <spk121@yahoo.com>.
8828
8829 2009-12-23  Eric Blake  <ebb9@byu.net>
8830
8831         va-args: new module
8832         * modules/va-args: New file.
8833         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
8834         * MODULES.html.sh (Core language properties): Mention it.
8835
8836         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
8837         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
8838         named alias for __attribute__((__unused__)).
8839         * lib/chown.c: Update client.
8840         * lib/fchmodat.c: Likewise.
8841         * lib/fts.c: Likewise.
8842         * lib/getdate.y: Likewise.
8843         * lib/getgroups.c: Likewise.
8844         * lib/getopt.c: Likewise.
8845         * lib/getugroups.c: Likewise.
8846         * lib/mkdir.c: Likewise.
8847         * lib/mkfifo.c: Likewise.
8848         * lib/mkfifoat.c: Likewise.
8849         * lib/mknod.c: Likewise.
8850         * lib/mknodat.c: Likewise.
8851         * lib/readlink.c: Likewise.
8852         * lib/se-context.in.h: Likewise.
8853         * lib/se-selinux.in.h: Likewise.
8854         * lib/sockets.c: Likewise.
8855         * lib/symlink.c: Likewise.
8856         * lib/symlinkat.c: Likewise.
8857         * lib/unicodeio.c: Likewise.
8858         * lib/unistr.h: Likewise.
8859         * tests/test-areadlink.c: Likewise.
8860         * tests/test-areadlinkat.c: Likewise.
8861         * tests/test-filenamecat.c: Likewise.
8862         * tests/test-fseeko.c: Likewise.
8863         * tests/test-ftello.c: Likewise.
8864         * tests/test-getdate.c: Likewise.
8865         * tests/test-getgroups.c: Likewise.
8866         * tests/test-gethostname.c: Likewise.
8867         * tests/test-quotearg.c: Likewise.
8868         * tests/test-version-etc.c: Likewise.
8869         * tests/test-xalloc-die.c: Likewise.
8870         * tests/test-xfprintf-posix.c: Likewise.
8871         * tests/test-xprintf-posix.c: Likewise.
8872         * tests/test-xvasprintf.c: Likewise.
8873
8874         tests: avoid compiler warnings
8875         * tests/test-fcntl.c (main): Delete unused parameters.
8876         * tests/test-freopen-safer.c (main): Likewise.
8877         * tests/test-xalloc-die.c (main): Mark unused parameters.
8878         * tests/test-fseeko.c (main): Likewise.
8879         * tests/test-ftello.c (main): Likewise.
8880         * tests/test-nanosleep.c (main): Avoid declaration warning.
8881         * tests/test-sleep.c (main): Likewise.
8882         * tests/test-unsetenv.c (main): Silence warning about string
8883         literal.
8884         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
8885
8886 2009-12-23  Bruno Haible  <bruno@clisp.org>
8887
8888         * tests/test-localename.c (test_locale_name): New function, extracted
8889         from main. Also test mixed situations.
8890         (test_locale_name_posix, test_locale_name_environ,
8891         test_locale_name_default): New functions.
8892         (main): Invoke them all.
8893         * modules/localename-tests (configure.ac): Test for newlocale.
8894
8895 2009-12-23  Bruno Haible  <bruno@clisp.org>
8896
8897         unistd: Ensure getcwd gets declared before being overridden.
8898         * lib/unistd.in.h: Conditionally include <io.h>.
8899
8900 2009-12-22  Bruno Haible  <bruno@clisp.org>
8901
8902         wchar: Diagnose broken combination of glibc and gcc versions and flags.
8903         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
8904         (gl_WCHAR_H): Invoke it.
8905         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
8906         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
8907         Reported by Karl Berry <karl@freefriends.org>.
8908
8909 2009-12-22  Eric Blake  <ebb9@byu.net>
8910
8911         math, unistd: avoid redundant includes
8912         * lib/math.in.h (isnan): No need to re-include <math.h>.
8913         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
8914
8915         getsubopt: work around cygwin bug
8916         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
8917         avoid conflicting with system getsubopt.
8918         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
8919         bug.
8920
8921         getopt: synchronize from glibc
8922         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
8923         parameter order.  Adjust all callers.
8924         (_getopt_internal_r, main): Adjust quoting in error messages.
8925         Drop considerations for outdated POSIX 1003.2 error message.
8926         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
8927         callers.
8928         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
8929
8930         test-getopt: test stderr behavior
8931         * modules/getopt-posix-tests (Depends-on): Add dup2.
8932         * tests/test-getopt.c (ASSERT): Avoid stderr.
8933         (main): Move stderr to a temporary file.
8934         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
8935         Instead, add parameter to inform caller if output occurred.
8936         (test_getopt): Adjust all existing tests to expect silence, and
8937         add new tests of leading ":".
8938         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
8939         glibc shortcomings with leading "-:" or "+:" in optstring.
8940         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8941         Likewise.
8942         * doc/posix-functions/getopt.texi (getopt): Likewise.
8943
8944         test-getopt: enhance test
8945         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
8946         supports optind=0.
8947         * tests/test-getopt.c (OPTIND_MIN): Move...
8948         * tests/test-getopt.h (OPTIND_MIN): ...here.
8949         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
8950         Require that optind=0 works, since modern BSD supports it in
8951         addition to optreset, and since coreutils expects it.
8952         (test_getopt_long_only): New test.
8953         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
8954         glibc shortcomings with 'W;', and enforcement of optind=0.
8955         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8956         Likewise.
8957
8958 2009-12-21  Bruno Haible  <bruno@clisp.org>
8959
8960         localename: Improvements for MacOS X and Cygwin.
8961         * lib/localename.h (gl_locale_name_environ): New declaration.
8962         * lib/localename.c (gl_locale_name_environ): New function, extracted from
8963         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
8964         (gl_locale_name_posix): Invoke it.
8965         (gl_locale_name_default): Add comments. Use Windows native API also on
8966         Cygwin.
8967
8968 2009-12-21  Bruno Haible  <bruno@clisp.org>
8969
8970         Update list of Win32 locale ids.
8971         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
8972         (LANG_SAMI): Renamed from LANG_SAAMI.
8973         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
8974         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
8975         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
8976         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
8977         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
8978         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
8979         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
8980         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
8981         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
8982         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
8983         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
8984         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
8985         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
8986         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
8987         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
8988         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
8989         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
8990         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
8991         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
8992         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
8993         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
8994         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
8995         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
8996         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
8997         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
8998         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
8999         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
9000         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
9001         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
9002         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
9003         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
9004         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
9005         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
9006         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
9007         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
9008         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
9009         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
9010         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
9011         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
9012         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
9013         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
9014         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
9015         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
9016         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
9017         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
9018         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
9019         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
9020         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
9021         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
9022         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
9023         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
9024         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
9025         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
9026         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
9027         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
9028         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
9029         Add more languages and countries for Sami, Sorbian. Add more countries
9030         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
9031         for Pashto. Change country for Syriac, Tswana.
9032
9033 2009-12-21  Eric Blake  <ebb9@byu.net>
9034
9035         test-utimens: avoid spurious failure
9036         * tests/test-chown.h (nap): Factor...
9037         * tests/nap.h: ...into new file.
9038         * tests/test-lchown.h (nap): Avoid duplication.
9039         * tests/test-utimens-common.h (nap): Use shared implementation,
9040         necessary on file systems with 1-second resolution.
9041         * modules/chown-tests (Files): Include new file.
9042         * modules/fdutimensat-tests (Files): Likewise.
9043         * modules/futimens-tests (Files): Likewise.
9044         * modules/lchown-tests (Files): Likewise.
9045         * modules/openat-tests (Files): Likewise.
9046         * modules/utimens-tests (Files): Likewise.
9047         * modules/utimensat-tests (Files): Likewise.
9048
9049 2009-12-19  Eric Blake  <ebb9@byu.net>
9050
9051         futimens, utimensat: work around Linux bug
9052         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
9053         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9054         * lib/utimensat.c (rpl_utimensat): Work around it.
9055         * lib/futimens.c (rpl_futimens): Adjust comment.
9056
9057         utimens: work around Linux ctime bug
9058         * lib/utimens.c (detect_ctime_bug): New helper function.
9059         (update_timespec): Differentiate between workaround needed for
9060         this bug vs. what is needed for systems that lack utimensat.
9061         (fdutimens, lutimens): Work around bug.
9062
9063         utimens: check for ctime update
9064         * tests/test-utimens-common.h (check_ctime): Define.
9065         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
9066         * tests/test-futimens.h (test_futimens): Likewise.
9067         * tests/test-lutimens.h (test_lutimens): Likewise.
9068         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9069         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9070
9071 2009-12-19  Bruno Haible  <bruno@clisp.org>
9072
9073         dprintf-posix: Check against memory leak fixed on 2009-12-15.
9074         * tests/test-dprintf-posix2.sh: New file.
9075         * tests/test-dprintf-posix2.c: New file.
9076         * modules/dprintf-posix-tests (Files): Add them.
9077         (configure.ac): Check for getrlimit and setrlimit.
9078         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
9079
9080 2009-12-19  Bruno Haible  <bruno@clisp.org>
9081
9082         fprintf-posix: Check against memory leak fixed on 2009-12-15.
9083         * tests/test-fprintf-posix3.sh: New file.
9084         * tests/test-fprintf-posix3.c: New file.
9085         * modules/fprintf-posix-tests (Files): Add them.
9086         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
9087
9088 2009-12-19  Eric Blake  <ebb9@byu.net>
9089
9090         dirfd: fix prototype
9091         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
9092         * lib/dirfd.c (dirfd): Likewise.
9093
9094         canonicalize: reduce memory usage
9095         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
9096         allocation to size.
9097         Reported by Solar Designer <solar@openwall.com>.
9098
9099 2009-12-19  Bruno Haible  <bruno@clisp.org>
9100
9101         New module attribute 'Applicability'.
9102         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
9103         * gnulib-tool: New option --extract-applicability.
9104         (func_usage): Document it.
9105         (sed_extract_prog): Recognize it.
9106         (func_get_applicability): New function.
9107         (func_import): Generalize handling of 'link-warning' module.
9108         * modules/link-warning (Applicability): New section.
9109         * modules/arg-nonnull (Applicability): New section.
9110         Repoted by Simon Josefsson <simon@josefsson.org>.
9111
9112 2009-12-19  Bruno Haible  <bruno@clisp.org>
9113
9114         fflush: tweak
9115         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
9116         * lib/fseeko.c (rpl_fseeko): Likewise.
9117
9118 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
9119
9120         * lib/gl_list.h: Fix typo in comment.
9121
9122 2009-12-16  Eric Blake  <ebb9@byu.net>
9123
9124         fcntl: use to simplify other modules
9125         * modules/cloexec (Depends-on): Add fcntl.
9126         * modules/fchdir (Depends-on): Likewise.
9127         * modules/fd-safer-flag (Depends-on): Likewise.
9128         * modules/unistd-safer (Depends-on): Likewise.
9129         * modules/dup3 (configure.ac): Set module indicator.
9130         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
9131         missing.
9132         * lib/fchdir.c (_gl_register_dup): Fix comment.
9133         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
9134         * lib/dup-safer.c (dup_safer): Likewise.
9135         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
9136         * lib/dup3.c (dup3): Likewise.
9137         * tests/test-fchdir.c (main): Enhance test.
9138         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
9139
9140         fcntl: port portions of fcntl to mingw
9141         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
9142         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
9143         replacement for mingw.
9144         * modules/fcntl (Description): Update.
9145         (Depends-on): Add dup2.
9146         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
9147         * modules/fcntl-h (Makefile.am): Substitute it.
9148         * lib/fcntl.in.h (fcntl): Update declaration.
9149         (F_DUPFD, F_GETFD): New macros, when needed.
9150         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9151         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
9152         * tests/test-fcntl.c (check_flags, main): Enhance test for items
9153         we now guarantee.
9154
9155         fcntl: work around cygwin bug in F_DUPFD
9156         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
9157         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
9158         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
9159         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
9160         * doc/posix-functions/fcntl.texi (fcntl): Document it.
9161
9162         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
9163         * modules/fcntl (Files): List new files.
9164         (configure.ac): Run a test.
9165         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
9166         * lib/fcntl.c (rpl_fcntl): Likewise.
9167         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
9168         (gl_FCNTL_H): Always replace fcntl.h.
9169         * modules/fcntl-h (Makefile.am): Substitute witnesses.
9170         * lib/fcntl.in.h (fcntl): Declare replacement.
9171         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
9172         needed, plus a witness.
9173         * doc/posix-functions/fcntl.texi (fcntl): Document this.
9174         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
9175         * tests/test-fcntl.c: New file.
9176         * modules/fcntl-tests: Likewise.
9177
9178         binary-io: avoid potential compilation warning
9179         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
9180         directives.
9181
9182         fflush: avoid compilation error on NetBSD
9183         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
9184         between off_t and fpos_t, since the latter is sometimes a struct.
9185         * lib/fseeko.c (rpl_fseeko): Likewise.
9186         Reported by Alexander Nasonov <alnsn@yandex.ru>.
9187
9188 2009-12-15  Eric Blake  <ebb9@byu.net>
9189
9190         fcntl-h, stdio, sys_ioctl: fix declarations
9191         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
9192         function must not take arguments.
9193         * lib/sys_ioctl.in.h (ioctl): Likewise.
9194         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
9195         (open): Add a link warning.
9196
9197 2009-12-15  Jim Meyering  <meyering@redhat.com>
9198
9199         areadlink, areadlink-with-size: relax license to LGPLv2+
9200         * modules/areadlink (License): Relax to LGPLv2+.
9201         * modules/areadlink-with-size (License): Likewise.
9202
9203 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
9204             Bruno Haible  <bruno@clisp.org>
9205
9206         *printf: Fix memory leak.
9207         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
9208         * lib/vfprintf.c (vfprintf): Likewise.
9209         * lib/dprintf.c (dprintf): Likewise.
9210         * lib/vdprintf.c (vdprintf): Likewise.
9211
9212 2009-12-14  Eric Blake  <ebb9@byu.net>
9213
9214         accept4: adjust module dependencies
9215         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
9216
9217         utimens: one more try at avoiding compiler warning
9218         * lib/utimens.c (lutimens): Lower scope of result.
9219
9220 2009-12-13  Bruno Haible  <bruno@clisp.org>
9221
9222         Move the malloc checking from module 'list' to new module 'xlist'.
9223         * modules/xlist: New file.
9224         * lib/gl_xlist.h: New file.
9225         * lib/gl_xlist.c: New file.
9226         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
9227         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
9228         gl_list_add_last, gl_list_add_before, gl_list_add_after,
9229         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
9230         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
9231         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
9232         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
9233         gl_sortedlist_nx_add): New declarations.
9234         (struct gl_list_implementation): Rename and change methods accordingly.
9235         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
9236         (gl_list_nx_create): Renamed from gl_list_create.
9237         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
9238         (gl_list_nx_set_at): Renamed from gl_list_set_at.
9239         (gl_list_nx_add_first): Renamed from gl_list_add_first.
9240         (gl_list_nx_add_last): Renamed from gl_list_add_last.
9241         (gl_list_nx_add_before): Renamed from gl_list_add_before.
9242         (gl_list_nx_add_after): Renamed from gl_list_add_after.
9243         (gl_list_nx_add_at): Renamed from gl_list_add_at.
9244         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
9245         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
9246         gl_list_create_empty.
9247         (gl_list_nx_create): Renamed from gl_list_create.
9248         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
9249         (gl_list_nx_set_at): Renamed from gl_list_set_at.
9250         (gl_list_nx_add_first): Renamed from gl_list_add_first.
9251         (gl_list_nx_add_last): Renamed from gl_list_add_last.
9252         (gl_list_nx_add_before): Renamed from gl_list_add_before.
9253         (gl_list_nx_add_after): Renamed from gl_list_add_after.
9254         (gl_list_nx_add_at): Renamed from gl_list_add_at.
9255         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
9256         * lib/gl_array_list.c: Don't include xalloc.h.
9257         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
9258         NULL upon out-of-memory.
9259         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
9260         out-of-memory.
9261         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
9262         Change return type to 'int'.
9263         (gl_array_nx_set_at): Renamed from gl_array_set_at.
9264         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
9265         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
9266         upon out-of-memory.
9267         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
9268         upon out-of-memory.
9269         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
9270         upon out-of-memory.
9271         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
9272         upon out-of-memory.
9273         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
9274         out-of-memory.
9275         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
9276         Update.
9277         (gl_array_list_implementation): Update.
9278         * lib/gl_carray_list.c: Don't include xalloc.h.
9279         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
9280         Return NULL upon out-of-memory.
9281         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
9282         out-of-memory.
9283         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
9284         Change return type to 'int'.
9285         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
9286         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
9287         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
9288         upon out-of-memory.
9289         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
9290         upon out-of-memory.
9291         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
9292         out-of-memory.
9293         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
9294         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
9295         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
9296         Update.
9297         (gl_carray_list_implementation): Update.
9298         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
9299         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
9300         gl_linked_create_empty. Return NULL upon out-of-memory.
9301         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
9302         out-of-memory.
9303         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
9304         Change return type to 'int'. Return -1 upon out-of-memory.
9305         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
9306         out-of-memory.
9307         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
9308         upon out-of-memory.
9309         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
9310         upon out-of-memory.
9311         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
9312         NULL upon out-of-memory.
9313         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
9314         upon out-of-memory.
9315         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
9316         out-of-memory.
9317         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
9318         Update.
9319         * lib/gl_linked_list.c: Don't include xalloc.h.
9320         (gl_linked_list_implementation): Update.
9321         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
9322         (add_to_bucket): Change return type to 'int'.
9323         (gl_linkedhash_list_implementation): Update.
9324         * lib/gl_anytree_list1.h (free_subtree): New function.
9325         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
9326         gl_tree_create_empty. Return NULL upon out-of-memory.
9327         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
9328         Change return type to 'int'. Return -1 upon out-of-memory.
9329         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
9330         out-of-memory.
9331         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
9332         (gl_tree_remove_node): New function, moved here from
9333         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
9334         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
9335         Update.
9336         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
9337         malloc, not xmalloc. Return NULL upon out-of-memory.
9338         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
9339         out-of-memory.
9340         (gl_tree_remove_node_from_tree): New function, extracted from
9341         gl_tree_remove_node.
9342         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
9343         upon out-of-memory.
9344         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
9345         out-of-memory.
9346         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
9347         upon out-of-memory.
9348         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
9349         upon out-of-memory.
9350         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
9351         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
9352         not xmalloc. Return NULL upon out-of-memory.
9353         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
9354         out-of-memory.
9355         (gl_tree_remove_node_from_tree): New function, extracted from
9356         gl_tree_remove_node.
9357         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
9358         upon out-of-memory.
9359         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
9360         out-of-memory.
9361         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
9362         upon out-of-memory.
9363         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
9364         upon out-of-memory.
9365         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
9366         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
9367         gl_anytree_list1.h before gl_anyavltree_list2.h.
9368         (gl_avltree_list_implementation): Update.
9369         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
9370         gl_anytree_list1.h before gl_anyavltree_list2.h.
9371         (gl_rbtree_list_implementation): Update.
9372         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
9373         Change return type to 'int'. Return -1 upon out-of-memory. Use
9374         __builtin_expect.
9375         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
9376         (gl_avltreehash_list_implementation): Update.
9377         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
9378         (gl_rbtreehash_list_implementation): Update.
9379         * modules/array-list (Depends-on): Remove xalloc.
9380         * modules/carray-list (Depends-on): Likewise.
9381         * modules/linked-list (Depends-on): Likewise.
9382         * modules/linkedhash-list (Depends-on): Likewise.
9383         * modules/avltree-list (Depends-on): Likewise.
9384         * modules/rbtree-list (Depends-on): Likewise.
9385         * modules/avltreehash-list (Depends-on): Likewise.
9386         * modules/rbtreehash-list (Depends-on): Likewise.
9387
9388         * modules/xsublist: New file.
9389         * lib/gl_xsublist.h: New file.
9390         * lib/gl_xsublist.c: New file.
9391         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
9392         (gl_sublist_nx_create): New declaration.
9393         * lib/gl_sublist.c: Don't include xalloc.h.
9394         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
9395         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
9396         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
9397         Change return type to 'int'. Return -1 upon out-of-memory.
9398         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
9399         upon out-of-memory.
9400         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
9401         NULL upon out-of-memory.
9402         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
9403         upon out-of-memory.
9404         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
9405         NULL upon out-of-memory.
9406         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
9407         NULL upon out-of-memory.
9408         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
9409         upon out-of-memory.
9410         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
9411         (gl_sublist_list_implementation): Update.
9412         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
9413         upon out-of-memory.
9414         * modules/sublist (Depends-on): Remove xalloc.
9415
9416         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
9417         * tests/test-carray_list.c: Likewise.
9418         * tests/test-linked_list.c: Likewise.
9419         * tests/test-linkedhash_list.c: Likewise.
9420         * tests/test-avltree_list.c: Likewise.
9421         * tests/test-rbtree_list.c: Likewise.
9422         * tests/test-avltreehash_list.c: Likewise.
9423         * tests/test-rbtreehash_list.c: Likewise.
9424         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
9425         * modules/carray-list-tests (Makefile.am): Likewise.
9426         * modules/linked-list-tests (Makefile.am): Likewise.
9427         * modules/linkedhash-list-tests (Makefile.am): Likewise.
9428         * modules/avltree-list-tests (Makefile.am): Likewise.
9429         * modules/rbtree-list-tests (Makefile.am): Likewise.
9430         * modules/avltreehash-list-tests (Makefile.am): Likewise.
9431         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
9432
9433         * NEWS: Mention the changes.
9434
9435         * lib/clean-temp.c: Include gl_xlist.h.
9436         * modules/clean-temp (Depends-on): Add xlist.
9437
9438         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
9439         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
9440
9441         * tests/test-array_oset.c: Include gl_xlist.h.
9442         * modules/array-oset-tests (Depends-on): Add xlist.
9443
9444         Reported by José E. Marchesi <jemarch@gnu.org>.
9445
9446 2009-12-13  Bruno Haible  <bruno@clisp.org>
9447
9448         Move the malloc checking from module 'oset' to new module 'xoset'.
9449         * modules/xoset: New file.
9450         * lib/gl_xoset.h: New file.
9451         * lib/gl_xoset.c: New file.
9452         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
9453         declarations.
9454         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
9455         (struct gl_oset_implementation): Rename and change methods accordingly.
9456         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
9457         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
9458         'int'. Mark as __warn_unused_result__.
9459         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
9460         gl_oset_create_empty.
9461         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
9462         'int'.
9463         * lib/gl_array_oset.c: Don't include xalloc.h.
9464         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
9465         malloc, not xmalloc.
9466         (grow): Change return type to 'int'. Don't call xalloc_die.
9467         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
9468         to 'int'.
9469         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
9470         'int'.
9471         (gl_array_oset_implementation): Update.
9472         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
9473         gl_tree_create_empty.
9474         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
9475         'int'.
9476         * lib/gl_avltree_oset.c: Don't include xalloc.h.
9477         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
9478         xmalloc.
9479         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
9480         not xmalloc.
9481         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
9482         xmalloc.
9483         (gl_avltree_oset_implementation): Update.
9484         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
9485         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
9486         xmalloc.
9487         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
9488         not xmalloc.
9489         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
9490         xmalloc.
9491         (gl_rbtree_oset_implementation): Update.
9492         * modules/array-oset (Depends-on): Remove xalloc.
9493         * modules/avltree-oset (Depends-on): Likewise.
9494         * modules/rbtree-oset (Depends-on): Likewise.
9495         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
9496         * tests/test-avltree_oset.c: Likewise.
9497         * tests/test-rbtree_oset.c: Likewise.
9498         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
9499         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
9500         * modules/rbtree-oset-tests (Makefile.am): Likewise.
9501         * NEWS: Mention the change.
9502
9503 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
9504
9505         maint.mk: allow a project to override release-prep commands
9506         * top/maint.mk (alpha, beta, stable): Move release-preparatory
9507         commands into a new rule.
9508         (release-prep): New rule.
9509         (release-prep-hook): New overridable variable.
9510
9511 2009-12-13  Bruno Haible  <bruno@clisp.org>
9512
9513         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
9514
9515 2009-12-13  Jim Meyering  <meyering@redhat.com>
9516
9517         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
9518         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
9519
9520 2009-12-12  Bruno Haible  <bruno@clisp.org>
9521
9522         duplocale: Tweak.
9523         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
9524
9525 2009-12-12  Karl Berry  <karl@gnu.org>
9526
9527         * config/srclist.txt (strtoll.c): tab changes, no more sync.
9528
9529 2009-12-12  Bruno Haible  <bruno@clisp.org>
9530
9531         * m4/po.m4: Undo incorrect untabification.
9532
9533 2009-12-12  Bruno Haible  <bruno@clisp.org>
9534
9535         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
9536         * modules/c-strtod (Depends-on): Add locale.
9537         * modules/c-strtold (Depends-on): Likewise.
9538
9539 2009-12-12  Bruno Haible  <bruno@clisp.org>
9540
9541         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
9542
9543 2009-12-11  Eric Blake  <ebb9@byu.net>
9544
9545         setenv: relax requirement in light of POSIX ruling
9546         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
9547         not NULL.
9548         * tests/test-setenv.c (main): Relax test.
9549         * tests/test-unsetenv.c (main): Likewise.
9550         * doc/posix-functions/setenv.texi (setenv): Document this.
9551         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
9552
9553 2009-12-11  Bruno Haible  <bruno@clisp.org>
9554
9555         New module 'fd-safer-flag'.
9556         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
9557         * lib/dup-safer.c (dup_safer_flag): Remove function.
9558         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
9559         * lib/fd-safer.c (fd_safer_flag): Remove function.
9560         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
9561         * modules/cloexec (configure.ac): Drop indicator macro.
9562         * modules/fd-safer-flag: New file.
9563         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
9564         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
9565         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
9566
9567 2009-12-11  Bruno Haible  <bruno@clisp.org>
9568
9569         Tests for module 'nl_langinfo'.
9570         * modules/nl_langinfo-tests: New file.
9571         * tests/test-nl_langinfo.sh: New file.
9572         * tests/test-nl_langinfo.c: New file.
9573
9574         New module 'nl_langinfo'.
9575         * lib/nl_langinfo.c: New file.
9576         * m4/nl_langinfo.m4: New file.
9577         * modules/nl_langinfo: New file.
9578         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
9579
9580 2009-12-11  Bruno Haible  <bruno@clisp.org>
9581
9582         Tests for module 'langinfo'.
9583         * modules/langinfo-tests: New file.
9584         * tests/test-langinfo.c: New file.
9585
9586         New module 'langinfo'.
9587         * lib/langinfo.in.h: New file.
9588         * m4/langinfo_h.m4: New file.
9589         * modules/langinfo: New file.
9590         * doc/posix-headers/langinfo.texi: Mention the new module.
9591
9592 2009-12-11  Bruno Haible  <bruno@clisp.org>
9593
9594         * lib/config.charset: Untabify.
9595
9596 2009-12-11  Bruno Haible  <bruno@clisp.org>
9597
9598         * modules/unistd-safer (configure.ac): Drop indicator macro.
9599
9600 2009-12-11  Bruno Haible  <bruno@clisp.org>
9601
9602         Move pipe2-safer code to its own file.
9603         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
9604         * lib/pipe-safer.c (pipe2_safer): Remove function.
9605         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
9606         (Makefile.am): Add it to lib_SOURCES.
9607
9608 2009-12-10  Bruno Haible  <bruno@clisp.org>
9609
9610         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
9611
9612 2009-12-10  Bruno Haible  <bruno@clisp.org>
9613
9614         Declare which arguments expect non-NULL values, for GCC and clang.
9615         * build-aux/arg-nonnull.h: New file.
9616         * modules/arg-nonnull: New file.
9617         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
9618         (inet_ntop, inet_pton): Use it.
9619         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
9620         (closedir, dirfd, opendir, scandir, alphasort): Use it.
9621         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
9622         (open, openat): Use it.
9623         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
9624         (fnmatch): Use it.
9625         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
9626         (getopt, getopt_long, getopt_long_only): Use it.
9627         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
9628         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
9629         Use it.
9630         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
9631         (iconv_open): Use it.
9632         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
9633         (strtoimax, strtoumax): Use it.
9634         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
9635         (duplocale): Use it.
9636         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
9637         (frexp, frexpl): Use it.
9638         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
9639         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
9640         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
9641         (tsearch, tfind, tdelete, twalk): Use it.
9642         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
9643         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
9644         sigpending): Use it.
9645         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
9646         (posix_spawn, posix_spawnp, posix_spawnattr_init,
9647         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
9648         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
9649         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
9650         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
9651         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
9652         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
9653         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
9654         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
9655         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
9656         Use it.
9657         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
9658         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
9659         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
9660         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
9661         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
9662         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
9663         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
9664         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
9665         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
9666         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
9667         strtoull, unsetenv): Use it.
9668         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
9669         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
9670         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
9671         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
9672         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
9673         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
9674         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
9675         (strcasecmp, strncasecmp): Use it.
9676         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
9677         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
9678         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
9679         rpl_setsockopt): Use it.
9680         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
9681         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
9682         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
9683         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
9684         (gettimeofday): Use it.
9685         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
9686         (times): Use it.
9687         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
9688         (uname): Use it.
9689         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
9690         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
9691         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
9692         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
9693         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
9694         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
9695         unlinkat, write): Use it.
9696         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
9697         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
9698         * lib/argv-iter.h: Include arg-nonnull.h.
9699         (_ATTRIBUTE_NONNULL_): Remove macro.
9700         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
9701         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
9702         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
9703         optimization.
9704         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
9705         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
9706         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
9707         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
9708         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
9709         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
9710         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
9711         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
9712         * modules/arpa_inet (Depends-on): Add arg-nonnull.
9713         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
9714         * modules/dirent (Depends-on): Add arg-nonnull.
9715         (Makefile.am): Insert arg-nonnull.h into dirent.h.
9716         * modules/fcntl-h (Depends-on): Add arg-nonnull.
9717         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
9718         * modules/fnmatch (Depends-on): Add arg-nonnull.
9719         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
9720         * modules/getopt-posix (Depends-on): Add arg-nonnull.
9721         (Makefile.am): Insert arg-nonnull.h into getopt.h.
9722         * modules/glob (Depends-on): Add arg-nonnull.
9723         (Makefile.am): Insert arg-nonnull.h into glob.h.
9724         * modules/iconv_open (Depends-on): Add arg-nonnull.
9725         (Makefile.am): Insert arg-nonnull.h into iconv.h.
9726         * modules/inttypes (Depends-on): Add arg-nonnull.
9727         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
9728         * modules/locale (Depends-on): Add arg-nonnull.
9729         (Makefile.am): Insert arg-nonnull.h into locale.h.
9730         * modules/math (Depends-on): Add arg-nonnull.
9731         (Makefile.am): Insert arg-nonnull.h into math.h.
9732         * modules/netdb (Depends-on): Add arg-nonnull.
9733         (Makefile.am): Insert arg-nonnull.h into netdb.h.
9734         * modules/search (Depends-on): Add arg-nonnull.
9735         (Makefile.am): Insert arg-nonnull.h into search.h.
9736         * modules/signal (Depends-on): Add arg-nonnull.
9737         (Makefile.am): Insert arg-nonnull.h into signal.h.
9738         * modules/spawn (Depends-on): Add arg-nonnull.
9739         (Makefile.am): Insert arg-nonnull.h into spawn.h.
9740         * modules/stdio (Depends-on): Add arg-nonnull.
9741         (Makefile.am): Insert arg-nonnull.h into stdio.h.
9742         * modules/stdlib (Depends-on): Add arg-nonnull.
9743         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
9744         * modules/string (Depends-on): Add arg-nonnull.
9745         (Makefile.am): Insert arg-nonnull.h into string.h.
9746         * modules/strings (Depends-on): Add arg-nonnull.
9747         (Makefile.am): Insert arg-nonnull.h into strings.h.
9748         * modules/sys_socket (Depends-on): Add arg-nonnull.
9749         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
9750         * modules/sys_stat (Depends-on): Add arg-nonnull.
9751         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
9752         * modules/sys_time (Depends-on): Add arg-nonnull.
9753         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
9754         * modules/sys_times (Depends-on): Add arg-nonnull.
9755         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
9756         * modules/sys_utsname (Depends-on): Add arg-nonnull.
9757         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
9758         * modules/time (Depends-on): Add arg-nonnull.
9759         (Makefile.am): Insert arg-nonnull.h into time.h.
9760         * modules/unistd (Depends-on): Add arg-nonnull.
9761         (Makefile.am): Insert arg-nonnull.h into unistd.h.
9762         * modules/wchar (Depends-on): Add arg-nonnull.
9763         (Makefile.am): Insert arg-nonnull.h into wchar.h.
9764         * modules/argv-iter (Depends-on): Add arg-nonnull.
9765         * tests/test-canonicalize.c (null_ptr): New function.
9766         (main): Use it.
9767         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
9768         (main): Use it.
9769         * tests/test-memmem.c (null_ptr): New function.
9770         (main): Use it.
9771         Reported by Jim Meyering.
9772
9773 2009-12-10  Bruno Haible  <bruno@clisp.org>
9774
9775         Use spaces for indentation, not tabs.
9776         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
9777         * m4/*.m4: Untabify.
9778         * build-aux/*.h: Untabify.
9779         * tests/**/*.[hc]: Untabify.
9780         * README: New section "Indent with spaces, not TABs", based on
9781         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
9782         * NEWS: Mention the change.
9783
9784 2009-12-10  Bruno Haible  <bruno@clisp.org>
9785
9786         pty test: Fix link error.
9787         * modules/pty-tests (Makefile.am): Add the default LDADD value to
9788         test_pty_LDADD.
9789
9790 2009-12-07  Simon Josefsson  <simon@josefsson.org>
9791
9792         * modules/pty: New file.
9793         * modules/pty-tests: New file.
9794         * m4/pty.m4: New file.
9795         * tests/test-pty.c: New file.
9796         * doc/glibc-headers/pty.texi: Modified.
9797         * doc/glibc-functions/forkpty.texi: Modified.
9798         * doc/glibc-functions/openpty.texi: Modified.
9799
9800 2009-12-10  Bruno Haible  <bruno@clisp.org>
9801
9802         Avoid syntax error in C++ mode.
9803         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
9804
9805 2009-12-10  Bruno Haible  <bruno@clisp.org>
9806
9807         Use sed with option -e.
9808         * gnulib-tool (func_version, func_emit_copyright_notice,
9809         func_emit_initmacro_end, func_import, func_create_testdir): Pass
9810         option -e to sed.
9811         * modules/link-warning (Makefile.am): Likewise.
9812
9813 2009-12-10  Jim Meyering  <meyering@redhat.com>
9814
9815         mgetgroups: do not write bytes beyond end of malloc'd buffer
9816         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
9817         username, we call getgroups with a one-element-shorter buffer,
9818         but still told it the length was original, max_n_groups.
9819
9820 2009-12-09  Eric Blake  <ebb9@byu.net>
9821
9822         cloexec: relax license
9823         * modules/cloexec (Maintainer): Add myself.
9824         (License): Use LGPL, not GPL.
9825
9826         link-warning: optimize generation
9827         * modules/link-warning (Makefile.am): Reduce process usage.
9828
9829 2009-12-09  Bruno Haible  <bruno@clisp.org>
9830
9831         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
9832         workaround was added on 2009-11-17.
9833
9834 2009-12-09  Jim Meyering  <meyering@redhat.com>
9835             Bruno Haible  <bruno@clisp.org>
9836
9837         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
9838         * modules/link-warning (Makefile.am): Make the comment-removing sed
9839         command more robust in the face of bootstrap-prepended comment lines.
9840
9841 2009-12-09  Bruno Haible  <bruno@clisp.org>
9842
9843         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
9844         most one group.
9845
9846 2009-12-09  Simon Josefsson <simon@josefsson.org>
9847             Bruno Haible  <bruno@clisp.org>
9848
9849         * build-aux/link-warning.h: Add copyright notice.
9850         * modules/link-warning (Makefile.am): Generate link-warning.h from
9851         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
9852         * NEWS: Mention change in link-warning module.
9853         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
9854         * modules/dirent (Makefile.am): Add dependency to dirent.h.
9855         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
9856         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
9857         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
9858         * modules/math (Makefile.am): Add dependency to math.h.
9859         * modules/search (Makefile.am): Add dependency to search.h.
9860         * modules/signal (Makefile.am): Add dependency to signal.h.
9861         * modules/spawn (Makefile.am): Add dependency to spawn.h.
9862         * modules/stdio (Makefile.am): Add dependency to stdio.h.
9863         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
9864         * modules/string (Makefile.am): Add dependency to string.h.
9865         * modules/strings (Makefile.am): Add dependency to strings.h.
9866         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
9867         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
9868         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
9869         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
9870         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
9871         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
9872         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
9873         * modules/unistd (Makefile.am): Add dependency to unistd.h.
9874         * modules/wchar (Makefile.am): Add dependency to wchar.h.
9875
9876 2009-12-09  Bruno Haible  <bruno@clisp.org>
9877
9878         fchdir: Optimize away rpl_fstat when possible.
9879         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
9880         REPLACE_OPEN_DIRECTORY.
9881         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
9882
9883 2009-12-09  Bruno Haible  <bruno@clisp.org>
9884
9885         * lib/fchdir.c: Update comment.
9886
9887 2009-12-09  Bruno Haible  <bruno@clisp.org>
9888
9889         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
9890
9891 2009-12-08  Eric Blake  <ebb9@byu.net>
9892
9893         fchdir: avoid memory leak on re-registration.
9894         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
9895
9896 2009-12-08  Jim Meyering  <meyering@redhat.com>
9897
9898         init.sh: avoid Solaris 10 /bin/sh portability problem
9899         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
9900         sourced script:
9901           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
9902           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
9903           bar
9904         tests/init.sh relied on that, accepting a --set-path=DIR argument,
9905         and two tests used that idiom.
9906         * tests/init.sh: Update suggested usage comments.
9907         (path_prepend_): New function, to be used in place
9908         of the --src-path=DIR option.
9909         (setup_): Move PATH-prepending code into path_prepend_.
9910         * tests/test-pread.sh: Adapt to new usage.
9911         * tests/test-xalloc-die.sh: Likewise.
9912
9913 2009-12-08  Simon Josefsson  <simon@josefsson.org>
9914
9915         * doc/gnulib.texi (Glibc pty.h): Add.
9916         * doc/glibc-functions/forkpty.texi: Add.
9917         * doc/glibc-functions/openpty.texi: Add.
9918         Suggested by Bruno Haible.
9919
9920 2009-12-08  Eric Blake  <ebb9@byu.net>
9921
9922         fchdir: fix logic bugs
9923         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
9924         * tests/test-fchdir.c (main): Enhance test.
9925         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
9926         is in use.
9927
9928         dup2: fix logic bugs
9929         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
9930         REPLACE_DUP2 to decide when rpl_dup2 is needed.
9931         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
9932         exists.
9933         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
9934
9935 2009-12-07  Eric Blake  <ebb9@byu.net>
9936
9937         unlink: fix m4 detection
9938         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
9939
9940         unistd-safer: add unit test
9941         * modules/unistd-safer-tests: New file.
9942         * tests/test-dup-safer.c: Likewise.
9943         * tests/test-cloexec.c (setmode): Avoid compiler warning.
9944         * tests/test-dup2.c (setmode): Likewise.
9945         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
9946
9947         cloexec: preserve text vs. binary across dup_cloexec
9948         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
9949         mode.
9950         * modules/dup2-tests (Depends-on): Add binary-io.
9951         * modules/cloexec-tests (Depends-on): Likewise.
9952         * tests/test-dup2.c (setmode, is_mode): New helpers.
9953         (main): Add tests that translation mode is preserved.
9954         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
9955         Reported by Bruno Haible.
9956
9957         mgetgroups: reduce duplicate listings
9958         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
9959         resulting array.
9960         * tests/test-chown.h (test_chown): Simplify client.
9961         * tests/test-lchown.h (test_lchown): Likewise.
9962
9963 2009-12-06  Bruno Haible  <bruno@clisp.org>
9964
9965         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
9966         value.
9967
9968 2009-12-06  Bruno Haible  <bruno@clisp.org>
9969
9970         * lib/progname.c: Include stdio.h, stdlib.h.
9971         (set_program_name): Reject a NULL argument.
9972
9973 2009-12-05  Eric Blake  <ebb9@byu.net>
9974
9975         pipe2-safer: new module
9976         * modules/pipe2-safer: New file.
9977         * lib/unistd-safer.h (pipe2_safer): New prototype.
9978         * lib/unistd--.h (pipe2): New wrapper.
9979         * lib/pipe-safer.c (pipe2_safer): New function.
9980         * modules/pipe (Depends-on): Add pipe2-safer.
9981         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
9982
9983         stdlib-safer: preserve cloexec flag for mkostemp[s]
9984         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
9985         fd_safer_flag.
9986
9987         unistd-safer: allow preservation of cloexec status via flag
9988         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
9989         prototypes.
9990         * lib/dup-safer.c (dup_safer_flag): New function.
9991         * lib/fd-safer.c (fd_safer_flag): Likewise.
9992         * modules/cloexec (configure.ac): Set witness.
9993
9994         test-dup2: enhance test
9995         * modules/dup2-tests (Depends-on): Add cloexec.
9996         * tests/test-dup2.c (main): Enhance test.
9997
9998         cloexec: add dup_cloexec
9999         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
10000         header and comments.
10001         * lib/cloexec.c (set_cloexec_flag): Add comments.
10002         (dup_cloexec): New function, with mingw implementation borrowed
10003         from...
10004         * lib/w32spawn.h (dup_noinherit): ...here.
10005         * modules/execute (Depends-on): Add cloexec.
10006         * modules/pipe (Depends-on): Likewise.
10007         * modules/cloexec (Depends-on): Add dup2.
10008         * modules/cloexec-tests (Files): New file.
10009         * tests/test-cloexec.c: Likewise.
10010
10011         test-xalloc-die: fix test for mingw
10012         * modules/xalloc-die-tests (Files): Add tests/init.sh.
10013         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
10014         directory and .exe suffix off argv[0] output.
10015
10016         test-fseeko: fix test for mingw
10017         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
10018         than undefining fseek, so test will pass on mingw.
10019
10020 2009-12-05  Bruno Haible  <bruno@clisp.org>
10021
10022         * lib/progname.h (set_program_name): Clarify specification.
10023         * lib/progname.c (set_program_name): Likewise.
10024         Reported by Jim Meyering.
10025
10026 2009-12-05  Jim Meyering  <meyering@redhat.com>
10027
10028         maint.mk: backslash-escape parens in default regexp
10029         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
10030         backslash-escape the literal parentheses.
10031
10032         maint.mk: news-date-check: use grep -E
10033         * top/maint.mk (today): Define a Make variable, not a...
10034         (news-date-check): ...shell variable.
10035         (news-date-regexp): Use the Make variable.
10036         Use grep's -E option.  Change the failing diagnostic to mention
10037         the variable, $(news-date-regexp).
10038
10039 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
10040
10041         maintainer-makefile: allow customization of NEWS entry format
10042         * top/maint.mk (news-date-regexp): New overridable variable.
10043         (news-date-check): Use it.
10044
10045 2009-12-04  Eric Blake  <ebb9@byu.net>
10046
10047         mgetgroups: add xgetgroups, and avoid ENOSYS failures
10048         * lib/mgetgroups.h (xgetgroups): New prototype.
10049         * lib/mgetgroups.c (xgetgroups): New wrapper.
10050         (mgetgroups): Handle ENOSYS.
10051         * modules/mgetgroups (Depends-on): Add realloc.
10052         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
10053
10054         mgetgroups: avoid argument promotion issues with -1
10055         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
10056         for invalid gid_t.
10057         * tests/test-chown.h (getegid, test_chown): Likewise.
10058         * tests/test-lchown.h (getegid, test_lchown): Likewise.
10059
10060 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
10061
10062         exclude: Fix header file problems.
10063         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
10064
10065 2009-12-01  Jim Meyering  <meyering@redhat.com>
10066
10067         fts: fts_open: do not let an empty string cause immediate failure
10068         This is required in support of GNU rm, for which the command
10069         "rm A '' B" must process and remove both A and B, in spite of
10070         the empty string argument.
10071         * lib/fts.c (fts_open): Do not let the presence of an empty string
10072         cause fts_open to fail immediately.  Most fts-using tools must be
10073         able to process all arguments, in order, and can be expected to
10074         diagnose such arguments themselves.
10075
10076 2009-11-30  Eric Blake  <ebb9@byu.net>
10077
10078         utimens: fix compilation error
10079         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
10080         Declare variable at right scope.
10081
10082 2009-11-29  Jim Meyering  <meyering@redhat.com>
10083
10084         bootstrap: handle perl-5.11's changed --version output
10085         * build-aux/bootstrap (get_version): Handle perl separately,
10086         since perl-5.11's --version output is different.
10087
10088 2009-11-28  Jim Meyering  <meyering@redhat.com>
10089
10090         userspec: depend on the inttostr module, too
10091         * modules/userspec (Depends-on): Add inttostr.
10092
10093         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
10094         * lib/userspec.c (parse_with_separator): Do not accept a user ID
10095         number of MAXUID when it evaluates to (uid_t) -1.
10096         Likewise for group ID.  Reported by Matt McCutchen in
10097         <http://savannah.gnu.org/bugs/?28113>
10098
10099         userspec: reformat to use spaces, not TABs
10100         * lib/userspec.c: Expand TABs to spaces.
10101         Add Emacs' "indent-tabs-mode: nil" hint.
10102
10103 2009-11-27  Eric Blake  <ebb9@byu.net>
10104
10105         getopt-gnu: flush out another BSD bug
10106         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
10107         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
10108         flush out BSD bug.
10109         * tests/test-getopt.h (test_getopt): End lists with NULL.
10110         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10111         (test_getopt_long_posix): Enhance test.
10112         * modules/getopt-posix-tests (Depends-on): Add stdbool.
10113         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
10114         getopt-gnu.
10115         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10116         Likewise.
10117
10118 2009-11-27  Simon Josefsson  <simon@josefsson.org>
10119
10120         * modules/idpriv-droptemp-tests (Notice): Fix text.
10121
10122 2009-11-27  Jim Meyering  <meyering@redhat.com>
10123
10124         test-xalloc-die: avoid spurious failure due to libtool argv difference
10125         In a libtool-enabled project, this test would fail due to a difference
10126         in the emitted program name, e.g.,
10127         -test-xalloc-die: memory exhausted
10128         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
10129         Use program to avoid that.
10130         * modules/xalloc-die-tests (Depends-on): Add progname.
10131         * tests/test-xalloc-die.c: Include progname.h".
10132         (program_name): Remove decl.
10133         (main): Call set_program_name.
10134         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
10135
10136 2009-11-26  Richard Jones  <rjones@redhat.com>
10137
10138         w32sock: leave win32 error in place.
10139         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
10140
10141 2009-11-26  Eric Blake  <ebb9@byu.net>
10142
10143         init.sh: suggest to use skip_ and fail_ functions in comments
10144         * tests/init.sh: Add a sentence.
10145
10146 2009-11-25  Bruno Haible  <bruno@clisp.org>
10147
10148         init.sh: add documentation in comments
10149         * tests/init.sh: Add some developer and user documentation.
10150
10151 2009-11-26  Jim Meyering  <meyering@redhat.com>
10152
10153         init.sh: accommodate even those who specify bogus srcdir manually
10154         * tests/init.sh: Normally, srcdir is guaranteed by automake and
10155         configure-time tests to be sanitized, so that there is no need to
10156         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
10157         (with no double quotes) suffices.  However, since tests may be
10158         invoked manually, and since you may explicitly set srcdir to the
10159         name of a directory containing spaces, do quote its uses here.
10160         * tests/test-pread.sh: Likewise.
10161         Suggested by Bruno Haible.
10162
10163         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
10164         * tests/test-pread.sh: Write no data into the pipe, because
10165         test-pread actually reads none.  This avoids a diagnostic,
10166         "bash: echo: write error: Broken pipe", that arises in the unusual
10167         event something is ignoring SIGPIPE, and might be interpreted
10168         as some sort of failure.  Reported by Bruno Haible.
10169
10170 2009-11-25  Jim Meyering  <meyering@redhat.com>
10171
10172         test-pread: cover failure with ESPIPE and EINVAL
10173         * tests/test-pread.c (main): Test for failure, too.
10174         * tests/test-pread.sh: Invoke with stdin on a pipe.
10175         Suggested by Eric Blake.
10176
10177         pread: improvement and fix
10178         * modules/pread (Depends-on): Depend on lseek, for portability to
10179         e.g., mingw.  Suggested by Eric Blake.
10180         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
10181
10182         unistd.in.h: correct declaration of pread
10183         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
10184         Reported by Richard W.M. Jones.
10185
10186         test-pread.sh: distribute the test script
10187         * modules/pread-tests (Files): Include test-pread.sh.
10188
10189         test-pread.sh: clean up
10190         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
10191         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
10192         That is unnecessary, since it's always ".".
10193         Suggestion from Eric Blake.
10194
10195         test-pread.sh: make executable
10196         * tests/test-pread.sh: Set executable bit.
10197         Reported by Eric Blake.
10198
10199         correct typo in test-pread.sh
10200         * tests/test-pread.sh: Add #! line.
10201
10202         test pread
10203         * tests/test-pread.c: New file.
10204         * tests/test-pread.sh: Likewise.
10205         * modules/pread-tests: Likewise.
10206
10207         pread: new module
10208         * modules/pread: New file.
10209         * lib/unistd.in.h (pread): Define/declare.
10210         * lib/pread.c (pread): New file.
10211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
10212         * modules/unistd (Makefile.am): Substitute witnesses.
10213         * doc/posix-functions/pread.texi (pread): Update.
10214         * MODULES.html.sh: Add pread.
10215
10216 2009-11-25  Jim Meyering  <meyering@redhat.com>
10217
10218         tests/init.sh: new file to be used via most *.sh tests
10219         * tests/init.sh: New file.
10220
10221 2009-11-25  Eric Blake  <ebb9@byu.net>
10222
10223         utimens: work around older Linux failure with symlinks
10224         * lib/utimens.c (lutimensat_works_really): New variable.
10225         (fdutimens, lutimens): Use it to manage kernels that support
10226         nanosecond times on files, but not on symlinks.
10227         Reported by OndÅ™ej Vašík.
10228
10229         utimes: fix configure grammar
10230         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
10231
10232 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
10233
10234         regex: Fix fastmap for multibyte character ranges.
10235         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
10236         characters when a multibyte character range is included.
10237
10238 2009-11-22  Andy Wingo  <wingo@pobox.com>
10239
10240         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
10241         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
10242
10243 2009-11-24  Bruno Haible  <bruno@clisp.org>
10244
10245         doc: Most *_l functions exist in MacOS X 10.5.
10246         * doc/posix-functions/duplocale.texi: Update platforms list.
10247         * doc/posix-functions/freelocale.texi: Likewise.
10248         * doc/posix-functions/newlocale.texi: Likewise.
10249         * doc/posix-functions/uselocale.texi: Likewise.
10250         * doc/posix-functions/isalnum_l.texi: Likewise.
10251         * doc/posix-functions/isalpha_l.texi: Likewise.
10252         * doc/posix-functions/isblank_l.texi: Likewise.
10253         * doc/posix-functions/iscntrl_l.texi: Likewise.
10254         * doc/posix-functions/isdigit_l.texi: Likewise.
10255         * doc/posix-functions/isgraph_l.texi: Likewise.
10256         * doc/posix-functions/islower_l.texi: Likewise.
10257         * doc/posix-functions/isprint_l.texi: Likewise.
10258         * doc/posix-functions/ispunct_l.texi: Likewise.
10259         * doc/posix-functions/isspace_l.texi: Likewise.
10260         * doc/posix-functions/isupper_l.texi: Likewise.
10261         * doc/posix-functions/iswalnum_l.texi: Likewise.
10262         * doc/posix-functions/iswalpha_l.texi: Likewise.
10263         * doc/posix-functions/iswblank_l.texi: Likewise.
10264         * doc/posix-functions/iswcntrl_l.texi: Likewise.
10265         * doc/posix-functions/iswctype_l.texi: Likewise.
10266         * doc/posix-functions/iswdigit_l.texi: Likewise.
10267         * doc/posix-functions/iswgraph_l.texi: Likewise.
10268         * doc/posix-functions/iswlower_l.texi: Likewise.
10269         * doc/posix-functions/iswprint_l.texi: Likewise.
10270         * doc/posix-functions/iswpunct_l.texi: Likewise.
10271         * doc/posix-functions/iswspace_l.texi: Likewise.
10272         * doc/posix-functions/iswupper_l.texi: Likewise.
10273         * doc/posix-functions/iswxdigit_l.texi: Likewise.
10274         * doc/posix-functions/isxdigit_l.texi: Likewise.
10275         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
10276         * doc/posix-functions/strcasecmp_l.texi: Likewise.
10277         * doc/posix-functions/strcoll_l.texi: Likewise.
10278         * doc/posix-functions/strfmon_l.texi: Likewise.
10279         * doc/posix-functions/strftime_l.texi: Likewise.
10280         * doc/posix-functions/strncasecmp_l.texi: Likewise.
10281         * doc/posix-functions/strxfrm_l.texi: Likewise.
10282         * doc/posix-functions/tolower_l.texi: Likewise.
10283         * doc/posix-functions/toupper_l.texi: Likewise.
10284         * doc/posix-functions/towctrans_l.texi: Likewise.
10285         * doc/posix-functions/towlower_l.texi: Likewise.
10286         * doc/posix-functions/towupper_l.texi: Likewise.
10287         * doc/posix-functions/wcscoll_l.texi: Likewise.
10288         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
10289         * doc/posix-functions/wctrans_l.texi: Likewise.
10290         * doc/posix-functions/wctype_l.texi: Likewise.
10291         * doc/glibc-functions/strptime_l.texi: Likewise.
10292         * doc/glibc-functions/strtod_l.texi: Likewise.
10293         * doc/glibc-functions/strtof_l.texi: Likewise.
10294         * doc/glibc-functions/strtol_l.texi: Likewise.
10295         * doc/glibc-functions/strtold_l.texi: Likewise.
10296         * doc/glibc-functions/strtoll_l.texi: Likewise.
10297         * doc/glibc-functions/strtoul_l.texi: Likewise.
10298         * doc/glibc-functions/strtoull_l.texi: Likewise.
10299         * doc/glibc-functions/wcsftime_l.texi: Likewise.
10300         * doc/glibc-functions/wcstod_l.texi: Likewise.
10301         * doc/glibc-functions/wcstof_l.texi: Likewise.
10302         * doc/glibc-functions/wcstol_l.texi: Likewise.
10303         * doc/glibc-functions/wcstold_l.texi: Likewise.
10304         * doc/glibc-functions/wcstoll_l.texi: Likewise.
10305         * doc/glibc-functions/wcstoul_l.texi: Likewise.
10306         * doc/glibc-functions/wcstoull_l.texi: Likewise.
10307
10308 2009-11-24  Bruno Haible  <bruno@clisp.org>
10309
10310         duplocale: Fix logic bug.
10311         * lib/duplocale.c: Don't include <langinfo.h>.
10312         (_NL_LOCALE_NAME): Remove macro.
10313         (rpl_duplocale): Use setlocale instead of nl_langinfo.
10314         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
10315
10316 2009-11-23  Jim Meyering  <meyering@redhat.com>
10317
10318         test-update-copyright: don't hard-code /usr/bin/perl
10319         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
10320         perl to print the current year.  Gilles Espinasse reported that
10321         the replaced use of perl was hard-coded as /usr/bin/perl.
10322
10323 2009-11-23  Bruno Haible  <bruno@clisp.org>
10324
10325         duplocale: Add support for glibc 2.3.x.
10326         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
10327
10328 2009-11-22  Bruno Haible  <bruno@clisp.org>
10329
10330         vasnprintf: Tiny optimization.
10331         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
10332         MacOS X.
10333
10334 2009-11-22  Bruno Haible  <bruno@clisp.org>
10335
10336         Tests for module 'duplocale'.
10337         * modules/duplocale-tests: New file.
10338         * tests/test-duplocale.c: New file.
10339
10340         New module 'duplocale'.
10341         * m4/duplocale.m4: New file.
10342         * lib/locale.in.h (duplocale): New declaration.
10343         * lib/duplocale.c: New file.
10344         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
10345         gl_LOCALE_H_DEFAULTS): New macros.
10346         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
10347         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
10348         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
10349         REPLACE_DUPLOCALE.
10350         * modules/duplocale: New file.
10351         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
10352
10353 2009-11-22  Bruno Haible  <bruno@clisp.org>
10354
10355         * modules/locale-tests (configure.ac): Test for newlocale function.
10356         * tests/test-locale.c: When the system has extended locale functions,
10357         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
10358
10359         locale: Make locale_t available when possible.
10360         * lib/locale.in.h: Include <xlocale.h> when it exists.
10361         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
10362         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
10363         * modules/locale (Depends-on): Add extensions.
10364         (Makefile.am): Also substitute HAVE_XLOCALE_H.
10365         * doc/posix-headers/locale.texi: Document the problem with locale_t.
10366
10367 2009-11-22  Bruno Haible  <bruno@clisp.org>
10368
10369         Add comments.
10370         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
10371         invocation.
10372         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
10373         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10374         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
10375
10376 2009-11-22  Bruno Haible  <bruno@clisp.org>
10377
10378         error: account for the possibility of freopen (stdout).
10379         * lib/error.c: Include <unistd.h>.
10380         (flush_stdout): New function, extracted from error and error_at_line.
10381         Determine stdout's fd dynamically.
10382         (error, error_at_line): Invoke flush_stdout.
10383         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
10384         * modules/error (Depends-on): Add unistd.
10385
10386 2009-11-22  Bruno Haible  <bruno@clisp.org>
10387
10388         diffseq: Add comment.
10389         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
10390
10391 2009-11-22  Jim Meyering  <meyering@redhat.com>
10392
10393         c-stack: avoid defining an unused static function
10394         * lib/c-stack.c (find_stack_direction): Do not define this function
10395         when it will not be used.
10396
10397         diffseq: avoid spurious gcc warnings
10398         * lib/diffseq.h (IF_LINT2): Define.
10399         (compareseq): Use it to initialize two members of "part".
10400         This avoids two used-uninitialized warnings.
10401
10402 2009-11-21  Jim Meyering  <meyering@redhat.com>
10403
10404         c-stack: avoid "ignoring return value of `write'" warning
10405         * lib/c-stack.c: Include "ignore-value.h".
10406         (die): Explicitly ignore each write return value.
10407         * modules/c-stack (Depends-on): Add ignore-value.
10408
10409 2009-11-21  Bruno Haible  <bruno@clisp.org>
10410
10411         diffseq: reduce scope of variable 'best'.
10412         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
10413         variable, earlier used for two different purposes.
10414
10415 2009-11-21  Jim Meyering  <meyering@redhat.com>
10416
10417         diffseq: remove useless assignment to "best"
10418         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
10419         assignment.  At that point "best" is already guaranteed to be zero.
10420
10421 2009-11-20  Eric Blake  <ebb9@byu.net>
10422
10423         build: mention ftp redirector in release announcements
10424         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
10425         values that used to come from cfg.mk; mention FTP redirect URL.
10426         * build-aux/announce-gen: Mention the mirror list.
10427         Suggested by Karl Berry.
10428
10429         nanosleep: improve port to mingw
10430         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
10431         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
10432         LIB_NANOSLEEP, but only when needed.
10433         * modules/select (Link): Document LIBSOCKET.
10434         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
10435         enough.
10436
10437         nanosleep: work around cygwin bug
10438         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
10439         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
10440         bug.
10441         (getnow): Delete, not needed.
10442         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
10443         LIB_CLOCK_GETTIME.
10444         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
10445         clock-time, gettime.
10446         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
10447         bug.
10448         * modules/nanosleep-tests: New test.
10449         * tests/test-nanosleep.c: New file.
10450
10451         sleep: work around cygwin bug
10452         * lib/sleep.c (rpl_sleep): Work around the bug.
10453         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
10454         (gl_PREREQ_SLEEP): Delete unused macro.
10455         * modules/sleep (Depends-on): Add verify.
10456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
10457         * modules/unistd (Makefile.am): Substitute witness.
10458         * lib/unistd.in.h (sleep): Update prototype.
10459         * doc/posix-functions/sleep.texi (sleep): Document the bug.
10460         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
10461         * modules/sleep-tests (Depends-on): Check for alarm.
10462
10463 2009-11-20  Jim Meyering  <meyering@redhat.com>
10464
10465         maint.mk: improve sc_prohibit_magic_number_exit
10466         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
10467         so it does not match uses like System.exit(1).
10468         Add comments showing how to correct all offenders.
10469
10470 2009-11-19  Eric Blake  <ebb9@byu.net>
10471
10472         xalloc-die-tests: add missing library
10473         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
10474
10475         test-xvasprintf: silence compiler warnings
10476         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
10477         empty string from gcc.
10478
10479 2009-11-19  Jim Meyering  <meyering@redhat.com>
10480
10481         xfreopen: new module, from coreutils
10482         * modules/xfreopen: New module.
10483         * lib/xfreopen.c: New file.
10484         * lib/xfreopen.h: New file.
10485         * MODULES.html.sh (File stream based Input/Output"): Add it.
10486
10487 2009-11-19  Eric Blake  <ebb9@byu.net>
10488
10489         manywarnings: depend on warnings
10490         * modules/manywarnings (Depends-on): Add warnings.
10491
10492         build: avoid compiler warnings
10493         * lib/select.c (rpl_select): Delete unused variable.
10494         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
10495
10496 2009-11-18  Eric Blake  <ebb9@byu.net>
10497
10498         tests: avoid false negative with --with-packager
10499         * tests/test-version-etc.sh: Discard packager information.
10500         * tests/test-argp-version-etc-1.sh: Likewise.
10501         Reported by Mike Frysinger.
10502
10503         utimens: fix regression on Solaris
10504         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
10505         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
10506         can only change fd timestamps via futimesat.  Instead, use an
10507         additional witness macro to avoid BSD bug.
10508         Reported by Jim Meyering.
10509
10510 2009-11-17  Eric Blake  <ebb9@byu.net>
10511
10512         usleep: use it to simplify tests
10513         * modules/stat-time-tests (Depends-on): Add usleep.
10514         (configure.ac): Drop usleep check.
10515         * modules/chown-tests (Depends-on, configure.ac): Likewise.
10516         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
10517         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
10518         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
10519         * modules/openat-tests (Depends-on, configure.ac): Likewise.
10520         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
10521         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
10522         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
10523         Likewise.
10524         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
10525         * tests/test-lchown.h (nap): Likewise.
10526         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
10527         * tests/test-stat-time.c (nap): Likewise.
10528         * tests/test-utimens-common.h (nap): Update comments.
10529
10530         usleep: new module
10531         * modules/usleep: New file.
10532         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
10533         * lib/usleep.c (usleep): Likewise.
10534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
10535         * modules/unistd (Makefile.am): Substitute witnesses.
10536         * lib/unistd.in.h (usleep): Add declaration.
10537         * doc/pastposix-functions/usleep.texi (usleep): Document this.
10538         * MODULES.html.sh (Date and time): Likewise.
10539         * modules/usleep-tests (Depends-on): New test.
10540         * tests/test-usleep.c: New file.
10541
10542         chown: work around OpenBSD bug
10543         * lib/chown.c (rpl_chown): Work around the bug.
10544         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
10545         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
10546         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
10547         * modules/chown (Depends-on): Add stdbool.
10548         * modules/lchown (Depends-on): Likewise.
10549         * doc/posix-functions/chown.texi (chown): Document the bug.
10550         * doc/posix-functions/lchown.texi (lchown): Likewise.
10551         * tests/test-lchown.h (test_chown): Relax test.
10552
10553         mkstemp: avoid conflict with C++ keyword template
10554         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
10555         * lib/mkostemp.c (mkostemp): Likewise.
10556         * lib/mkostemps.c (mkostemps): Likewise.
10557         * lib/mkstemp.c (mkstemp): Likewise.
10558         * lib/mkstemps.c (mkstemps): Likewise.
10559
10560         xalloc-die-tests: optimize
10561         * tests/test-xalloc-die.sh: Reduce number of processes.
10562
10563 2009-11-17  Simon Josefsson  <simon@josefsson.org>
10564
10565         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
10566         patch from ludo@gnu.org (Ludovic Courtès).
10567
10568 2009-11-17  Jim Meyering  <meyering@redhat.com>
10569
10570         version-etc: use proper license string
10571         * modules/version-etc (License): Use LGPL, not LGPLv3+.
10572         * modules/version-etc-fsf: Likewise.
10573
10574 2009-11-17  Simon Josefsson  <simon@josefsson.org>
10575
10576         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
10577         printed to stdout.  Deal with EOL differences.
10578
10579 2009-11-17  Eric Blake  <ebb9@byu.net>
10580
10581         unsetenv: work around Solaris bug
10582         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
10583         * lib/unsetenv.c (rpl_unsetenv): Work around it.
10584         Reported by Jim Meyering.
10585
10586         vasnprintf: avoid compiler warnings
10587         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
10588         variables.
10589         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
10590
10591 2009-11-17  Simon Josefsson  <simon@josefsson.org>
10592
10593         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
10594         settings since xalloc-die is no longer the self test,
10595         xalloc-die.sh is.
10596
10597 2009-11-17  Jim Meyering  <meyering@redhat.com>
10598
10599         test-xalloc-die.sh: make the code agree with the commit log
10600         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
10601         at the end, just in case you happen to have a test-xalloc-die
10602         program in some other PATH directory.
10603
10604         test-xalloc-die.sh: fix a portability bug
10605         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
10606         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
10607         Otherwise, argv[0] (as often seen in diagnostics) would be too
10608         system-dependent, sometimes with, and sometimes without the leading "./".
10609
10610         version-etc-fsf: relax license to LGPLv3+
10611         * modules/version-etc-fsf (License): Relax license.
10612
10613 2009-11-16  Eric Blake  <ebb9@byu.net>
10614
10615         xalloc-die-tests: avoid printing null pointer
10616         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
10617         shell script.
10618         * tests/test-xalloc-die.c (program_name): Declare.
10619         * tests/test-xalloc-die.sh (tmpfiles): New file.
10620
10621         setenv, unsetenv: work around various bugs
10622         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
10623         (setenv) [HAVE_SETENV]: Work around bugs.
10624         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
10625         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
10626         for bugs.
10627         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
10628         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
10629         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
10630         * modules/stdlib (Makefile.am): Update substitutions.
10631         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
10632         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
10633         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
10634         * modules/setenv-tests: New test.
10635         * modules/unsetenv-tests: Likewise.
10636         * tests/test-setenv.c: New file.
10637         * tests/test-unsetenv.c: Likewise.
10638
10639 2009-11-16  Jim Meyering  <meyering@redhat.com>
10640
10641         version-etc: relax license to LGPLv3+
10642         * modules/version-etc (License): Relax license.
10643
10644         better AC_REQUIRE expanded-before-required-warning avoidance
10645         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
10646         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
10647         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
10648         which is no longer needed.
10649
10650 2009-11-16  Eric Blake  <ebb9@byu.net>
10651
10652         test-freading: clean up temporary file
10653         * tests/test-freading.c (main): Remove file on success, and use
10654         ASSERT more liberally.
10655         Reported by Jim Meyering.
10656
10657 2009-11-16  Jim Meyering  <meyering@redhat.com>
10658
10659         avoid new AC_REQUIRE expanded-before-required warnings
10660         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
10661         merely using it.
10662         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
10663         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
10664
10665 2009-11-15  Simon Josefsson  <simon@josefsson.org>
10666
10667         * tests/test-xalloc-die.c: New file.
10668         * modules/xalloc-die-tests: New file.
10669         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
10670         XFAIL_TESTS so it can be appended by modules.
10671
10672 2009-11-15  Simon Josefsson  <simon@josefsson.org>
10673
10674         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
10675         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
10676
10677 2009-11-14  Eric Blake  <ebb9@byu.net>
10678
10679         fnmatch: avoid compiler warning
10680         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
10681         to silence compiler warning about mismatch signedness in ?:.
10682         Reported by Robert Millan.
10683
10684         intprops: add double-inclusion guard
10685         * lib/intprops.h: Allow idempotent includes.
10686         Suggested by Bruce Korb.
10687
10688         openat: detect Solaris fchownat bug
10689         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
10690         penalizing glibc chownat when only lchownat is broken.
10691         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
10692         trailing slash bugs.
10693         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
10694         * modules/openat-tests (Files): Include more files.
10695         (Depends-on): Add mgetgroups, sleep, stat-time.
10696         (configure.ac): Add additional checks.
10697         (Makefile.am): Build new test.
10698         * tests/test-fchownat.c: New file.
10699
10700         lchown: detect Solaris and FreeBSD bug
10701         * lib/lchown.c (rpl_lchown): Work around bug.
10702         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
10703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10704         * modules/unistd (Makefile.am): Populate it.
10705         * lib/unistd.in.h (lchown): Update declaration.
10706         * doc/posix-functions/lchown.texi (lchown): Document the bug.
10707         * modules/lchown-tests: New file.
10708         * tests/test-lchown.h (test_lchown): Likewise.
10709         * tests/test-lchown.c (main): Likewise.
10710
10711         chown: detect Solaris and FreeBSD bug
10712         * lib/chown.c (rpl_chown): Work around bug.
10713         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
10714         (gl_PREREQ_CHOWN): Delete.
10715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10716         * modules/unistd (Makefile.am): Populate it.
10717         * lib/unistd.in.h (chown): Update declaration.
10718         * lib/lchown.c (chown): Update client.
10719         * modules/lchown (Depends-on): Add lstat.
10720         * doc/posix-functions/chown.texi (chown): Document the bug.
10721         * doc/posix-functions/getgroups.texi (getgroups): Document
10722         getgroups pitfall.
10723         * modules/chown-tests: New file.
10724         * tests/test-chown.h (test_chown): Likewise.
10725         * tests/test-chown.c (main): Likewise.
10726
10727 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
10728
10729         gnulib-tool: correctly detect absence of m4 directories
10730         * gnulib-tool: Avoid extra newline on data passed to wc -l.
10731
10732 2009-11-14  Jim Meyering  <meyering@redhat.com>
10733
10734         maint.mk: Prohibit inclusion of "xalloc.h" without use.
10735         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
10736
10737 2009-11-14  John W. Eaton  <jwe@gnu.org>
10738
10739         strftime.h: wrap funtion declaration in extern "C" block
10740         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
10741
10742 2009-11-13  Eric Blake  <ebb9@byu.net>
10743
10744         getgroups: avoid compiler warning
10745         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
10746
10747         getgroups: work around FreeBSD bug
10748         * lib/getgroups.c (rpl_getgroups): Work around the bug.
10749         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
10750         * doc/posix-functions/getgroups.texi (getgroups): Document it.
10751         * tests/test-getgroups.c (main): Fix buffer overrun.
10752
10753         getgroups: avoid compilation failure
10754         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
10755         * modules/getgroups (Depends-on): Add stdint.
10756
10757 2009-11-13  Jim Meyering  <meyering@redhat.com>
10758
10759         test-getgroups: avoid compilation failure
10760         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
10761
10762 2009-11-13  Eric Blake  <ebb9@byu.net>
10763
10764         mgetgroups: new module, taken from coreutils
10765         * modules/mgetgroups: New file.
10766         * lib/mgetgroups.h: Likewise.
10767         * lib/mgetgroups.c (mgetgroups): Likewise.
10768         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
10769         * MODULES.html.sh (Users and groups): Mention it.
10770
10771         getgroups: don't expose GETGROUPS_T to user
10772         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
10773         an element at a time if GETGROUPS_T is wrong size.
10774         * lib/getugroups.h (getugroups): Change signature.
10775         * lib/unistd.in.h (getgroups): Likewise.
10776         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
10777         signature needs fixing.
10778         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
10779         AC_TYPE_GETGROUPS.
10780         * modules/group-member (Depends-on): Add getgroups.
10781         * lib/group-member.c (group_info, get_group_info): Use gid_t.
10782         (group_member): Rely on getgroups replacement.
10783         * lib/getugroups.c (getugroups): Use gid_t.
10784         * tests/test-getgroups.c (main): Likewise.
10785         * NEWS: Mention the signature change.
10786         * doc/posix-functions/getgroups.texi (getgroups): Mention the
10787         problem with signature.
10788         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
10789         GETGROUPS_T is still useful for setgroups.
10790
10791         getgroups, getugroups: provide stubs for mingw
10792         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
10793         * lib/getugroups.c (getugroups): Likewise.
10794         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
10795         function.  Modernize replacement scheme.
10796         (gl_PREREQ_GETGROUPS): Delete.
10797         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
10798         * modules/getgroups (configure.ac): Declare witness.
10799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
10800         * modules/unistd (Depends-on): Substitute witness.
10801         * lib/unistd.in.h (getgroups): Declare replacement.
10802
10803         getgroups: avoid calling exit
10804         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
10805         drop xalloc.
10806         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
10807         dependencies.
10808         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
10809         exiting, in the rare case of malloc failure.
10810
10811         getgroups: fix logic error
10812         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
10813         has more than 20 groups.
10814         * modules/getgroups-tests: New test.
10815         * tests/test-getgroups.c: New file.
10816
10817 2009-11-13  Simon Josefsson  <simon@josefsson.org>
10818
10819         * tests/test-base64.c: Improve.
10820
10821 2009-11-13  Simon Josefsson  <simon@josefsson.org>
10822
10823         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
10824         Blake <ebb9@byu.net>.
10825
10826 2009-11-13  Simon Josefsson  <simon@josefsson.org>
10827
10828         * tests/test-xvasprintf.c: Add %s%s related checks.
10829
10830 2009-11-12  Eric Blake  <ebb9@byu.net>
10831
10832         version-etc: match standards.texi style
10833         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
10834         and use <> only for URLs.
10835
10836 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
10837
10838         fts: do not fail on a submount during traversal
10839         * lib/fts.c (fts_build): Read the stat info again after opening
10840         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
10841         Original report at http://bugzilla.redhat.com/501848.
10842
10843 2009-11-12  Jim Meyering  <meyering@redhat.com>
10844
10845         bootstrap: sync from coreutils
10846         * build-aux/bootstrap (bootstrap_epilogue): New function.
10847         Use git_modules_config in one more place.  This make bootstrap's
10848         --gnulib-srcdir option more useful for testing.
10849
10850         bootstrap: generalize autoheader check
10851         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
10852         AC_CONFIG_HEADERS.
10853
10854 2009-11-11  Eric Blake  <ebb9@byu.net>
10855
10856         mkfifoat: use new modules for Solaris and BSD bugs
10857         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
10858         * lib/mkfifoat.c (mknodat): Split...
10859         * lib/mknodat.c (mknodat): ...into new file.
10860         * modules/mkfifoat (Files): Ship new file.
10861         (Depends-on): Add mkfifo, mknod.
10862         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
10863         (Depends-on): Add symlink.
10864         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
10865         redundant with test_mkfifo.h.
10866         (do_mkfifoat, do_mknodat): New helpers.
10867
10868         mknod: new module
10869         * modules/mknod: New file.
10870         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
10871         * lib/mknod.c (mknod): Likewise.
10872         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
10873         defaults.
10874         * modules/sys_stat (Makefile.am): Substitute them.
10875         * lib/sys_stat.in.h (mknod): Declare replacement.
10876         * MODULES.html.sh (Support for systems lacking POSIX:2008):
10877         Document it.
10878         * doc/posix-functions/mknod.texi (mknod): Likewise.
10879         * modules/mknod-tests: New test.
10880         * tests/test-mknod.c: Likewise.
10881
10882         mkfifo: new module
10883         * modules/mkfifo: New file.
10884         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
10885         * lib/mkfifo.c (mkfifo): Likewise.
10886         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
10887         defaults.
10888         * modules/sys_stat (Makefile.am): Substitute them.
10889         * lib/sys_stat.in.h (mkfifo): Declare replacement.
10890         * MODULES.html.sh (Support for systems lacking POSIX:2008):
10891         Document it.
10892         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
10893         * modules/mkfifo-tests: New test.
10894         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
10895         from test-mkfifoat.c.
10896         * tests/test-mkfifo.c: New file.
10897
10898         readlink: detect FreeBSD bug
10899         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
10900         slash on symlink.
10901         * doc/posix-functions/readlink.texi (readlink): Document the bug.
10902         * tests/test-readlink.h (test_readlink): Enhance test.
10903
10904         symlink: detect FreeBSD bug
10905         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
10906         slash on symlink.
10907         * doc/posix-functions/symlink.texi (symlink): Document the bug.
10908         * tests/test-symlink.h (test_symlink): Enhance test.
10909
10910 2009-11-10  Eric Blake  <ebb9@byu.net>
10911
10912         link: detect FreeBSD bug
10913         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
10914         symlink.
10915         * doc/posix-functions/link.texi (link): Document the bug.
10916         * tests/test-link.h (test_link): Enhance test.
10917         * tests/test-linkat.c (main): Update caller.
10918
10919         unlink, remove: detect FreeBSD bug
10920         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
10921         slash on symlink.
10922         * doc/posix-functions/unlink.texi (unlink): Document the bug.
10923         * doc/posix-functions/remove.texi (remove): Likewise.
10924         * tests/test-unlink.h (test_unlink): Enhance test.
10925         * tests/test-remove.c (main): Likewise.
10926
10927 2009-11-09  Eric Blake  <ebb9@byu.net>
10928
10929         rename: detect FreeBSD bug
10930         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
10931         slash on symlink.
10932         * modules/renameat-tests (Depends-on): Add filenamecat.
10933         * tests/test-rename.h (test_rename): Allow one more errno.
10934         * tests/test-renameat.c (main): Likewise.
10935         * doc/posix-functions/rename.texi (rename): Document the bug.
10936
10937         open: detect FreeBSD bug
10938         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
10939         symlink.
10940         * doc/posix-functions/open.texi (open): Document the bug.
10941         * doc/posix-functions/utimes.texi (utimes): Likewise.
10942         * tests/test-open.h (test_open): Add parameters, and test symlink
10943         handling.
10944         * tests/test-open.c (main): Adjust caller.
10945         * tests/test-fcntl-safer.c (main): Likewise.
10946         * modules/open-tests (Depends-on): Add stdbool, symlink.
10947         * modules/fcntl-safer-tests (Depends-on): Likewise.
10948         * tests/test-openat.c (main): Add test-open tests.
10949
10950         stat: detect FreeBSD bug
10951         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
10952         symlink.
10953         * doc/posix-functions/stat.texi (stat): Document the bug.
10954         * tests/test-stat.h (test_stat_func): Add argument.
10955         * tests/test-stat.c (main): Adjust caller.
10956         * tests/test-fstatat.c (main): Likewise.
10957         * modules/stat-tests (Depends-on): Add stdbool, symlink.
10958         Reported by Jim Meyering.
10959
10960 2009-11-09  James Youngman  <jay@gnu.org>
10961
10962         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
10963         * lib/strftime.c: Correct placement of #include "ignore-value.h".
10964
10965 2009-11-08  Jim Meyering  <meyering@redhat.com>
10966
10967         utimens: remove invalid futimesat call
10968         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
10969         It used the file descriptor of the target file as the DIR_FD
10970         parameter and NULL as the file name.  That caused failure with
10971         errno == EFAULT on FreeBSD-8.0-rc2
10972
10973 2009-11-07  Eric Blake  <ebb9@byu.net>
10974
10975         fflush, freadseek: use fseeko, not fseek
10976         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
10977         (clear_ungetc_buffer): Avoid potential problems on large files.
10978         * lib/freadseek.c (freadseek): Likewise.
10979         * modules/freadseek (Depends-on): Add fseeko.
10980         * modules/fseek (configure.ac): Set a witness.
10981         * tests/test-fflush.c (main): Use fseeko.
10982         * tests/test-fpurge.c (fseek): Disable link warning.
10983         * tests/test-freadable.c (fseek): Likewise.
10984         * tests/test-freading.c (fseek): Likewise.
10985         * tests/test-fseeko.c (fseek): Likewise.
10986         * tests/test-ftell.c (fseek): Likewise.
10987         * tests/test-ftello.c (fseek): Likewise.
10988         * tests/test-fwritable.c (fseek): Likewise.
10989         * tests/test-fwriting.c (fseek): Likewise.
10990
10991 2009-11-06  Simon Josefsson  <simon@josefsson.org>
10992
10993         * modules/memchr (Depends-on): Drop getpagesize dependency.
10994
10995 2009-11-06  Simon Josefsson  <simon@josefsson.org>
10996
10997         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
10998         Reported by Ludovic Courtès.
10999         * build-aux/pmccabe2html: Improve example usage.
11000         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
11001
11002 2009-11-06  Jim Meyering  <meyering@redhat.com>
11003
11004         do-release-commit-and-tag: New module.
11005         Automate the release-commit and tag process.
11006         * build-aux/do-release-commit-and-tag: New script, from coreutils.
11007         * modules/do-release-commit-and-tag: New file.
11008         * MODULES.html.sh (Support for maintaining and releasing): Add it.
11009
11010 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11011
11012         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
11013         because test-select.c uses inet_pton.
11014
11015 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11016
11017         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
11018         GETADDRINFO_LIB.  Bump serial number.
11019         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
11020         Suggested by Eric Blake <ebb9@byu.net>.
11021
11022 2009-11-05  Eric Blake  <ebb9@byu.net>
11023
11024         strtod: detect darwin bug
11025         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
11026         Reported by Leo Davis.
11027
11028         freopen-safer: new module
11029         * modules/freopen-safer: New module.
11030         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
11031         * lib/freopen-safer.c (freopen_safer): New file.
11032         * lib/stdio-safer.h (freopen_safer): New declaration.
11033         * lib/stdio--.h (freopen): New override.
11034         * MODULES.html.sh (File stream based Input/Output): Mention it.
11035         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
11036         freopen-safer module.
11037         * doc/posix-functions/stderr.texi (stderr): Likewise.
11038         * doc/posix-functions/stdin.texi (stdin): Likewise.
11039         * doc/posix-functions/stdout.texi (stdout): Likewise.
11040         * modules/freopen-safer-tests: New test.
11041         * tests/test-reopen-safer.c: New file.
11042
11043 2009-11-05  Jim Meyering  <meyering@redhat.com>
11044
11045         maint.mk: Prohibit inclusion of "close-stream.h" without use.
11046         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
11047
11048 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11049
11050         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
11051
11052 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11053
11054         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
11055
11056 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11057
11058         Fix link error.
11059         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
11060         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
11061
11062 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11063
11064         * tests/test-func.c: Also test value of __func__.
11065
11066 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11067
11068         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
11069         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
11070
11071 2009-11-05  Bruno Haible  <bruno@clisp.org>
11072
11073         Fix link error.
11074         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
11075         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
11076         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
11077
11078 2009-11-05  Bruno Haible  <bruno@clisp.org>
11079
11080         Tests for module 'inet_pton'.
11081         * modules/inet_pton-tests: New file.
11082         * tests/test-inet_pton.c: New file.
11083
11084 2009-11-05  Bruno Haible  <bruno@clisp.org>
11085
11086         Tests for module 'inet_ntop'.
11087         * modules/inet_ntop-tests: New file.
11088         * tests/test-inet_ntop.c: New file.
11089
11090 2009-11-04  Eric Blake  <ebb9@byu.net>
11091
11092         stdlib-safer: wrap all mkstemp variants
11093         * modules/mkostemp (configure.ac): Set witness.
11094         * modules/mkostemps (configure.ac): Likewise.
11095         * modules/mkstemps (configure.ac): Likewise.
11096         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
11097         (mkstemps_safer): Wrap more functions.
11098         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
11099         wrapping.
11100         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
11101         (mkstemps_safer): Implement the wrappers.
11102
11103         mkstemps, mkostemps: new modules
11104         * modules/mkostemps: New module.
11105         * modules/mkstemps: Likewise.
11106         * lib/mkostemps.c (mkostemps): New file.
11107         * lib/mkstemps.c (mkstemps): Likewise.
11108         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
11109         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
11110         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
11111         * modules/stdlib (Makefile.am): Substitute them.
11112         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
11113         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
11114         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
11115         * doc/gnulib.texi (Glibc stdlib.h): Include them.
11116         * MODULES.html.sh (File system functions): Mention them.
11117
11118         tempname: resync from glibc
11119         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
11120         same values for __GT_FILE as glibc.  Abort even when assertions
11121         are disabled.
11122         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
11123         match its value otherwise.  Allow idempotent inclusion.
11124         * lib/mkdtemp.c (mkdtemp): Adjust caller.
11125         * lib/mkostemp.c (mkostemp): Likewise.
11126         * lib/mkstemp.c (mkstemp): Likewise.
11127         * lib/tmpfile.c (tmpfile): Likewise.
11128         * NEWS: Document this.
11129
11130         utimens: fix use of futimens on older Linux
11131         * lib/utimens.c (fdutimens): Use updated, rather than original,
11132         timespec to avoid bug in older Linux kernel.
11133         Reported by Simon Josefsson.
11134
11135 2009-11-04  Bruno Haible  <bruno@clisp.org>
11136
11137         Make num_processors more flexible and consistent.
11138         * lib/nproc.h (enum nproc_query): New type.
11139         (num_processors): Add a 'query' argument.
11140         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
11141         (num_processors): Add a 'query' argument. Test the value of the
11142         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
11143         mingw, count the number of CPUs available for the current process.
11144         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
11145         Check for sched_getaffinity and sched_getaffinity_np.
11146         * modules/nproc (Depends-on): Add c-ctype, extensions.
11147         * NEWS: Mention the change.
11148
11149 2009-11-03  Bruno Haible  <bruno@clisp.org>
11150
11151         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
11152
11153 2009-11-03  Jim Meyering  <meyering@redhat.com>
11154
11155         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
11156         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
11157         if it is defined.
11158
11159 2009-11-02  Eric Blake  <ebb9@byu.net>
11160
11161         mktime, timegm: share common declaration
11162         * lib/mktime-internal.h: New file.
11163         * lib/mktime.c: Use it rather than open-coding a declaration.
11164         * lib/timegm.c: Likewise.
11165         * modules/mktime (Files): Ship it.
11166         * modules/timegm (Files): Likewise.
11167         Suggested by Bruno Haible.
11168
11169         test-update-copyright: update test to match script changes
11170         * tests/test-update-copyright.sh: Avoid hard-coding perl
11171         location.  Don't update *.bak created by earlier runs.
11172
11173 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11174             Simon Josefsson  <simon@josefsson.org>
11175             Bruno Haible  <bruno@clisp.org>
11176
11177         Fix link error on Solaris 8.
11178         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
11179         also in libnsl. Define also INET_PTON_LIB.
11180         * modules/inet_pton (Link): New section.
11181
11182 2009-11-02  Simon Josefsson  <simon@josefsson.org>
11183             Bruno Haible  <bruno@clisp.org>
11184
11185         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
11186         * modules/inet_ntop (Link): New section.
11187         Reported by Boyan Kasarov <bkasarov@gmail.com>.
11188
11189 2009-11-02  Eric Blake  <ebb9@byu.net>
11190
11191         maint: avoid compiler warnings in m4 macros
11192         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
11193         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
11194
11195 2009-11-02  Simon Josefsson  <simon@josefsson.org>
11196
11197         * m4/pmccabe2html.m4: Remove file.
11198         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
11199         function.  Change maintainer.
11200         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
11201         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
11202         Courtès).
11203
11204 2009-10-31  Eric Blake  <ebb9@byu.net>
11205
11206         fseeko: fix m4 regression
11207         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
11208         regression from 2009-10-27.
11209         Reported by Ralf Wildenhues.
11210
11211 2009-10-31  Jim Meyering  <meyering@redhat.com>
11212
11213         inttostr: aesthetics and improved (compile-time) safety
11214         Define inttype_is_signed rather than inttype_is_unsigned,
11215         since the sole use is via "#if inttype_is_signed".
11216         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
11217         inttype_is_unsigned.
11218         * lib/offtostr.c (inttype_is_signed): Likewise.
11219         * lib/uinttostr.c (inttype_is_signed): Likewise.
11220         * lib/umaxtostr.c (inttype_is_signed): Likewise.
11221         * lib/inttostr.c (inttostr): Use verify to cross-check the
11222         inttype_is_signed value and the signedness of the actual type.
11223         * modules/inttostr (Depends-on): Add verify.
11224
11225 2009-10-30  Eric Blake  <ebb9@byu.net>
11226
11227         build: avoid compiler warnings
11228         * lib/fchmodat.c (lchmod): Mark unused variables.
11229         * lib/getopt.c (_getopt_initialize): Likewise.
11230         * lib/mktime.c (__mktime_internal): Provide prototype.
11231         * lib/inttostr.c (inttostr): Avoid compiler warning even with
11232         older gcc that do not understand #pragma GCC diagnostic.
11233         * lib/uinttostr.c (inttype_is_unsigned): Define.
11234         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
11235
11236 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
11237
11238         stat: fix compilation on AIX
11239         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
11240         only see struct stat64.
11241
11242 2009-10-30  Eric Blake  <ebb9@byu.net>
11243
11244         exclude: make more robust
11245         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
11246         rather than masking a coding bug.
11247         Suggested by Bruno Haible.
11248
11249 2009-10-30  Jim Meyering  <meyering@redhat.com>
11250
11251         perl scripts: remove #!/usr/bin/perl in favor of more portable...
11252         Rather than putting #!/usr/bin/perl on the first line,
11253         start with a variant of what's recommended by "man perlrun" that
11254         invokes the first "perl" program from your shell's search path.
11255         * build-aux/gitlog-to-changelog: Replace #!... as above.
11256         Add a "Local Variables" perl mode setting.
11257         Prompted by a patch from Ludovic Courtès.
11258         Improved by Eric Blake.
11259         * build-aux/useless-if-before-free: Likewise.
11260         * build-aux/announce-gen: Likewise.
11261         * build-aux/update-copyright: Likewise.
11262
11263 2009-10-29  Eric Blake  <ebb9@byu.net>
11264
11265         filenamecat-lgpl: adjust clients
11266         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
11267         filenamecat.
11268         * modules/renameat (Depends-on): Likewise.
11269
11270         filenamecat: split into filenamecat-lgpl
11271         * modules/filenamecat-lgpl: New module.
11272         * modules/filenamecat (Files): Move library-safe files into
11273         filenamecat-lgpl.
11274         (Depends-on): Add filenamecat-lgpl.
11275         (configure.ac): Declare witness.
11276         * lib/filenamecat.h (file_name_concat): Only declare when using
11277         GPL module.
11278         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
11279         Move...
11280         * lib/filenamecat-lgpl.c: ...into new file.
11281         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
11282         (gl_FILE_NAME_CONCAT): Use it.
11283         * MODULES.html.sh (File system functions): Mention new module.
11284
11285         argp: avoid memory leak
11286         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
11287         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
11288         base_name, since the latter malloc()s and can call exit().
11289         Leak introduced 2006-07-03.
11290
11291         dirname-lgpl: adjust clients that don't need full dirname
11292         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
11293         * modules/filenamecat (Depends-on): Likewise.
11294         * modules/linkat (Depends-on): Likewise.
11295         * modules/mkancesdirs (Depends-on): Likewise.
11296         * modules/mkdir (Depends-on): Likewise.
11297         * modules/openat (Depends-on): Likewise.
11298         * modules/savewd (Depends-on): Likewise.
11299         * modules/rename (Depends-on): Likewise.
11300         (License): Relax license.
11301         * modules/mkdir-tests (Depends-on): Drop progname.
11302         (Makefile.am): Delete unneeded LDADD.
11303         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
11304
11305         dirname: split into dirname-lgpl
11306         * modules/dirname-lgpl: New module.
11307         * modules/dirname (Files): Move library-safe files into
11308         dirname-lgpl.
11309         (Depends-on): Add dirname-lgpl.
11310         (configure.ac): Declare witness.
11311         * modules/double-slash-root (License): Relax license.
11312         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
11313         module.
11314         * lib/dirname.c (dir_len, mdir_name): Move...
11315         * lib/dirname-lgpl.c: ...into new file.
11316         * lib/basename.c (last_component, base_len): Move...
11317         * lib/basename-lgpl.c: ...into new file.
11318         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
11319         (gl_DIRNAME): Use it.
11320         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
11321         Mention new module.
11322         * modules/dirname-tests (Depends-on): Add progname.
11323         * tests/test-dirname.c (program_name): Delete.
11324
11325         mkdir: make safe for libraries
11326         * modules/mkdir (Depends-on): Drop xalloc.
11327         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
11328         exit.
11329
11330         tests: avoid some compiler warnings
11331         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
11332         literals.
11333         * tests/test-memchr.c (main): Avoid type mismatch.
11334         * tests/test-arpa_inet.c (main): Avoid unused parameters.
11335         * tests/test-base64.c (main): Likewise.
11336         * tests/test-getdelim.c (main): Likewise.
11337         * tests/test-gethostname.c (main): Likewise.
11338         * tests/test-getline.c (main): Likewise.
11339         * tests/test-netinet_in.c (main): Likewise.
11340         * tests/test-select.c (open_server_socket, main): Likewise.
11341         * tests/test-select-stdin.c (main): Likewise.
11342         * tests/test-sockets.c (main): Likewise.
11343         * tests/test-strsignal.c (main): Likewise.
11344         * tests/test-sys_select.c (main): Likewise.
11345         * tests/test-sys_socket.c (main): Likewise.
11346         * tests/test-u64.c (main): Likewise.
11347         * tests/test-xfprintf-posix.c (main): Likewise.
11348         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
11349
11350         sockets: avoid compiler warning
11351         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
11352
11353         maint: detect usage(1) and other suspicious exits
11354         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
11355
11356 2009-10-29  Jim Meyering  <meyering@redhat.com>
11357
11358         timespec: long-to-int truncation could make timespec_cmp malfunction
11359         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
11360         a multiple of 2^32 nanoseconds as no difference.
11361
11362 2009-10-28  Jim Meyering  <meyering@redhat.com>
11363
11364         fprintftime: wrap macro code argument in "do {...} while(0)"
11365         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
11366         cpy macro must be a statement that can be followed by a semicolon.
11367         Now that the else clause contains a comment and is hence longer
11368         than one line, I require curly braces.  That in turn requires
11369         that we wrap this code block in the standard do...while(0).
11370
11371         fprintftime: remove stray semicolon from previous change
11372         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
11373
11374         fprintftime: avoid a warning about ignored fwrite return value
11375         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
11376         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
11377         that is unsafe.
11378         * modules/fprintftime (Depends-on): Add ignore-value.
11379
11380         exclude: avoid an unwarranted warning
11381         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
11382
11383 2009-10-27  Eric Blake  <ebb9@byu.net>
11384
11385         fseek: avoid compilation failure when fflush is replaced
11386         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
11387         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
11388         module is in use.
11389         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
11390         module is not in use; since REPLACE_FSEEK worked otherwise.
11391         (GNULIB_FTELLO): Likewise for ftell.
11392         Reported by Ian Beckwith and others.
11393
11394 2009-10-27  Bruno Haible  <bruno@clisp.org>
11395
11396         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
11397         Reported by Jim Meyering.
11398
11399 2009-10-27  Jim Meyering  <jim@meyering.net>
11400             Bruno Haible  <bruno@clisp.org>
11401
11402         Avoid warning despite dropping the return value of fwrite.
11403         * lib/unicodeio.c: Include ignore-value.h.
11404         (fwrite_success_callback): Explicitly ignore fwrite's return value.
11405         * modules/unicodeio (Depends-on): Add ignore-value.
11406
11407 2009-10-26  Eric Blake  <ebb9@byu.net>
11408
11409         areadlinkat: fix fallback path
11410         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
11411         pointer and zero.
11412
11413 2009-10-22  Pádraig Brady  <P@draigBrady.com>
11414
11415         Use a better IO block size for modern systems
11416         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
11417         * lib/md2.c: Likewise.
11418         * lib/md4.c: Likewise.
11419         * lib/md5.c: Likewise.
11420         * lib/sha1.c: Likewise.
11421         * lib/sha256.c: Likewise.
11422         * lib/sha512.c: Likewise.
11423
11424 2009-10-22  Eric Blake  <ebb9@byu.net>
11425
11426         tests: avoid several compiler warnings
11427         * tests/test-getcwd.c (main): Avoid buffer underflow.
11428         * tests/test-getdate.c (main): String literals are not safe with
11429         putenv, so use setenv.  Declare unused argument.
11430         * modules/getdate-tests (Depends-on): Add setenv.
11431         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
11432         problems with string literals in char *.
11433         * tests/test-hash.c (main): Avoid shadowing declaration.
11434         (insert_new): Treat string literals as char const *.
11435         * tests/test-getopt.h (test_getopt): Likewise.
11436         (getopt_loop): Alter types to minimize casting elsewhere.
11437         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
11438         (test_getopt_long_posix): Likewise.
11439         (do_getopt_long): Add wrapper to minimize casting.
11440         * tests/test-atexit.c (clear_temp_file): Use void.
11441         * tests/test-areadlink-with-size.c (main): Declare unused
11442         arguments.
11443         * tests/test-areadlink.c (main): Likewise.
11444         * tests/test-areadlinkat-with-size.c (main): Likewise.
11445         * tests/test-areadlinkat.c (main): Likewise.
11446         * tests/test-canonicalize-lgpl.c (main): Likewise.
11447         * tests/test-canonicalize.c (main): Likewise.
11448         * tests/test-dirent-safer.c (main): Likewise.
11449         * tests/test-dirname.c (main): Likewise.
11450         * tests/test-dup2.c (main): Likewise.
11451         * tests/test-fchdir.c (main): Likewise.
11452         * tests/test-fcntl-h.c (main): Likewise.
11453         * tests/test-fcntl-safer.c (main): Likewise.
11454         * tests/test-fdopendir.c (main): Likewise.
11455         * tests/test-fdutimensat.c (main): Likewise.
11456         * tests/test-fflush.c (main): Likewise.
11457         * tests/test-filenamecat.c (main): Likewise.
11458         * tests/test-filevercmp.c (main): Likewise.
11459         * tests/test-fopen-safer.c (main): Likewise.
11460         * tests/test-fopen.c (main): Likewise.
11461         * tests/test-fpending.c (main): Likewise.
11462         * tests/test-fpurge.c (main): Likewise.
11463         * tests/test-freading.c (main): Likewise.
11464         * tests/test-fstatat.c (main): Likewise.
11465         * tests/test-fsync.c (main): Likewise.
11466         * tests/test-futimens.c (main): Likewise.
11467         * tests/test-getndelim2.c (main): Likewise.
11468         * tests/test-gettimeofday.c (main): Likewise.
11469         * tests/test-getopt.c (main): Likewise.
11470         * tests/test-i-ring.c (main): Likewise.
11471         * tests/test-inttypes.c (main): Likewise.
11472         * tests/test-link.c (main): Likewise.
11473         * tests/test-lstat.c (main): Likewise.
11474         * tests/test-math.c (main): Likewise.
11475         * tests/test-md5.c (main): Likewise.
11476         * tests/test-memchr2.c (main): Likewise.
11477         * tests/test-memrchr.c (main): Likewise.
11478         * tests/test-mkdir.c (main): Likewise.
11479         * tests/test-mkdirat.c (main): Likewise.
11480         * tests/test-mkfifoat.c (main): Likewise.
11481         * tests/test-open.c (main): Likewise.
11482         * tests/test-openat-safer.c (main): Likewise.
11483         * tests/test-openat.c (main): Likewise.
11484         * tests/test-quotearg.c (main): Likewise.
11485         * tests/test-rawmemchr.c (main): Likewise.
11486         * tests/test-readlink.c (main): Likewise.
11487         * tests/test-remove.c (main): Likewise.
11488         * tests/test-rename.c (main): Likewise.
11489         * tests/test-renameat.c (main): Likewise.
11490         * tests/test-rmdir.c (main): Likewise.
11491         * tests/test-sha1.c (main): Likewise.
11492         * tests/test-signal.c (main): Likewise.
11493         * tests/test-sigaction.c (main): Likewise.
11494         * tests/test-stat.c (main): Likewise.
11495         * tests/test-stat-time.c (main): Likewise.
11496         * tests/test-stddef.c (main): Likewise.
11497         * tests/test-stdint.c (main): Likewise.
11498         * tests/test-stdio.c (main): Likewise.
11499         * tests/test-stdlib.c (main): Likewise.
11500         * tests/test-strchrnul.c (main): Likewise.
11501         * tests/test-strerror.c (main): Likewise.
11502         * tests/test-string.c (main): Likewise.
11503         * tests/test-strtod.c (main): Likewise.
11504         * tests/test-strverscmp.c (main): Likewise.
11505         * tests/test-symlink.c (main): Likewise.
11506         * tests/test-symlinkat.c (main): Likewise.
11507         * tests/test-sys_stat.c (main): Likewise.
11508         * tests/test-sys_time.c (main): Likewise.
11509         * tests/test-time.c (main): Likewise.
11510         * tests/test-unistd.c (main): Likewise.
11511         * tests/test-unlink.c (main): Likewise.
11512         * tests/test-unlinkat.c (main): Likewise.
11513         * tests/test-utimens.c (main): Likewise.
11514         * tests/test-utimensat.c (main): Likewise.
11515         * tests/test-version-etc.c (main): Likewise.
11516         * tests/test-wchar.c (main): Likewise.
11517         * tests/test-wctype.c (main): Likewise.
11518         * tests/test-xprintf-posix.c (main): Likewise.
11519         * tests/test-posixtm.c (main): Likewise.
11520         (STREQ): Delete unused macro.
11521         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
11522         shadowed variables.
11523         * tests/test-memchr.c (main): Likewise.
11524
11525 2009-10-21  Eric Blake  <ebb9@byu.net>
11526
11527         areadlinkat: avoid failure on older glibc
11528         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
11529         rather than mis-comparing 0 against FUNC_RESULT of char*.
11530
11531 2009-10-21  Bruno Haible  <bruno@clisp.org>
11532
11533         * modules/stpncpy (License): Relicense under LGPLv2+.
11534         Reported by David Lutterkort <lutter@redhat.com>.
11535
11536 2009-10-20  Eric Blake  <ebb9@byu.net>
11537
11538         utimensat: work around Solaris 9 bug
11539         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
11540         has trailing slash bugs.
11541         * tests/test-lutimens.h (test_lutimens): Enhance test.
11542         * tests/test-utimens.h (test_utimens): Likewise.
11543         * doc/posix-functions/utime.texi (utime): Enhance documentation.
11544         * doc/posix-functions/utimes.texi (utimes): Likewise.
11545         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
11546         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
11547         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
11548         * doc/posix-functions/futimens.texi (futimens): Likewise.
11549
11550         fdutimensat: new module
11551         * modules/fdutimensat: New file.
11552         * lib/fdutimensat.c (fdutimensat): Likewise.
11553         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
11554         * MODULES.html.sh (File system functions): Mention module.
11555         * modules/fdutimensat-tests: New test.
11556         * tests/test-fdutimensat.c: Likewise.
11557
11558         doc: regenerate INSTALL
11559         * doc/INSTALL: Reflect recent autoconf update.
11560         * doc/INSTALL.ISO: Likewise.
11561         * doc/INSTALL.UTF-8: Likewise.
11562
11563 2009-10-20  Pádraig Brady  <P@draigBrady.com>
11564
11565         acl: warn if ACL support is not detected
11566         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
11567
11568 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
11569
11570         * lib/nproc.h: Add extern "C" block for C++.
11571
11572 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
11573             Bruno Haible  <bruno@clisp.org>
11574
11575         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
11576         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
11577         * doc/posix-functions/isalpha.texi: Likewise.
11578         * doc/posix-functions/isblank.texi: Likewise.
11579         * doc/posix-functions/iscntrl.texi: Likewise.
11580         * doc/posix-functions/isdigit.texi: Likewise.
11581         * doc/posix-functions/isgraph.texi: Likewise.
11582         * doc/posix-functions/islower.texi: Likewise.
11583         * doc/posix-functions/isprint.texi: Likewise.
11584         * doc/posix-functions/ispunct.texi: Likewise.
11585         * doc/posix-functions/isspace.texi: Likewise.
11586         * doc/posix-functions/isupper.texi: Likewise.
11587         * doc/posix-functions/isxdigit.texi: Likewise.
11588
11589 2009-10-18  Bruno Haible  <bruno@clisp.org>
11590
11591         Tests for module 'isblank'.
11592         * modules/isblank-tests: New file.
11593         * tests/test-isblank.c: New file.
11594
11595         New module 'isblank'.
11596         * lib/isblank.c: New file.
11597         * m4/isblank.m4: New file.
11598         * modules/isblank: New file.
11599         * doc/posix-functions/isblank.texi: Mention the new module.
11600
11601 2009-10-18  Bruno Haible  <bruno@clisp.org>
11602
11603         New module 'ctype'.
11604         * lib/ctype.in.h: New file.
11605         * m4/ctype.m4: New file.
11606         * modules/ctype: New file.
11607         * doc/posix-headers/ctype.texi: Mention the new module.
11608
11609 2009-10-18  Jim Meyering  <meyering@redhat.com>
11610
11611         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
11612         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
11613         right after its initialization, rather than farther down.
11614         Keeping these in close proximity makes it easier to ensure
11615         that each such variable is initialized.  E.g.,
11616
11617             LIB_CLOCK_GETTIME=
11618             AC_SUBST([LIB_CLOCK_GETTIME])
11619
11620         This change also increments these serial numbers.
11621         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
11622         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
11623         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11624
11625 2009-10-18  Bruno Haible  <bruno@clisp.org>
11626
11627         Don't let environment variables perturb build.
11628         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
11629         (gl_PREREQ_GETHRXTIME): ... not here.
11630
11631 2009-10-18  Bruno Haible  <bruno@clisp.org>
11632
11633         Avoid symlink attack in localcharset module.
11634         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
11635         (O_NOFOLLOW): Define fallback.
11636         (get_charset_aliases): Don't open the file if it is a symbolic link.
11637         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
11638         gl_FCNTL_H.
11639         (gl_FCNTL_H): Require it.
11640         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
11641         * modules/localcharset (Files): Add m4/fcntl_h.m4.
11642         Reported by Fergal Glynn <fglynn@veracode.com>.
11643
11644 2009-10-18  Bruno Haible  <bruno@clisp.org>
11645
11646         Implement nproc for mingw.
11647         * lib/nproc.c: Include <windows.h>
11648         (num_processors): On native Windows platforms, try GetSystemInfo.
11649
11650 2009-10-18  Bruno Haible  <bruno@clisp.org>
11651
11652         Implement nproc for IRIX.
11653         * lib/nproc.c: Include <sys/sysmp.h>.
11654         (num_processors): On IRIX systems, try sysmp.
11655         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
11656
11657 2009-10-18  Bruno Haible  <bruno@clisp.org>
11658
11659         Implement nproc for HP-UX.
11660         * lib/nproc.c: Include <sys/pstat.h>
11661         (num_processors): On HP-UX systems, try pstat_getdynamic.
11662         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
11663         pstat_getdynamic.
11664
11665 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
11666             Bruno Haible  <bruno@clisp.org>
11667
11668         Implement nproc for NetBSD, OpenBSD.
11669         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
11670         (ARRAY_SIZE): New macro.
11671         (num_processors): On BSD systems, try sysctl of HW_NCPU.
11672         * m4/nproc.m4: New file.
11673         * modules/nproc (Files): Add m4/nproc.m4.
11674         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
11675         (Makefile.am): Instead, augment lib_SOURCES.
11676
11677 2009-10-18  Bruno Haible  <bruno@clisp.org>
11678
11679         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
11680         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
11681         sys/param.h.
11682
11683 2009-10-16  Eric Blake  <ebb9@byu.net>
11684
11685         utimensat: new module
11686         * modules/utimensat: New file.
11687         * lib/utimensat.c (utimensat): Likewise.
11688         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
11689         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
11690         so we can work around Linux bugs.
11691         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11692         * modules/sys_stat (Makefile.am): Substitute them.
11693         * lib/sys_stat.in.h (utimensat): Declare it.
11694         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11695         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
11696         * modules/utimensat-tests: New test.
11697         * tests/test-utimensat.c: Likewise.
11698
11699         utimens: let lutimens work on non-symlinks
11700         * lib/utimens.c (lutimens): Fall back to utimens rather than
11701         failing with ENOSYS, when file is not a symlink.
11702         (utimens): Reduce redirection.
11703         * tests/test-lutimens.h (test_lutimens): Update test to cover
11704         non-symlinks.
11705         * tests/test-utimens.h (test_utimens): Update test to cover
11706         symlinks.
11707         * tests/test-utimens.c (main): Update caller.
11708
11709         utimens: cache whether utimensat syscall works
11710         * lib/utimens.c (utimensat_works_really): New cache variable.
11711         (fdutimens, lutimens): Use it to avoid failing syscall.
11712
11713         test-stat-time, test-utimens: improve portability
11714         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
11715         ext4 on alpha, and for cygwin.
11716         * tests/test-utimens-common.h: New file.
11717         (nap): Factor delays into single function.
11718         * tests/test-lutimens.h (test_lutimens): Use new header.
11719         * tests/test-futimens.h (test_futimens): Likewise.
11720         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
11721         timestamps to occur from same machine, as was done previously for
11722         test_utimens.
11723         * modules/utimens-tests (Files): Ship new file.
11724         * modules/futimens-tests (Files): Likewise.
11725         Reported in part by Jim Meyering.
11726
11727         sys_stat: sort replacement declarations
11728         * lib/sys_stat.in.h: Sort declarations.
11729         * lib/futimens.c (futimens): Fix typo.
11730
11731 2009-10-15  Jim Meyering  <meyering@redhat.com>
11732
11733         don't let environment settings perturb build
11734         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
11735         could cause a configure-time and/or build-time malfunction.
11736         Typically, a configure-time function-in-library test is performed
11737         via code like this:
11738
11739           LIB_VAR=
11740           AC_SUBST([LIB_VAR])
11741           prefix_saved_LIBS=$LIBS
11742             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
11743                        [test "$ac_cv_search_FUNC" = "none required" ||
11744                         LIB_VAR=$ac_cv_search_FUNC])
11745           LIBS=$prefix_saved_LIBS
11746
11747         However, in each of the files affected by this change, the LIB_VAR=
11748         initialization was omitted.  Thus, when set in the environment, its
11749         value would propagate into generated Makefiles when FUNC is not found
11750         in LIB_NAME.
11751         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
11752         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
11753         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11754
11755 2009-10-14  Eric Blake  <ebb9@byu.net>
11756
11757         fchdir: avoid infinite recursion in mingw
11758         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
11759         recursing.
11760
11761         test-stat-time: port to mingw
11762         * tests/test-stat-time.c (force_unlink): Return a value.
11763         (test_ctime) [W32]: Fix compilation error.
11764         (nap): Don't call usleep with too large an argument.  Use
11765         force_unlink.
11766         * doc/pastposix-functions/usleep.texi (usleep): Document the
11767         portability issue.
11768
11769 2009-10-13  Jim Meyering  <meyering@redhat.com>
11770
11771         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
11772         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
11773         * modules/pipe-filter-ii: Likewise.
11774         * modules/sys_socket-tests: Likewise.
11775         * modules/tsearch-tests: Likewise.
11776         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
11777         (check): Depend on it.
11778
11779 2009-10-12  Eric Blake  <ebb9@byu.net>
11780
11781         utimens-tests: port to NFS file systems
11782         * tests/test-utimens.h (test_utimens): Refactor utimecmp
11783         comparisons to avoid spurious failures from timestamp drift
11784         between NFS machines.
11785
11786 2009-10-12  Eric Blake  <ebb9@byu.net>
11787
11788         stat-time-tests: minor cleanups
11789         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
11790         * tests/test-stat-time.c (nap): Separate assignment from call.
11791         Suggested by Paolo Bonzini and Bruno Haible.
11792
11793         sys_stat: guarantee struct timespec
11794         * lib/sys_stat.in.h (includes): Always include <time.h>
11795         * modules/sys_stat (Depends-on): Add time.
11796         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
11797         mode_t permission values.
11798         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
11799         get at subsecond timestamps.
11800
11801 2009-10-10  Eric Blake  <ebb9@byu.net>
11802
11803         futimens: new module
11804         * modules/futimens: New file.
11805         * lib/futimens.c (futimens): Likewise.
11806         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
11807         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
11808         we can work around Linux bugs.
11809         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11810         * modules/sys_stat (Makefile.am): Substitute them.
11811         * lib/sys_stat.in.h (futimens): Declare it.
11812         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11813         * doc/posix-functions/futimens.texi (futimens): Likewise.
11814         * modules/futimens-tests: New test.
11815         * tests/test-futimens.c: Likewise.
11816
11817         utimens: introduce fdutimens
11818         * lib/utimens.h (fdutimens): New prototype.
11819         * lib/utimens.c (gl_futimens): Move guts...
11820         (fdutimens): ...to new interface.
11821         * tests/test-utimens.c (do_fdutimens): Use it.
11822
11823         utimens: add UTIME_NOW and UTIME_OMIT support
11824         * lib/utimens.c (validate_timespec, update_timespec): New helper
11825         functions.
11826         (gl_futimens, lutimens): Use them.
11827         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
11828         stdbool, sys_stat.
11829         (Link): Mention resulting library dependency.
11830         * modules/utimecmp (Link): Likewise.
11831         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
11832         (Makefile.am): Pick up library dependency.
11833         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
11834         definition.
11835         * tests/test-sys_stat.c: Test the definitions.
11836         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
11837         * NEWS: Document library dependency.
11838
11839         utimecmp: support symlink timestamps
11840         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
11841         hashing when possible.  Use pathconf when available.
11842         (SYSCALL_RESOLUTION): Recognize tighter resolution.
11843         * modules/utimecmp (Depends-on): Add lstat.
11844
11845         utimens: add lutimens interface
11846         * lib/utimens.c (lutimens): New function.
11847         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
11848         * lib/utimens.h (lutimens): Declare new interface.
11849         * tests/test-utimens.c (main): Enhance test.
11850         * tests/test-lutimens.h (test_lutimens): New file.
11851         * modules/utimens-tests (Files): Distribute it.
11852         (Depends-on): Add symlink.
11853         (configure.ac): Check for usleep.
11854
11855         utimens: validate futimens usage
11856         * lib/utimens.c (gl_futimens): Require valid fd up front, using
11857         fewer syscalls on failure later on.  Avoid compiler warning on
11858         mingw.
11859         * modules/utimens (Depends-on): Add dup2.
11860
11861         utimens: add test
11862         * modules/utimens-tests: New test.
11863         * tests/test-utimens.h: New file.
11864         * tests/test-futimens.h: Likewise.
11865         * tests/test-utimens.c: Likewise.
11866
11867         doc: mention timestamp portability issues
11868         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
11869         instead.
11870         * doc/posix-functions/utime.texi (utime): Likewise.
11871         * doc/posix-functions/utimes.texi (utimes): Likewise.
11872         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
11873         instead.
11874         * doc/posix-functions/futimens.texi (futimens): Mention utimens
11875         module.
11876         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
11877         Mention weakness with symlink timestamps.
11878         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
11879         to utimensat/futimens instead.
11880         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
11881
11882         test-dup2: enhance test
11883         * tests/test-dup2.c (main): Also check AT_FDCWD.
11884
11885         test-stat-time: avoid more spurious failures
11886         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
11887         xfs; and avoid race if the two timestamps cross quantization edge.
11888
11889         relocatable: prefer 'file system' over 'filesystem'
11890         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
11891         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
11892         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
11893         * doc/relocatable.texi (Enabling Relocatability): Likewise.
11894         * lib/relocatable.c (compute_curr_prefix): Likewise.
11895
11896 2009-10-10  Jim Meyering  <meyering@redhat.com>
11897
11898         stat-time-tests: check for the usleep function
11899         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
11900
11901 2009-10-10  Bruno Haible  <bruno@clisp.org>
11902
11903         * modules/xnanosleep: Put the Link section after the Include section.
11904
11905 2009-10-09  Eric Blake  <ebb9@byu.net>
11906
11907         dup2: work around FreeBSD 6.1 bug
11908         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
11909         * doc/posix-functions/dup2.texi (dup2): Document it.
11910         Reported by Nelson H. F. Beebe and Jim Meyering.
11911
11912         test-stat-time: port to buggy NFS clients
11913         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
11914         (test_ctime): Also skip test if mtime and ctime are skewed.
11915
11916         maint: prefer 'file system' over 'filesystem'
11917         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
11918         * doc/posix-functions/lstat.texi (lstat): Likewise.
11919         * lib/file-has-acl.c (file_has_acl): Likewise.
11920         * lib/fwriteerror.c [TEST]: Likewise.
11921         * tests/test-areadlink.h (test_areadlink): Likewise.
11922         * tests/test-areadlinkat-with-size.c (main): Likewise.
11923         * tests/test-areadlinkat.c (main): Likewise.
11924         * tests/test-canonicalize-lgpl.c (main): Likewise.
11925         * tests/test-canonicalize.c (main): Likewise.
11926         * tests/test-fstatat.c (main): Likewise.
11927         * tests/test-linkat.c (main): Likewise.
11928         * tests/test-lstat.h (test_lstat_func): Likewise.
11929         * tests/test-mkdir.h (test_mkdir): Likewise.
11930         * tests/test-readlink.h (test_readlink): Likewise.
11931         * tests/test-remove.c (main): Likewise.
11932         * tests/test-rename.h (test_rename): Likewise.
11933         * tests/test-renameat.c (main): Likewise.
11934         * tests/test-rmdir.h (test_rmdir_func): Likewise.
11935         * tests/test-symlink.h (test_symlink): Likewise.
11936         * tests/test-symlinkat.c (main): Likewise.
11937         * tests/test-unlink.h (test_unlink_func): Likewise.
11938         * tests/test-unlinkat.c (main): Likewise.
11939
11940         maint: make realtime library usage explicit
11941         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
11942         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
11943         * modules/settime (Link): Likewise.
11944         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
11945
11946         test-stat-time: speed up execution
11947         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
11948         warning on mingw.
11949         (nap): New helper function.
11950         (prepare_test): Use it to reduce sleep time.
11951         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
11952         execution.
11953         * modules/stat-time-tests (configure.ac): Check for usleep.
11954
11955 2009-10-09  Jim Meyering  <meyering@redhat.com>
11956
11957         selinux-h: always use getfilecon wrappers
11958         * lib/getfilecon.c: New file.
11959         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
11960         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
11961         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
11962         (fgetfilecon): Provide a stub.
11963         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
11964         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
11965         file unconditionally.
11966         When <selinux/selinux.h> is found, arrange to use wrappers.
11967         * modules/selinux-h (Files): Add getfilecon.c.
11968         (Makefile.am): Substitute include-next-related bits
11969         into the now-always-generated selinux/selinux.h file.
11970         * doc/glibc-functions/lgetfilecon.texi: New file.
11971         * doc/glibc-functions/fgetfilecon.texi: New file.
11972         * doc/glibc-functions/getfilecon.texi: New file.
11973         * doc/glibc-functions/getfilecon-desc.texi: New file.
11974         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
11975         which to pull in the new files.
11976         * MODULES.html.sh (Misc): Add selinux-h.
11977
11978 2009-10-08  Jim Meyering  <meyering@redhat.com>
11979
11980         unistd: fix comment typo
11981         * lib/unistd.in.h (euidaccess): Fix a comment typo.
11982
11983 2009-10-08  Eric Blake  <ebb9@byu.net>
11984
11985         areadlink: use SIZE_MAX consistently
11986         * modules/areadlink (Depends-on): Add stdint.
11987         * modules/areadlink-with-size (Depends-on): Likewise.
11988         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
11989         gives NULL; drop sys/types, since unistd gives size_t; and add
11990         stdint for SIZE_MAX.
11991         (SIZE_MAX): Rely on headers.
11992         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
11993         and add stdint.
11994         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
11995         (SIZE_MAX): Likewise.
11996         (INITIAL_BUF_SIZE): Turn into enum.
11997         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
11998
11999 2009-10-08  Jim Meyering  <meyering@redhat.com>
12000
12001         areadlinkat: avoid compilation failure
12002         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
12003         Fix typo in comment.
12004
12005 2009-10-07  Eric Blake  <ebb9@byu.net>
12006
12007         areadlinkat-with-size: new module
12008         * modules/areadlinkat-with-size: New module.
12009         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
12010         * lib/areadlink.h (areadlinkat): Declare it.
12011         * MODULES.html.sh (File system functions): Mention it.
12012         * modules/areadlinkat-with-size-tests: New test.
12013         * tests/test-areadlinkat-with-size.c: New file.
12014
12015         xreadlinkat: new module
12016         * modules/xreadlinkat: New module.
12017         * lib/xreadlinkat.c (xreadlinkat): New file.
12018         * lib/xreadlink.h (xreadlinkat): Declare it.
12019         * MODULES.html.sh (File system functions): Mention it.
12020
12021         areadlinkat: new module
12022         * lib/at-func.c (FUNC_FAIL): New define.
12023         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
12024         * modules/areadlinkat: New module.
12025         * lib/linkat.c (areadlinkat): Move...
12026         * lib/areadlinkat.c (areadlinkat): ...to new file.
12027         * lib/areadlink.h (areadlinkat): Declare it.
12028         * modules/linkat (Depends-on): Add areadlinkat.
12029         * MODULES.html.sh (File system functions): Mention it.
12030         * modules/areadlinkat-tests: New test.
12031         * tests/test-areadlinkat.c: New file.
12032
12033         areadlink, areadlink-with-size: add tests
12034         * modules/areadlink-tests: New test.
12035         * modules/areadlink-with-size-tests: Likewise.
12036         * tests/test-areadlink.h: New file.
12037         * tests/test-areadlink.c: Likewise.
12038         * tests/test-areadlink-with-size.c: Likewise.
12039
12040         maint: minor cleanups
12041         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
12042         _UNUSED_PARAMETER_ instead.
12043         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
12044         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
12045         * modules/linkat-tests (Files): Distribute test-link.h.
12046
12047         openat, utimens: whitespace cleanup
12048         * lib/openat.c: Prefer space throughout, rather than mix of 8
12049         spaces vs. tabs.
12050         * lib/at-func.c: Likewise.
12051         * lib/utimens.c: Likewise.
12052
12053         openat: avoid using wrong fd
12054         * lib/openat.c (openat_permissive): Reject user's fd if saving the
12055         working directory chooses same fd.
12056         * lib/at-func.c (AT_FUNC_NAME): Likewise.
12057
12058         mkdir, mkdirat: fix cygwin 1.5.x bug
12059         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
12060         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
12061         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
12062         bug.
12063         (gl_PREREQ_MKDIR): Delete unused macro.
12064         * modules/mkdir (Files): Track file rename.
12065         (configure.ac): Update macro name.
12066         * modules/openat (Depends-on): Add mkdir.
12067         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
12068
12069         mkdir, mkdirat: add tests
12070         * modules/mkdir-tests: New test.
12071         * tests/test-mkdir.h: New file.
12072         * tests/test-mkdir.c: Likewise.
12073         * tests/test-mkdirat.c: Likewise.
12074         * modules/openat-tests (Files): Add new files.
12075         (Makefile.am): Run new test.
12076
12077 2009-10-06  Eric Blake  <ebb9@byu.net>
12078
12079         doc: tweak *at function documentation
12080         * doc/posix-functions/faccessat.texi (faccessat): Mention
12081         known issue with replacement.
12082         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
12083         * doc/posix-functions/linkat.texi (linkat): Likewise.
12084         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
12085         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
12086         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12087         * doc/posix-functions/renameat.texi (renameat): Likewise.
12088         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12089
12090         openat: fix GNU/Hurd bug in unlinkat
12091         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
12092         broken.
12093         * doc/posix-functions/unlink.texi (unlink): Document this.
12094         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
12095
12096         fdopendir: fix GNU/Hurd bug
12097         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
12098         allowing non-directory fds.
12099         * lib/fdopendir.c (rpl_fdopendir): Work around it.
12100         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
12101         * modules/dirent (Makefile.am): Substitute it.
12102         * lib/dirent.in.h (fdopendir): Declare replacement.
12103         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
12104         * tests/test-fdopendir.c (main): Test something other than
12105         /dev/null, since on Hurd that behaves like a directory.
12106
12107         test-symlink: port to GNU/Hurd
12108         * tests/test-symlink.h (test_symlink): Relax expected errno.
12109
12110         doc: tweak more cygwin information
12111         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
12112         now compatible with glibc.
12113         * doc/posix-functions/getopt.texi (getopt): Likewise.
12114
12115         getopt-gnu: add another test
12116         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
12117         guarantee behavior relied on by m4.
12118         * tests/test-getopt.c (main): Use it.
12119         * modules/getopt-posix-tests (Depends-on): Add setenv.
12120         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
12121
12122         getopt: fix compilation on darwin
12123         * lib/getopt.in.h (includes): Leave breadcrumbs during system
12124         include.
12125         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
12126         Reported by Ludovic Courtès.
12127
12128 2009-10-06  Bruno Haible  <bruno@clisp.org>
12129
12130         * modules/size_max (Description): Discourage its use.
12131         Reported by Simon Josefsson.
12132
12133 2009-10-06  Jim Meyering  <meyering@redhat.com>
12134
12135         linkat: avoid compilation failure
12136         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
12137
12138 2009-10-05  Eric Blake  <ebb9@byu.net>
12139
12140         linkat: support Linux 2.6.17
12141         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
12142         linkat on Linux, but allow cache variable override.
12143         * lib/linkat.c (rpl_linkat): Define override.
12144         * modules/linkat (Depends-on): Add symlinkat.
12145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
12146         * modules/unistd (Makefile.am): Substitute it.
12147         * lib/unistd.in.h (linkat): Declare replacement.
12148         Reported by Pádraig Brady.
12149
12150         quotearg: port test to systems with C.UTF-8 locale
12151         * tests/test-quotearg.c (struct result_strings): Add another
12152         member, differentiating between C.ASCII and C.UTF-8 handling.
12153         (compare_strings): Add parameter.
12154         (main): Adjust all callers.
12155
12156         getopt: avoid clash with FreeBSD _getopt_internal
12157         * lib/getopt.in.h (_getopt_internal): Override the name.
12158         * lib/getopt_int.h (includes): Pick up any overrides.
12159         Reported by Reuben Thomas.
12160
12161         hash: allow C89 compilation
12162         * lib/hash.c (check_tuning): Move declaration before statement.
12163         Reported by Reuben Thomas.
12164
12165 2009-10-05  Karl Berry  <karl@gnu.org>
12166
12167         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
12168
12169 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
12170             Bruno Haible  <bruno@clisp.org>
12171
12172         * lib/uname.c (uname): Use a table-driven algorithm to compute
12173         Windows NT versions.
12174
12175 2009-10-04  Bruno Haible  <bruno@clisp.org>
12176
12177         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
12178         program_invocation_short_name.
12179         * modules/progname (configure.ac): Test for presence of
12180         program_invocation_short_name.
12181         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
12182
12183 2009-10-04  Bruno Haible  <bruno@clisp.org>
12184
12185         * lib/progname.c (set_program_name): Fix comment.
12186         Reported by Jim Meyering.
12187
12188 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
12189             Bruno Haible  <bruno@clisp.org>
12190
12191         * lib/uname.c: Include <string.h>.
12192         (uname): Do only one call to GetVersionEx in the common case.
12193
12194 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
12195             Bruno Haible  <bruno@clisp.org>
12196
12197         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
12198         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
12199         (uname): Add support for Windows CE and various non-x86 CPU types.
12200
12201 2009-10-03  Bruno Haible  <bruno@clisp.org>
12202
12203         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
12204         invocation to tests/configure.ac.
12205         Reported by Ian Beckwith <ianb@erislabs.net>.
12206
12207 2009-10-02  Eric Blake  <ebb9@byu.net>
12208
12209         fchdir: avoid compiler warning
12210         * lib/fchdir.c (canonicalize_file_name)
12211         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
12212
12213         test-open: support mingw errno values
12214         * tests/test-open.h (test_open): Relax test.
12215         * tests/test-fopen.h (test_fopen): Likewise.
12216         * tests/test-openat-safer.c (main): Likewise.
12217
12218         open: fix opening directory on mingw
12219         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
12220
12221         test-open: on GNU/Hurd, /dev/null is a directory
12222         * tests/test-fopen.h (main): Rename...
12223         (test_fopen): ...to this.  Use a guaranteed non-directory when
12224         confirming open behavior on trailing slash.
12225         * tests/test-openat-safer.c (main): Likewise.
12226         * tests/test-open.h (main): Likewise....
12227         (test_open): ...to this.
12228         * tests/test-fopen.c (main): Adjust caller.
12229         * tests/test-fopen-safer.c (main): Likewise.
12230         * tests/test-open.c (main): Likewise.
12231         * tests/test-fcntl-safer.c (main): Likewise.
12232         Reported by Samuel Thibault.
12233
12234         rename, fchdir: don't ignore chdir failure
12235         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
12236         * lib/rename.c (rpl_rename) [W32]: Likewise.
12237         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
12238         an empty destination directory if source cannot be renamed,
12239         although there is still possibility for failure.
12240         * doc/posix-functions/rename.texi (rename): Document the race.
12241         Reported by Jim Meyering.
12242
12243         maint: cleanup whitespace in recent commits
12244         * lib/rename.c (rpl_rename): Remove tabs.
12245         * tests/test-link.h (test_link): Likewise.
12246         * lib/fchdir.c (get_name): Likewise.
12247         Reported by Jim Meyering.
12248
12249 2009-10-02  Ben Pfaff  <blp@gnu.org>
12250
12251         relocatable-prog-wrapper: Add missing dependency on
12252         double-slash-root.
12253         * modules/relocatable-prog-wrapper: Add dependency.
12254         Reported by Ian Beckwith <ianb@erislabs.net>.
12255
12256 2009-10-02  Eric Blake  <ebb9@byu.net>
12257
12258         renameat: fix Solaris bugs
12259         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
12260         needed fixing.
12261         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
12262         * modules/stdio (Makefile.am): Substitute it.
12263         * lib/stdio.in.h (renameat): Declare replacement.
12264         * lib/renameat.c (rpl_renameat): Implement fix.
12265
12266         renameat: new module
12267         * modules/renameat: New file.
12268         * lib/renameat.c (renameat): Likewise.
12269         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
12270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
12271         * modules/stdio (Makefile.am): Substitute them.
12272         * lib/stdio.in.h (renameat): Declare it.
12273         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12274         * doc/posix-functions/renameat.texi (renameat): Likewise.
12275         * modules/renameat-tests: New test.
12276         * tests/test-renameat.c: Likewise.
12277
12278         rename: fix mingw bugs
12279         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
12280         directory overwrite bugs.
12281
12282         rename: fix another cygwin 1.5 bug
12283         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
12284         checks.
12285         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
12286         unnecessary cygwin workarounds.  Also work around bug with moving
12287         full directory onto an empty one.
12288         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
12289
12290         rename-dest-slash: merge into rename module
12291         * modules/rename-dest-slash (Status): Mark obsolete.
12292         (Depends-on): Add rename.
12293         (Files): Let rename do it all.
12294         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
12295         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
12296         * m4/rename-dest-slash.m4: ...so this file can be deleted.
12297         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
12298         * lib/rename.c (rpl_rename): Update comments.
12299
12300         rename: fix cygwin 1.5.x bugs
12301         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
12302         * lib/rename.c (rpl_rename): Work around them.
12303         * modules/rename (Depends-on): Add same-inode.
12304
12305         rename: fix Solaris 10 bug
12306         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
12307         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
12308         was the only bug.
12309
12310         rename: fix Solaris 9 bug
12311         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
12312         on non-directory.  Avoid calling exit.
12313         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
12314         strdup.
12315         * modules/rename-tests (Depends-on): Drop lstat.
12316         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
12317         (gl_PREREQ_RENAME): Delete unused macro.
12318
12319         rename-dest-slash: fix NetBSD bug
12320         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
12321         links.
12322         * modules/rename-dest-slash (Depends-on): Add same-inode.
12323
12324         rename-tests: new test, exposes several platform bugs
12325         * modules/rename-tests: New file.
12326         * tests/test-rename.h: Likewise.
12327         * tests/test-rename.c: Likewise.
12328         * doc/posix-functions/rename.texi (rename): Improve documentation,
12329         including bugs that will eventually be fixed in gnulib.
12330
12331 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
12332
12333         * lib/uname.c: Include <stdlib.h>
12334         (uname): Assume version info is available.
12335
12336 2009-10-02  Jim Meyering  <meyering@redhat.com>
12337
12338         gnu-web-doc-update: correct --help output
12339         * build-aux/gnu-web-doc-update: Make --help output relevant.
12340
12341         gnu-web-doc-update: add standard options
12342         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
12343
12344         gnu-web-doc-update: New module.
12345         Use this script to automatically update the on-line web documentation
12346         for your GNU project at http://www.gnu.org/software/$pkg/manual/
12347         * modules/gnu-web-doc-update: New file, from coreutils.
12348         * build-aux/gnu-web-doc-update: New script.
12349
12350 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
12351
12352         link: LoadLibrary is not needed.
12353         * lib/link.c: Use GetModuleHandle.
12354
12355 2009-10-01  Eric Blake  <ebb9@byu.net>
12356
12357         getopt: bump serial number
12358         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
12359         change.
12360
12361         tests: tighten link, rmdir, and remove tests
12362         * tests/test-link.h (includes): No need to use <config.h> here.
12363         Clean up if directory hard link was created, otherwise test for
12364         trailing '.'.
12365         * tests/test-linkat.c (main): Simplify.
12366         * tests/test-remove.c (main): Enhance test for trailing '.'.
12367         * tests/test-rmdir.h (test_rmdir_func): Likewise.
12368
12369 2009-10-01  Jim Meyering  <meyering@redhat.com>
12370
12371         maint.mk: requiring "make major" was annoying, for a "minor" release.
12372         What is intended is "stable", to contrast with alpha and beta,
12373         so require "make stable", not "make major".
12374         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
12375         (get_tool_versions): Likewise.
12376         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
12377
12378 2009-09-30  Ben Pfaff  <blp@gnu.org>
12379
12380         Fix broken build of replacement for Windows tmpfile().
12381         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
12382         flags argument added along with the 'mkostemp' module.
12383
12384 2009-09-28  Bruno Haible  <bruno@clisp.org>
12385
12386         Avoid identifier clash with POSIX function 'remove' defined as a macro.
12387         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
12388         to 'remove_elt'.
12389         (gl_list_remove): Update.
12390         * lib/gl_list.c (gl_list_remove): Update.
12391         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
12392         to 'remove_elt'.
12393         (gl_oset_remove): Update.
12394         * lib/gl_list.c (gl_oset_remove): Update.
12395         Reported by Eric Blake.
12396
12397 2009-09-28  Eric Blake  <ebb9@byu.net>
12398
12399         doc: mention yet more cygwin 1.7 status
12400         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
12401         cygwin.
12402         * doc/glibc-functions/execvpe.texi (execvpe): New file.
12403         * doc/gnulib.texi (Glibc unistd.h): Mention it.
12404
12405         argp: fix test failure
12406         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
12407         that are not upper-case.  Pass correct range to tolower.
12408
12409 2009-09-27  Jim Meyering  <meyering@redhat.com>
12410
12411         test-yesno: work around sparc-dash here-document infelicity
12412         Without this change, the literal \177 byte in a here document
12413         would make dash 0.5.5.1-3 access uninitialized memory.
12414         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
12415         Instead, use a marker, "@", and filter through tr to create the desired
12416         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
12417
12418 2009-09-27  Bruno Haible  <bruno@clisp.org>
12419
12420         Disable untested support for new flavours of ACLs on AIX.
12421         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
12422         progress.
12423         * lib/set-mode-acl.c (qset_acl): Likewise.
12424
12425 2008-12-07  Bruno Haible  <bruno@clisp.org>
12426
12427         Add support for new flavours of ACLs on AIX. (Untested.)
12428         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
12429         (file_has_acl): Add support for newer AIX.
12430         * lib/set-mode-acl.c (qset_acl): Likewise.
12431         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
12432         Rainer Tammer <tammer@tammer.net>.
12433
12434 2009-09-26  Eric Blake  <ebb9@byu.net>
12435
12436         argp: fix compilation of getopt
12437         * lib/getopt.in.h (includes): Use different guard than glibc.
12438         Reported by Sergey Poznyakoff.
12439
12440         doc: mention more cygwin 1.7 status
12441         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
12442         bug.
12443         * doc/posix-functions/execl.texi (execl): Likewise.
12444         * doc/posix-functions/execle.texi (execle): Likewise.
12445         * doc/posix-functions/execlp.texi (execlp): Likewise.
12446         * doc/posix-functions/execv.texi (execv): Likewise.
12447         * doc/posix-functions/execve.texi (execve): Likewise.
12448         * doc/posix-functions/execvp.texi (execvp): Likewise.
12449         * doc/glibc-functions/canonicalize_file_name.texi
12450         (canonicalize_file_name): Cygwin 1.7 now provides this.
12451         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
12452         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
12453         on AT_SYMLINK_NOFOLLOW.
12454
12455 2009-09-24  Eric Blake  <ebb9@byu.net>
12456
12457         test-linkat: make test more robust
12458         * tests/test-linkat.c (main): Avoid collision with EEXIST.
12459
12460         getopt: fix inclusion guards for cygwin
12461         * modules/getopt-posix (Depends-on): Add include-next.
12462         (Makefile.am): Substitute more items in replacement header.
12463         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
12464         <getopt.h>.
12465         * lib/getopt.in.h (includes): Use split inclusion guard, and
12466         prefer <getopt.h> over include <unistd.h> when one is present.
12467         (option): Also override name of 'struct option'.
12468
12469         same-inode: revert prior change; it is not yet ready
12470         * NEWS: Undo mention of this change.
12471         * lib/same-inode.h (same-inode.h): Undo tri-state change.
12472         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
12473         * lib/cycle-check.c (cycle_check): Likewise.
12474         * lib/same.c (same_name): Likewise.
12475         * lib/at-func2.c (at_func2): Likewise.
12476
12477 2009-09-23  Eric Blake  <ebb9@byu.net>
12478
12479         linkat: new module
12480         * modules/linkat: New file.
12481         * lib/at-func2.c (at_func2): Likewise.
12482         * lib/linkat.c (linkat): Likewise.
12483         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
12484         * lib/openat-priv.h (at_func2): Add declaration.
12485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
12486         * modules/unistd (Makefile.am): Substitute them.
12487         * lib/unistd.in.h (linkat): Declare it.
12488         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12489         * doc/posix-functions/linkat.texi (linkat): Likewise.
12490         * doc/posix-functions/link.texi (link): Tweak wording.
12491         * tests/test-link.c (main): Move guts...
12492         * tests/test-link.h (test_link): ...into new file.
12493         * modules/linkat-tests: New test.
12494         * tests/test-linkat.c: Likewise.
12495         * modules/link-tests (Files): Ship new file.
12496         (Depends-on): Add stdbool.
12497
12498         dirname: add library-safe mdir_name
12499         * lib/dirname.h (mdir_name): New prototype.
12500         * lib/dirname.c (dir_name): Move guts...
12501         (mdir_name): ...to new function that avoids xalloc_die.
12502
12503         fchdir: another mingw fix
12504         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
12505         * lib/fchdir.c (get_name): New helper method; skips canonicalize
12506         on mingw (where it has not yet been ported), and make it optional
12507         elsewhere.
12508         (_gl_register_fd): Use it.
12509
12510         same-inode: make SAME_INODE tri-state, to port to mingw
12511         * NEWS: Mention this change.
12512         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
12513         st_ino always being 0.
12514         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
12515         * lib/cycle-check.c (cycle_check): Likewise.
12516         * lib/same.c (same_name): Likewise.
12517
12518         lstat: avoid mingw compilation error
12519         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
12520         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
12521         lstat ourselves.
12522         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
12523         was adequate.
12524         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
12525         the checks for lstat.
12526         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
12527
12528         link: fix test failure on Solaris 9
12529         * lib/link.c (rpl_link): Don't assume link will catch bogus
12530         trailing slash on source.
12531
12532         test-symlinkat: enhance test
12533         * tests/test-readlink.c (main): Move guts...
12534         * tests/test-readlink.h (test_readlink): ...into new file.
12535         * tests/test-symlink.c (main): Move guts...
12536         * tests/test-symlink.h (test_symlink): ...into new file.
12537         * tests/test-symlinkat.c (main): Use new files for further
12538         coverage.
12539         (do_symlink, do_readlink): New helper functions.
12540         * modules/symlink-tests (Files): Ship new file.
12541         (Depends-on): Add stdbool.
12542         * modules/readlink-tests (Files): Ship new file.
12543         (Depends-on): Add stdbool.
12544         * modules/symlinkat-tests (Files): Use new files.
12545
12546 2009-09-23  Eric Blake  <ebb9@byu.net>
12547
12548         readlink: document portability issue with symlink length
12549         * doc/posix-functions/lstat.texi (lstat): Mention that some file
12550         systems have bogus st_size on symlinks, and mention the
12551         areadlink-with-size module.
12552         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
12553         * doc/posix-functions/readlink.texi (readlink): Mention the
12554         areadlink module, and ERANGE failure.
12555         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12556         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
12557
12558         readlink: fix Solaris 9 bug with trailing slash
12559         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
12560         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
12561         * doc/posix-functions/readlink.texi (readlink): Document this.
12562         * modules/readlink-tests: New test.
12563         * tests/test-readlink.c: Likewise.
12564
12565         readlink: fix cygwin 1.5.x bug with return type
12566         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
12567         * lib/unistd.in.h (readlink): Use ssize_t.
12568         * lib/readlink.c (readlink): Likewise.
12569         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12570         * modules/unistd (Makefile.am): Substitute it.
12571         * lib/unistd.in.h (readlink): Declare replacement.
12572         * doc/posix-functions/readlink.texi (readlink): Document this.
12573
12574         symlink: use throughout gnulib
12575         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
12576         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
12577         symlink is not used.
12578         * modules/symlinkat (Depends-on): Add symlink.
12579         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
12580         * modules/canonicalize-tests (Depends-on): Likewise.
12581         * modules/lstat-tests (Depends-on): Likewise.
12582         * modules/openat-tests (Depends-on): Likewise.
12583         * modules/remove-tests (Depends-on): Likewise.
12584         * modules/rmdir-tests (Depends-on): Likewise.
12585         * modules/unlink-tests (Depends-on): Likewise.
12586         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
12587         * tests/test-canonicalize.c (symlink): Likewise.
12588         * tests/test-fstatat.c (symlink): Likewise.
12589         * tests/test-lstat.c (symlink): Likewise.
12590         * tests/test-remove.c (symlink): Likewise.
12591         * tests/test-rmdir.c (symlink): Likewise.
12592         * tests/test-unlink.c (symlink): Likewise.
12593         * tests/test-unlinkat.c (symlink): Likewise.
12594
12595         symlink: new module, for Solaris 9 bug
12596         * modules/symlink: New file.
12597         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
12598         * lib/symlink.c: Likewise.
12599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
12600         * modules/unistd (Makefile.am): Substitute them.
12601         * lib/unistd.in.h (symlink): Declare replacement.
12602         * MODULES.html.sh (File system functions): Mention it.
12603         * doc/posix-functions/symlink.texi (symlink): Likewise.
12604         * modules/symlink-tests: New test.
12605         * tests/test-symlink.c: Likewise.
12606
12607 2009-09-23  Bruno Haible  <bruno@clisp.org>
12608
12609         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
12610         when needed.
12611         Test case: gnulib-tool --import --with-tests atexit inttypes.
12612         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
12613
12614 2009-09-23  Bruno Haible  <bruno@clisp.org>
12615
12616         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
12617         subcommand, not in a subshell.
12618
12619 2009-09-22  Eric Blake  <ebb9@byu.net>
12620
12621         unistd: sort replacement declarations
12622         * lib/unistd.in.h: Sort declarations.
12623
12624         open, openat: minor optimization
12625         * lib/open.c (open): If open succeeded, len is non-zero.
12626         * lib/openat.c (rpl_openat): Likewise.
12627
12628         link-follow: ensure correct result
12629         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
12630         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
12631         distinguish between possible failures.
12632
12633 2009-09-21  Eric Blake  <ebb9@byu.net>
12634
12635         fts: avoid compiler warning
12636         * lib/fts.c (dirent_inode_sort_may_be_useful)
12637         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
12638
12639 2009-09-19  Bruno Haible  <bruno@clisp.org>
12640
12641         * lib/progreloc.c (canonicalize_file_name): New declaration.
12642
12643 2009-09-19  Eric Blake  <ebb9@byu.net>
12644
12645         link: fix quoting
12646         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
12647
12648         openat: fix openat bugs on Solaris 9
12649         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
12650         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
12651         * modules/openat (Depends-on): Add open.
12652         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
12653         * modules/fcntl-h (Makefile.am): Substitute it.
12654         * lib/fcntl.in.h (openat): Declare replacement.
12655         * doc/posix-functions/openat.texi (openat): Document this.
12656
12657         openat: move fstatat and unlinkat into correct files
12658         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
12659         compiled.
12660         * lib/openat.c (fstatat, unlinkat): Move...
12661         * lib/fstatat.c (fstatat): ...into correct files.
12662         * lib/unlinkat.c (unlinkat): Likewise.
12663
12664         openat: fix unlinkat bugs on Solaris 9
12665         * lib/unlinkat.c (unlinkat): New file.
12666         * modules/openat (Depends-on): Add unlink.
12667         (Files): Distribute it.
12668         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
12669         trailing slash behavior is broken.
12670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12671         * modules/unistd (Makefile.am): Substitute it.
12672         * lib/unistd.in.h (unlinkat): Declare replacement.
12673         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
12674
12675         openat: fix fstatat bugs on Solaris 9
12676         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
12677         stat.
12678         * doc/posix-functions/fstatat.texi (fstatat): Document this.
12679
12680         test-unlinkat: enhance test, to expose Solaris 9 bug
12681         * tests/test-unlink.c (main): Factor guts...
12682         * tests/test-unlink.h (test_rmdir_func): ...into new file.
12683         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
12684         * tests/test-rmdir.c (main): Adjust caller.
12685         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
12686         (unlinker): New helper function.
12687         (rmdirat): Enhance check.
12688         * modules/rmdir-tests (Depends-on): Add stdbool.
12689         * modules/unlink-tests (Depends-on): Likewise.
12690         (Files): Add test-unlink.h.
12691         * modules/openat-tests (Files): Likewise.
12692         (Depends-on): Add unlinkdir.
12693
12694         test-fstatat: new test, to expose Solaris 9 bugs
12695         * tests/test-stat.c (main): Factor guts...
12696         * tests/test-stat.h (test_stat_func): ...into new file.
12697         * tests/test-lstat.c (main): Factor guts...
12698         * tests/test-lstat.h (test_lstat_func): ...into new file.
12699         * tests/test-fstatat.c: New file.
12700         * modules/stat-tests (Files): Add test-stat.h.
12701         * modules/lstat-tests (Files): Add test-lstat.h.
12702         (Depends-on): Add stdbool.
12703         * modules/openat-tests (Depends-on): Add pathmax.
12704         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
12705         (Makefile.am): Run new test.
12706
12707         remove: new module, for mingw and Solaris 9 bugs
12708         * modules/remove: New file.
12709         * lib/remove.c: Likewise.
12710         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
12711         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
12712         * modules/stdio (Makefile.am): Use them.
12713         * lib/stdio.in.h (remove): Declare replacement.
12714         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12715         * doc/posix-functions/remove.texi (remove): Likewise.
12716         * modules/remove-tests: New test.
12717         * tests/test-remove.c: Likewise.
12718
12719         unlink: new module, for Solaris 9 bug
12720         * modules/unlink: New file.
12721         * lib/unlink.c: Likewise.
12722         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
12723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
12724         * modules/unistd (Makefile.am): Use them.
12725         * lib/unistd.in.h (stat): Declare replacement.
12726         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12727         * doc/posix-functions/unlink.texi (unlink): Likewise.
12728         * modules/unlink-tests: New test.
12729         * tests/test-unlink.c: Likewise.
12730
12731         lstat: fix Solaris 9 bug
12732         * lib/lstat.c (lstat): Also check for trailing slash on
12733         non-symlink, non-directories.  Use stat module to simplify logic.
12734         * doc/posix-functions/lstat.texi (lstat): Document it.
12735         * modules/lstat-tests (Depends-on): Add errno, same-inode.
12736         (configure.ac): Check for symlink.
12737         * tests/test-lstat.c (main): Add more tests.
12738
12739         stat: add as dependency to other modules
12740         * modules/chown (Depends-on): Add stat.
12741         * modules/euidaccess (Depends-on): Likewise.
12742         * modules/fchdir (Depends-on): Likewise.
12743         * modules/isdir (Depends-on): Likewise.
12744         * modules/link (Depends-on): Likewise.
12745         * modules/lstat (Depends-on): Likewise.
12746         * modules/mkdir-p (Depends-on): Likewise.
12747         * modules/modechange (Depends-on): Likewise.
12748         * modules/open (Depends-on): Likewise.
12749         * modules/readlink (Depends-on): Likewise.
12750         * modules/same (Depends-on): Likewise.
12751
12752         stat: fix Solaris 9 bug
12753         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
12754         slash.
12755         * lib/stat.c (rpl_stat): Work around it.
12756         * doc/posix-functions/stat.texi (stat): Update documentation.
12757
12758         stat: new module, for mingw bug
12759         * modules/stat: New file.
12760         * lib/stat.c: Likewise.
12761         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12762         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12763         * modules/sys_stat (Makefile.am): Use them.
12764         * lib/sys_stat.in.h (stat): Declare replacement.
12765         * lib/openat.c (fstatat): Deal with lstat and stat being function
12766         macros.
12767         * modules/openat (Depends-on): Add inline.
12768         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12769         * doc/posix-functions/stat.texi (stat): Likewise.
12770         * modules/stat-tests: New test.
12771         * tests/test-stat.c: Likewise.
12772
12773 2009-09-19  Jim Meyering  <meyering@redhat.com>
12774
12775         syntax-check: detect unnecessary inclusion of canonicalize.h
12776         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
12777
12778 2009-09-19  Eric Blake  <ebb9@byu.net>
12779
12780         canonicalize-lgpl: adjust clients to use correct header
12781         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
12782         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
12783         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
12784         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
12785         * lib/progreloc.c (includes): Likewise.
12786
12787 2009-09-19  Jim Meyering  <meyering@redhat.com>
12788
12789         test-posixtm.c: correct a comment
12790         * tests/test-posixtm.c: Correct first-line comment.
12791         Spotted by Eric Blake.
12792
12793 2009-09-16  Jim Meyering  <meyering@redhat.com>
12794
12795         posixtm-tests: make T const-correct; add a test case
12796         * tests/test-posixtm.c (T): Declare const.
12797         Add a test for -(2^31+1).
12798         Remove useless can-succeed-only-in-2002 test.
12799
12800         posixtm-tests: adjust the sole failing test
12801         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
12802         expected output matches what mktime now produces.  Cross-checked via
12803         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
12804
12805         posixtm: move #ifdef'd tests into a new module
12806         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
12807         * tests/test-posixtm.c: ... this new file.
12808         * modules/posixtm-tests: New module.
12809
12810 2009-09-19  Eric Blake  <ebb9@byu.net>
12811
12812         openat: simplify use of at-func.c
12813         * lib/at-func.c (includes): Include prerequisites here, to
12814         simplify requirements on client files.
12815         * lib/openat-priv.h: Add double-inclusion guard.
12816         * lib/faccessat.c (includes): Simplify.
12817         * lib/fchmodat.c (includes): Likewise.
12818         * lib/fchownat.c (includes): Likewise.
12819         * lib/mkdirat.c (includes): Likewise.
12820         * lib/mkfifoat.c (includes): Likewise.
12821         * lib/symlinkat.c (includes): Likewise.
12822
12823         openat: allow return of fd 0
12824         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
12825         * modules/save-cwd (Depends-on): Replace fcntl-safer with
12826         unistd-safer.
12827         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
12828         <fcntl.h>; this module does not leak fds.
12829         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
12830         must be allowed to return 0, leaving openat_safer to add the
12831         safety.
12832         (openat_permissive): Avoid writing to just-opened fd 2 if
12833         restoring the current directory fails.
12834         * lib/openat-die.c (openat_restore_fail): Add comment.
12835         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
12836         (save_cwd): Guarantee safe fd, but without use of open_safer.
12837         * tests/test-openat.c: New test.
12838         * modules/openat-tests (Files, Makefile.am): Distribute and build
12839         new file.
12840
12841         relocatable-prog-wrapper: fix build
12842         * modules/relocatable-prog-wrapper (Files): Update name of
12843         canonicalize m4 file, broken on 2009-09-17.
12844         Reported by emad hajjar <aleppos@hotmail.com>.
12845
12846 2009-09-19  Bruno Haible  <bruno@clisp.org>
12847
12848         * lib/safe-alloc.h: Use the standard header with GPL copyright.
12849         * lib/safe-alloc.c: Likewise.
12850         Reported by Ian Beckwith <ianb@erislabs.net>.
12851
12852 2009-09-18  Bruno Haible  <bruno@clisp.org>
12853
12854         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
12855         Reported by <erobles@sensacd.com.mx>.
12856
12857 2009-09-17  Eric Blake  <ebb9@byu.net>
12858
12859         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
12860         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
12861         slashes when checking if last component is missing.
12862         * tests/test-canonicalize.c (main): Test this.
12863
12864         canonicalize, canonicalize-lgpl: honor // if distinct from /
12865         * modules/canonicalize (Files): Add double-slash-root.m4.
12866         * modules/canonicalize-lgpl (Files): Likewise.
12867         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
12868         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
12869         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
12870         fallback definition.
12871         (canonicalize_filename_mode): Use it to protect //.
12872         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
12873         (__realpath): Likewise.
12874         * tests/test-canonicalize.c (main): Test this.
12875         * tests/test-canonicalize-lgpl.c (main): Likewise.
12876         * modules/canonicalize-tests (Depends-on): Add same-inode.
12877         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
12878
12879         canonicalize-lgpl: fix glibc bug with trailing slash
12880         * m4/canonicalize-lgpl.m4: Move contents...
12881         * m4/canonicalize.m4: ...here.
12882         (gl_CANONICALIZE_LGPL): Factor realpath check...
12883         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
12884         glibc 2.3.5 bug, fixed 2005-04-27.
12885         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
12886         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
12887         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
12888         * modules/canonicalize-lgpl (Files): Manage file rename.
12889         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
12890         * modules/stdlib (Makefile.am): Substitute witness.
12891         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
12892         is needed.
12893         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
12894         replacement is required.
12895         * lib/canonicalize.c (canonicalize_file_name): Likewise.
12896         * doc/glibc-functions/canonicalize_file_name.texi
12897         (canonicalize_file_name): Document this.
12898         * doc/posix-functions/realpath.texi (realpath): Likewise.
12899
12900         canonicalize-lgpl: reject non-directory with trailing slash
12901         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
12902         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
12903         catches failures in glibc 2.3.5.
12904         * tests/test-canonicalize.c (main): Likewise.
12905
12906         canonicalize-lgpl: use native realpath if it works
12907         * lib/canonicalize-lgpl.c (realpath): Guard with
12908         FUNC_REALPATH_WORKS.
12909         * lib/stdlib.in.h (realpath): Make declaration optional based on
12910         HAVE_REALPATH.
12911         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
12912         native realpath works.
12913         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
12914         * modules/stdlib (Makefile.am): Substitute witness.
12915
12916         canonicalize, canonicalize-lgpl: use <stdlib.h>
12917         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
12918         (Include): Mention <stdlib.h>.
12919         (configure.ac): Mention functions we provide.
12920         * modules/canonicalize (configure.ac): Likewise.
12921         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
12922         realpath if canonicalize_file_name is missing.
12923         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
12924         * modules/stdlib (Makefile.am): Substitute witnesses.
12925         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
12926         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
12927         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
12928         * NEWS: Document this.
12929         * doc/glibc-functions/canonicalize_file_name.texi
12930         (canonicalize_file_name): Likewise.
12931         * doc/posix-functions/realpath.texi (realpath): Likewise.
12932         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
12933
12934         test-canonicalize: consolidate into single C program
12935         * tests/test-canonicalize.sh: Delete; move setup into...
12936         * tests/test-canonicalize.c (main): ...the program, making it
12937         easier to run in debugger.  Add some tests.
12938         * modules/canonicalize-tests (Files): Remove unused file.
12939         (Depends-on): Add progname.
12940         (configure.ac, Makefile.am): Simplify.
12941
12942         test-canonicalize-lgpl: consolidate into single C program
12943         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
12944         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
12945         easier to run in debugger.  Add some tests.
12946         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
12947         (configure.ac, Makefile.am): Simplify.
12948
12949         canonicalize: avoid resolvepath
12950         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
12951         unnecessary checks.
12952         * lib/canonicalize.c (includes): Simplify.
12953         (canonicalize_file_name): Drop resolvepath implementation.
12954         * modules/canonicalize (Depends-on): Drop filenamecat.
12955
12956         canonicalize: don't lose errno
12957         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
12958         over calls to free.
12959
12960         canonicalize: simplify errno handling
12961         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
12962         assignment.
12963
12964         canonicalize, canonicalize-lgpl: update module dependencies
12965         * modules/canonicalize (Depends-on): Add extensions, lstat,
12966         pathmax, stdlib.
12967         (Files): Drop pathmax.h.
12968         (configure.ac): Adjust macro name.
12969         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
12970         lstat, stdlib, sys_stat.
12971         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
12972         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
12973         extensions.
12974         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
12975         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
12976         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
12977         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
12978         declaration, if available.
12979         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
12980         we can rely on the readlink module.
12981         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
12982         (includes): Use <unistd.h> unconditionally.
12983
12984 2009-09-17  Eric Blake  <ebb9@byu.net>
12985
12986         maint: make Include sections of modules consistent
12987         * modules/alloca: Use only header name; no need to list #include.
12988         * modules/alloca-opt: Likewise.
12989         * modules/arpa_inet: Likewise.
12990         * modules/canon-host: Likewise.
12991         * modules/configmake: Likewise.
12992         * modules/dirent: Likewise.
12993         * modules/eealloc: Likewise.
12994         * modules/environ: Likewise.
12995         * modules/fchdir: Likewise.
12996         * modules/fcntl: Likewise.
12997         * modules/fcntl-h: Likewise.
12998         * modules/gethrxtime: Likewise.
12999         * modules/gettime: Likewise.
13000         * modules/ignore-value: Likewise.
13001         * modules/inet_ntop: Likewise.
13002         * modules/inet_pton: Likewise.
13003         * modules/inttypes: Likewise.
13004         * modules/isnand-nolibm: Likewise.
13005         * modules/isnanf-nolibm: Likewise.
13006         * modules/mbchar: Likewise.
13007         * modules/mbfile: Likewise.
13008         * modules/mbiter: Likewise.
13009         * modules/mbuiter: Likewise.
13010         * modules/netdb: Likewise.
13011         * modules/netinet_in: Likewise.
13012         * modules/nproc: Likewise.
13013         * modules/pagealign_alloc: Likewise.
13014         * modules/poll: Likewise.
13015         * modules/printf-frexp: Likewise.
13016         * modules/pthread: Likewise.
13017         * modules/putenv: Likewise.
13018         * modules/random_r: Likewise.
13019         * modules/relocatable-prog: Likewise.
13020         * modules/search: Likewise.
13021         * modules/select: Likewise.
13022         * modules/selinux-h: Likewise.
13023         * modules/settime: Likewise.
13024         * modules/signal: Likewise.
13025         * modules/size_max: Likewise.
13026         * modules/socklen: Likewise.
13027         * modules/ssize_t: Likewise.
13028         * modules/stdarg: Likewise.
13029         * modules/stdbool: Likewise.
13030         * modules/stddef: Likewise.
13031         * modules/stdint: Likewise.
13032         * modules/stdio: Likewise.
13033         * modules/stdlib: Likewise.
13034         * modules/string: Likewise.
13035         * modules/strings: Likewise.
13036         * modules/sys_file: Likewise.
13037         * modules/sys_ioctl: Likewise.
13038         * modules/sys_select: Likewise.
13039         * modules/sys_socket: Likewise.
13040         * modules/sys_stat: Likewise.
13041         * modules/sys_time: Likewise.
13042         * modules/sys_times: Likewise.
13043         * modules/sys_utsname: Likewise.
13044         * modules/sys_wait: Likewise.
13045         * modules/sysexits: Likewise.
13046         * modules/time: Likewise.
13047         * modules/times: Likewise.
13048         * modules/tmpfile: Likewise.
13049         * modules/trim: Likewise.
13050         * modules/unistd: Likewise.
13051         * modules/wchar: Likewise.
13052         * modules/wctype: Likewise.
13053
13054 2009-09-17  Bruno Haible  <bruno@clisp.org>
13055
13056         Make getdate.y compile on QNX and NetBSD 5 / i386.
13057         * m4/getdate.m4 (gl_GETDATE): Conditionally define
13058         TIME_T_FITS_IN_LONG_INT.
13059         * lib/getdate.y (long_time_t): New type.
13060         (relative_time): Change type of 'seconds' field to long_time_t.
13061         (get_date): Update types of local variables. Check against overflow
13062         during conversion from long_time_t to time_t.
13063         Reported by Matt Kraai <kraai@ftbfs.org>
13064         and Hasso Tepper <hasso@netbsd.org>.
13065
13066 2009-09-17  Bruno Haible  <bruno@clisp.org>
13067
13068         * modules/COPYING: Update copyright years.
13069         * modules/README: Likeiwse.
13070         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
13071         Reported by Ian Beckwith <ianb@erislabs.net>.
13072
13073 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
13074
13075         * users.txt: Update references for gnuit package.
13076
13077 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
13078
13079         * m4/getdelim.m4: Fix typo in copyright line.
13080
13081 2009-09-17  Bruno Haible  <bruno@clisp.org>
13082
13083         * lib/atoll.c: Use the standard header with GPL copyright.
13084         * lib/argz.in.h: Likewise.
13085         * lib/glob.c: Likewise.
13086         * lib/glob-libc.h: Likewise.
13087         * lib/random_r.c: Likewise.
13088         * lib/siglist.h: Likewise.
13089         * lib/strsignal.c: Likewise.
13090         Reported by Ian Beckwith <ianb@erislabs.net>.
13091
13092 2009-09-17  Eric Blake  <ebb9@byu.net>
13093
13094         rmdir: ensure correct dependency order
13095         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
13096
13097 2009-09-17  Bruno Haible  <bruno@clisp.org>
13098
13099         Disable assertion that fails on NetBSD 5 / i386.
13100         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
13101         Reported by Sam Steingold <sds@gnu.org>
13102         and Hasso Tepper <hasso@netbsd.org>.
13103
13104 2009-09-16  Eric Blake  <ebb9@byu.net>
13105
13106         unlinkdir: port to mingw
13107         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
13108         on which no one can unlink a directory.
13109
13110         stdlib: sort witness names
13111         * modules/stdlib (Makefile.am): Sort replacements.
13112         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
13113         * lib/stdlib.in.h: Likewise.
13114
13115         parse-duration-tests: avoid link failure
13116         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
13117         LIBINTL.
13118         Reported by Tom G. Christensen.
13119
13120         openat-tests: ensure unlinkat behaves like rmdir
13121         * tests/test-rmdir.c (main): Factor guts...
13122         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
13123         * modules/rmdir-tests (Files): Ship new file.
13124         * modules/openat-tests: New test.
13125         * tests/test-unlinkat.c: Likewise.
13126
13127         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
13128         * modules/rmdir-errno (Status, Notice): Now obsolete.
13129
13130         rmdir: work around cygwin 1.5.x and mingw bugs
13131         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
13132         * lib/rmdir.c (rmdir): Work around it.
13133         * modules/rmdir (Status, Notice): No longer obsolete.
13134         (Files): Add dos.m4.
13135         (Depends-on): Add unistd.
13136         (configure.ac): Set witnesses.
13137         (License): Relax to LGPLv2+.
13138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
13139         * modules/unistd (Makefile.am): Substitute witnesses.
13140         * lib/unistd.in.h (rmdir): Declare replacement.
13141         * doc/posix-functions/rmdir.texi (rmdir): Document this.
13142         * modules/rmdir-tests: New tests.
13143         * tests/test-rmdir.c: Likewise.
13144
13145 2009-09-15  Eric Blake  <ebb9@byu.net>
13146
13147         fchdir: improve use of replacement functions
13148         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
13149         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
13150         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
13151         REPLACE_CLOSEDIR.
13152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
13153         * modules/sys_stat (Makefile.am): Substitute correct witness.
13154         * modules/dirent (Makefile.am): Likewise.
13155         * modules/unistd (Makefile.am): Likewise.
13156         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
13157         * lib/unistd.in.h (dup): Likewise.
13158         * lib/sys_stat.in.h (fstat): Likewise.
13159
13160         maint: ignore gnulib-tool temp files
13161         * .gitignore: Ignore files created during gnulib-tool --test.
13162
13163 2009-09-13  Jim Meyering  <meyering@redhat.com>
13164
13165         posixtm: don't reject a time that specify "60" as the number of seconds
13166         * lib/posixtm.c (posixtime): The code to reject invalid dates
13167         would also reject a time specified with the .60 suffix.
13168         But POSIX allows that, in order to accommodate leap seconds.
13169         So don't reject it.
13170         (main): Adjust tests accordingly.
13171         * modules/posixtm (Depends-on): Add stpcpy.
13172
13173 2009-09-11  Jim Meyering  <meyering@redhat.com>
13174
13175         announce-gen: include [$release_type] in emitted Subject:
13176         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
13177         e.g., [stable] in the emitted Subject: line.
13178
13179 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13180
13181         Remove obsolete macros from several modules.
13182         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
13183         obsolete Autoconf macros with their modern counterparts.
13184         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
13185         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
13186         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
13187         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
13188         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
13189         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13190         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
13191         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13192         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
13193         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
13194         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13195         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13196         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
13197         * m4/sockets.m4 (gl_SOCKETS): Likewise.
13198         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
13199         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
13200         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
13201         * m4/time_r.m4 (gl_TIME_R): Likewise.
13202         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
13203         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
13204         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
13205
13206         Fix copyright header in build-aux scripts.
13207         * build-aux/git-version-gen: Fix copyright header to match GPLv3
13208         recommendation.
13209         * build-aux/ncftpput-ftp: Likewise.
13210         * build-aux/update-copyright: Likewise.
13211
13212 2009-09-09  Eric Blake  <ebb9@byu.net>
13213
13214         test-link: allow Linux choice of errno
13215         * tests/test-link.c (main): Relax test for alternate error.
13216
13217         strndup: fix improper m4 caching
13218         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
13219         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
13220         (gl_PREREQ_STRNDUP): Delete.
13221         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
13222         * modules/string (Makefile.am): Substitute it.
13223         * lib/string.in.h (strndup): Modernize prototype.
13224
13225         getcwd: port to mingw
13226         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
13227         different from the POSIX assumptions made throughout the getcwd
13228         module; fortunately, the mingw getcwd does not need replacement.
13229         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
13230         * modules/getcwd-tests: New test.
13231         * tests/test-getcwd.c: Likewise.
13232
13233         link: fix platform bugs
13234         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
13235         * lib/link.c (link): Work around them.  Fix related mingw bug.
13236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
13237         * modules/unistd (Makefile.am): Substitute it.
13238         * lib/unistd.in.h (link): Declare replacement.
13239         * doc/posix-functions/link.texi (link): Document this.
13240         * modules/link (Depends-on): Add strdup-posix, sys_stat.
13241
13242         test-link: consolidate into single C program, test more cases
13243         * tests/test-link.sh: Delete.
13244         * tests/test-link.c: Test more error conditions.  Exposes bugs on
13245         at least Cygwin and Solaris.
13246         * modules/link-tests (Files): Remove unused file.
13247         (Depends-on): Add errno, sys_stat.
13248         (Makefile.am): Simplify.
13249
13250 2009-09-08  Bruno Haible  <bruno@clisp.org>
13251
13252         Work around towlower, towupper bug on mingw.
13253         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
13254         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
13255         * doc/posix-functions/towlower.texi: Mention the mingw bug.
13256         * doc/posix-functions/towupper.texi: Likewise.
13257         Reported by Eric Blake.
13258
13259 2009-09-08  Jim Meyering  <meyering@redhat.com>
13260
13261         build: don't try to run autoheader if we don't use it
13262         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
13263         is not used in configure.ac.
13264
13265 2009-09-08  Eric Blake  <ebb9@byu.net>
13266
13267         euidaccess: fix compilation error
13268         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
13269
13270         rawmemchr: relax license
13271         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
13272         okay.
13273         Reported by Jim Meyering.
13274
13275         mkfifoat: new module
13276         * modules/mkfifoat: New file.
13277         * lib/mkfifoat.c: Likewise.
13278         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
13279         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13280         * modules/sys_stat (Makefile.am): Use them.
13281         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
13282         * MODULES.html.sh (File system functions): Mention module.
13283         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
13284         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
13285         * modules/mkfifoat-tests: New test.
13286         * tests/test-mkfifoat.c: Likewise.
13287
13288         strchrnul: relax license
13289         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
13290         okay.
13291         Reported by Jim Meyering.
13292
13293 2009-09-08  Eric Blake  <ebb9@byu.net>
13294
13295         fstatat: fix compilation on Solaris
13296         * lib/fstatat.c (includes): Add fcntl.h.
13297         Reported by Pádraig Brady.
13298
13299 2009-09-07  Eric Blake  <ebb9@byu.net>
13300
13301         rename: modernize replacement
13302         * modules/rename (Depends-on): Add stdio.
13303         (configure.ac): Declare witness.
13304         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
13305         stdio take care of replacement.
13306         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
13307         * modules/stdio (Makefile.am): Substitute them.
13308         * lib/stdio.in.h (rename): Declare replacement.
13309         * lib/rename.c (includes): Allow cross-compilation to non-windows
13310         machines.
13311         * doc/posix-functions/rename.texi (rename): Improve
13312         documentation.
13313
13314         stdio: sort witness names
13315         * modules/stdio (Makefile.am): Sort replacements.
13316         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
13317         * lib/stdio.in.h: Likewise.
13318
13319         getcwd: minor cleanups
13320         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
13321         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
13322
13323         openat: provide more convenience names
13324         * modules/faccessat (configure.ac): Add C witness.
13325         * lib/unistd.in.h (readlinkat): Fix typo.
13326         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
13327         convenience wrappers.
13328         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
13329         wrappers in syntax checks.
13330
13331 2009-09-06  Eric Blake  <ebb9@byu.net>
13332
13333         doc: fix comments in recent patches
13334         * lib/faccessat.c: Mention correct function.
13335         * lib/fchmodat.c: Likewise.
13336         * lib/fchownat.c: Likewise.
13337         * lib/symlinkat.c: Likewise.
13338         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
13339         constants.
13340
13341         faccessat, symlinkat: continue cleanup of previous patch
13342         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
13343         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
13344         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
13345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
13346         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
13347         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
13348         set.
13349
13350 2009-09-06  Bruno Haible  <bruno@clisp.org>
13351
13352         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
13353         (fstatat): Declare if GNULIB_FSTATAT is set.
13354         (mkdirat): Declare if GNULIB_MKDIRAT is set.
13355         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
13356         (unlinkat): Declare if GNULIB_UNLINKAT is set.
13357         * modules/fcntl-h (Files): Remove m4/openat.m4.
13358         * modules/sys_stat (Files): Remove m4/openat.m4.
13359         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
13360         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
13361         * modules/unistd (Files): Remove m4/openat.m4.
13362         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
13363         GNULIB_OPENAT.
13364         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
13365         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
13366         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
13367         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
13368         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
13369         gl_OPENAT_DEFAULTS.
13370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
13371         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
13372         Don't require gl_OPENAT_DEFAULTS.
13373         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
13374         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
13375         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
13376         (gl_OPENAT_DEFAULTS): Remove macro.
13377
13378 2009-09-06  Bruno Haible  <bruno@clisp.org>
13379
13380         * modules/openat (configure.ac): Remove unneeded witness.
13381
13382 2009-09-06  Bruno Haible  <bruno@clisp.org>
13383
13384         Set errno to ENOSYS when a function is entirely unsupported.
13385         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
13386         EOPNOTSUPP.
13387         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
13388         * modules/chown (Depends-on): Remove errno.
13389
13390 2009-09-06  Bruno Haible  <bruno@clisp.org>
13391
13392         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
13393
13394 2009-09-06  Bruno Haible  <bruno@clisp.org>
13395
13396         * lib/sys_stat.in.h: Fix preprocessor command indentation.
13397
13398 2009-09-06  Ben Pfaff  <blp@gnu.org>
13399             Bruno Haible  <bruno@clisp.org>
13400
13401         Work around a glibc bug in strtok_r.
13402         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
13403         Undefine if UNDEFINE_STRTOK_R is set.
13404         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
13405         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13406         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
13407         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
13408         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
13409         UNDEFINE_STRTOK_R.
13410         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
13411
13412 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
13413
13414         exclude: minor fix
13415         * lib/exclude.c: Include wctype.h
13416
13417 2009-09-06  Akim Demaille  <demaille@gostai.com>
13418
13419         bootstrap: improve error message
13420         * build-aux/bootstrap (find_tool): Upon failure, report the list
13421         of candidates.
13422         Honor the initial value of the envvar.
13423
13424 2009-09-05  Eric Blake  <ebb9@byu.net>
13425
13426         symlinkat: new module
13427         * modules/symlinkat: New file.
13428         * lib/symlinkat.c: Likewise.
13429         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
13430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13431         * modules/unistd (Makefile.am): Use them.
13432         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
13433         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
13434         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
13435         * MODULES.html.sh (File system functions): Mention module.
13436         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
13437         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13438         * modules/symlinkat-tests: New test.
13439         * tests/test-symlinkat.c: Likewise.
13440
13441         test-openat-safer: add more checks
13442         * tests/test-openat-safer.c (main): Check more code paths.
13443
13444 2009-09-05  Jim Meyering  <meyering@redhat.com>
13445
13446         syntax-check: detect unnecessary inclusion of openat.h
13447         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
13448
13449 2009-09-05  Bruno Haible  <bruno@clisp.org>
13450
13451         Support towlower, towupper.
13452         * doc/posix-functions/towlower.texi: Mention module wctype.
13453         * doc/posix-functions/towupper.texi: Likewise.
13454         * lib/wctype.in.h (towlower, towupper): New functions.
13455         * tests/test-wctype.c: Include stdio.h, stdlib.h.
13456         (ASSERT): New macro.
13457         (e): New variable.
13458         (main): Test also towlower, towupper. Test WEOF argument.
13459         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13460
13461 2009-09-05  Bruno Haible  <bruno@clisp.org>
13462
13463         Fix conversion behaviour when the input is invalid.
13464         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
13465         mark occurring in first pass of indirect conversion.
13466         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
13467         input.
13468         Found by clang's static analyzer.
13469
13470 2009-09-05  Bruno Haible  <bruno@clisp.org>
13471
13472         * tests/test-striconveh.c (main): Test indirect conversion on platforms
13473         where direct conversion is possible.
13474
13475 2009-09-04  Eric Blake  <ebb9@byu.net>
13476
13477         openat: fail with ENOENT on empty name
13478         * lib/openat-proc.c (openat_proc_name): Special-case the empty
13479         buffer.
13480
13481         link-follow: fix logic bug in prior patch
13482         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
13483         reversed sense of yes and no in prior patch.  Avoid confusing
13484         compilation failure with desired semantics.
13485
13486         link-follow: accomodate mingw and cross-compilation
13487         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
13488         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
13489         cross-compilation results to -1, to make linkat easier to
13490         implement when cross-compiling.  Trivially support mingw.
13491         * modules/link-follow (configure.ac): Call new name.
13492         * NEWS: Mention this.
13493
13494 2009-09-03  Eric Blake  <ebb9@byu.net>
13495
13496         faccessat: compile replacement
13497         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
13498         needed.
13499
13500         fts: fix compilation error
13501         * lib/fts.c (includes): Re-add "openat.h", for
13502         openat_needs_fchdir.
13503
13504         faccessat: new module
13505         * modules/faccessat: New file.
13506         * lib/faccessat.c: Likewise.
13507         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
13508         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13509         * modules/unistd (Makefile.am): Use it.
13510         * lib/unistd.in.h (faccessat): Declare it.
13511         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
13512         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
13513         * MODULES.html.sh (File system functions): Mention it.
13514         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
13515         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
13516
13517         euidaccess: prefer POSIX over non-standard implementation
13518         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
13519         * lib/euidaccess.c (euidaccess): Use it if available.
13520
13521         openat: make template easier to use
13522         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
13523         AT_FUNC_F2 to be undefined.
13524         (VALIDATE_FLAG): New macro; use it to reject bad flags.
13525         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
13526         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
13527         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
13528         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
13529         Likewise.
13530         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
13531         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
13532         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
13533         Likewise.
13534
13535         openat: declare in POSIX headers
13536         * NEWS: Mention this.
13537         * modules/openat (configure.ac): Declare witnesses.
13538         (Depends-on): Add fcntl-h, sys_stat, unistd.
13539         (Include): Mention correct headers.
13540         * modules/fcntl-h (Depends-on): Add link-warning.
13541         (Files): Add openat.m4.
13542         (Makefile.am): Substitute witnesses.
13543         * modules/sys_stat (Files, Makefile.am): Likewise.
13544         * modules/unistd (Files, Makefile.am): Likewise.
13545         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
13546         (gl_OPENAT_DEFAULTS): New macro.
13547         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
13548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
13549         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
13550         (SYS_STAT_H): Remove unused variable.
13551         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
13552         * lib/fcntl--.h (includes): Remove unneeded header.
13553         * lib/openat-safer.c (includes): Likewise.
13554         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
13555         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
13556         appropriate headers.
13557         (__OPENAT_PREFIX): Delete.
13558         * lib/fcntl.in.h (openat): Provide declaration.
13559         (AT_FDCWD): Fix Solaris bug.
13560         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
13561         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
13562         * lib/fchmodat.c (includes):  Adjust to find declaration.
13563         * lib/fchownat.c (includes): Likewise.
13564         * lib/mkdirat.c (includes): Likewise.
13565         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
13566         still visible.
13567
13568 2009-09-02  Eric Blake  <ebb9@byu.net>
13569
13570         errno: use consistently
13571         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
13572         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
13573         * lib/canonicalize.c (ELOOP): Likewise.
13574         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
13575         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
13576         * lib/lchown.c (EOPNOTSUPP): Likewise.
13577         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
13578         * lib/savewd.c (ESTALE): Likewise.
13579         * lib/settime.c (ENOSYS): Likewise.
13580         * lib/utimens.c (ENOSYS): Likewise.
13581         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
13582         * lib/chdir-safer.c (ELOOP): Likewise.
13583         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
13584         * modules/c-stack (Depends-on): Add errno.
13585         * modules/canonicalize (Depends-on): Likewise.
13586         * modules/chdir-safer (Depends-on): Likewise.
13587         * modules/fdopendir (Depends-on): Likewise.
13588         * modules/inet_ntop (Depends-on): Likewise.
13589         * modules/inet_pton (Depends-on): Likewise.
13590         * modules/lchown (Depends-on): Likewise.
13591         * modules/openat (Depends-on): Likewise.
13592         * modules/savewd (Depends-on): Likewise.
13593         * modules/settime (Depends-on): Likewise.
13594         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
13595
13596         fts: avoid leaking fds
13597         * modules/fts (Depends-on): Add cloexec.
13598         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
13599         flag.
13600
13601         fts: make directory fds more robust
13602         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
13603         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
13604
13605         backupfile, chdir-long, fts, savedir: make safer
13606         * lib/backupfile.c (includes): Use "dirent--.h", since
13607         numbered_backup can write to stderr during readdir.
13608         * lib/savedir.c (includes): Likewise.
13609         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
13610         emulation can write to stderr on failure.
13611         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
13612         * lib/getcwd.c: Document why opendir_safer is unused.
13613         * lib/glob.c: Likewise.
13614         * lib/scandir.c: Likewise.
13615         * lib/openat-proc.c: Likewise, for open_safer.
13616         * modules/backupfile (Depends-on): Add dirent-safer.
13617         * modules/savedir (Depends-on): Likewise.
13618         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
13619         * modules/chdir-long (Depends-on): Add openat-safer.
13620
13621         openat-safer: new module
13622         * modules/openat-safer: New file.
13623         * lib/openat-safer.c: Likewise.
13624         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
13625         * lib/fcntl-safer.h (openat_safer): Declare.
13626         * lib/fcntl--.h (openat): Override.
13627         * MODULES.html.sh (File descriptor based I/O): Mention it.
13628         * lib/openat.h: Add double-inclusion guards.
13629         * lib/openat.c (includes): Only include "fcntl-safer.h", not
13630         "fcntl--.h", so we can implement openat.
13631         * modules/openat-safer-tests: New test.
13632         * tests/test-openat-safer.c: New file.
13633
13634         dirent-safer: new module
13635         * modules/dirent-safer: New file.
13636         * lib/dirent--.h: Likewise.
13637         * lib/dirent-safer.h: Likewise.
13638         * lib/opendir-safer.c: Likewise.
13639         * m4/dirent-safer.m4: Likewise.
13640         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
13641         * modules/dirent-safer-tests: New test.
13642         * tests/test-dirent-safer.c: New file.
13643         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
13644
13645         fdopendir: optimize on mingw
13646         * lib/unistd.in.h (_gl_directory_name): New prototype.
13647         * lib/fchdir.c (_gl_directory_name): Implement it.
13648         (fchdir): Use it to simplify implementation.
13649         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
13650         fchdir, when available, to avoid calling [f]chdir().
13651
13652         fdopendir: split into its own module
13653         * lib/openat.c (fdopendir): Move...
13654         * lib/fdopendir.c: ...into new file.
13655         * modules/fdopendir: New module.
13656         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
13657         * modules/openat (Depends-on): Add fdopendir.
13658         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
13659         fdopendir here.
13660         * modules/savedir (Depends-on): Only need fdopendir, not full
13661         openat.
13662         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
13663         * lib/openat.h (fdopendir): Drop prototype.
13664         * lib/dirent.in.h (fdopendir): Provide prototype.
13665         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
13666         * modules/dirent (Makefile.am): Substitute them.
13667         * MODULES.html.sh (File system functions): Mention it.
13668         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
13669         * modules/fdopendir-tests: New file.
13670         * tests/test-fdopendir.c: Likewise.
13671
13672         fchdir: use more consistent macro convention
13673         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
13674         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
13675         REPLACE_FCHDIR, rather than relying on config.h macros.
13676         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
13677         inside a single make-time REPLACE_FCHDIR block, rather than using
13678         the config.h FCHDIR_REPLACEMENT.
13679         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
13680         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
13681         Manage fstat replacement.
13682         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
13683         REPLACE_FCHDIR.
13684         * modules/sys_stat (Files): Add m4/unistd_h.m4.
13685         (Makefile.am): Substitute REPLACE_FCHDIR.
13686         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
13687         FCHDIR_REPLACEMENT.
13688         * lib/dup-safer.c (dup_safer): Likewise.
13689         * lib/dup2.c (rpl_dup2): Likewise.
13690         * lib/dup3.c (rpl_dup3): Likewise.
13691         * lib/open.c (rpl_open): Likewise.
13692
13693         fchdir: simplify error handling, and support dup3
13694         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
13695         stdbool, malloc-posix, realloc-posix.
13696         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
13697         (ensure_dirs_slot): Return false on allocation failure.
13698         (rpl_dup2): Delete.
13699         (_gl_register_dup): New function.
13700         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
13701         (_gl_register_fd): Close fd on allocation failure.
13702         * lib/fcntl.in.h (_gl_register_fd): Update signature.
13703         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
13704         prototype.
13705         (rpl_dup2_fchdir): Delete prototype.
13706         * lib/open.c (open): Update caller.
13707         * lib/dup2.c (dup2): Track fchdir metadata.
13708         * lib/dup3.c (dup3): Likewise.
13709         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
13710         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
13711
13712 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13713
13714         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
13715         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
13716         don't pass arguments to AC_OUTPUT.
13717
13718 2009-09-02  Bruno Haible  <bruno@clisp.org>
13719
13720         * modules/mkdtemp (License): Relicense under LGPLv2+.
13721         Reported by Paolo Bonzini.
13722
13723 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13724
13725         Replace uses of obsolete autoconf macros in Jim's modules.
13726         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
13727         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
13728         can evoke a warning from autoconf when run with -Wobsolete
13729         enabled.  They were declared obsolete for good reasons (see
13730         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
13731         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
13732         should not continue using the deprecated macros.
13733         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
13734         obsolete Autoconf macros with modern counterparts.
13735         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13736         * m4/dos.m4 (gl_AC_DOS): Likewise.
13737         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
13738         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
13739         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
13740         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
13741         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
13742         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
13743         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
13744         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
13745         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
13746         Likewise.
13747         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
13748         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
13749         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
13750         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
13751         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
13752         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
13753
13754 2009-09-01  Eric Blake  <ebb9@byu.net>
13755
13756         fchdir: fix off-by-one bug in previous patch
13757         * lib/fchdir.c (rpl_fstat): Use correct bounds.
13758         (_gl_unregister_fd): Delete useless if.
13759
13760 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
13761
13762         maint.mk: sort the list of syntax-check rules
13763         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
13764         easier to get a sense of progress when the rules are run sequentially
13765         and take a long time.
13766
13767 2009-09-01  Simon Josefsson  <simon@josefsson.org>
13768
13769         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
13770         * modules/netinet_in: Likewise.
13771         * modules/sys_file: Likewise.
13772         * modules/sys_ioctl: Likewise.
13773         * modules/sys_select: Likewise.
13774         * modules/sys_socket: Likewise.
13775         * modules/sys_stat: Likewise.
13776         * modules/sys_time: Likewise.
13777         * modules/sys_times: Likewise.
13778         * modules/sys_utsname: Likewise.
13779         * modules/sys_wait: Likewise.
13780
13781 2009-09-01  Jim Meyering  <meyering@redhat.com>
13782
13783         fts: help ensure that return values are not ignored
13784         * lib/fts_.h (__GNUC_PREREQ): Define.
13785         (__attribute_warn_unused_result__): Define.
13786         (fts_children, fts_close, fts_open, fts_read): Declare with
13787         __attribute_warn_unused_result__.
13788
13789         fts: fts_close now fails also when closing a dir file descriptor fails
13790         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
13791         and propagate to caller, along with errno.
13792
13793         announce-gen: correct formatting in --help output
13794         * build-aux/announce-gen (usage): Move the one-line description in
13795         --help output "up", to where it belongs, just after Usage:.
13796
13797 2009-08-31  Eric Blake  <ebb9@byu.net>
13798
13799         fchdir: port to mingw
13800         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
13801         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
13802         opened, then use a substitute.
13803         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
13804         replacement.
13805         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
13806         (_gl_register_fd): No need to check stat if open already filters
13807         all directories.
13808         (fchdir): Fix error condition to match POSIX.
13809         * modules/fchdir (Depends-on): Add sys_stat.
13810         * doc/posix-functions/open.texi (open): Document the limitation.
13811         * modules/fchdir-tests: New file.
13812         * tests/test-fchdir.c: Likewise.
13813
13814         canonicalize: allow cross-testing from cygwin to mingw
13815         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
13816         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
13817         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
13818         Likewise.
13819         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
13820         target does not support symlinks.
13821         * tests/test-canonicalize-lgpl.sh: Likewise.
13822
13823         chown: avoid compilation warning on mingw
13824         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
13825         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
13826         mingw.
13827         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
13828         * modules/chown (Depends-on): Add errno.
13829
13830 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13831
13832         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
13833         command.
13834
13835 2009-08-31  Jim Meyering  <meyering@redhat.com>
13836
13837         canonicalize: remove useless initialization
13838         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
13839         initialization of local, "end".
13840
13841 2009-08-30  Bruno Haible  <bruno@clisp.org>
13842
13843         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
13844         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
13845         ENOSYS.
13846
13847 2009-08-30  Bruno Haible  <bruno@clisp.org>
13848
13849         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
13850         /usr/xpg4/bin/tr when it exists.
13851         * tests/test-pipe-filter-gi1.sh: Likewise.
13852
13853 2009-08-30  Bruno Haible  <bruno@clisp.org>
13854
13855         Work around deficient /usr/bin/id program on Solaris.
13856         * tests/test-file-has-acl.sh (ID): New variable.
13857         * tests/test-set-mode-acl.sh (ID): Likewise.
13858         * tests/test-copy-acl.sh (ID): Likewise.
13859         * tests/test-copy-file.sh (ID): Likewise.
13860
13861 2009-08-30  Bruno Haible  <bruno@clisp.org>
13862
13863         New module 'xstriconveh'.
13864         * lib/xstriconveh.h: New file.
13865         * lib/xstriconveh.c: New file.
13866         * modules/xstriconveh: New file.
13867
13868 2009-08-30  Bruno Haible  <bruno@clisp.org>
13869
13870         Make it easier to use mem_cd_iconveh.
13871         * lib/striconveh.h (iconveh_t): New type.
13872         (iconveh_open, iconveh_close): New declarations.
13873         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
13874         with a single 'const iconveh_t *' argument.
13875         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
13876         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
13877         with a single 'const iconveh_t *' argument.
13878         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
13879         * tests/test-striconveh.c (main): Update.
13880         * NEWS: Mention the change.
13881
13882 2009-08-30  Bruno Haible  <bruno@clisp.org>
13883
13884         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
13885         problem.
13886
13887 2009-08-30  Bruno Haible  <bruno@clisp.org>
13888
13889         Work around iconv_open problem on Solaris.
13890         * lib/iconv_open-solaris.gperf: New file.
13891         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
13892         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
13893         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
13894         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
13895         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
13896         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
13897
13898 2009-08-29  Jim Meyering  <meyering@redhat.com>
13899
13900         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
13901         * top/maint.mk (cvs-check): Remove target; it was just an alias
13902         to the better-named vc-diff-check.
13903         (maintainer-distcheck): Remove rule.  It was used only from
13904         the (alpha/beta/major) target, and all of its commands but one
13905         were coreutils-specific.
13906         (vc-dist): Remove rule.
13907         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
13908         Run vc-diff-check, not vc-dist.
13909         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
13910
13911 2009-08-27  Bruno Haible  <bruno@clisp.org>
13912
13913         * tests/test-bitrotate.c (main): Remove test that uses a shift count
13914         of 0.
13915
13916 2009-08-27  Bruno Haible  <bruno@clisp.org>
13917
13918         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
13919         compilers.
13920         * doc/func.texi: Document the SunPRO C bug.
13921
13922 2009-08-27  Bruno Haible  <bruno@clisp.org>
13923
13924         Fix link error on Solaris.
13925         * tests/test-parse-duration.c (xstrdup): Remove function.
13926
13927 2009-08-26  Pádraig Brady  <P@draigbrady.com>
13928
13929         ignore-value: handle pointer types, too
13930         * lib/ignore-value.h (__attribute__): Remove definition.
13931         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
13932         of a more concise and more-often effective "(void) i" statement.
13933         (ignore_ptr): New function to suppress warnings from functions that
13934         return pointers, and to make it explicit that one function doesn't
13935         handle all cases.
13936
13937 2009-08-25  Bruno Haible  <bruno@clisp.org>
13938
13939         dup2: work around a Linux bug.
13940         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
13941         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
13942         * doc/posix-functions/dup2.texi: Mention the Linux bug.
13943         Reported by Simon Josefsson.
13944
13945 2009-08-25  Jim Meyering  <meyering@redhat.com>
13946
13947         libguestfs uses gnulib
13948         * users.txt: Add libguestfs.
13949
13950 2009-08-24  Eric Blake  <ebb9@byu.net>
13951
13952         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
13953         * lib/pipe2.c (includes): Add binary-io.h.
13954         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
13955
13956 2009-08-24  Bruno Haible  <bruno@clisp.org>
13957
13958         Tolerate declared but missing accept4 syscall.
13959         * lib/accept4.c (accept4): Invoke original accept4 function first, if
13960         available.
13961         * lib/sys_socket.in.h (accept4): If the function is already present,
13962         override it.
13963         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
13964         * modules/accept4 (Makefile.am): Compile accept4.c always.
13965         Reported by Paolo Bonzini and Eric Blake.
13966
13967 2009-08-23  Bruno Haible  <bruno@clisp.org>
13968
13969         New module 'accept4'.
13970         * lib/sys_socket.in.h (accept4): New declaration.
13971         * lib/accept4.c: New file.
13972         * m4/accept4.m4: New file.
13973         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
13974         GNULIB_ACCEPT4, HAVE_ACCEPT4.
13975         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
13976         HAVE_ACCEPT4.
13977         * modules/accept4: New file.
13978         * doc/glibc-functions/accept4.texi: Mention the new module.
13979
13980 2009-08-24  Jim Meyering  <meyering@redhat.com>
13981
13982         progname: also set global program_invocation_name, when possible
13983         Before this change, a libtool-enabled program that calls glibc's
13984         error function would report the program name as
13985         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
13986         * modules/progname (configure.ac): Check for a declaration of
13987         program_invocation_name.
13988         * lib/progname.c:  Include <errno.h>.
13989         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
13990         Set program_invocation_name.
13991
13992 2009-08-23  Bruno Haible  <bruno@clisp.org>
13993
13994         * lib/dup3.c: Include <string.h>.
13995
13996 2009-08-23  Bruno Haible  <bruno@clisp.org>
13997
13998         * lib/dup3.c (dup3): Test only once whether the system actually exists.
13999         * lib/pipe2.c (pipe2): Likewise.
14000         Suggested by Eric Blake.
14001
14002 2009-08-23  Bruno Haible  <bruno@clisp.org>
14003
14004         Tolerate declared but missing dup3 syscall.
14005         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
14006         * lib/unistd.in.h (dup3): If the function is already present,
14007         override it.
14008         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
14009         * modules/dup3 (Makefile.am): Compile dup3.c always.
14010         Reported by Paolo Bonzini.
14011
14012 2009-08-23  Bruno Haible  <bruno@clisp.org>
14013
14014         Tolerate declared but missing pipe2 syscall.
14015         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
14016         available.
14017         * lib/unistd.in.h (pipe2): If the function is already present,
14018         override it.
14019         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
14020         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
14021         Reported by Paolo Bonzini.
14022
14023 2009-08-23  Bruno Haible  <bruno@clisp.org>
14024
14025         * lib/pipe2.c (pipe2): Move #ifs inside function.
14026
14027 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14028
14029         quotearg: document limitations of quote_these_too
14030         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
14031         those limitations are created.
14032         * lib/quotearg.h (set_char_quoting): Document that digits and
14033         letters that are special after backslash are not permitted.
14034         (quotearg_char): Cross-reference set_char_quoting documentation.
14035
14036 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
14037
14038         quotearg: implement custom_quoting_style
14039         * lib/quotearg.c: (struct quoting_options): Add left_quote and
14040         right_quote fields.
14041         (set_custom_quoting): New public function.
14042         (quotearg_buffer_restyled): Add left_quote and right_quote
14043         arguments, handle them very much like locale quoting, and update
14044         all uses.
14045         (quotearg_n_custom): New public function.
14046         (quotearg_n_custom_mem): New public function.
14047         (quotearg_custom): New public function.
14048         (quotearg_custom_mem): New public function.
14049         * lib/quotearg.h: Prototype and document new public functions.
14050         (enum quoting_style): For escape_quoting_style and
14051         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
14052         ignored even though they're otherwise like c_quoting_style.
14053         Add custom_quoting_style member and document with comparison to
14054         clocale_quoting_style.
14055         * tests/test-quotearg.c (custom_quotes): New array.
14056         (custom_results): New array.
14057         (main): Extend to test custom quoting.
14058
14059 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14060
14061         quotearg: fix right quote escaping when it's in quote_these_too
14062         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
14063         quote, be sure to prepend only one backslash.
14064         * tests/test-quotearg.c (use_quote_double_quotes): New function.
14065         (main): Test it.
14066
14067 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14068
14069         quotearg-tests: test escaping of embedded locale quotes
14070         * tests/test-quotearg.c (struct result_strings): Add member for
14071         new input.
14072         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
14073         (inputs): Add new input.
14074         (results_g): Add expected results.
14075         (flag_results): Likewise.
14076         (locale_results): Likewise.
14077         (compare_strings): Check those.
14078
14079 2009-08-23  Bruno Haible  <bruno@clisp.org>
14080
14081         Tests for module 'dup3'.
14082         * modules/dup3-tests: New file.
14083         * tests/test-dup3.c: New file.
14084
14085         New module 'dup3'.
14086         * lib/unistd.in.h (dup3): New declaration.
14087         * lib/dup3.c: New file.
14088         * m4/dup3.m4: New file.
14089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
14090         HAVE_DUP3.
14091         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
14092         * modules/dup3: New file.
14093         * doc/glibc-functions/dup3.texi: Mention the new module.
14094
14095 2009-08-23  Bruno Haible  <bruno@clisp.org>
14096
14097         Tweak the dup2 test.
14098         * tests/test-dup2.c (main): Create the test file empty. Verify that an
14099         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
14100         the test file is still empty. Fix argument order of lseek.
14101
14102 2009-08-23  Bruno Haible  <bruno@clisp.org>
14103
14104         Avoid test link errors when the modules getopt-gnu, gettext are used.
14105         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
14106         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14107
14108 2009-08-23  Bruno Haible  <bruno@clisp.org>
14109
14110         Fix getdtablesize() on mingw.
14111         * lib/getdtablesize.c (getdtablesize): Implement differently.
14112         * lib/unistd.in.h (getdtablesize): Improve comment.
14113
14114 2009-08-23  Bruno Haible  <bruno@clisp.org>
14115
14116         New module 'mkostemp'.
14117         Based on Ulrich Drepper's 2007-08-10 change in glibc.
14118         * lib/stdlib.in.h (mksotemp): New declaration.
14119         * lib/mkostemp.c: New file, from glibc with modifications.
14120         * lib/tempname.h (GT_FILE): Remove outdated comment.
14121         (gen_tempname): Add flags argument.
14122         * lib/tempname.c (__GT_BIGFILE): Remove macro.
14123         (__GT_FILE): Map to 1.
14124         (small_open, large_open): Remove macros.
14125         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
14126         * lib/mkstemp.c (mkstemp): Update.
14127         * lib/mkdtemp.c (mkdtemp): Likewise.
14128         * m4/mkostemp.m4: New file.
14129         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
14130         HAVE_MKOSTEMP.
14131         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
14132         HAVE_MKOSTEMP.
14133         * modules/mkostemp: New file, based on modules/mkstemp.
14134         * doc/glibc-functions/mkostemp.texi: Mention the new module.
14135         * NEWS: Mention the change.
14136
14137 2009-08-23  Bruno Haible  <bruno@clisp.org>
14138
14139         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
14140         Reported by Eric Blake.
14141
14142 2009-08-23  Bruno Haible  <bruno@clisp.org>
14143
14144         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
14145         Reported by Eric Blake.
14146
14147 2009-08-23  Bruno Haible  <bruno@clisp.org>
14148
14149         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
14150         * modules/pipe2 (Depends-on): Likewise.
14151
14152 2009-08-23  Eric Blake  <ebb9@byu.net>
14153
14154         fcntl-h: add O_TTY_INIT support
14155         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
14156         * tests/test-fcntl-h.c (o): Test it.
14157         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
14158
14159         fcntl-h: rename from fcntl, in preparation for fcntl(2)
14160         * modules/fcntl: Move <fcntl.h> header replacement...
14161         * modules/fcntl-h: ...to new name, so as not to collide with
14162         like-named function.
14163         * tests/test-fcntl.c: Rename...
14164         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
14165         * modules/fcntl-tests: Rename...
14166         * modules/fcntl-h-tests: ...to this.  Update test file name.
14167         * modules/chdir-long (Depends-on): Update clients.
14168         * modules/chdir-safer (Depends-on): Likewise.
14169         * modules/fcntl-safer (Depends-on): Likewise.
14170         * modules/fts (Depends-on): Likewise.
14171         * modules/mkancesdirs (Depends-on): Likewise.
14172         * modules/mkdir-p (Depends-on): Likewise.
14173         * modules/open (Depends-on): Likewise.
14174         * modules/savewd (Depends-on): Likewise.
14175         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
14176         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
14177
14178 2009-08-22  Bruno Haible  <bruno@clisp.org>
14179
14180         * modules/binary-io (License): Relicense under LGPL.
14181         * modules/pipe2 (License): Likewise.
14182
14183 2009-08-22  Bruno Haible  <bruno@clisp.org>
14184
14185         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
14186         return value.
14187         * lib/pipe-filter-gi.c (filter_init): Likewise.
14188         Reported by Eric Blake.
14189
14190 2009-08-22  Bruno Haible  <bruno@clisp.org>
14191
14192         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
14193         * modules/pipe (Depends-on): Add pipe2.
14194
14195 2009-08-22  Bruno Haible  <bruno@clisp.org>
14196
14197         Tests for module 'pipe2'.
14198         * modules/pipe2-tests: New file.
14199         * tests/test-pipe2.c: New file.
14200
14201         New module 'pipe2'.
14202         * lib/unistd.in.h (pipe2): New declaration.
14203         * lib/pipe2.c: New file.
14204         * m4/pipe2.m4: New file.
14205         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
14206         HAVE_PIPE2.
14207         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
14208         * modules/pipe2: New file.
14209         * doc/glibc-functions/pipe2.texi: Mention the new module.
14210
14211 2009-08-22  Bruno Haible  <bruno@clisp.org>
14212
14213         Reference some new glibc functions.
14214         * doc/glibc-functions/accept4.texi: New file.
14215         * doc/glibc-functions/dup3.texi: New file.
14216         * doc/glibc-functions/mkostemp.texi: New file.
14217         * doc/glibc-functions/pipe2.texi: New file.
14218         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
14219         (Glibc sys/socket.h): Refer to accept4.
14220         (Glibc unistd.h): Refer to dup3, pipe2.
14221         Reported by Eric Blake.
14222
14223 2009-08-22  Jim Meyering  <meyering@redhat.com>
14224             Bruno Haible  <bruno@clisp.org>
14225
14226         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
14227         This makes it so packages using automake-1.11's silent-rules option
14228         can print e.g., a single "GEN    configmake.h" line, rather than
14229         the 30+ statements that perform the job.  If you want to see the
14230         actual commands, you can still run "make V=1".
14231         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
14232         so that make output is abbreviated when those variables are defined
14233         appropriately.
14234         * modules/argz: Likewise.
14235         * modules/arpa_inet: Likewise.
14236         * modules/byteswap: Likewise.
14237         * modules/configmake: Likewise.
14238         * modules/dirent: Likewise.
14239         * modules/errno: Likewise.
14240         * modules/fcntl: Likewise.
14241         * modules/float: Likewise.
14242         * modules/fnmatch: Likewise.
14243         * modules/getopt-posix: Likewise.
14244         * modules/glob: Likewise.
14245         * modules/iconv_open: Likewise.
14246         * modules/inttypes: Likewise.
14247         * modules/localcharset: Likewise.
14248         * modules/locale: Likewise.
14249         * modules/math: Likewise.
14250         * modules/netdb: Likewise.
14251         * modules/netinet_in: Likewise.
14252         * modules/poll: Likewise.
14253         * modules/posix_spawnp-tests: Likewise.
14254         * modules/sched: Likewise.
14255         * modules/search: Likewise.
14256         * modules/selinux-h: Likewise.
14257         * modules/signal: Likewise.
14258         * modules/spawn: Likewise.
14259         * modules/stdarg: Likewise.
14260         * modules/stdbool: Likewise.
14261         * modules/stddef: Likewise.
14262         * modules/stdint: Likewise.
14263         * modules/stdio: Likewise.
14264         * modules/stdlib: Likewise.
14265         * modules/string: Likewise.
14266         * modules/strings: Likewise.
14267         * modules/sys_file: Likewise.
14268         * modules/sys_ioctl: Likewise.
14269         * modules/sys_select: Likewise.
14270         * modules/sys_socket: Likewise.
14271         * modules/sys_stat: Likewise.
14272         * modules/sys_time: Likewise.
14273         * modules/sys_times: Likewise.
14274         * modules/sys_utsname: Likewise.
14275         * modules/sys_wait: Likewise.
14276         * modules/sysexits: Likewise.
14277         * modules/time: Likewise.
14278         * modules/unistd: Likewise.
14279         * modules/wchar: Likewise.
14280         * modules/wctype: Likewise.
14281
14282 2009-08-22  Jim Meyering  <meyering@redhat.com>
14283
14284         announce-gen: detect write failure
14285         * build-aux/announce-gen: Add Coda at end.
14286         Remove equivalent-but-more-verbose block at top.
14287
14288 2009-08-19  Akim Demaille  <demaille@gostai.com>
14289
14290         bootstrap: --help to stdout.
14291         * bootstrap (usage): Don't send --help to stderr.
14292         Use a here doc instead of a long string.
14293
14294 2009-08-21  Eric Blake  <ebb9@byu.net>
14295
14296         test-popen-safer: split from test-popen
14297         * tests/test-popen.c (main): Move...
14298         * tests/test-popen.h: ...into new file.
14299         * tests/test-popen-safer2.c: New file.
14300         * modules/popen-tests (Files): Add test-popen.h.
14301         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
14302         Suggested by Bruno Haible.
14303
14304         test-fcntl-safer: split from test-open
14305         * tests/test-open.c (main): Move...
14306         * tests/test-open.h: ...into new file.
14307         * tests/test-fcntl-safer.c: New file.
14308         * modules/open-tests (Files): Add test-open.h.
14309         * modules/fcntl-safer-tests: New file.
14310         Suggested by Bruno Haible.
14311
14312         test-fopen-safer: split from test-fopen
14313         * tests/test-fopen.c (main): Move...
14314         * tests/test-fopen.h: ...into new file.
14315         * tests/test-fopen-safer.c: New file.
14316         * modules/fopen-tests (Files): Add test-fopen.h.
14317         * modules/fopen-safer-tests: New file.
14318         Suggested by Bruno Haible.
14319
14320 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
14321
14322         popen-safer: test O_CLOEXEC at run-time.
14323         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
14324
14325 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
14326
14327         fcntl: move more flags to the header
14328         * lib/cloexec.c: Do not define FD_CLOEXEC here.
14329         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
14330         * lib/fcntl.in.h: Do both things here.
14331
14332 2009-08-21  Jim Meyering  <meyering@redhat.com>
14333
14334         consistently remove $@-t before redirecting to it
14335         * modules/argz: Remove $@-t and $@ before redirecting to the former.
14336         * modules/alloca-opt: Likewise.
14337         * modules/byteswap: Likewise.
14338         * modules/fnmatch: Likewise.
14339         * modules/getopt-posix: Likewise.
14340         * modules/glob: Likewise.
14341         * modules/poll: Likewise.
14342         * modules/posix_spawnp-tests: Likewise.
14343         * modules/sys_socket: Likewise.
14344         * modules/sysexits: Likewise.
14345
14346 2009-08-21  Eric Blake  <ebb9@byu.net>
14347
14348         popen: simplify access to original popen
14349         * lib/popen.c (rpl_popen): No need to worry about popen being a
14350         macro.
14351         Reported by Bruno Haible.
14352
14353 2009-08-20  Eric Blake  <ebb9@byu.net>
14354
14355         build: avoid some compiler warnings
14356         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
14357         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
14358         type.
14359         (new_exclude_segment, excluded_file_pattern_p)
14360         (excluded_file_name_p): Reduce scope.
14361         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
14362         old-style declaration.
14363
14364 2009-08-20  Simon Josefsson  <simon@josefsson.org>
14365
14366         * tests/test-exclude1.sh: Handle Windows EOL.
14367         * tests/test-exclude2.sh: Likewise.
14368         * tests/test-exclude3.sh: Likewise.
14369         * tests/test-exclude4.sh: Likewise.
14370         * tests/test-exclude5.sh: Likewise.
14371         * tests/test-exclude6.sh: Likewise.
14372         * tests/test-exclude7.sh: Likewise.
14373
14374 2009-08-19  Akim Demaille  <demaille@gostai.com>
14375
14376         bootstrap: find sha1sum when named gsha1sum.
14377         * bootstrap (find_tool): New.
14378         ($SHA1SUM): New.
14379         Use it.
14380
14381 2009-08-20  Jim Meyering  <meyering@redhat.com>
14382
14383         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
14384         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
14385         expression that converts "." in a file name to "\." in the resulting
14386         regexp.  Start with a dummy statement, so that prior shell variable
14387         definitions are expanded portably.  Reported by Simon Josefsson.
14388
14389 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
14390
14391         Fix polling for writeability of a screen buffer.
14392         * lib/poll.c: Distinguish input and screen buffers for the
14393         Win32 implementation.
14394         * lib/select.c: Likewise.
14395
14396 2009-08-19  Eric Blake  <ebb9@byu.net>
14397
14398         popen-safer: prevent popen from clobbering std descriptors
14399         * modules/popen-safer: New file.
14400         * lib/popen-safer.c: Likewise.
14401         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
14402         * lib/stdio--.h (popen): Provide override.
14403         * lib/stdio-safer.h (popen_safer): Provide declaration.
14404         * tests/test-popen.c (includes): Partially test this.
14405         * modules/popen-safer-tests: New file, for more tests.
14406         * tests/test-popen-safer.c: Likewise.
14407         * MODULES.html.sh (file stream based Input/Output): Mention it.
14408
14409         tests: test some of the *-safer modules
14410         * modules/fopen-safer (Depends-on): Add fopen.
14411         * modules/fcntl-safer (Depends-on): Add fcntl.
14412         * modules/stdlib-safer (Depends-on): Add stdlib.
14413         (configure.ac): Set indicator.
14414         * modules/unistd-safer (configure.ac): Likewise.
14415         * modules/tmpfile-safer (configure.ac): Likewise.
14416         (Depends-on): Add tmpfile.
14417         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
14418         active.
14419         * tests/test-fopen.c (includes): Test safer versions when they are
14420         in use.
14421         * tests/test-open.c (includes): Likewise.
14422
14423         popen: fix cygwin 1.5 bug when stdin closed
14424         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
14425         * modules/popen: New file.
14426         * modules/popen-tests: Likewise.
14427         * tests/test-popen.c: Likewise.
14428         * m4/popen.m4: Likewise.
14429         * lib/popen.c: Likewise.
14430         * lib/stdio.in.h (popen): New declaration.
14431         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
14432         * modules/stdio (Makefile.am): Likewise.
14433         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
14434
14435 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
14436
14437         maint.mk: give full control over update-copyright exclusions
14438         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
14439         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
14440         (update-copyright): Don't force inclusion of top-level
14441         ChangeLog.  Don't force exclusion of all COPYING files, but make
14442         them the default exclusion instead.
14443
14444 2009-08-16  Bruno Haible  <bruno@clisp.org>
14445
14446         Fix test failures on Solaris 10.
14447         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
14448         tests when Solaris iconv() is used.
14449         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
14450         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
14451         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
14452         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
14453         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
14454
14455 2009-08-16  Bruno Haible  <bruno@clisp.org>
14456
14457         Fix test failures on Solaris 10.
14458         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
14459         'tr' program and pass it as first argument.
14460         * tests/test-pipe-filter-gi1.sh: Likewise.
14461         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
14462         program as first argument.
14463         * tests/test-pipe-filter-gi1.c (main): Likewise.
14464
14465 2009-08-16  Eric Blake  <ebb9@byu.net>
14466
14467         fpurge: fix previous commits
14468         * modules/fpurge (Makefile.am): Make replacement conditional,
14469         partially reverting 2007-04-29 change; missed in previous
14470         attempt.
14471         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
14472         is missing.
14473
14474 2009-08-16  Bruno Haible  <bruno@clisp.org>
14475
14476         Clarify fpurge's effect on the file position.
14477         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
14478         * tests/test-fpurge.c (main): Make a second pass for checking the file
14479         position.
14480
14481 2009-08-16  Bruno Haible  <bruno@clisp.org>
14482
14483         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
14484         declaration of fpurge is missing.
14485         * tests/test-fpurge.c (main): Check that the file has not more contents
14486         than expected. Close the file before removing it.
14487
14488 2009-08-15  Eric Blake  <ebb9@byu.net>
14489
14490         fpurge: don't wrap working cygwin implementation
14491         * lib/fpurge.c (fpurge): Fix comment typo.
14492         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
14493         1.7 to avoid replacement.
14494         * tests/test-fpurge.c (main): Enhance test.
14495
14496 2009-08-15  Eric Blake  <ebb9@byu.net>
14497         and Jim Meyering  <meyering@redhat.com>
14498
14499         test-update-copyright: skip if perl is insufficient
14500         * tests/test-update-copyright.sh: Failure to run maintainer tool
14501         should not cause testsuite failure on cygwin 1.5.
14502
14503 2009-08-14  Eric Blake  <ebb9@byu.net>
14504
14505         doc: mention more functions added in cygwin 1.7.0
14506         * doc/posix-headers/limits.texi (limits.h): Update for recent
14507         cygwin additions.
14508         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
14509         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
14510         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
14511         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
14512         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
14513
14514 2009-08-14  Eric Blake  <ebb9@byu.net>
14515
14516         maint.mk: simplify update-copyright rule
14517         * top/maint.mk (update-copyright-local): Delete, and document how
14518         to do it in cfg.mk instead.
14519         (update-copyright-exclude-regexp): Delete, and document how to do
14520         it in .x-update-copyright instead.
14521         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
14522         exclude ChangeLog.
14523
14524 2009-08-14  Bruno Haible  <bruno@clisp.org>
14525
14526         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
14527
14528 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
14529
14530         maint.mk: support update-copyright-env
14531         * top/maint.mk (update-copyright-env): Define place-holder.
14532         (update-copyright): Expand $(update-copyright-env) before
14533         invoking update-copyright.
14534
14535 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
14536
14537         update-copyright: implement forced reformatting
14538         * build-aux/update-copyright: Implement and document
14539         UPDATE_COPYRIGHT_FORCE.
14540         * tests/test-update-copyright.sh: Test it.
14541
14542 2009-08-14  Eric Blake  <ebb9@byu.net>
14543         and Bruno Haible  <bruno@clisp.org>
14544
14545         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
14546         * tests/test-locale.c: Revert previous patch related to NULL.
14547         * tests/test-stdio.c: Likewise.
14548         * tests/test-stdlib.c: Likewise.
14549         * tests/test-string.c: Likewise.
14550         * tests/test-unistd.c: Likewise.
14551         * modules/time-tests (Depends-on): Add verify.
14552         * modules/wchar-tests (Depends-on): Likewise.
14553         * tests/test-time.c: Test for NULL compliance.
14554         * tests/test-wchar.c: Likewise.
14555         * modules/locale (Depends-on): Add stddef.
14556         * modules/stdio (Depends-on): Likewise.
14557         * modules/stdlib (Depends-on): Likewise.
14558         * modules/string (Depends-on): Likewise.
14559         * modules/time (Depends-on): Likewise.
14560         * modules/unistd (Depends-on): Likewise.
14561         * modules/wchar (Depends-on): Likewise.
14562         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
14563         * lib/stdlib.in.h (includes): Likewise.
14564         * lib/string.in.h (includes): Likewise.
14565         * lib/time.in.h (includes): Likewise.
14566         * lib/unistd.in.h (includes): Likewise.
14567         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
14568         replaced.
14569         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
14570         * m4/stddef_h.m4: New file.
14571         * modules/stddef: Likewise.
14572         * lib/stddef.in.h: Likewise.
14573         * modules/stddef-tests: Likewise.
14574         * tests/test-stddef.c: Likewise.
14575         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
14576         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
14577         * doc/posix-headers/locale.texi (locale.h): Likewise.
14578         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
14579         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
14580         * doc/posix-headers/string.texi (string.h): Likewise.
14581         * doc/posix-headers/time.texi (time.h): Likewise.
14582         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
14583         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
14584
14585 2009-08-14  Eric Blake  <ebb9@byu.net>
14586
14587         doc: improve git diff of texinfo files
14588         * .gitattributes: Add rule for *.texi files, with hint on how to
14589         use it.
14590         Copied from m4, and based on a report by Bruno Haible.
14591
14592 2009-08-14  Bruno Haible  <bruno@clisp.org>
14593
14594         Disable multithread support by default on Cygwin 1.5.x for real.
14595         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
14596
14597 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
14598
14599         update-copyright: much ado about intervals
14600         * build-aux/update-copyright: Implement and document
14601         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
14602         of copyright year intervals.
14603         Also, document UPDATE_COPYRIGHT_YEAR.
14604         * tests/test-update-copyright.sh: Test it.
14605
14606         update-copyright: convert 2-digit to 4-digit years
14607         * build-aux/update-copyright: Implement and document.
14608         * tests/test-update-copyright.sh: Update.
14609
14610 2009-08-14  Jim Meyering  <meyering@redhat.com>
14611
14612         test-exclude: avoid coreutils "make check" failure
14613         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
14614         just as in test-argmatch.c.
14615
14616 2009-08-13  Eric Blake  <ebb9@byu.net>
14617
14618         test-dup2: fix bad assumption
14619         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
14620         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
14621
14622         test-version-etc: fix CRLF portability issue
14623         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
14624         recognize \r.
14625         * tests/test-argp-version-etc-1.sh: Likewise.
14626
14627         getopt: update client modules
14628         * modules/argp (Depends-on): Use getopt-gnu.
14629         * modules/git-merge-changelog (Depends-on): Likewise.
14630         * modules/long-options (Depends-on): Likewise.
14631         * modules/xstrtol (Depends-on): Likewise.
14632
14633 2009-08-13  Simon Josefsson  <simon@josefsson.org>
14634
14635         * tests/test-version-etc.sh: Don't fail on different
14636         project/version.  Don't fail on CRLF differences.  Rewrite to use
14637         multiple -e instead of multiple sed forks, suggested by Eric Blake
14638         <ebb9@byu.net>.
14639         * tests/test-argp-version-etc-1.sh: Likewise.
14640
14641 2009-08-13  Simon Josefsson  <simon@josefsson.org>
14642
14643         * tests/test-version-etc.sh: Don't fail on different
14644         project/version.
14645
14646 2009-08-12  Bruno Haible  <bruno@clisp.org>
14647
14648         Tests for modules 'getopt-posix', 'getopt-gnu'.
14649         * modules/getopt-posix-tests: New file.
14650         * tests/test-getopt.c: New file.
14651         * tests/test-getopt.h: New file.
14652         * tests/test-getopt_long.h: New file.
14653
14654         New modules 'getopt-posix', 'getopt-gnu'.
14655         * modules/getopt-gnu: New file, renamed from modules/getopt.
14656         * modules/getopt-posix: New file.
14657         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
14658         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
14659         (gl_GETOPT): Remove macro.
14660         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
14661         Disable the test against BSD systems that declare optreset. Test
14662         against mingw bug. Test against lack of support of optional arguments
14663         on many platforms.
14664         * doc/glibc-headers/getopt.texi: Update module name and list of
14665         relevant platforms.
14666         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
14667         'getopt-gnu' and more portability problems.
14668         * NEWS: Mention the changes.
14669
14670 2009-08-12  Bruno Haible  <bruno@clisp.org>
14671
14672         Ensure that optarg etc. get declared by <unistd.h>.
14673         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
14674         AC_USE_SYSTEM_EXTENSIONS.
14675         * modules/getopt (Depends-on): Add 'extensions'.
14676
14677 2009-08-12  Bruno Haible  <bruno@clisp.org>
14678
14679         Avoid test link errors.
14680         * modules/pipe-filter-ii-tests (Makefile.am): Define
14681         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
14682         * modules/pipe-filter-gi-tests (Makefile.am): Define
14683         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
14684         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14685
14686 2009-08-12  Bruno Haible  <bruno@clisp.org>
14687
14688         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
14689         gl_GETOPT_SUBSTITUTE before.
14690         (gl_GETOPT): Use it.
14691         * m4/argp.m4 (gl_ARGP): Update.
14692         Reported by Sergey Poznyakoff.
14693
14694         * m4/getopt.m4: Reorder macros.
14695         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
14696         (gl_GETOPT_SUBSTITUTE): Remove macro.
14697
14698 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
14699
14700         Minor improvement in gitlog-to-changelog
14701
14702         * build-aux/gitlog-to-changelog: New option `--format' makes
14703         output format string configurable.
14704
14705 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
14706
14707         Optimize exclude: use hash tables for non-wildcard patterns.
14708
14709         * lib/exclude.c: Include hash.h and mbuiter.h
14710         (struct exclude_pattern, exclude_segment): New data types.
14711         (struct exclude): Rewrite.
14712         (fnmatch_pattern_has_wildcards): New function.
14713         (new_exclude_segment, free_exclude_segment): New functions.
14714         (excluded_file_pattern_p, excluded_file_name_p): New functions.
14715         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
14716         * lib/exclude.h (is_fnmatch_pattern): New prototype.
14717         * modules/exclude: Depend on hash and mbuiter.
14718
14719         * modules/exclude-tests: New file.
14720         * tests/test-exclude.c: New file.
14721         * tests/test-exclude1.sh: New file.
14722         * tests/test-exclude2.sh: New file.
14723         * tests/test-exclude3.sh: New file.
14724         * tests/test-exclude4.sh: New file.
14725         * tests/test-exclude5.sh: New file.
14726         * tests/test-exclude6.sh: New file.
14727         * tests/test-exclude7.sh: New file.
14728
14729 2009-08-12  Bruno Haible  <bruno@clisp.org>
14730
14731         Ensure that getopt() gets declared by <unistd.h>.
14732         * lib/unistd.in.h: Conditionally include getopt.h.
14733         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
14734         Set GNULIB_UNISTD_H_GETOPT.
14735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14736         GNULIB_UNISTD_H_GETOPT.
14737         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
14738
14739 2009-08-12  Bruno Haible  <bruno@clisp.org>
14740
14741         Clarify logic.
14742         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
14743         gl_replace_getopt instead of GETOPT_H.
14744
14745 2009-08-12  Bruno Haible  <bruno@clisp.org>
14746
14747         * m4/getopt.m4: Add comments.
14748
14749 2009-08-12  Bruno Haible  <bruno@clisp.org>
14750
14751         Disable multithread support by default on Cygwin 1.5.x.
14752         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
14753         set gl_use_threads=no if not specified otherwise.
14754
14755 2009-08-11  Bruno Haible  <bruno@clisp.org>
14756
14757         Avoid compilation error on NetBSD 5.0.
14758         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
14759         * tests/test-stdio.c: Likewise.
14760         * tests/test-stdlib.c: Likewise.
14761         * tests/test-string.c: Likewise.
14762         * tests/test-unistd.c: Likewise.
14763         Reported by Greg Troxel <gdt@ir.bbn.com>
14764         at <https://savannah.gnu.org/support/?106973>.
14765
14766 2009-08-11  Bruno Haible  <bruno@clisp.org>
14767
14768         * modules/dup2-tests (Depends-on): Remove close.
14769
14770         Undo 2009-07-19 commit.
14771         * modules/acl-tests (Depends-on): Remove close.
14772         * modules/binary-io-tests (Depends-on): Likewise.
14773         * modules/closein-tests (Depends-on): Likewise.
14774         * modules/flock-tests (Depends-on): Likewise.
14775         * modules/fsync-tests (Depends-on): Likewise.
14776         * modules/lseek-tests (Depends-on): Likewise.
14777         * modules/pipe-tests (Depends-on): Likewise.
14778         * modules/posix_spawn-tests (Depends-on): Likewise.
14779         * modules/posix_spawnp-tests (Depends-on): Likewise.
14780         * modules/stat-time-tests (Depends-on): Likewise.
14781         * modules/yesno-tests (Depends-on): Likewise.
14782
14783 2009-08-10  Bruno Haible  <bruno@clisp.org>
14784
14785         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
14786
14787 2009-08-10  Bruno Haible  <bruno@clisp.org>
14788
14789         Fix a gcc warning.
14790         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
14791
14792 2009-08-10  Bruno Haible  <bruno@clisp.org>
14793
14794         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
14795         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
14796         not only the first time.
14797         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
14798         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
14799         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
14800         is 1, not only the the first time.
14801
14802 2009-08-10  Bruno Haible  <bruno@clisp.org>
14803
14804         Make it possible to use module 'gethostname' without module 'close'.
14805         * lib/unistd.in.h (close): Evoke a link error only if
14806         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
14807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14808         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
14809         * modules/unistd (Makefile.am): Substitute
14810         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
14811         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
14812         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
14813         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
14814         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
14815         * modules/sys_ioctl (Makefile.am): Substitute
14816         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
14817         * modules/socket (configure.ac): On native Windows, set
14818         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
14819         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
14820         Reported by Sam Steingold <sds@gnu.org>.
14821
14822 2009-08-10  Bruno Haible  <bruno@clisp.org>
14823
14824         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
14825         * modules/ioctl (configure.ac): Likewise.
14826
14827 2009-08-10  Bruno Haible  <bruno@clisp.org>
14828
14829         Avoid collision between gnulib wrapper and libintl wrapper.
14830         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
14831         already defined in intl/printf.c.
14832         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
14833         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
14834
14835 2009-08-09  Bruno Haible  <bruno@clisp.org>
14836
14837         Make <sys/select.h> really self-contained, also on Solaris 10.
14838         * lib/sys_select.in.h: Include <string.h>.
14839         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
14840         Solaris 10 problem.
14841         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
14842         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
14843         Reported by Jim Meyering.
14844
14845 2009-08-09  Bruno Haible  <bruno@clisp.org>
14846
14847         Avoid warnings from 'aclocal' that are due to a use of macro name
14848         AM_XGETTEXT_OPTION that is not defined in automake.
14849         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
14850         automake.
14851         * modules/error (configure.ac): Likewise.
14852         * modules/propername (configure.ac): Likewise.
14853         * modules/vasprintf (configure.ac): Likewise.
14854         * modules/verror (configure.ac): Likewise.
14855         * modules/xprintf (configure.ac): Likewise.
14856         * modules/xvasprintf (configure.ac): Likewise.
14857
14858 2009-08-08  Bruno Haible  <bruno@clisp.org>
14859
14860         Avoid compilation error in C++ mode.
14861         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
14862         Reported by Sam Steingold <sds@gnu.org>.
14863
14864 2009-08-08  Bruno Haible  <bruno@clisp.org>
14865
14866         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
14867         for the various Unix platforms.
14868         * doc/posix-headers/limits.texi: Update platforms list regarding
14869         HOST_NAME_MAX.
14870         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14871
14872 2009-08-07  Jim Meyering  <meyering@redhat.com>
14873
14874         selinux-at: fix typo in a comment
14875         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
14876         Spotted by Paolo Bonzini.
14877
14878         selinux-at: remove redundant m4 code, add documentation
14879         * modules/selinux-at (configure.ac): Remove redundant code.
14880         LIB_SELINUX is already set via the dependent module, selinux-h.
14881         (Include): Add quotes around selinux-at.h.
14882         * lib/selinux-at.h: Add documentation.
14883         Reported by Bruno Haible in
14884         http://marc.info/?l=gnulib-bug&m=124958988300749
14885
14886 2009-08-07  Bruno Haible  <bruno@clisp.org>
14887
14888         Avoid link error on MacOS X 10.3 and 10.4.
14889         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
14890         on non-ELF systems.
14891         * lib/argp-pv.c (argp_program_version): Likewise.
14892         Reported by Simon Josefsson.
14893
14894 2009-08-07  Simon Josefsson  <simon@josefsson.org>
14895
14896         * tests/test-version-etc.sh: Use $EXEEXT.
14897
14898 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
14899
14900         update-copyright: update documentation to point to maint.mk
14901         * build-aux/update-copyright: Here.
14902
14903 2009-08-06  Jim Meyering  <meyering@redhat.com>
14904
14905         maint.mk: support update-copyright-local
14906         * top/maint.mk (update-copyright-local): Define place-holder.
14907         (update-copyright): Depend on $(update-copyright-local).
14908
14909 2009-08-06  Jim Meyering  <meyering@redhat.com>
14910
14911         selinux-at: new module
14912         Initially written for coreutils, this module will soon be
14913         used by findutils, too.
14914         * MODULES.html.sh [Misc]: Add selinux-at.
14915         * lib/selinux-at.h: New file, from coreutils.
14916         * lib/selinux-at.c: Likewise.
14917         * modules/selinux-at: Likewise.
14918         (License): Change from LGPL to GPL, since it depends
14919         on the GPL'd openat module.
14920
14921         doc: update README
14922         * README: Remove references to cogito.
14923         Remove cvs-repo-updating instructions from 2007.
14924         Don't imply that CVS is better if you have limited disk space.
14925
14926 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
14927
14928         update-copyright: support C-style comments
14929         * build-aux/update-copyright: Implement and document.
14930         * tests/test-update-copyright.sh: Test.
14931
14932 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
14933
14934         update-copyright: support omitted "(C)"
14935         * build-aux/update-copyright: Implement and document.  Also,
14936         allow variable whitespace before "(C)".
14937         * tests/test-update-copyright.sh: Test.
14938
14939 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
14940
14941         update-copyright: don't trip on non-FSF copyright statements
14942         * build-aux/update-copyright: Fix so that the first correctly
14943         formatted FSF copyright statement is recognized no matter what
14944         appears before it.  Update documentation.
14945         * tests/test-update-copyright.sh: Test that.
14946
14947 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
14948
14949         update-copyright: clean up code a little
14950         * build-aux/update-copyright: Append "_re" to the name of any
14951         variable holding a regular expression.
14952         Replace "old" and "new" with "stmt" in variable names.
14953         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
14954         handled correctly.
14955         Format code more consistently.
14956
14957 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
14958
14959         update-copyright-tests: improve portability
14960         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
14961         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
14962
14963 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
14964
14965         update-copyright: support @copyright{} and &copy;
14966         * build-aux/update-copyright: Implement and document.
14967         * tests/test-update-copyright.sh: Test.
14968
14969 2009-08-04  Jim Meyering  <meyering@redhat.com>
14970
14971         update-copyright-tests: correctly test EOL=\r\n handling
14972         * tests/test-update-copyright.sh: Put \r at the end of some lines
14973         for the dos-eol tests.  Based on a patch by Joel E. Denny.
14974
14975         maint.mk: make update-copyright exclusion list more configurable
14976         * top/maint.mk (update-copyright): Default to excluding COPYING,
14977         but allow an override, in case someone does want to update that file.
14978
14979         maint.mk: don't update copyright date in COPYING
14980         * top/maint.mk (update-copyright): Exclude COPYING.
14981
14982         maint.mk: add a copyright-updating rule
14983         * top/maint.mk (update-copyright): New rule.
14984         Derived from coreutils/Makefile.am.
14985
14986         update-copyright: rename some variables
14987         * build-aux/update-copyright: Rename a few variables for clarity.
14988         Tweak syntax.  List Joel E. Denny as coauthor.
14989
14990 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
14991
14992         update-copyright: fix bug for 2-digit last year and add tests
14993         * build-aux/update-copyright: Fix bug.
14994         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
14995         specified.
14996         * modules/update-copyright-tests: New
14997         * tests/test-update-copyright.sh: New.
14998
14999 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15000
15001         update-copyright: handle leading tabs in line prefix
15002         * build-aux/update-copyright: Count leading tabs as 8 spaces
15003         when computing margin.  This helps with the formatting of
15004         ChangeLogs, for example.
15005         Fix documentation a little.
15006
15007 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15008
15009         update-copyright: support EOL=\r\n
15010         * build-aux/update-copyright: Implement that.
15011
15012 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15013
15014         update-copyright: automatically format copyright statements
15015         * build-aux/update-copyright: Implement that.
15016         Also, be a little more predictable and safer by always failing
15017         when the full copyright format is not perfectly recognized as an
15018         unbroken whole.  Discussed at
15019         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
15020         Rewrite documentation.
15021
15022 2009-08-03  Bruno Haible  <bruno@clisp.org>
15023
15024         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
15025
15026 2009-08-02  Bruno Haible  <bruno@clisp.org>
15027
15028         Tests for module 'uname'.
15029         * modules/uname-tests: New file.
15030         * tests/test-uname.c: New file.
15031
15032         New module 'uname'.
15033         * lib/uname.c: New file.
15034         * m4/uname.m4: New file.
15035         * modules/uname: New file.
15036         * doc/posix-functions/uname.texi: Mention the new module.
15037
15038 2009-08-02  Bruno Haible  <bruno@clisp.org>
15039
15040         Tests for module 'sys_utsname'.
15041         * modules/sys_utsname-tests: New file.
15042         * tests/test-sys_utsname.c: New file.
15043
15044         New module 'sys_utsname'.
15045         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
15046         * m4/sys_utsname_h.m4: New file.
15047         * modules/sys_utsname: New file.
15048         * doc/posix-headers/sys_utsname.texi: Mention the new module.
15049
15050 2009-08-02  Bruno Haible  <bruno@clisp.org>
15051
15052         Implicitly initialize the sockets library.
15053         * lib/gethostname.c: Include sockets.h.
15054         (rpl_gethostname): Invoke gl_sockets_startup.
15055         * lib/socket.c: Include sockets.h.
15056         (rpl_socket): Invoke gl_sockets_startup.
15057         * modules/gethostname (Depends-on): Add sockets.
15058         * modules/socket (Depends-on): Likewise.
15059         * tests/test-poll.c: Don't include sockets.h.
15060         (main): Don't invoke gl_sockets_startup.
15061         * tests/test-select.c: Don't include sockets.h.
15062         (main): Don't invoke gl_sockets_startup.
15063
15064 2009-08-02  Bruno Haible  <bruno@clisp.org>
15065
15066         Allow multiple calls to gl_sockets_startup.
15067         * lib/sockets.c (initialized_sockets_version): New variable.
15068         (gl_sockets_startup): Do nothing if already called for this or a higher
15069         version.
15070         (gl_sockets_cleanup): Reset initialized_sockets_version.
15071
15072 2009-08-03  Simon Josefsson  <simon@josefsson.org>
15073
15074         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
15075         different project/version.
15076
15077 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
15078             Bruno Haible  <bruno@clisp.org>
15079
15080         Tests for module 'pipe-filter-gi'.
15081         * modules/pipe-filter-gi-tests: New file.
15082         * tests/test-pipe-filter-gi1.sh: New file.
15083         * tests/test-pipe-filter-gi1.c: New file.
15084         * tests/test-pipe-filter-gi2.sh: New file.
15085         * tests/test-pipe-filter-gi2-main.c: New file.
15086         * tests/test-pipe-filter-gi2-child.c: New file.
15087
15088         New module 'pipe-filter-gi'.
15089         * lib/pipe-filter-gi.c: New file.
15090         * modules/pipe-filter-gi: New file.
15091
15092 2009-08-02  Bruno Haible  <bruno@clisp.org>
15093             Paolo Bonzini  <bonzini@gnu.org>
15094
15095         Tests for module 'pipe-filter-ii'.
15096         * modules/pipe-filter-ii-tests: New file.
15097         * tests/test-pipe-filter-ii1.sh: New file.
15098         * tests/test-pipe-filter-ii1.c: New file.
15099         * tests/test-pipe-filter-ii2.sh: New file.
15100         * tests/test-pipe-filter-ii2-main.c: New file.
15101         * tests/test-pipe-filter-ii2-child.c: New file.
15102
15103         New module 'pipe-filter-ii'.
15104         * lib/pipe-filter.h: New file.
15105         * lib/pipe-filter-ii.c: New file.
15106         * lib/pipe-filter-aux.h: New file.
15107         * modules/pipe-filter-ii: New file.
15108
15109 2009-08-02  Simon Josefsson  <simon@josefsson.org>
15110
15111         * lib/gc-libgcrypt.c: Change copyright to FSF.
15112         * lib/gc-gnulib.c: Likewise.
15113
15114 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
15115
15116         * lib/gethostname.c: Include limits.h.
15117
15118 2009-08-02  Simon Josefsson  <simon@josefsson.org>
15119             Bruno Haible  <bruno@clisp.org>
15120
15121         Ensure HOST_NAME_MAX as part of the gethostname module.
15122         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
15123         define also HOST_NAME_MAX.
15124         * tests/test-gethostname.c: Include <limits.h>.
15125         (main): Check also HOST_NAME_MAX.
15126         * doc/posix-headers/limits.texi: Document the mingw problem.
15127
15128 2009-08-02  Bruno Haible  <bruno@clisp.org>
15129
15130         * lib/gethostname.c (gethostname): Fix handling of large len argument.
15131         Add comments.
15132
15133 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15134
15135         * lib/gethostname.c: Add Windows wrapper.
15136         * m4/gethostname.m4: Look for gethostname in -lws2_32.
15137         * modules/gethostname: Depend on sys_socket & errno, for also
15138         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
15139         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
15140
15141 2009-07-31  Jim Meyering  <meyering@redhat.com>
15142
15143         getloadavg: fix symbol name in comment
15144         * lib/getloadavg.c: Correct a typo I introduced when adding
15145         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
15146         Matt Kraai spotted the problem.
15147
15148 2009-07-29  Matt Kraai  <mkraai@beckman.com>
15149
15150         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
15151         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
15152         code also if ! defined N_NAME_POINTER.
15153         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
15154         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
15155         but the n_name member is a 12-byte array.
15156
15157 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
15158
15159         update-copyright: generalize comment handling
15160         * build-aux/update-copyright: Handle copyright statements
15161         within more comment styles.
15162         Document usage.
15163         Report any file with an external copyright holder or parse failure.
15164
15165 2009-07-29  Jim Meyering  <meyering@redhat.com>
15166
15167         mktime: correct setting of REPLACE_MKTIME
15168         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
15169
15170         update-copyright: new module
15171         * modules/update-copyright: New file.
15172         * build-aux/update-copyright: New file.
15173         * MODULES.html.sh (maint+release support): Add update-copyright.
15174
15175 2009-07-27  Bruno Haible  <bruno@clisp.org>
15176
15177         Fix compilation error when <ctime> is used and mktime is replaced.
15178         * lib/time.in.h (mktime): New declaration.
15179         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
15180         REPLACE_MKTIME instead of defining mktime in config.h.
15181         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
15182         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
15183         Reported by Ross McFarland <rwmcfa1@neces.com>.
15184
15185 2009-07-27  Bruno Haible  <bruno@clisp.org>
15186
15187         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
15188         Reported by Matt Kraai <mkraai@beckman.com>.
15189
15190 2009-07-25  Jim Meyering  <meyering@redhat.com>
15191
15192         maint.mk: avoid warnings about missing files
15193         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
15194         diagnostic when .prev-version does not exist.
15195         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
15196         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
15197         nonexistent cfg.mk.
15198         Suggestions from Simon Josefsson.
15199
15200 2009-07-25  Bruno Haible  <bruno@clisp.org>
15201
15202         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
15203         defined as macros. Needed on QNX 6.4.1.
15204         Reported by Matt Kraai <mkraai@beckman.com>.
15205
15206 2009-07-23  Jim Meyering  <meyering@redhat.com>
15207
15208         maint.mk: invoke "make dist" with a working value of XZ_OPT
15209         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
15210
15211 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
15212
15213         Make fseeko.c compile on QNX.
15214         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
15215
15216 2009-07-22  Peter Simons  <simons@cryp.to>
15217
15218         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
15219         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
15220         * lib/md4.h: Likewise.
15221         * lib/md5.h: Likewise.
15222         * lib/sha1.h: Likewise.
15223         * lib/sha256.h: Likewise.
15224         * lib/sha512.h: Likewise.
15225
15226         tests-sha1: don't assign literal string to 'char *' variable
15227         * tests/test-sha1.c (main): Declare locals with "const" to match
15228         attributes of the right hand side.
15229
15230 2009-07-21  Eric Blake  <ebb9@byu.net>
15231
15232         dup2: fix more mingw problems
15233         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
15234         fd to itself.
15235         * doc/posix-functions/dup2.texi (dup2): Document the bug.
15236         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
15237         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
15238         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
15239         care of mingw bugs.
15240
15241 2009-07-21  Jim Meyering  <meyering@redhat.com>
15242
15243         vc-list-files: avoid failure when /bin/sh is dash
15244         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
15245         On some Debian based systems, /bin/sh is a symlink to dash, and running
15246         this command would omit the "/" following each 'tests' prefix:
15247           dash -x build-aux/vc-list-files -C . tests
15248         That is because bash and dash work differently:
15249           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
15250           bash ok
15251           dash odd
15252
15253 2009-07-21  Eric Blake  <ebb9@byu.net>
15254
15255         dup2-tests: test previous patch
15256         * modules/dup2-tests: New file.
15257         * tests/test-dup2.c: Likewise.
15258         * tests/test-open.c (main): Avoid unspecified behavior.
15259         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
15260         test.
15261
15262         dup2: work around mingw and cygwin 1.5 bug
15263         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
15264         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
15265         * modules/unistd (Makefile.am): Substitute it.
15266         * lib/unistd.in.h (dup2): Declare the replacement.
15267         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
15268         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
15269         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
15270         * modules/execute (Depends-on): Add dup2.
15271         * modules/fseterr (Depends-on): Likewise.
15272         * modules/pipe (Depends-on): Likewise.
15273         * modules/posix_spawn-internal (Depends-on): Likewise.
15274
15275 2009-07-21  Bruno Haible  <bruno@clisp.org>
15276
15277         * modules/.gitattributes: New file.
15278
15279 2009-07-20  Bruno Haible  <bruno@clisp.org>
15280
15281         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
15282         (main): Use it.
15283
15284 2009-07-20  Eric Blake  <ebb9@byu.net>
15285
15286         test-pipe: make a bit more robust.
15287         * tests/test-pipe.c (myerr): Allow error messages regardless of
15288         what we do to stderr.
15289         (test_pipe): Rearrange to avoid deadlock.
15290         (child_main): Try a larger read, to ensure we avoided deadlock.
15291         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
15292         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
15293         if misused.
15294
15295 2009-07-19  Jim Meyering  <meyering@redhat.com>
15296
15297         fts: avoid false-positive cycle-detection
15298         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
15299         for each new command line argument.
15300
15301 2009-07-19  Bruno Haible  <bruno@clisp.org>
15302
15303         Fix build error on mingw with the modules sys_select and unistd.
15304         * modules/acl-tests (Depends-on): Add close.
15305         * modules/binary-io-tests (Depends-on): Likewise.
15306         * modules/closein-tests (Depends-on): Likewise.
15307         * modules/flock-tests (Depends-on): Likewise.
15308         * modules/fsync-tests (Depends-on): Likewise.
15309         * modules/lseek-tests (Depends-on): Likewise.
15310         * modules/pipe-tests (Depends-on): Likewise.
15311         * modules/posix_spawn-tests (Depends-on): Likewise.
15312         * modules/posix_spawnp-tests (Depends-on): Likewise.
15313         * modules/stat-time-tests (Depends-on): Likewise.
15314         * modules/yesno-tests (Depends-on): Likewise.
15315
15316 2009-07-19  Bruno Haible  <bruno@clisp.org>
15317
15318         Unify conditionals.
15319         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
15320         macros, not at the compiler macros.
15321         * lib/pipe.c: Likewise.
15322         * lib/execute.c: Likewise.
15323         * lib/spawni.c: Likewise.
15324
15325 2009-07-19  Bruno Haible  <bruno@clisp.org>
15326
15327         Fix handling of closed stdin/stdout/stderr on mingw.
15328         * lib/w32spawn.h: Include unistd.h.
15329         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
15330         file descriptor with O_NOINHERIT flag.
15331         (fd_safer_noinherit): New function, based on fd-safer.c.
15332         (dup_safer_noinherit): New function, based on dup-safer.c.
15333         (undup_safer_noinherit): New function.
15334         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
15335         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
15336         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
15337         instead of fd_safer.
15338         * tests/test-pipe.c: Include <windows.h>.
15339         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
15340
15341         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
15342         from main.
15343         (test_pipe): Pass an extra argument for disambiguation.
15344         (main): Invoke parent_main or child_main.
15345
15346         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
15347         consistently.
15348
15349 2009-07-18  Eric Blake  <ebb9@byu.net>
15350
15351         test-pipe: fix mingw build
15352         * tests/test-pipe.c (main): Avoid fcntl on mingw.
15353
15354 2009-07-18  Bruno Haible  <bruno@clisp.org>
15355
15356         * modules/pipe-tests (Makefile.am): Fix typo.
15357
15358 2009-07-18  Eric Blake  <ebb9@byu.net>
15359
15360         error: fix mingw build
15361         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
15362         Reported by Bruno Haible.
15363
15364         error: avoid undefined use of stdout
15365         * lib/error.c (error, error_at_line): Check that fd 1 is open
15366         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
15367         is handling faults and the close_stdout module wants to report the
15368         detection of closed stdout as an error.
15369
15370 2009-07-17  Eric Blake  <ebb9@byu.net>
15371
15372         pipe: be robust in face of closed fds
15373         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
15374         should cause child to misbehave.
15375         * modules/pipe-tests: New module.
15376         * tests/test-pipe.c: New file.
15377         * tests/test-pipe.sh: New file.
15378         Reported by Akim Demaille.
15379
15380 2009-07-14  Bruno Haible  <bruno@clisp.org>
15381
15382         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
15383         Reported by anonymous kc.
15384
15385 2009-07-07  Jim Meyering  <meyering@redhat.com>
15386
15387         maint.mk: don't look for translatable strings in *.m4 or *.mk
15388         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
15389         when searching for translatable strings.
15390
15391 2009-07-05  Jim Meyering  <meyering@redhat.com>
15392
15393         remove superfluous parentheses in STREQ definition
15394         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
15395         * lib/getugroups.c (STREQ): Likewise.
15396         * lib/fnmatch.c (STREQ): Likewise.
15397         Spotted by Bruno Haible.
15398
15399 2009-07-04  Jim Meyering  <meyering@redhat.com>
15400
15401         argv-iter: new module
15402         * MODULES.html.sh: Add argv-iter.
15403         * lib/argv-iter.c, lib/argv-iter.h: New files.
15404         * modules/argv-iter: New file.
15405         * modules/argv-iter-tests: New file.
15406         * tests/test-argv-iter.c: Test it.
15407
15408 2009-07-04  Bruno Haible  <bruno@clisp.org>
15409
15410         Fix assertion.
15411         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
15412         contains more exact copies of a given entry than file2, leave the extra
15413         copies unpaired rather than aborting.
15414         Reported by Eric Blake.
15415
15416 2009-07-02  Bruno Haible  <bruno@clisp.org>
15417
15418         Speedup git-merge-changelog for git cherry-pick.
15419         * lib/git-merge-changelog.c (struct entries_mapping): New type.
15420         (entries_mapping_get): New function, extracted from compute_mapping.
15421         (entries_mapping_reverse_get): New function.
15422         (compute_mapping): Add a 'full' argument. Return the result in a
15423         'struct entries_mapping'.
15424         (main): Update. Access the mappings through entries_mapping_get.
15425         Reported by Eric Blake.
15426
15427 2009-07-02  Bruno Haible  <bruno@clisp.org>
15428
15429         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
15430         best_i.
15431
15432 2009-07-02  Bruno Haible  <bruno@clisp.org>
15433
15434         Speed up approximate search for matching ChangeLog entries.
15435         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
15436         argument. Call fstrcmp_bounded instead of fstrcmp.
15437         (compute_mapping, try_split_merged_entry, main): Update callers.
15438
15439 2009-07-02  Bruno Haible  <bruno@clisp.org>
15440
15441         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
15442
15443 2009-06-30  Bruno Haible  <bruno@clisp.org>
15444
15445         Reduce the number of uc_is_cased calls.
15446         * lib/unicase.h (casing_suffix_context_t): Add
15447         'first_char_except_ignorable' field.
15448         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
15449         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
15450         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
15451         Update initializer.
15452         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
15453         case-ignorable characters.
15454         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
15455         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
15456         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
15457         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
15458         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
15459
15460 2009-06-30  Bruno Haible  <bruno@clisp.org>
15461
15462         Tests for module 'unicase/ignorable'.
15463         * modules/unicase/ignorable-tests: New file.
15464         * tests/unicase/test-ignorable.c: New file, generated by
15465         gen-uni-tables.
15466
15467         Tests for module 'unicase/cased'.
15468         * modules/unicase/cased-tests: New file.
15469         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
15470         * tests/unicase/test-predicate-part1.h: New file, derived from
15471         tests/unictype/test-predicate-part1.h.
15472         * tests/unicase/test-predicate-part2.h: New file, same as
15473         tests/unictype/test-predicate-part2.h.
15474
15475         Fix evaluation of "Before C" condition of FINAL_SIGMA.
15476         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
15477         (output_casing_properties): New function.
15478         (main): Call it.
15479         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
15480         * lib/unicase/cased.c: Include unictype/bitmap.h.
15481         (uc_is_cased): Define through a bitmap lookup.
15482         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
15483         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
15484         (uc_is_case_ignorable): Define through a bitmap lookup.
15485         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
15486         lib/unictype/bitmap.h.
15487         (Depends-on): Add inline. Clean up.
15488         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
15489         lib/unictype/bitmap.h.
15490         (Depends-on): Add inline. Clean up.
15491         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
15492         recognition.
15493         * tests/unicase/test-u16-tolower.c (main): Likewise.
15494         * tests/unicase/test-u32-tolower.c (main): Likewise.
15495
15496 2009-06-30  Bruno Haible  <bruno@clisp.org>
15497
15498         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
15499         * lib/unicase/u16-casemap.c: Likewise.
15500         * lib/unicase/u32-casemap.c: Likewise.
15501
15502 2009-06-29  Bruno Haible  <bruno@clisp.org>
15503
15504         Define u32_casefold as a wrapper around u32_ct_casefold.
15505         * lib/unicase/u32-casefold.c: Update.
15506         * modules/unicase/u32-casefold (Depends-on): Add
15507         unicase/u32-ct-casefold, unicase/empty-prefix-context,
15508         unicase/empty-suffix-context. Clean up.
15509
15510         Define u16_casefold as a wrapper around u16_ct_casefold.
15511         * lib/unicase/u16-casefold.c: Update.
15512         * modules/unicase/u16-casefold (Depends-on): Add
15513         unicase/u16-ct-casefold, unicase/empty-prefix-context,
15514         unicase/empty-suffix-context. Clean up.
15515
15516         Define u8_casefold as a wrapper around u8_ct_casefold.
15517         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
15518         * lib/unicase/u8-casefold.c: Update.
15519         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
15520         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
15521
15522         Define u32_totitle as a wrapper around u32_ct_totitle.
15523         * lib/unicase/u32-totitle.c: Update.
15524         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
15525         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
15526
15527         Define u16_totitle as a wrapper around u16_ct_totitle.
15528         * lib/unicase/u16-totitle.c: Update.
15529         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
15530         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
15531
15532         Define u8_totitle as a wrapper around u8_ct_totitle.
15533         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
15534         functions.
15535         (FUNC): Delegate to U_CT_TOTITLE.
15536         * lib/unicase/u8-totitle.c: Update.
15537         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
15538         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
15539
15540         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
15541         invocation.
15542         * modules/unicase/u32-tolower (Depends-on): Add
15543         unicase/empty-prefix-context, unicase/empty-suffix-context.
15544
15545         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
15546         invocation.
15547         * modules/unicase/u16-tolower (Depends-on): Add
15548         unicase/empty-prefix-context, unicase/empty-suffix-context.
15549
15550         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
15551         * modules/unicase/u8-tolower (Depends-on): Add
15552         unicase/empty-prefix-context, unicase/empty-suffix-context.
15553
15554         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
15555         invocation.
15556         * modules/unicase/u32-toupper (Depends-on): Add
15557         unicase/empty-prefix-context, unicase/empty-suffix-context.
15558
15559         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
15560         invocation.
15561         * modules/unicase/u16-toupper (Depends-on): Add
15562         unicase/empty-prefix-context, unicase/empty-suffix-context.
15563
15564         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
15565         * modules/unicase/u8-toupper (Depends-on): Add
15566         unicase/empty-prefix-context, unicase/empty-suffix-context.
15567
15568         New module 'unicase/u32-ct-casefold'.
15569         * lib/unicase/u32-ct-casefold.c: New file.
15570         * modules/unicase/u32-ct-casefold: New file.
15571
15572         New module 'unicase/u16-ct-casefold'.
15573         * lib/unicase/u16-ct-casefold.c: New file.
15574         * modules/unicase/u16-ct-casefold: New file.
15575
15576         New module 'unicase/u8-ct-casefold'.
15577         * lib/unicase/u8-ct-casefold.c: New file.
15578         * lib/unicase/u-ct-casefold.h: New file, derived from
15579         lib/unicase/u-casefold.h.
15580         * modules/unicase/u8-ct-casefold: New file.
15581
15582         New module 'unicase/u32-ct-totitle'.
15583         * lib/unicase/u32-ct-totitle.c: New file.
15584         * modules/unicase/u32-ct-totitle: New file.
15585
15586         New module 'unicase/u16-ct-totitle'.
15587         * lib/unicase/u16-ct-totitle.c: New file.
15588         * modules/unicase/u16-ct-totitle: New file.
15589
15590         New module 'unicase/u8-ct-totitle'.
15591         * lib/unicase/u8-ct-totitle.c: New file.
15592         * lib/unicase/u-ct-totitle.h: New file, derived from
15593         lib/unicase/u-totitle.h.
15594         * modules/unicase/u8-ct-totitle: New file.
15595
15596         New module 'unicase/u32-ct-tolower'.
15597         * lib/unicase/u32-ct-tolower.c: New file.
15598         * modules/unicase/u32-ct-tolower: New file.
15599
15600         New module 'unicase/u16-ct-tolower'.
15601         * lib/unicase/u16-ct-tolower.c: New file.
15602         * modules/unicase/u16-ct-tolower: New file.
15603
15604         New module 'unicase/u8-ct-tolower'.
15605         * lib/unicase/u8-ct-tolower.c: New file.
15606         * modules/unicase/u8-ct-tolower: New file.
15607
15608         New module 'unicase/u32-ct-toupper'.
15609         * lib/unicase/u32-ct-toupper.c: New file.
15610         * modules/unicase/u32-ct-toupper: New file.
15611
15612         New module 'unicase/u16-ct-toupper'.
15613         * lib/unicase/u16-ct-toupper.c: New file.
15614         * modules/unicase/u16-ct-toupper: New file.
15615
15616         New module 'unicase/u8-ct-toupper'.
15617         * lib/unicase/u8-ct-toupper.c: New file.
15618         * modules/unicase/u8-ct-toupper: New file.
15619
15620         Add context arguments to u*_casemap functions.
15621         * lib/unicase/unicasemap.h: Include unicase.h.
15622         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
15623         suffix_context arguments.
15624         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
15625         functions.
15626         (FUNC): Add prefix_context and suffix_context arguments. Use
15627         uc_is_cased and uc_is_case_ignorable.
15628         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
15629         * lib/unicase/u16-casemap.c: Likewise.
15630         * lib/unicase/u32-casemap.c: Likewise.
15631         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
15632         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
15633         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
15634         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
15635         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
15636         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
15637
15638         New module 'unicase/u32-suffix-context'.
15639         * lib/unicase/u32-suffix-context.c: New file.
15640         * modules/unicase/u32-suffix-context: New file.
15641
15642         New module 'unicase/u16-suffix-context'.
15643         * lib/unicase/u16-suffix-context.c: New file.
15644         * modules/unicase/u16-suffix-context: New file.
15645
15646         New module 'unicase/u8-suffix-context'.
15647         * lib/unicase/u8-suffix-context.c: New file.
15648         * lib/unicase/u-suffix-context.h: New file.
15649         * modules/unicase/u8-suffix-context: New file.
15650
15651         New module 'unicase/empty-suffix-context'.
15652         * lib/unicase/empty-suffix-context.c: New file.
15653         * modules/unicase/empty-suffix-context: New file.
15654
15655         New module 'unicase/u32-prefix-context'.
15656         * lib/unicase/u32-prefix-context.c: New file.
15657         * modules/unicase/u32-prefix-context: New file.
15658
15659         New module 'unicase/u16-prefix-context'.
15660         * lib/unicase/u16-prefix-context.c: New file.
15661         * modules/unicase/u16-prefix-context: New file.
15662
15663         New module 'unicase/u8-prefix-context'.
15664         * lib/unicase/u8-prefix-context.c: New file.
15665         * lib/unicase/u-prefix-context.h: New file.
15666         * lib/unicase/context.h: New file.
15667         * modules/unicase/u8-prefix-context: New file.
15668
15669         New module 'unicase/empty-prefix-context'.
15670         * lib/unicase/empty-prefix-context.c: New file.
15671         * modules/unicase/empty-prefix-context: New file.
15672
15673         New module 'unicase/ignorable'.
15674         * lib/unicase/ignorable.c: New file.
15675         * modules/unicase/ignorable: New file.
15676
15677         New module 'unicase/cased'.
15678         * lib/unicase/caseprop.h: New file.
15679         * lib/unicase/cased.c: New file.
15680         * modules/unicase/cased: New file.
15681
15682         New functions for case mapping of substrings.
15683         * lib/unicase.h (casing_prefix_context_t): New type.
15684         (unicase_empty_prefix_context): New variable.
15685         (u8_casing_prefix_context, u16_casing_prefix_context,
15686         u32_casing_prefix_context, u8_casing_prefixes_context,
15687         u16_casing_prefixes_context, u32_casing_prefixes_context): New
15688         declarations.
15689         (casing_suffix_context_t): New type.
15690         (unicase_empty_suffix_context): New variable.
15691         (u8_casing_suffix_context, u16_casing_suffix_context,
15692         u32_casing_suffix_context, u8_casing_suffixes_context,
15693         u16_casing_suffixes_context, u32_casing_suffixes_context,
15694         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
15695         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
15696         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
15697         declarations.
15698
15699 2009-06-28  Jim Meyering  <meyering@redhat.com>
15700
15701         boostrap: indent only with spaces
15702         * build-aux/bootstrap: Indent only with spaces, never TABs.
15703
15704         bootstrap: split long lines
15705         * build-aux/bootstrap: Keep line length < 80.
15706
15707         bootstrap: sync from coreutils
15708         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
15709         just as autoreconf does.  Verify a list of prerequisite
15710         package-name,version-number pairs if defined in bootstrap.conf.
15711         Refer to README-prereq, if prerequisites are not satisfied.
15712
15713 2009-06-27  Eric Blake  <ebb9@byu.net>
15714
15715         tests: add test for bogus NULL definition
15716         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
15717         * tests/test-stdlib.c: Likewise.
15718         * tests/test-string.c: Likewise.
15719         * tests/test-locale.c: Likewise.
15720         * tests/test-unistd.c: Likewise.
15721         * modules/stdio-tests (Depends-on): Add verify.
15722         * modules/stdlib-tests (Depends-on): Likewise.
15723         * modules/string-tests (Depends-on): Likewise.
15724         * modules/locale-tests (Depends-on): Likewise.
15725         * modules/unistd-tests (Depends-on): Likewise.
15726
15727 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
15728
15729         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
15730         self-explaining comment.
15731         * m4/selinux-selinux-h: Update serial.
15732         (gl_LIBSELINUX): New macro, adding a warning for missing development
15733         packages to code extracted from...
15734         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
15735         Add warning for missing development packages here, too.
15736
15737 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
15738
15739         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
15740
15741 2009-06-25  Eric Blake  <ebb9@byu.net>
15742
15743         version-etc: fix regression
15744         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
15745         gcc.
15746         (version_etc): Use it, to catch bugs with trailing NULL.
15747         * lib/version-etc.c (version_etc_arn): Delete unused argument.
15748         (version_etc_va): Fix logic bug.
15749         * modules/version-etc-tests: Add test.
15750         * tests/test-version-etc.c: New file.
15751         * tests/test-version-etc.sh: Likewise.
15752
15753 2009-06-25  Sam Steingold  <sds@gnu.org>
15754
15755         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
15756         mbtowc declaration.
15757
15758 2009-06-25  Eric Blake  <ebb9@byu.net>
15759
15760         fpurge: migrate into <stdio.h>
15761         * lib/fpurge.h: Delete...
15762         * lib/stdio.in.h (fpurge): ...and declare here, instead.
15763         * lib/fpurge.c (fpurge): Change declaring header.
15764         * modules/fpurge (Files): Drop deleted file.
15765         (Depends-on): Add stdio.
15766         (configure.ac): Set witness.
15767         * modules/stdio (Makefile.am): Support fpurge macros.
15768         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
15769         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
15770         * lib/fflush.c: Update client.
15771         * tests/test-fpurge.c: Likewise.
15772         * NEWS: Mention the change.
15773
15774 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
15775
15776         * lib/argp-version-etc.c (program_authors): Add const
15777         qualifier.
15778         * lib/version-etc.c: Fix typos in the comments.
15779         * modules/argp-version-etc: Depends on version-etc.
15780
15781 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
15782
15783         argp-version-etc: new module.
15784
15785         * lib/argp-version-etc.c: New file.
15786         * lib/argp-version-etc.h: New file.
15787         * modules/argp-version-etc: New file.
15788         * modules/argp-version-etc-tests: New file.
15789         * tests/test-argp-version-etc.c: New test.
15790         * tests/test-argp-version-etc-1.sh: New test.
15791
15792 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
15793
15794         Provide additional interfaces and documentation for version-etc
15795         module.
15796
15797         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
15798         interfaces.
15799         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
15800         prototypes.
15801
15802 2009-06-24  Bruno Haible  <bruno@clisp.org>
15803
15804         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
15805         HAVE_LIB${NAME} macro.
15806         Reported by Sam Steingold <sds@gnu.org>.
15807
15808 2009-06-23  Simon Josefsson  <simon@josefsson.org>
15809
15810         * modules/hash-tests (test_hash_LDADD): Link to libintl when
15811         needed.
15812
15813 2009-06-21  Bruno Haible  <bruno@clisp.org>
15814
15815         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
15816         work.
15817         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
15818         together with LIB${NAME}, LTLIB${NAME}.
15819         Reported by Sam Steingold <sds@gnu.org>.
15820
15821 2009-06-20  Jim Meyering  <meyering@redhat.com>
15822
15823         tests: make sc_require_test_exit_idiom more generic
15824         * top/maint.mk (Exit_witness_file): New overridable variable.
15825         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
15826         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
15827
15828 2009-06-19  Jim Meyering  <meyering@redhat.com>
15829
15830         hash: reverse order of src/dst parameters in an internal interface
15831         * lib/hash.c (transfer_entries): Reverse order of parameters to
15832         put DST before SRC.  Adjust callers.
15833
15834         tests: test-hash: avoid wholesale duplication
15835         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
15836         Instead, use a loop and add a single conditional.
15837
15838         tests: test-hash: allow seed selection via a command line argument
15839         * tests/test-hash.c (get_seed): New function.
15840         (main): Use it.
15841
15842 2009-06-19  Eric Blake  <ebb9@byu.net>
15843
15844         hash: avoid memory leak on allocation failure
15845         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
15846         failure.  Factor repeated algorithm...
15847         (transfer_entries): ...into new helper routine.
15848         (hash_delete): React to hash_rehash return value.
15849
15850         hash: reduce memory pressure in hash_rehash no-op case
15851         * lib/hash.c (next_prime): Avoid overflow.
15852         (hash_initialize): Factor bucket size computation...
15853         (compute_bucket_size): ...into new helper function.
15854         (hash_rehash): Use new function and open coding to reduce memory
15855         pressure, and avoid a memory leak in USE_OBSTACK code.
15856         Reported by Jim Meyering.
15857
15858 2009-06-18  Eric Blake  <ebb9@byu.net>
15859
15860         hash: make rotation more obvious
15861         * modules/hash (Depends-on): Add bitrotate and stdint.
15862         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
15863         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
15864         (SIZE_MAX): Rely on headers for definition.
15865         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
15866         (raw_hasher): Use rotr_sz.
15867         Suggested by Jim Meyering.
15868
15869         hash: fix memory leak in last patch
15870         * lib/hash.c (hash_rehash): Avoid memory leak.
15871
15872         hash: avoid no-op rehashing
15873         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
15874
15875         hash: provide default callback functions
15876         * lib/hash.c (raw_hasher, raw_comparator): New functions.
15877         (hash_initialize): Use them as defaults.
15878         * tests/test-hash.c (main): Test this.
15879
15880         hash: minor optimization
15881         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
15882         when possible.
15883         (hash_initialize): Document this promise.
15884         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
15885         * tests/test-hash.c (hash_compare_strings): Test this.
15886
15887 2009-06-18  Bruno Haible  <bruno@clisp.org>
15888
15889         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
15890         going to be replaced anyway.
15891
15892 2009-06-18  Bruno Haible  <bruno@clisp.org>
15893
15894         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
15895         in one place.
15896         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
15897         be replaced anyway.
15898
15899 2009-06-18  Eric Blake  <ebb9@byu.net>
15900
15901         hash: check for resize before insertion
15902         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
15903         threshold before insertion, so that a pathological hash_rehash
15904         that fills every bucket can still trigger another rehash.
15905
15906 2009-06-18  Jim Meyering  <meyering@redhat.com>
15907
15908         hash-tests: add a loop around the small tests
15909         * tests/test-hash.c (main): Repeat small tests with selected
15910         small initial table sizes.
15911
15912 2009-06-17  Eric Blake  <ebb9@byu.net>
15913
15914         hash: minor cleanups
15915         * lib/hash.h (hash_entry): Make opaque, by moving...
15916         * lib/hash.c (hash_entry): ...here.
15917         (hash_insert): Clarify restrictions on what can be inserted.
15918         (hash_get_next): Clarify when it is safe to remove an element
15919         during traversal.
15920         (check_tuning): Skip verification when tuning is known safe.
15921         (hash_initialize): Clarify restrictions on tuning.
15922
15923 2009-06-17  Jim Meyering  <jim@meyering.net>
15924         and Eric Blake  <ebb9@byu.net>
15925
15926         hash-tests: new module
15927         * modules/hash-tests: New file.
15928         * tests/test-hash.c: New file.
15929
15930 2009-06-17  Eric Blake  <ebb9@byu.net>
15931
15932         strstr-simple: document new module
15933         * MODULES.html.sh: Document new module.
15934
15935         strstr, strcasestr: replace on platforms with broken memchr
15936         * modules/strstr: Split into...
15937         * modules/strstr-simple: ...new module that does not care about
15938         performance, but does care about glibc bug.
15939         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
15940         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
15941         if platform memchr is broken, per Debian bug 521737.
15942         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
15943         memchr.
15944         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
15945         * doc/posix-functions/strstr.texi (strstr): Document the fix.
15946         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
15947         * modules/mountlist (Depends-on): Add strstr-simple.
15948         * modules/gen-uni-tables (Depends-on): Likewise.
15949         * modules/argz (Depends-on): Add strstr.
15950
15951 2009-06-17  Bruno Haible  <bruno@clisp.org>
15952
15953         * modules/posix_spawn-internal (Depends-on): Add errno.
15954
15955 2009-06-17  Bruno Haible  <bruno@clisp.org>
15956
15957         Define missing ESTALE on Interix 3.5.
15958         * lib/errno.in.h (ESTALE): Assign a value if missing.
15959         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
15960         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
15961         missing.
15962         * doc/posix-headers/errno.texi: Mention the Interix bug.
15963         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
15964
15965 2009-06-15  Eric Blake  <ebb9@byu.net>
15966
15967         memchr, memchr2: add valgrind exception
15968         * lib/memchr.valgrind: New file.
15969         * lib/memchr2.valgrind: New file.
15970         * modules/memchr (Files): Distribute valgrind file.
15971         * modules/memchr2 (Files): Likewise.
15972
15973         docs: memchr is no longer obsolete
15974         * MODULES.html.sh: Move memchr from obsolete to string.h section.
15975         * lib/string.in.h (memchr): Simplify logic.
15976
15977 2009-06-14  Jim Meyering  <meyering@redhat.com>
15978
15979         link-follow: fix the "checking..." message to not mention trailing slash
15980         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
15981         never considered trailing slashes.
15982
15983 2009-06-14  Bruno Haible  <bruno@clisp.org>
15984
15985         * m4/memchr.m4: Mention also the bug on IA-64.
15986         * doc/posix-functions/memchr.texi: Likewise.
15987
15988 2009-06-12  Eric Blake  <ebb9@byu.net>
15989
15990         memchr: detect broken x86_64 and alpha implementations
15991         * modules/memchr-tests (Depends-on): Move mmap detection...
15992         * modules/memchr (Depends-on): ...here.
15993         (configure.ac): Set indicator.
15994         * lib/string.in.h (memchr): Declare replacement.
15995         * modules/string (Makefile.am): Trigger replacement.
15996         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
15997         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
15998         bugs.
15999         * doc/posix-functions/memchr.texi (memchr): Document the bug.
16000         * modules/getpagesize (License): Relax license.
16001
16002 2009-06-11  Bruno Haible  <bruno@clisp.org>
16003
16004         * lib/idpriv.h: Add more references.
16005
16006 2009-06-08  Bruno Haible  <bruno@clisp.org>
16007
16008         Tests for module 'idpriv-droptemp'.
16009         * modules/idpriv-droptemp-tests: New file.
16010         * tests/test-idpriv-droptemp.sh: New file.
16011         * tests/test-idpriv-droptemp.su.sh: New file.
16012         * tests/test-idpriv-droptemp.c: New file.
16013
16014         New module 'idpriv-droptemp'.
16015         * lib/idpriv-droptemp.c: New file.
16016         * modules/idpriv-droptemp: New file.
16017
16018 2009-06-08  Bruno Haible  <bruno@clisp.org>
16019
16020         Tests for module 'idpriv-drop'.
16021         * modules/idpriv-drop-tests: New file.
16022         * tests/test-idpriv-drop.sh: New file.
16023         * tests/test-idpriv-drop.su.sh: New file.
16024         * tests/test-idpriv-drop.c: New file.
16025
16026         New module 'idpriv-drop'.
16027         * lib/idpriv.h: New file.
16028         * lib-idpriv-drop.c: New file.
16029         * m4/idpriv.m4: New file.
16030         * modules/idpriv-drop: New file.
16031
16032 2009-06-08  Bruno Haible  <bruno@clisp.org>
16033
16034         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
16035         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16036         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16037         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16038         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16039         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16040         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16041
16042 2009-06-08  Eric Blake  <ebb9@byu.net>
16043
16044         test-strstr: use memory fence, when possible
16045         * tests/test-strstr.c (main): Use memory fence, in order to be
16046         more likely to trigger Debian bug 521737.
16047         * modules/strstr-tests (Files): Pull in additional files.
16048
16049         memchr: no longer obsolete, for wider field testing
16050         * modules/memchr (Status, Notice): Delete, this module is no
16051         longer obsolete.
16052         * modules/vasnprintf (Depends-on): Add memchr.
16053
16054 2009-06-07  Jim Meyering  <meyering@redhat.com>
16055
16056         hash: declare some functions with the warn_unused_result attribute
16057         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
16058
16059 2009-06-07  Bruno Haible  <bruno@clisp.org>
16060
16061         * tests/test-alignof.c: Don't test int64_t if it does not exist.
16062         Reported by Eric Blake.
16063
16064 2009-06-06  Eric Blake  <ebb9@byu.net>
16065
16066         test-alignof: fix typo with long double
16067         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
16068         compiler error.
16069
16070 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
16071
16072         Escape non-texinfo { and }s.
16073         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
16074         markup error.
16075
16076 2009-06-04  Jim Meyering  <meyering@redhat.com>
16077
16078         gitlog-to-changelog: don't infloop on an empty commit log
16079         * build-aux/gitlog-to-changelog: Warn about an empty log message.
16080         Reported by Boris Petersen <transacid@centerim.org>.
16081
16082 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
16083
16084         version-etc: extend for packagers
16085         Add three new configure options, intended for packagers:
16086           --with-packager="packager name"
16087           --with-packager-version="packager-specific version"
16088           --with-packager-bug-reports="packager bug reporting"
16089         An example with coreutils:
16090           $ ./configure \
16091             --with-packager=Gentoo \
16092             --with-packager-bug-report=http://bugs.gentoo.org/ \
16093             --with-packager-version="patchset 1.6"
16094           $ ./src/ls --version | head -n2
16095           ls (GNU coreutils) 7.1-dirty
16096           Packaged by Gentoo (patchset 1.6)
16097         Note that the bug reporting info via --help doesn't show up because
16098         coreutils uses its own custom emit_bug_reporting_address() implementation
16099         in src/system.h.  If it didn't, it'd look like:
16100           $ ./src/ls --help | tail -n4
16101           Report bugs to <bug-coreutils@gnu.org>.
16102           Report Gentoo bugs to <http://bugs.gentoo.org/>.
16103           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
16104           General help using GNU software: <http://www.gnu.org/gethelp/>.
16105         * lib/version-etc.c: Print new information, if provided.
16106         * m4/version-etc.m4: New file.
16107         * modules/version-etc (Files): Add m4/version-etc.m4.
16108         (configure.ac): Add gl_VERSION_ETC.
16109
16110 2009-05-31  Bruno Haible  <bruno@clisp.org>
16111
16112         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
16113         and 'int64_t'.
16114         * modules/alignof-tests (Dependencies): Add stdint.
16115         Reported by Eric Blake.
16116
16117 2009-05-31  Bruno Haible  <bruno@clisp.org>
16118
16119         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
16120         restriction due to compiler bugs.
16121         Reported by Eric Blake.
16122
16123 2009-05-31  Simon Josefsson  <simon@josefsson.org>
16124             Bruno Haible  <bruno@clisp.org>
16125
16126         Fix test-alignof failure.
16127         * lib/alignof.h (alignof_slot): New macro.
16128         (alignof_type): New macro, with the same semantics as the previous
16129         'alignof'.
16130         (alignof): Alias to alignof_slot.
16131         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
16132         check that the results are usable as constant expressions.
16133
16134 2009-05-31  Bruno Haible  <bruno@clisp.org>
16135
16136         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
16137         * tests/test-memchr.c (main): Check that memchr does not read past the
16138         first occurrence of the byte.
16139         * tests/test-strstr.c (main): Update comment.
16140         Suggested by Eric Blake.
16141
16142 2009-05-30  Bruno Haible  <bruno@clisp.org>
16143
16144         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
16145         detail how to use dumpbin.
16146         Reported by David Byron <dbyron@dbyron.com>.
16147
16148 2009-06-02  Simon Josefsson  <simon@josefsson.org>
16149
16150         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
16151
16152 2009-06-02  Simon Josefsson  <simon@josefsson.org>
16153
16154         * m4/manywarnings.m4: Add GCC 4.4 warnings.
16155
16156 2009-05-28  Bruno Haible  <bruno@clisp.org>
16157
16158         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
16159         build-aux/ files.
16160
16161 2009-05-28  Simon Josefsson  <simon@josefsson.org>
16162
16163         * gnulib-tool (func_import): Transform license on build-aux/ files too.
16164
16165 2009-05-27  Simon Josefsson  <simon@josefsson.org>
16166
16167         * gnulib-tool (sed_transform_main_lib_file)
16168         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
16169         regexps.
16170
16171 2009-05-26  Simon Josefsson  <simon@josefsson.org>
16172
16173         * tests/test-strstr.c: Add another self-test.
16174         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
16175         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
16176
16177 2009-05-23  Bruno Haible  <bruno@clisp.org>
16178
16179         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
16180         change.
16181
16182 2009-05-21  Bruno Haible  <bruno@clisp.org>
16183
16184         Simplify use of mode_t varargs.
16185         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
16186         uses 'mode_t' or 'int'.
16187         * lib/openat.c (openat): Likewise.
16188         * lib/open-safer.c (open_safer): Likewise.
16189         * m4/mode_t.m4: New file.
16190         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
16191         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
16192         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
16193         * modules/open (Files): Add m4/mode_t.m4.
16194         * modules/openat (Files): Likewise.
16195         * modules/fcntl-safer (Files): Likewise.
16196         Suggested by Eric Blake.
16197
16198 2009-05-21  Pádraig Brady  <P@draigbrady.com>
16199
16200         * doc/glibc-functions/fallocate.texi: New file.
16201         * doc/gnulib.texi: Include it.
16202
16203 2009-05-21  Eric Blake  <ebb9@byu.net>
16204             Bruno Haible  <bruno@clisp.org>
16205
16206         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
16207         invocations.
16208         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
16209
16210 2009-05-21  Eric Blake  <ebb9@byu.net>
16211             Bruno Haible  <bruno@clisp.org>
16212
16213         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
16214         include_next. Fix of 2008-11-20 commit.
16215         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
16216         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
16217         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
16218         NEXT_MATH_H.
16219         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
16220         instead of NEXT_MATH_H.
16221
16222 2009-05-21  Bruno Haible  <bruno@clisp.org>
16223
16224         Avoid redefinition warnings for SIZE_MAX.
16225         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
16226         Reported by Simon Josefsson.
16227
16228 2009-05-21  Bruno Haible  <bruno@clisp.org>
16229
16230         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
16231         AC_CACHE_VAL.
16232
16233 2009-05-20  Bruno Haible  <bruno@clisp.org>
16234
16235         Make zeroptr.h work on mingw.
16236         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
16237         mprotect.
16238         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
16239         * modules/memchr2-tests (configure.ac): Likewise.
16240         * modules/memcmp-tests (configure.ac): Likewise.
16241         * modules/memmem-tests (configure.ac): Likewise.
16242         * modules/memrchr-tests (configure.ac): Likewise.
16243         Reported by Simon Josefsson.
16244
16245 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16246
16247         * tests/test-glob.c: Include string.h for strcmp prototype.
16248
16249 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16250
16251         * modules/getdelim (Depends-on): Add explicit stdint, although it
16252         was implicitly already pulled in via realloc-posix.
16253         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
16254
16255 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16256
16257         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
16258         G. Christensen" <tgc@jupiterrise.com>.
16259         * m4/sys_socket_h.m4: Check for sa_family_t.
16260         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
16261         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
16262         * tests/test-sys_socket.c: Check that sa_family_t works.
16263
16264 2009-05-18  Eric Blake  <ebb9@byu.net>
16265
16266         maint.mk: allow gnulib_dir in VPATH build
16267         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
16268
16269 2009-05-15  Jim Meyering  <meyering@redhat.com>
16270
16271         maint.mk: Give gnulib_dir a default definition.
16272         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
16273         Thus, most packages no longer need to specify this variable in cfg.mk
16274
16275 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
16276
16277         rename.m4: fix typos that would make non-mingw cross-configure fail
16278         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
16279
16280 2009-05-13  Eric Blake  <ebb9@byu.net>
16281
16282         mmap-anon: avoid out-of-order autoconf expansion
16283         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
16284         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
16285         * modules/memchr-tests (Depends-on): Add extensions.
16286         * modules/memchr2-tests (Depends-on): Add extensions.
16287         * modules/memcmp-tests (Depends-on): Add extensions.
16288         * modules/memmem-tests (Depends-on): Add extensions.
16289         * modules/memrchr-tests (Depends-on): Add extensions.
16290
16291 2009-05-13  Bruno Haible  <bruno@clisp.org>
16292
16293         Make some tests ISO C 99 compliant.
16294         * tests/zerosize-ptr.h: New file.
16295         * tests/test-memchr.c: Include zerosize-ptr.h.
16296         (main): Use a zero-size object pointer instead of NULL.
16297         * tests/test-memchr2.c: Include zerosize-ptr.h.
16298         (main): Use a zero-size object pointer instead of NULL.
16299         * tests/test-memcmp.c: Include zerosize-ptr.h.
16300         (main): Use a zero-size object pointer instead of NULL.
16301         * tests/test-memmem.c: Include zerosize-ptr.h.
16302         (main): Use a zero-size object pointer instead of NULL.
16303         * tests/test-memrchr.c: Include zerosize-ptr.h.
16304         (main): Use a zero-size object pointer instead of NULL.
16305         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
16306         m4/mmap-anon.m4.
16307         (Depends-on): Add getpagesize.
16308         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16309         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
16310         m4/mmap-anon.m4.
16311         (Depends-on): Add getpagesize.
16312         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16313         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
16314         m4/mmap-anon.m4.
16315         (Depends-on): Add getpagesize.
16316         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16317         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
16318         m4/mmap-anon.m4.
16319         (Depends-on): Add getpagesize.
16320         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16321         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
16322         m4/mmap-anon.m4.
16323         (Depends-on): Add getpagesize.
16324         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16325
16326 2009-05-12  Bruno Haible  <bruno@clisp.org>
16327
16328         Tests for module 'alignof'.
16329         * modules/alignof-tests: New file.
16330         * tests/test-alignof.c: New file.
16331
16332 2009-05-12  Bruno Haible  <bruno@clisp.org>
16333
16334         Fix alignof macro.
16335         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
16336         vendor compilers that are always correct.
16337
16338 2009-05-12  Bruno Haible  <bruno@clisp.org>
16339
16340         Make the MAP_ANONYMOUS detection work on HP-UX 11.
16341         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
16342         not whether its fully works.
16343
16344 2009-05-12  Bruno Haible  <bruno@clisp.org>
16345
16346         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
16347
16348 2009-05-12  Jim Meyering  <meyering@redhat.com>
16349
16350         * top/maint.mk: Adjust backslash alignment.
16351
16352 2009-05-11  Simon Josefsson  <simon@josefsson.org>
16353
16354         * top/maint.mk: Make $(srcdir)/build-aux configurable.
16355
16356 2009-05-11  Eric Blake  <ebb9@byu.net>
16357
16358         argp: avoid undefined behavior
16359         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
16360         macros.
16361
16362 2009-05-08  Simon Josefsson  <simon@josefsson.org>
16363
16364         * tests/test-vc-list-files-git.sh: Do git config of user.email and
16365         user.name to prevent git commit from complaining.
16366
16367 2009-05-10  Bruno Haible  <bruno@clisp.org>
16368
16369         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
16370         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
16371         it rewrites every file name only once.
16372         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
16373
16374 2009-05-08  Bruno Haible  <bruno@clisp.org>
16375
16376         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
16377         instead of 'max'.
16378
16379 2009-05-08  Simon Josefsson  <simon@josefsson.org>
16380
16381         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
16382         sockaddr_storage test.
16383
16384 2009-05-07  Simon Josefsson  <simon@josefsson.org>
16385
16386         * modules/sys_socket (Makefile.am): Substitute
16387         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
16388         * m4/sys_socket_h.m4: Check for sockaddr_storage.
16389         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
16390         * tests/test-sys_socket.c: Check sockaddr_storage.
16391
16392 2009-05-08  Bruno Haible  <bruno@clisp.org>
16393
16394         New module 'alignof'.
16395         * lib/alignof.h: New file.
16396         * modules/alignof: New file.
16397
16398 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
16399             Bruno Haible  <bruno@clisp.org>
16400
16401         Fix test-file-has-acl on FreeBSD.
16402         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
16403         mask is implicitly added.
16404         * tests/test-file-has-acl.c: Include <signal.h>.
16405         (main): Terminate the test after 5 seconds.
16406         * modules/acl-tests (configure.ac): Check for alarm function.
16407
16408 2009-05-04  Bruno Haible  <bruno@clisp.org>
16409
16410         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
16411         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
16412         * modules/errno (configure.ac): Drop AC_REQUIRE.
16413         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
16414         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
16415
16416 2009-05-04  Simon Josefsson  <simon@josefsson.org>
16417
16418         * modules/glob-tests: New module.
16419         * tests/test-glob.c: Add.
16420
16421 2009-05-04  Simon Josefsson  <simon@josefsson.org>
16422
16423         * modules/fnmatch-tests: New module.
16424         * tests/test-fnmatch.c: Add.
16425
16426 2009-05-04  Eric Blake  <ebb9@byu.net>
16427
16428         maint: make the new no-submodule-changes rule VPATH-safe
16429         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
16430
16431 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
16432             Bruno Haible  <bruno@clisp.org>
16433
16434         acl: Fix infinite loop on FreeBSD.
16435         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
16436         of return value from acl_get_entry.
16437         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
16438         Likewise.
16439
16440 2009-05-03  Bruno Haible  <bruno@clisp.org>
16441
16442         * lib/acl-internal.h (acl_entries): Clarify return value.
16443         * lib/acl_entries.c (acl_entries): Likewise.
16444
16445 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
16446
16447         Bug fix in acl module.
16448         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
16449
16450 2009-05-03  Bruno Haible  <bruno@clisp.org>
16451
16452         Create gperf-generated file in the source dir, not in the build dir.
16453         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
16454         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
16455         * modules/unicase/locale-language (unicase/locale-languages.h):
16456         Likewise.
16457         * modules/unicase/special-casing (unicase/special-casing-table.h):
16458         Likewise.
16459         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
16460         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
16461         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
16462         Reported by Ralf Wildenhues.
16463
16464 2009-05-03  Bruno Haible  <bruno@clisp.org>
16465
16466         * modules/fnmatch (Description, configure.ac): Taken from
16467         fnmatch-posix.
16468         * modules/fnmatch-posix: Turn into a symbolic reference to the
16469         'fnmatch' module, and deprecate.
16470         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
16471
16472 2009-05-03  Bruno Haible  <bruno@clisp.org>
16473
16474         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
16475         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
16476         Reported by Ralf Wildenhues.
16477
16478 2009-05-04  Simon Josefsson  <simon@josefsson.org>
16479
16480         * m4/fnmatch.m4: Fix fnmatch re-define.
16481
16482 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
16483
16484         priv-set: new module and tests; adapt write-any-file
16485         * lib/priv-set.c: New file.
16486         * lib/priv-set.h: New file.
16487         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
16488         * lib/write-any-file.c: Simplify by using priv-set module.
16489         * m4/priv-set.m4: New file.
16490         * modules/priv-set: New file.
16491         * modules/unlinkdir: Add dependency on priv-set module.
16492         * modules/write-any-file: Likewise.
16493
16494         Tests for module 'priv-set'.
16495         * modules/priv-set-tests: New file.
16496         * tests/test-priv-set.c: New file.
16497
16498 2009-05-03  Jim Meyering  <meyering@redhat.com>
16499             Bruno Haible  <bruno@clisp.org>
16500
16501         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
16502         use the converted UTF-8 variant of the name instead.
16503
16504 2009-05-03  Jim Meyering  <meyering@redhat.com>
16505
16506         tests: tighten some getdate tests
16507         * tests/test-getdate.c (main): Tighten tests: require equality,
16508         not just greater than.  Set TZ envvar to UTC0.
16509
16510 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
16511
16512         getdate: correctly interpret "next monday" when run on a Monday
16513         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
16514         that e.g., "next tues" (when run on a tuesday) results in a date
16515         that is one week in the future, and not today's date.
16516         I.e., add a week when the wday is the same as the current one.
16517         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
16518         and earlier by Martin Bernreuther and Jan Minář.
16519         * tests/test-getdate.c (main): Check that "next DAY" is always in
16520         the future and that "last DAY" is always in the past.
16521
16522 2009-05-02  Jim Meyering  <meyering@redhat.com>
16523
16524         build: ensure that a release build fails when a submodule is unclean
16525         * top/maint.mk (no-submodule-changes): New rule.
16526         (alpha beta major): Depend on it.
16527
16528 2009-05-02  Bruno Haible  <bruno@clisp.org>
16529
16530         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
16531         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
16532         shell variable gl_fnmatch_required to detect which variant is
16533         requested.
16534         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
16535         gl_FUNC_FNMATCH_POSIX.
16536         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
16537         exclude fnmatch-posix.
16538
16539 2009-05-02  Bruno Haible  <bruno@clisp.org>
16540
16541         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
16542         * modules/mbsrtowcs (License): Change to LGPLv2+.
16543         * modules/strnlen1 (License): Likewise.
16544         Reported by Simon Josefsson.
16545
16546 2009-05-02  Bruno Haible  <bruno@clisp.org>
16547
16548         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
16549         "cross".
16550         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
16551         gnulib-tool was called with option --source-base=lib.
16552
16553 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16554
16555         Use automake *-local hooks without commands, for extensibility.
16556         * modules/localcharset (Makefile.am): Rename install-exec-local
16557         rule to install-exec-localcharset, and make it a prerequisite of
16558         install-exec-local.  Likewise, rename the uninstall-local rule to
16559         uninstall-localcharset, and make it a prerequisite of the former.
16560
16561 2009-05-01  Bruno Haible  <bruno@clisp.org>
16562
16563         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
16564         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
16565         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
16566         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
16567         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
16568         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
16569         m4/locale-zh.m4, m4/codeset.m4.
16570
16571         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
16572         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
16573         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
16574         m4/locale-zh.m4.
16575
16576         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
16577         REPLACE_WCRTOMB if mbstate_t must be replaced.
16578         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
16579         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
16580
16581 2009-05-01  Bruno Haible  <bruno@clisp.org>
16582
16583         Avoid compiler warnings when redefining macros defined by <libintl.h>.
16584         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
16585         dngettext, dcngettext, textdomain, bindtextdomain,
16586         bind_textdomain_codeset): Undefine before redefining.
16587
16588 2009-04-30  Bruno Haible  <bruno@clisp.org>
16589
16590         Fix bug introduced on 2009-04-25.
16591         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
16592         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
16593         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
16594         is defined.
16595         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
16596         is defined.
16597         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
16598         is defined.
16599         Reported by Elbert_Pol <elbert.pol@gmail.com>.
16600
16601 2009-04-28  Bruno Haible  <bruno@clisp.org>
16602
16603         Comment tweaks.
16604         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
16605         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
16606         * lib/unicase.h (u*_casexfrm): Likewise.
16607         Reported by Paolo Bonzini.
16608
16609 2009-04-28  Bruno Haible  <bruno@clisp.org>
16610
16611         Fix a compilation error.
16612         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
16613         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
16614         Reported by Jim Meyering.
16615
16616 2009-04-27  Bruno Haible  <bruno@clisp.org>
16617
16618         New module 'libunistring'.
16619         * modules/libunistring: New file.
16620         * m4/libunistring.m4: New file.
16621         * MODULES.html.sh (Unicode string functions): Add it.
16622
16623 2009-04-27  Eric Blake  <ebb9@byu.net>
16624
16625         maint.mk: allow package-specific header to provide <config.h>
16626         * top/maint.mk (sc_require_config_h): New variable.
16627         (sc_require_config_h, sc_require_config_h_first): Use it.
16628
16629 2009-04-27  Simon Josefsson  <simon@josefsson.org>
16630
16631         * top/maint.mk (sc_avoid_if_before_free): Except
16632         useless-if-before-free script.
16633
16634 2009-04-27  Eric Blake  <ebb9@byu.net>
16635
16636         maintainer-makefile: depend on all required helper scripts
16637         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
16638         useless-if-before-free.
16639         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
16640         version, rather than assuming gnulib checkout is available.
16641         Reported by Simen Josefsson.
16642
16643 2009-04-26  Bruno Haible  <bruno@clisp.org>
16644
16645         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
16646         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
16647         "../" or "..".
16648
16649 2009-04-26  Bruno Haible  <bruno@clisp.org>
16650
16651         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
16652         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
16653         AC_LIB_HAVE_LINKFLAGS.
16654
16655 2009-04-26  Bruno Haible  <bruno@clisp.org>
16656
16657         Simplify calling convention of u*_conv_from_encoding.
16658         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
16659         u32_conv_from_encoding): Expect a resultbuf argument and return the
16660         result directly as a pointer.
16661         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
16662         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
16663         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
16664         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
16665         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
16666         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
16667         Update.
16668         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
16669         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
16670         * lib/vasnprintf.c (VASNPRINTF): Update.
16671         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
16672         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
16673         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
16674         * NEWS: Mention the change.
16675
16676 2009-04-26  Bruno Haible  <bruno@clisp.org>
16677
16678         Simplify calling convention of u*_conv_to_encoding.
16679         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
16680         u32_conv_to_encoding): Expect a resultbuf argument and return the
16681         result directly as a pointer.
16682         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
16683         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
16684         freeing scaled_offsets if mem_iconveha failed.
16685         * lib/unicase/u-casexfrm.h (FUNC): Update.
16686         * lib/uninorm/u-normxfrm.h (FUNC): Update.
16687         * lib/vasnprintf.c (VASNPRINTF): Update.
16688         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
16689         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
16690         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
16691         * NEWS: Mention the change.
16692
16693 2009-04-26  Bruno Haible  <bruno@clisp.org>
16694
16695         Avoid test failures on AIX and OSF/1.
16696         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
16697         malloc(0).
16698         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
16699         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
16700         Likewise.
16701         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
16702         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
16703         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
16704         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
16705         * doc/posix-functions/malloc.texi: Document the portability problem
16706         related to malloc(0).
16707
16708 2009-04-26  Bruno Haible  <bruno@clisp.org>
16709
16710         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
16711         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
16712         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
16713
16714 2009-04-25  Bruno Haible  <bruno@clisp.org>
16715
16716         Avoid link error when creating a namespace clean library.
16717         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
16718         as macro with arguments if already defined as an alias.
16719         * lib/signbitf.c (gl_signbitf): Don't undefine.
16720         * lib/signbitd.c (gl_signbitd): Don't undefine.
16721         * lib/signbitl.c (gl_signbitl): Don't undefine.
16722
16723 2009-04-25  Jim Meyering  <meyering@redhat.com>
16724
16725         vc-list-files: fix another quoting bug
16726         * build-aux/vc-list-files: Avoid sed backslash expansion
16727         of pathological directory names.
16728
16729 2009-04-25  Eric Blake  <ebb9@byu.net>
16730
16731         vc-list-files: fix shell quoting error
16732         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
16733         timestamp.
16734
16735 2009-04-25  Jim Meyering  <meyering@redhat.com>
16736
16737         vc-list-files: restore lost functionality with subdir argument
16738         * build-aux/vc-list-files: When given a non-"." sub-directory
16739         argument, substitute the $dir/ prefix back onto each resulting name.
16740         Otherwise, coreutils' root_tests check would fail.
16741
16742 2009-04-24  Eric Blake  <ebb9@byu.net>
16743
16744         vc-list-files: ignore git symlinks
16745         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
16746         than ls-files, to ignore git symlinks.
16747
16748         maint.mk: import improvements from m4
16749         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
16750         (move_if_change): Delete unused macro.
16751         (news-date-check, vc-diff-check): Support VPATH builds.
16752         (announcement): Likewise.  Split --bootstrap-tools list...
16753         (boostrap-tools): ...into separate list, which can be overridden
16754         in cfg.mk.
16755         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
16756         requiring dependency on useless-if-before-free module.
16757         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
16758         Support VPATH builds.
16759
16760 2009-04-24  Jim Meyering  <meyering@redhat.com>
16761
16762         maint.mk: remove coreutils-specific rules and variables
16763         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
16764         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
16765         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
16766
16767         maint.mk: remove obsolete rule
16768         * top/maint.mk (rel-check): Remove rule.
16769         (WGET, WGETFLAGS): Remove now-unused variables.
16770
16771 2009-04-24  Simon Josefsson  <simon@josefsson.org>
16772
16773         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
16774         consistency.
16775
16776         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
16777         '$(PATH_SEPARATOR)' instead of ':'.
16778
16779 2009-04-24  Simon Josefsson  <simon@josefsson.org>
16780
16781         * lib/getopt1.c (main): Use 'const' for static array.
16782
16783 2009-04-24  Simon Josefsson  <simon@josefsson.org>
16784
16785         * top/maint.mk: Sync with coreutils.
16786         * NEWS: Explain incompatibilities.
16787
16788 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16789             Bruno Haible  <bruno@clisp.org>
16790
16791         Fix cross-compilation results.
16792         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
16793         statement, as third argument of AC_TRY_RUN.
16794         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16795         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
16796         Likewise.
16797         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16798         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16799         Likewise.
16800         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16801         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
16802         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
16803
16804 2009-04-20  Bruno Haible  <bruno@clisp.org>
16805
16806         Avoid test failure on mingw.
16807         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
16808
16809 2009-04-20  Bruno Haible  <bruno@clisp.org>
16810
16811         Avoid compilation error on mingw.
16812         * modules/localename-tests (Depends-on): Add locale.
16813
16814 2009-04-19  Bruno Haible  <bruno@clisp.org>
16815
16816         Support for building a shared library on Windows platforms.
16817         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
16818         (main): Test the presence of UNINORM_NFC here.
16819         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
16820         (main): Test the presence of UNINORM_NFD here.
16821         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
16822         (main): Test the presence of UNINORM_NFKC here.
16823         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
16824         (main): Test the presence of UNINORM_NFKD here.
16825
16826 2009-04-19  Bruno Haible  <bruno@clisp.org>
16827
16828         Avoid a compiler warning.
16829         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
16830         Change type of variable 'sequence'.
16831
16832 2009-04-19  Bruno Haible  <bruno@clisp.org>
16833
16834         * modules/configmake (Makefile.am): When the contents of configmake.h
16835         does not change, arrange to preserve its modification time.
16836
16837 2009-04-17  Simon Josefsson  <simon@josefsson.org>
16838
16839         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
16840         gettext domain.
16841
16842 2009-04-16  Jim Meyering  <meyering@redhat.com>
16843
16844         useless-if-before-free: improve conversion code
16845         * build-aux/useless-if-before-free: Adjust code-in-comment to match
16846         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
16847
16848 2009-04-14  Bruno Haible  <bruno@clisp.org>
16849
16850         * modules/fcntl (Depends-on): Add extensions.
16851         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
16852
16853 2009-04-12  Ben Pfaff  <blp@gnu.org>
16854
16855         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
16856         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
16857
16858 2009-03-20  Ben Pfaff  <blp@gnu.org>
16859
16860         Make rename replace existing destinations on Windows.
16861         * m4/rename.m4: Add test for Mingw.
16862         * lib/rename.c: Add rename replacement that uses MoveFileEx with
16863         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
16864         * doc/posix-functions/rename.texi: Document.
16865
16866 2009-04-10  Bruno Haible  <bruno@clisp.org>
16867
16868         New include file "iconveh.h".
16869         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
16870         * lib/striconveh.h: Include it.
16871         (enum iconv_ilseq_handler): Remove definition.
16872         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
16873         striconveh.h.
16874         * lib/striconveha.c: Include striconveh.h.
16875         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
16876         * modules/striconveh (Files): Add lib/iconveh.h.
16877         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
16878         lib/striconveh.h.
16879
16880 2009-04-10  Bruno Haible  <bruno@clisp.org>
16881
16882         * lib/uniconv.h: Update comment.
16883
16884 2009-04-10  Bruno Haible  <bruno@clisp.org>
16885
16886         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
16887         always.
16888         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
16889         * lib/unistr/u16-mbtouc-aux.c: Likewise.
16890         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
16891         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
16892         "unistring-notinline.h", so that the function gets defined always.
16893         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
16894         * lib/unistr/u8-uctomb.c: Likewise.
16895         * lib/unistr/u16-mbtouc.c: Likewise.
16896         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
16897         * lib/unistr/u16-uctomb.c: Likewise.
16898         * lib/unistr/u32-mbtouc.c: Likewise.
16899         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
16900         * lib/unistr/u32-uctomb.c: Likewise.
16901
16902 2009-04-10  Bruno Haible  <bruno@clisp.org>
16903
16904         Mark 'utime' obsolete.
16905         * modules/utime (Status, Notice): New sections.
16906         Suggested by Jim Meyering.
16907
16908         Fix cross-compile guess for utime test.
16909         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
16910         autoconf.
16911         * doc/posix-functions/utime.texi: Give more precisions.
16912         Reported by Jan <ipif@ymail.com>.
16913
16914 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
16915
16916         filevercmp: correct today's change
16917         * lib/filevercmp.c: Also handle coreutils' test inputs.
16918         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
16919
16920         Fix regression in 'filevercmp' module. Thanks Sven Joachim
16921         for reporting it.
16922         * lib/filevercmp.c: Special handle for "", "." and "..".
16923         * tests/test-filevercmp.c: Enlarge the set suite.
16924
16925 2009-04-07  Jim Meyering  <meyering@redhat.com>
16926
16927         useless-if-before-free: show how to remove braced useless free, too
16928         * build-aux/useless-if-before-free: still only in a comment, though.
16929
16930 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
16931
16932         maint.mk: import changes to syntax-check macros from coreutils
16933         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
16934         Use them in the relevant macros.
16935
16936 2009-04-06  Bruno Haible  <bruno@clisp.org>
16937
16938         Fix unportable use of bit-fields.
16939         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
16940         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
16941         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
16942
16943 2009-04-06  Bruno Haible  <bruno@clisp.org>
16944
16945         Avoid test failures on AIX and OSF/1.
16946         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
16947         that malloc(0) = NULL.
16948         * tests/unicase/test-u8-tolower.c (check): Likewise.
16949         * tests/unicase/test-u8-totitle.c (check): Likewise.
16950         * tests/unicase/test-u8-toupper.c (check): Likewise.
16951         * tests/unicase/test-u16-casefold.c (check): Likewise.
16952         * tests/unicase/test-u16-tolower.c (check): Likewise.
16953         * tests/unicase/test-u16-totitle.c (check): Likewise.
16954         * tests/unicase/test-u16-toupper.c (check): Likewise.
16955         * tests/unicase/test-u32-casefold.c (check): Likewise.
16956         * tests/unicase/test-u32-tolower.c (check): Likewise.
16957         * tests/unicase/test-u32-totitle.c (check): Likewise.
16958         * tests/unicase/test-u32-toupper.c (check): Likewise.
16959         * tests/uninorm/test-u8-nfc.c (check): Likewise.
16960         * tests/uninorm/test-u8-nfd.c (check): Likewise.
16961         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
16962         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
16963         * tests/uninorm/test-u16-nfc.c (check): Likewise.
16964         * tests/uninorm/test-u16-nfd.c (check): Likewise.
16965         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
16966         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
16967         * tests/uninorm/test-u32-nfc.c (check): Likewise.
16968         * tests/uninorm/test-u32-nfd.c (check): Likewise.
16969         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
16970         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
16971
16972 2009-04-05  Bruno Haible  <bruno@clisp.org>
16973
16974         Work around an autoconf limitation.
16975         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
16976         comment line if it would be longer than 3 KB.
16977
16978 2009-04-05  Bruno Haible  <bruno@clisp.org>
16979
16980         Avoid test failure with libiconv-1.13.
16981         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
16982         of the expected test results.
16983
16984 2009-04-05  Bruno Haible  <bruno@clisp.org>
16985
16986         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
16987         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
16988         that it should be installed.
16989
16990 2009-04-05  Bruno Haible  <bruno@clisp.org>
16991
16992         * gnulib-tool: New option --copy-file.
16993         (func_usage): Document it.
16994         (func_dest_tmpfilename): Moved out of func_import.
16995         (func_add_file, func_update_file): New functions, extracted from
16996         func_import.
16997         (func_import): Update.
16998
16999 2009-04-05  Karl Berry  <karl@gnu.org>
17000
17001         * README: prominently mention gnulib-tool.
17002         Rearrange sections so getting the code is near the top.
17003
17004 2009-04-05  Bruno Haible  <bruno@clisp.org>
17005
17006         * lib/unicase.h: Mention u*_cmp2.
17007         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
17008         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
17009         * lib/unicase/ulc-casecmp.c: Likewise.
17010         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
17011         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
17012         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
17013         unistr/u8-cmp.
17014         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
17015         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
17016         unistr/u16-cmp.
17017         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
17018         unistr/u32-cmp.
17019
17020         * lib/uninorm.h: Mention u*_cmp2.
17021         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
17022         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
17023         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
17024         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
17025         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
17026         unistr/u8-cmp.
17027         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
17028         unistr/u16-cmp.
17029         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
17030         unistr/u32-cmp.
17031
17032         New module 'unistr/u32-cmp2'.
17033         * lib/unistr/u32-cmp2.c: New file.
17034         * modules/unistr/u32-cmp2: New file.
17035
17036         New module 'unistr/u16-cmp2'.
17037         * lib/unistr/u16-cmp2.c: New file.
17038         * modules/unistr/u16-cmp2: New file.
17039
17040         New module 'unistr/u8-cmp2'.
17041         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
17042         * lib/unistr/u8-cmp2.c: New file.
17043         * lib/unistr/u-cmp2.h: New file.
17044         * modules/unistr/u8-cmp2: New file.
17045
17046 2009-04-05  Bruno Haible  <bruno@clisp.org>
17047
17048         * lib/unictype.h (uc_property_is_valid): New macro.
17049         * tests/unictype/test-pr_byname.c (main): Use it.
17050
17051         * lib/unistr.h: Doc fixes.
17052         * lib/uniconv.h: Doc fixes.
17053         * lib/unictype.h: Doc fixes.
17054
17055 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
17056
17057         Port coreutils 7.2 to Solaris 8.
17058
17059         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
17060         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
17061         for Solaris 8.  This is a bit of a hack, as it means it's the
17062         caller's responsibility to add -lnsl if needed, but most likely it
17063         won't be needed since only getaddrinfo uses this and getaddrinfo
17064         isn't needed on Solaris 8.
17065
17066         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
17067         problem to Solaris 8 encountered with coreutils 7.2, which
17068         resulted in a message "fnmatch.c:292: warning: passing argument 4
17069         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
17070         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
17071
17072 2009-04-03  Simon Josefsson  <simon@josefsson.org>
17073
17074         * m4/ld-version-script.m4: Add FIXME comment.
17075
17076 2009-04-02  Simon Josefsson  <simon@josefsson.org>
17077
17078         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
17079         SOVERSION variable.
17080
17081 2009-04-02  Bruno Haible  <bruno@clisp.org>
17082
17083         * Makefile (info, html, dvi, pdf): Combine the rules.
17084         Suggested by Jim Meyering.
17085
17086 2009-04-01  Bruno Haible  <bruno@clisp.org>
17087
17088         * Makefile (info, html, dvi, pdf): New targets.
17089         Reported by Reuben Thomas <rrt@sc3d.org>.
17090
17091 2009-04-01  Bruno Haible  <bruno@clisp.org>
17092
17093         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
17094         can be put into PATH.
17095         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
17096
17097 2009-04-01  Bruno Haible  <bruno@clisp.org>
17098
17099         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
17100
17101 2009-04-01  Bruno Haible  <bruno@clisp.org>
17102
17103         Rename module 'visibility'.
17104         * modules/lib-symbol-visibility: Renamed from modules/visibility.
17105         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
17106         * doc/gnulib.texi: Update.
17107         * MODULES.html.sh (Misc): Update.
17108         * NEWS: Mention the change.
17109
17110 2009-04-01  Simon Josefsson  <simon@josefsson.org>
17111
17112         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
17113         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
17114         Eric Blake <ebb9@byu.net> for review.
17115         * MODULES.html.sh: Add lib-msvc-compat.
17116         * doc/gnulib.texi: Link to new section.
17117         * m4/ld-output-def.m4: New file.
17118         * doc/ld-output-def.texi: New file.
17119
17120 2009-04-01  Simon Josefsson  <simon@josefsson.org>
17121
17122         Rename ld-version-script to lib-symbol-versions.  Suggested by
17123         Bruno Haible <bruno@clisp.org>.
17124         * modules/ld-version-script: Renamed to lib-symbol-versions.
17125         * doc/ld-version-script.texi: Fix module name.
17126         * MODULES.html.sh: Add lib-symbol-versions.
17127
17128 2009-03-31  Simon Josefsson  <simon@josefsson.org>
17129
17130         * modules/u64-tests: New file.
17131         * tests/test-u64.c: New file.
17132
17133 2009-03-04  Simon Josefsson  <simon@josefsson.org>
17134
17135         * MODULES.html.sh: Mention u64.
17136         * modules/u64: New module.
17137         * modules/crypto/sha512: Depend on u64 module instead of providing
17138         u64.h.
17139
17140 2009-03-27  Eric Blake  <ebb9@byu.net>
17141
17142         test-strerror: make debugging EAI_SYSTEM easier
17143         * modules/getaddrinfo-tests (Depends-on): Add strerror.
17144         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
17145         failure was EAI_SYSTEM.
17146
17147 2009-03-25  Bruno Haible  <bruno@clisp.org>
17148
17149         Fix a problem with --enable-relocatable on Solaris 7.
17150         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
17151         since 2008-02-24.
17152
17153 2009-03-25  Eric Blake  <ebb9@byu.net>
17154
17155         test-sockets: avoid gcc warning
17156         * tests/test-sockets.c (main): Silence compiler warning.
17157
17158 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
17159
17160         New modules nproc, pthread, contributed by Glen Lenker.
17161
17162         * MODULES.html.sh: Add pthread, nproc.
17163         * lib/nproc.c: New file.
17164         * lib/nproc.h: New file.
17165         * lib/pthread.in.h: New file.
17166         * m4/pthread.m4: New file.
17167         * modules/nproc: New file.
17168         * modules/pthread: New file.
17169
17170 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17171
17172         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
17173         New variable.
17174
17175 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
17176
17177         filevercmp: handle simple~ and numbered.~3~ backup suffixes
17178         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
17179         * tests/test-filevercmp.c: Add tests for backup suffixes.
17180
17181 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17182
17183         * modules/stdlib (Depends-on): Add stdint, needed when defining
17184         struct random_data on, for example, HP-UX 10.20.  Reported by
17185         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17186
17187 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17188
17189         * lib/readline.c (readline): Call fflush on stdout after printing
17190         prompt.
17191
17192 2009-03-20  Bruno Haible  <bruno@clisp.org>
17193
17194         Remove dependency from 'close' module to -lws2_32 on native Windows.
17195         * lib/close-hook.h: New file.
17196         * lib/close-hook.c: New file.
17197         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
17198         w32sock.h.
17199         (_gl_close_fd_maybe_socket): Remove function.
17200         (rpl_close): Invoke execute_all_close_hooks instead of
17201         _gl_close_fd_maybe_socket.
17202         * lib/sockets.c: Include close-hook.h, w32sock.h.
17203         (close_fd_maybe_socket): New function, essentially from lib/close.c.
17204         (close_sockets_hook): New variable.
17205         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
17206         (gl_sockets_cleanup): Unregister it.
17207         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
17208         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
17209         * modules/close-hook: New file.
17210         * modules/close (Files): Remove lib/w32sock.h.
17211         (Depends-on): Add close-hook.
17212         (Link): Remove section.
17213         * modules/sockets (Files): Add lib/w32sock.h.
17214         (Depends-on): Add close-hook.
17215         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
17216         invocation.
17217         * NEWS: Mention that LIB_CLOSE is gone.
17218
17219 2009-03-23  Eric Blake  <ebb9@byu.net>
17220
17221         signal-tests: test previous patch
17222         * tests/test-signal.c: New file.
17223         * modules/signal-tests: Likewise.
17224
17225         signal.h: always support 'volatile sig_atomic_t'
17226         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
17227         (gl_SIGNAL_H_DEFAULTS): Add a default.
17228         * modules/signal (Makefile.am): Substitute if needed.
17229         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
17230         users can blindly add volatile.
17231         * doc/posix-headers/signal.texi (signal.h): Document it.
17232         Reported by Matthew Woehlke.
17233
17234 2009-03-23  Jim Meyering  <meyering@redhat.com>
17235
17236         pathmax: PATH_MAX: use pathconf only when available
17237         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
17238         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
17239         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
17240         This avoids a link failure in a PSP cross-compilation environment
17241         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
17242
17243         * lib/vasnprintf.c (divide): Fix typo in comment.
17244
17245 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17246
17247         * gnulib-tool (func_filter_filelist): Fix comment.
17248
17249 2009-03-20  Bruno Haible  <bruno@clisp.org>
17250
17251         Make sockets.h self-contained.
17252         * lib/sockets.c: Include sockets.h first.
17253         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
17254
17255 2009-03-19  Eric Blake  <ebb9@byu.net>
17256
17257         doc: mention more functions added in cygwin 1.7.0
17258         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
17259         addition.
17260         * doc/posix-functions/log2f.texi: Likewise.
17261
17262 2009-03-19  Jim Meyering  <meyering@redhat.com>
17263
17264         fsusage: avoid syntax error due to statement-before-declaration
17265         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
17266         after all declarations.  Reported by Matthew Woehlke in
17267         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
17268
17269 2009-03-18  Eric Blake  <ebb9@byu.net>
17270
17271         build-aux/compile: sync from automake
17272         * build-aux/compile: New file, from automake.
17273         * config/srclist.txt: Mention build-aux/compile.
17274
17275 2009-03-17  Bruno Haible  <bruno@clisp.org>
17276
17277         * lib/git-merge-changelog.c: Fix typo in comment.
17278         Reported by Reuben Thomas <rrt@sc3d.org>.
17279
17280 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
17281
17282         * m4/regex.m4: update and improve help for
17283         --without-included-regex.
17284
17285 2009-03-17  Simon Josefsson  <simon@josefsson.org>
17286
17287         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
17288         failure on missing include files.
17289
17290 2009-03-17  Eric Blake  <ebb9@byu.net>
17291
17292         doc: mention more functions added in cygwin 1.7.0
17293         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
17294         addition.
17295         * doc/posix-functions/fwscanf.texi: Likewise.
17296         * doc/posix-functions/swprintf.texi: Likewise.
17297         * doc/posix-functions/swscanf.texi: Likewise.
17298         * doc/posix-functions/vfwprintf.texi: Likewise.
17299         * doc/posix-functions/vfwscanf.texi: Likewise.
17300         * doc/posix-functions/vswprintf.texi: Likewise.
17301         * doc/posix-functions/vswscanf.texi: Likewise.
17302         * doc/posix-functions/vwprintf.texi: Likewise.
17303         * doc/posix-functions/vwscanf.texi: Likewise.
17304         * doc/posix-functions/wcscasecmp.texi: Likewise.
17305         * doc/posix-functions/wcsdup.texi: Likewise.
17306         * doc/posix-functions/wcsftime.texi: Likewise.
17307         * doc/posix-functions/wcsncasecmp.texi: Likewise.
17308         * doc/posix-functions/wprintf.texi: Likewise.
17309         * doc/posix-functions/wscanf.texi: Likewise.
17310         * doc/glibc-functions/gethostbyname2.texi: Likewise.
17311
17312 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17313
17314         maint.mk: really add $(AM_MAKEFLAGS)
17315         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
17316         was inadvertently omitted in the last commit.
17317         Spotted by Bruno Haible.
17318
17319         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
17320         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
17321         $(AM_MAKEFLAGS)' rather than plain `make'.
17322
17323         gnulib-tool: execute $MAKE not make
17324         * gnulib-tool: Default $MAKE to 'make'.
17325         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
17326         than make.  Initialize $MAKE in the do-autobuild script.
17327
17328         gnulib-tool: use $MAKE not make in generated files
17329         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
17330         make, in generated files.  Initialize $MAKE in the do-autobuild
17331         script.
17332
17333         * top/GNUmakefile (_have-git-version-gen): Fix typo.
17334
17335         GNUmakefile: disable parallelism only for multiple, recursive targets
17336         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
17337         additions in the Makefile.
17338         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
17339         by Automake.
17340         (.NOTPARALLEL): Only disable parallel builds if multiple targets
17341         are listed on the command line and at least one of them is
17342         listed in $(ALL_RECURSIVE_TARGETS).
17343
17344 2009-03-14  Bruno Haible  <bruno@clisp.org>
17345
17346         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
17347         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
17348         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
17349         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
17350         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
17351         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
17352         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
17353         unistr/u8-uctomb.
17354         * modules/unistr/u8-strchr (Depends-on): Likewise.
17355         * modules/unistr/u8-strrchr (Depends-on): Likewise.
17356         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
17357         unistr/u16-uctomb.
17358         * modules/unistr/u16-strchr (Depends-on): Likewise.
17359         * modules/unistr/u16-strrchr (Depends-on): Likewise.
17360
17361 2009-03-12  Bruno Haible  <bruno@clisp.org>
17362
17363         Work around select() bug on Interix 3.5.
17364         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
17365         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
17366         * m4/select.m4: New file.
17367         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
17368         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
17369         * modules/select (Files): Add m4/select.m4.
17370         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
17371         * modules/nanosleep (Depends-on): Add select.
17372         * modules/poll (Depends-on): Likewise.
17373         * doc/posix-functions/select.texi: Mention the Interix bug.
17374         Reported by Markus Duft <mduft@gentoo.org>.
17375
17376         * lib/select.c: Renamed from lib/winsock-select.c.
17377         * modules/select (Files): Add lib/select.c, remove
17378         lib/winsock-select.c.
17379         (configure.ac): Update.
17380
17381 2009-03-12  Jim Meyering  <meyering@redhat.com>
17382
17383         avoid gcc warnings about unused macro definitions
17384         * lib/readtokens.c (STREQ): Remove unused definition.
17385         * lib/xmalloc.c (SIZE_MAX): Likewise.
17386         * lib/openat-die.c (N_): Likewise.
17387         * lib/mountlist.c (SIZE_MAX): Remove definition.
17388         Instead, include <stdint.h>.
17389         * lib/readutmp.c: Likewise.
17390         * modules/readutmp (Depends-on): Add stdint.
17391         * modules/mountlist (Depends-on): Add stdint.
17392         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
17393
17394 2009-03-10  Bruno Haible  <bruno@clisp.org>
17395
17396         Tests for module 'mbmemcasecoll'.
17397         * modules/mbmemcasecoll-tests: New file.
17398         * tests/test-mbmemcasecoll1.sh: New file.
17399         * tests/test-mbmemcasecoll2.sh: New file.
17400         * tests/test-mbmemcasecoll3.sh: New file.
17401         * tests/test-mbmemcasecoll.c: New file.
17402
17403         New module 'mbmemcasecoll'.
17404         * lib/mbmemcasecoll.h: New file.
17405         * lib/mbmemcasecoll.c: New file.
17406         * modules/mbmemcasecoll: New file.
17407
17408         * tests/test-mbmemcasecmp.h: New file, extracted from
17409         tests/test-mbmemcasecmp.c.
17410         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
17411         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
17412         (main): Update.
17413         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
17414
17415 2009-03-09  Bruno Haible  <bruno@clisp.org>
17416
17417         Tests for module 'mbmemcasecmp'.
17418         * modules/mbmemcasecmp-tests: New file.
17419         * tests/test-mbmemcasecmp1.sh: New file.
17420         * tests/test-mbmemcasecmp2.sh: New file.
17421         * tests/test-mbmemcasecmp3.sh: New file.
17422         * tests/test-mbmemcasecmp.c: New file.
17423
17424         New module 'mbmemcasecmp'.
17425         * lib/mbmemcasecmp.h: New file.
17426         * lib/mbmemcasecmp.c: New file.
17427         * modules/mbmemcasecmp: New file.
17428
17429 2009-03-09  Bruno Haible  <bruno@clisp.org>
17430
17431         Tests for module 'unicase/ulc-casecoll'.
17432         * modules/unicase/ulc-casecoll-tests: New file.
17433         * tests/unicase/test-ulc-casecoll1.sh: New file.
17434         * tests/unicase/test-ulc-casecoll2.sh: New file.
17435         * tests/unicase/test-ulc-casecoll.c: New file.
17436
17437         New module 'unicase/ulc-casecoll'.
17438         * lib/unicase.h (ulc_casecoll): New declaration.
17439         * lib/unicase/ulc-casecoll.c: New file.
17440         * modules/unicase/ulc-casecoll: New file.
17441
17442         New module 'unicase/ulc-casexfrm'.
17443         * lib/unicase.h (ulc_casexfrm): New declaration.
17444         * lib/unicase/ulc-casexfrm.c: New file.
17445         * modules/unicase/ulc-casexfrm: New file.
17446
17447 2009-03-09  Bruno Haible  <bruno@clisp.org>
17448
17449         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
17450         invocations.
17451
17452         * m4/mbscasecmp.m4: Remove file.
17453         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
17454         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
17455
17456         * m4/mbscasestr.m4: Remove file.
17457         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
17458         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
17459
17460         * m4/mbschr.m4: Remove file.
17461         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
17462         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
17463
17464         * m4/mbscspn.m4: Remove file.
17465         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
17466         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
17467
17468         * m4/mbslen.m4: Remove file.
17469         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
17470         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
17471
17472         * m4/mbsncasecmp.m4: Remove file.
17473         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
17474         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
17475
17476         * m4/mbsnlen.m4: Remove file.
17477         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
17478         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
17479
17480         * m4/mbspbrk.m4: Remove file.
17481         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
17482         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
17483
17484         * m4/mbspcasecmp.m4: Remove file.
17485         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
17486         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
17487
17488         * m4/mbsrchr.m4: Remove file.
17489         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
17490         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
17491
17492         * m4/mbssep.m4: Remove file.
17493         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
17494         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
17495
17496         * m4/mbsspn.m4: Remove file.
17497         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
17498         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
17499
17500         * m4/mbsstr.m4: Remove file.
17501         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
17502         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
17503
17504         * m4/mbstok_r.m4: Remove file.
17505         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
17506         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
17507
17508         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
17509
17510         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
17511         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
17512
17513         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
17514
17515 2009-03-08  Bruno Haible  <bruno@clisp.org>
17516
17517         Tests for module 'unicase/ulc-casecmp'.
17518         * modules/unicase/ulc-casecmp-tests: New file.
17519         * tests/unicase/test-ulc-casecmp1.sh: New file.
17520         * tests/unicase/test-ulc-casecmp2.sh: New file.
17521         * tests/unicase/test-ulc-casecmp.c: New file.
17522
17523         New module 'unicase/ulc-casecmp'.
17524         * lib/unicase.h (ulc_casecmp): New declaration.
17525         * lib/unicase/ulc-casecmp.c: New file.
17526         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
17527         'const SRC_UNIT *'.
17528         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
17529         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
17530         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
17531         * modules/unicase/ulc-casecmp: New file.
17532
17533         Tests for module 'unicase/u32-is-cased'.
17534         * modules/unicase/u32-is-cased-tests: New file.
17535         * tests/unicase/test-u32-is-cased.c: New file.
17536
17537         Tests for module 'unicase/u16-is-cased'.
17538         * modules/unicase/u16-is-cased-tests: New file.
17539         * tests/unicase/test-u16-is-cased.c: New file.
17540
17541         Tests for module 'unicase/u8-is-cased'.
17542         * modules/unicase/u8-is-cased-tests: New file.
17543         * tests/unicase/test-u8-is-cased.c: New file.
17544         * tests/unicase/test-is-cased.h: New file.
17545
17546         New module 'unicase/u32-is-cased'.
17547         * lib/unicase/u32-is-cased.c: New file.
17548         * modules/unicase/u32-is-cased: New file.
17549
17550         New module 'unicase/u16-is-cased'.
17551         * lib/unicase/u16-is-cased.c: New file.
17552         * modules/unicase/u16-is-cased: New file.
17553
17554         New module 'unicase/u8-is-cased'.
17555         * lib/unicase/u8-is-cased.c: New file.
17556         * lib/unicase/u-is-cased.h: New file.
17557         * modules/unicase/u8-is-cased: New file.
17558
17559         Tests for module 'unicase/u32-is-casefolded'.
17560         * modules/unicase/u32-is-casefolded-tests: New file.
17561         * tests/unicase/test-u32-is-casefolded.c: New file.
17562
17563         Tests for module 'unicase/u16-is-casefolded'.
17564         * modules/unicase/u16-is-casefolded-tests: New file.
17565         * tests/unicase/test-u16-is-casefolded.c: New file.
17566
17567         Tests for module 'unicase/u8-is-casefolded'.
17568         * modules/unicase/u8-is-casefolded-tests: New file.
17569         * tests/unicase/test-u8-is-casefolded.c: New file.
17570         * tests/unicase/test-is-casefolded.h: New file.
17571
17572         New module 'unicase/u32-is-casefolded'.
17573         * lib/unicase/u32-is-casefolded.c: New file.
17574         * modules/unicase/u32-is-casefolded: New file.
17575
17576         New module 'unicase/u16-is-casefolded'.
17577         * lib/unicase/u16-is-casefolded.c: New file.
17578         * modules/unicase/u16-is-casefolded: New file.
17579
17580         New module 'unicase/u8-is-casefolded'.
17581         * lib/unicase/u8-is-casefolded.c: New file.
17582         * modules/unicase/u8-is-casefolded: New file.
17583
17584         Tests for module 'unicase/u32-is-titlecase'.
17585         * modules/unicase/u32-is-titlecase-tests: New file.
17586         * tests/unicase/test-u32-is-titlecase.c: New file.
17587
17588         Tests for module 'unicase/u16-is-titlecase'.
17589         * modules/unicase/u16-is-titlecase-tests: New file.
17590         * tests/unicase/test-u16-is-titlecase.c: New file.
17591
17592         Tests for module 'unicase/u8-is-titlecase'.
17593         * modules/unicase/u8-is-titlecase-tests: New file.
17594         * tests/unicase/test-u8-is-titlecase.c: New file.
17595         * tests/unicase/test-is-titlecase.h: New file.
17596
17597         New module 'unicase/u32-is-titlecase'.
17598         * lib/unicase/u32-is-titlecase.c: New file.
17599         * modules/unicase/u32-is-titlecase: New file.
17600
17601         New module 'unicase/u16-is-titlecase'.
17602         * lib/unicase/u16-is-titlecase.c: New file.
17603         * modules/unicase/u16-is-titlecase: New file.
17604
17605         New module 'unicase/u8-is-titlecase'.
17606         * lib/unicase/u8-is-titlecase.c: New file.
17607         * modules/unicase/u8-is-titlecase: New file.
17608
17609         Tests for module 'unicase/u32-is-lowercase'.
17610         * modules/unicase/u32-is-lowercase-tests: New file.
17611         * tests/unicase/test-u32-is-lowercase.c: New file.
17612
17613         Tests for module 'unicase/u16-is-lowercase'.
17614         * modules/unicase/u16-is-lowercase-tests: New file.
17615         * tests/unicase/test-u16-is-lowercase.c: New file.
17616
17617         Tests for module 'unicase/u8-is-lowercase'.
17618         * modules/unicase/u8-is-lowercase-tests: New file.
17619         * tests/unicase/test-u8-is-lowercase.c: New file.
17620         * tests/unicase/test-is-lowercase.h: New file.
17621
17622         New module 'unicase/u32-is-lowercase'.
17623         * lib/unicase/u32-is-lowercase.c: New file.
17624         * modules/unicase/u32-is-lowercase: New file.
17625
17626         New module 'unicase/u16-is-lowercase'.
17627         * lib/unicase/u16-is-lowercase.c: New file.
17628         * modules/unicase/u16-is-lowercase: New file.
17629
17630         New module 'unicase/u8-is-lowercase'.
17631         * lib/unicase/u8-is-lowercase.c: New file.
17632         * modules/unicase/u8-is-lowercase: New file.
17633
17634         Tests for module 'unicase/u32-is-uppercase'.
17635         * modules/unicase/u32-is-uppercase-tests: New file.
17636         * tests/unicase/test-u32-is-uppercase.c: New file.
17637
17638         Tests for module 'unicase/u16-is-uppercase'.
17639         * modules/unicase/u16-is-uppercase-tests: New file.
17640         * tests/unicase/test-u16-is-uppercase.c: New file.
17641
17642         Tests for module 'unicase/u8-is-uppercase'.
17643         * modules/unicase/u8-is-uppercase-tests: New file.
17644         * tests/unicase/test-u8-is-uppercase.c: New file.
17645         * tests/unicase/test-is-uppercase.h: New file.
17646
17647         New module 'unicase/u32-is-uppercase'.
17648         * lib/unicase/u32-is-uppercase.c: New file.
17649         * modules/unicase/u32-is-uppercase: New file.
17650
17651         New module 'unicase/u16-is-uppercase'.
17652         * lib/unicase/u16-is-uppercase.c: New file.
17653         * modules/unicase/u16-is-uppercase: New file.
17654
17655         New module 'unicase/u8-is-uppercase'.
17656         * lib/unicase/u8-is-uppercase.c: New file.
17657         * modules/unicase/u8-is-uppercase: New file.
17658
17659         New module 'unicase/u32-is-invariant'.
17660         * lib/unicase/u32-is-invariant.c: New file.
17661         * modules/unicase/u32-is-invariant: New file.
17662
17663         New module 'unicase/u16-is-invariant'.
17664         * lib/unicase/u16-is-invariant.c: New file.
17665         * modules/unicase/u16-is-invariant: New file.
17666
17667         New module 'unicase/u8-is-invariant'.
17668         * lib/unicase/u8-is-invariant.c: New file.
17669         * lib/unicase/invariant.h: New file.
17670         * lib/unicase/u-is-invariant.h: New file.
17671         * modules/unicase/u8-is-invariant: New file.
17672
17673         Tests for module 'unicase/u32-casecoll'.
17674         * modules/unicase/u32-casecoll-tests: New file.
17675         * tests/unicase/test-u32-casecoll.c: New file.
17676
17677         Tests for module 'unicase/u16-casecoll'.
17678         * modules/unicase/u16-casecoll-tests: New file.
17679         * tests/unicase/test-u16-casecoll.c: New file.
17680
17681         Tests for module 'unicase/u8-casecoll'.
17682         * modules/unicase/u8-casecoll-tests: New file.
17683         * tests/unicase/test-u8-casecoll.c: New file.
17684
17685         New module 'unicase/u32-casecoll'.
17686         * lib/unicase/u32-casecoll.c: New file.
17687         * modules/unicase/u32-casecoll: New file.
17688
17689         New module 'unicase/u16-casecoll'.
17690         * lib/unicase/u16-casecoll.c: New file.
17691         * modules/unicase/u16-casecoll: New file.
17692
17693         New module 'unicase/u8-casecoll'.
17694         * lib/unicase/u8-casecoll.c: New file.
17695         * lib/unicase/u-casecoll.h: New file.
17696         * modules/unicase/u8-casecoll: New file.
17697
17698         New module 'unicase/u32-casexfrm'.
17699         * lib/unicase/u32-casexfrm.c: New file.
17700         * modules/unicase/u32-casexfrm: New file.
17701
17702         New module 'unicase/u16-casexfrm'.
17703         * lib/unicase/u16-casexfrm.c: New file.
17704         * modules/unicase/u16-casexfrm: New file.
17705
17706         New module 'unicase/u8-casexfrm'.
17707         * lib/unicase/u8-casexfrm.c: New file.
17708         * lib/unicase/u-casexfrm.h: New file.
17709         * modules/unicase/u8-casexfrm: New file.
17710
17711         Tests for module 'unicase/u32-casecmp'.
17712         * modules/unicase/u32-casecmp-tests: New file.
17713         * tests/unicase/test-u32-casecmp.c: New file.
17714
17715         Tests for module 'unicase/u16-casecmp'.
17716         * modules/unicase/u16-casecmp-tests: New file.
17717         * tests/unicase/test-u16-casecmp.c: New file.
17718
17719         Tests for module 'unicase/u8-casecmp'.
17720         * modules/unicase/u8-casecmp-tests: New file.
17721         * tests/unicase/test-u8-casecmp.c: New file.
17722         * tests/unicase/test-casecmp.h: New file.
17723
17724         New module 'unicase/u32-casecmp'.
17725         * lib/unicase/u32-casecmp.c: New file.
17726         * modules/unicase/u32-casecmp: New file.
17727
17728         New module 'unicase/u16-casecmp'.
17729         * lib/unicase/u16-casecmp.c: New file.
17730         * modules/unicase/u16-casecmp: New file.
17731
17732         New module 'unicase/u8-casecmp'.
17733         * lib/unicase/u8-casecmp.c: New file.
17734         * lib/unicase/u-casecmp.h: New file.
17735         * modules/unicase/u8-casecmp: New file.
17736
17737         Tests for module 'unicase/u32-casefold'.
17738         * modules/unicase/u32-casefold-tests: New file.
17739         * tests/unicase/test-u32-casefold.c: New file.
17740
17741         Tests for module 'unicase/u16-casefold'.
17742         * modules/unicase/u16-casefold-tests: New file.
17743         * tests/unicase/test-u16-casefold.c: New file.
17744
17745         Tests for module 'unicase/u8-casefold'.
17746         * modules/unicase/u8-casefold-tests: New file.
17747         * tests/unicase/test-u8-casefold.c: New file.
17748
17749         New module 'unicase/u32-casefold'.
17750         * lib/unicase/u32-casefold.c: New file.
17751         * modules/unicase/u32-casefold: New file.
17752
17753         New module 'unicase/u16-casefold'.
17754         * lib/unicase/u16-casefold.c: New file.
17755         * modules/unicase/u16-casefold: New file.
17756
17757         New module 'unicase/u8-casefold'.
17758         * lib/unicase/u8-casefold.c: New file.
17759         * lib/unicase/u-casefold.h: New file.
17760         * modules/unicase/u8-casefold: New file.
17761
17762         New module 'unicase/tocasefold'.
17763         * lib/unicase/casefold.h: New file.
17764         * lib/unicase/tocasefold.c: New file.
17765         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
17766         * modules/unicase/tocasefold: New file.
17767
17768         Tests for module 'unicase/u32-totitle'.
17769         * modules/unicase/u32-totitle-tests: New file.
17770         * tests/unicase/test-u32-totitle.c: New file.
17771
17772         Tests for module 'unicase/u16-totitle'.
17773         * modules/unicase/u16-totitle-tests: New file.
17774         * tests/unicase/test-u16-totitle.c: New file.
17775
17776         Tests for module 'unicase/u8-totitle'.
17777         * modules/unicase/u8-totitle-tests: New file.
17778         * tests/unicase/test-u8-totitle.c: New file.
17779
17780         New module 'unicase/u32-totitle'.
17781         * lib/unicase/u32-totitle.c: New file.
17782         * modules/unicase/u32-totitle: New file.
17783
17784         New module 'unicase/u16-totitle'.
17785         * lib/unicase/u16-totitle.c: New file.
17786         * modules/unicase/u16-totitle: New file.
17787
17788         New module 'unicase/u8-totitle'.
17789         * lib/unicase/u8-totitle.c: New file.
17790         * lib/unicase/u-totitle.h: New file.
17791         * modules/unicase/u8-totitle: New file.
17792
17793         Tests for module 'unicase/u32-tolower'.
17794         * modules/unicase/u32-tolower-tests: New file.
17795         * tests/unicase/test-u32-tolower.c: New file.
17796
17797         Tests for module 'unicase/u16-tolower'.
17798         * modules/unicase/u16-tolower-tests: New file.
17799         * tests/unicase/test-u16-tolower.c: New file.
17800
17801         Tests for module 'unicase/u8-tolower'.
17802         * modules/unicase/u8-tolower-tests: New file.
17803         * tests/unicase/test-u8-tolower.c: New file.
17804
17805         New module 'unicase/u32-tolower'.
17806         * lib/unicase/u32-tolower.c: New file.
17807         * modules/unicase/u32-tolower: New file.
17808
17809         New module 'unicase/u16-tolower'.
17810         * lib/unicase/u16-tolower.c: New file.
17811         * modules/unicase/u16-tolower: New file.
17812
17813         New module 'unicase/u8-tolower'.
17814         * lib/unicase/u8-tolower.c: New file.
17815         * modules/unicase/u8-tolower: New file.
17816
17817         Tests for module 'unicase/u32-toupper'.
17818         * modules/unicase/u32-toupper-tests: New file.
17819         * tests/unicase/test-u32-toupper.c: New file.
17820
17821         Tests for module 'unicase/u16-toupper'.
17822         * modules/unicase/u16-toupper-tests: New file.
17823         * tests/unicase/test-u16-toupper.c: New file.
17824
17825         Tests for module 'unicase/u8-toupper'.
17826         * modules/unicase/u8-toupper-tests: New file.
17827         * tests/unicase/test-u8-toupper.c: New file.
17828
17829         New module 'unicase/u32-toupper'.
17830         * lib/unicase/u32-toupper.c: New file.
17831         * modules/unicase/u32-toupper: New file.
17832
17833         New module 'unicase/u16-toupper'.
17834         * lib/unicase/u16-toupper.c: New file.
17835         * modules/unicase/u16-toupper: New file.
17836
17837         New module 'unicase/u8-toupper'.
17838         * lib/unicase/u8-toupper.c: New file.
17839         * modules/unicase/u8-toupper: New file.
17840
17841         New module 'unicase/u32-casemap'.
17842         * lib/unicase/u32-casemap.c: New file.
17843         * modules/unicase/u32-casemap: New file.
17844
17845         New module 'unicase/u16-casemap'.
17846         * lib/unicase/u16-casemap.c: New file.
17847         * modules/unicase/u16-casemap: New file.
17848
17849         New module 'unicase/u8-casemap'.
17850         * lib/unicase/unicasemap.h: New file.
17851         * lib/unicase/u8-casemap.c: New file.
17852         * lib/unicase/u-casemap.h: New file.
17853         * modules/unicase/u8-casemap: New file.
17854
17855         New module 'unicase/special-casing'.
17856         * lib/unicase/special-casing.h: New file.
17857         * lib/unicase/special-casing.c: New file.
17858         * lib/unicase/special-casing-table.gperf: New file, generated by
17859         gen-uni-tables.c.
17860         * modules/unicase/special-casing: New file.
17861
17862         Tests for module 'unicase/locale-language'.
17863         * modules/unicase/locale-language-tests: New file.
17864         * tests/unicase/test-locale-language.sh: New file.
17865         * tests/unicase/test-locale-language.c: New file.
17866
17867         New module 'unicase/locale-language'.
17868         * lib/unicase/locale-language.c: New file.
17869         * lib/unicase/locale-languages.gperf: New file.
17870         * modules/unicase/locale-language: New file.
17871
17872         Generate more tables for case conversion and case folding.
17873         * lib/gen-uni-tables.c (SCC_*): New enum items.
17874         (struct special_casing_rule): New type.
17875         (casing_rules, num_casing_rules, allocated_casing_rules): New
17876         variables.
17877         (add_casing_rule, fill_casing_rules): New functions.
17878         (struct casefold_rule): New type.
17879         (casefolding_rules, num_casefolding_rules,
17880         allocated_casefolding_rules): New variables.
17881         (fill_casefolding_rules): New function.
17882         (unicode_casefold): New variable.
17883         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
17884         sort_casing_rules, output_casing_rules): New functions.
17885         (main): Accept to more arguments: SpecialCasing.txt and
17886         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
17887         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
17888         Output mapping for casefolding.
17889
17890         * lib/unicase.h: Include stdbool.h, uninorm.h.
17891         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
17892         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
17893         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
17894         arguments.
17895         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
17896         resultp arguments.
17897         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
17898         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
17899         resultp arguments.
17900         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
17901         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
17902         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
17903         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
17904         declarations.
17905         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
17906
17907 2009-03-08  Bruno Haible  <bruno@clisp.org>
17908
17909         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
17910         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
17911         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
17912         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
17913
17914 2009-03-07  Bruno Haible  <bruno@clisp.org>
17915
17916         Adjust u*_normcmp, u*_normcoll API.
17917         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
17918         u16_normcoll, u32_normcoll): Change failure conventions.
17919         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
17920         errno and return -1.
17921         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
17922
17923 2009-03-07  Bruno Haible  <bruno@clisp.org>
17924
17925         Tests for module 'uninorm/u32-normcoll'.
17926         * modules/uninorm/u32-normcoll-tests: New file.
17927         * tests/uninorm/test-u32-normcoll.c: New file.
17928
17929         Tests for module 'uninorm/u16-normcoll'.
17930         * modules/uninorm/u16-normcoll-tests: New file.
17931         * tests/uninorm/test-u16-normcoll.c: New file.
17932
17933         Tests for module 'uninorm/u8-normcoll'.
17934         * modules/uninorm/u8-normcoll-tests: New file.
17935         * tests/uninorm/test-u8-normcoll.c: New file.
17936
17937 2009-03-07  Bruno Haible  <bruno@clisp.org>
17938
17939         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
17940         tests/uninorm/test-u32-normcmp.c.
17941         * tests/uninorm/test-u32-normcmp.c: Include it.
17942         (test_nonascii): New function, extracted from main. Add some more
17943         tests.
17944         (main): Invoke test_ascii and test_nonascii.
17945         * modules/uninorm/u32-normcmp-tests (Files): Add
17946         tests/uninorm/test-u32-normcmp.h.
17947         (Depends-on): Remove uninorm/u32-normcmp.
17948
17949         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
17950         tests/uninorm/test-u16-normcmp.c.
17951         * tests/uninorm/test-u16-normcmp.c: Include it.
17952         (test_nonascii): New function, extracted from main. Add some more
17953         tests.
17954         (main): Invoke test_ascii and test_nonascii.
17955         * modules/uninorm/u16-normcmp-tests (Files): Add
17956         tests/uninorm/test-u16-normcmp.h.
17957         (Depends-on): Remove uninorm/u16-normcmp.
17958
17959         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
17960         tests/uninorm/test-u8-normcmp.c.
17961         * tests/uninorm/test-u8-normcmp.c: Include it.
17962         (test_nonascii): New function, extracted from main. Add some more
17963         tests.
17964         (main): Invoke test_ascii and test_nonascii.
17965         * modules/uninorm/u8-normcmp-tests (Files): Add
17966         tests/uninorm/test-u8-normcmp.h.
17967         (Depends-on): Remove uninorm/u8-normcmp.
17968
17969 2009-03-07  Bruno Haible  <bruno@clisp.org>
17970
17971         New module 'uninorm/u32-normcoll'.
17972         * lib/uninorm/u32-normcoll.c: New file.
17973         * modules/uninorm/u32-normcoll: New file.
17974
17975         New module 'uninorm/u16-normcoll'.
17976         * lib/uninorm/u16-normcoll.c: New file.
17977         * modules/uninorm/u16-normcoll: New file.
17978
17979         New module 'uninorm/u8-normcoll'.
17980         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
17981         declarations.
17982         * lib/uninorm/u8-normcoll.c: New file.
17983         * lib/uninorm/u-normcoll.h: New file.
17984         * modules/uninorm/u8-normcoll: New file.
17985
17986         New module 'uninorm/u32-normxfrm'.
17987         * lib/uninorm/u32-normxfrm.c: New file.
17988         * modules/uninorm/u32-normxfrm: New file.
17989
17990         New module 'uninorm/u16-normxfrm'.
17991         * lib/uninorm/u16-normxfrm.c: New file.
17992         * modules/uninorm/u16-normxfrm: New file.
17993
17994         New module 'uninorm/u8-normxfrm'.
17995         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
17996         declarations.
17997         * lib/uninorm/u8-normxfrm.c: New file.
17998         * lib/uninorm/u-normxfrm.h: New file.
17999         * modules/uninorm/u8-normxfrm: New file.
18000
18001 2009-03-07  Bruno Haible  <bruno@clisp.org>
18002
18003         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
18004         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
18005         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
18006
18007 2009-03-07  Bruno Haible  <bruno@clisp.org>
18008
18009         New module 'memxfrm'.
18010         * lib/memxfrm.h: New file.
18011         * lib/memxfrm.c: New file.
18012         * modules/memxfrm: New file.
18013
18014 2009-03-07  Bruno Haible  <bruno@clisp.org>
18015
18016         New module 'memcmp2'.
18017         * lib/memcmp2.h: New file.
18018         * lib/memcmp2.c: New file.
18019         * modules/memcmp2: New file.
18020
18021 2009-03-07  Bruno Haible  <bruno@clisp.org>
18022
18023         Tests for module 'uninorm/decomposing-form'.
18024         * modules/uninorm/decomposing-form-tests: New file.
18025         * tests/uninorm/test-decomposing-form.c: New file.
18026
18027         New module 'uninorm/decomposing-form'.
18028         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
18029         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
18030         Add 'decomposing_variant' field.
18031         * lib/uninorm/decomposing-form.c: New file.
18032         * lib/uninorm/nfc.c (uninorm_nfc): Update.
18033         * lib/uninorm/nfd.c (uninorm_nfd): Update.
18034         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
18035         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
18036         * modules/uninorm/decomposing-form: New file.
18037         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
18038         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
18039
18040 2009-03-07  Bruno Haible  <bruno@clisp.org>
18041
18042         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
18043         strings.
18044
18045 2009-03-06  Bruno Haible  <bruno@clisp.org>
18046
18047         Tests for module 'uninorm/u32-normcmp'.
18048         * tests/uninorm/test-u32-normcmp.c: New file.
18049         * modules/uninorm/u32-normcmp-tests: New file.
18050
18051         Tests for module 'uninorm/u16-normcmp'.
18052         * tests/uninorm/test-u16-normcmp.c: New file.
18053         * modules/uninorm/u16-normcmp-tests: New file.
18054
18055         Tests for module 'uninorm/u8-normcmp'.
18056         * tests/uninorm/test-u8-normcmp.c: New file.
18057         * modules/uninorm/u8-normcmp-tests: New file.
18058
18059         New module 'uninorm/u32-normcmp'.
18060         * lib/uninorm/u32-normcmp.c: New file.
18061         * modules/uninorm/u32-normcmp: New file.
18062
18063         New module 'uninorm/u16-normcmp'.
18064         * lib/uninorm/u16-normcmp.c: New file.
18065         * modules/uninorm/u16-normcmp: New file.
18066
18067         New module 'uninorm/u8-normcmp'.
18068         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
18069         declarations.
18070         * lib/uninorm/u8-normcmp.c: New file.
18071         * lib/uninorm/u-normcmp.h: New file.
18072         * modules/uninorm/u8-normcmp: New file.
18073
18074 2009-03-06  Bruno Haible  <bruno@clisp.org>
18075
18076         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
18077         Reported by Eric Blake.
18078
18079 2009-03-06  Eric Blake  <ebb9@byu.net>
18080             Bruno Haible  <bruno@clisp.org>
18081
18082         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
18083         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
18084         condition.
18085         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
18086         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
18087         condition.
18088         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
18089
18090 2009-03-06  Eric Blake  <ebb9@byu.net>
18091
18092         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
18093         to avoid compiler warnings.
18094         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
18095
18096 2009-03-05  Bruno Haible  <bruno@clisp.org>
18097
18098         * tests/test-ftell.c (main): Disable test beyond end of file on
18099         FreeMiNT.
18100         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
18101
18102 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
18103
18104         * lib/filevercmp.c: Move hidden files up in ordering.
18105         * tests/test-filevercmp.c: Add tests for hidden files.
18106
18107 2009-03-04  Bruno Haible  <bruno@clisp.org>
18108
18109         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
18110         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
18111         AM_CFLAGS.
18112         Reported by Simon Josefsson.
18113
18114 2009-03-03  Bruno Haible  <bruno@clisp.org>
18115
18116         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
18117         Reported by Simon Josefsson.
18118
18119         * doc/ld-version-script.texi: Update node reference.
18120
18121 2009-03-03  Bruno Haible  <bruno@clisp.org>
18122
18123         * modules/visibility (License): Change to 'unlimited'.
18124         Suggested by Simon Josefsson.
18125
18126 2009-03-03  Jim Meyering  <meyering@redhat.com>
18127
18128         unlinkdir: cannot_unlink_dir may modify process state
18129         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
18130         it's neither thread-safe nor appropriate for use in a library.
18131
18132 2009-03-03  Eric Blake  <ebb9@byu.net>
18133
18134         test-closein: silence test under Darwin
18135         * tests/test-closein.sh: Ignore stderr from cat, since we don't
18136         care if it dies from EPIPE or EBADF.
18137
18138 2009-03-03  Bruno Haible  <bruno@clisp.org>
18139
18140         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
18141         earlier.
18142         * doc/visibility.texi: Fix @node and @section.
18143
18144 2009-03-03  Simon Josefsson  <simon@josefsson.org>
18145
18146         * doc/gnulib.texi: Link to sections for ld version script and
18147         visibility.
18148         * doc/visibility.texi: Add @node and @section.
18149         * modules/ld-version-script: New module.
18150         * m4/ld-version-script.m4: New file.
18151         * doc/ld-version-script.texi: New file.
18152
18153 2009-03-02  David Lutterkort  <lutter@redhat.com>
18154
18155         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
18156         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18157
18158 2009-03-02  Bruno Haible  <bruno@clisp.org>
18159
18160         * doc/visibility.texi: Mention libtool's -export-symbols option.
18161
18162 2009-03-02  Jim Meyering  <meyering@redhat.com>
18163
18164         announce-gen: new option: --no-print-checksums
18165         * build-aux/announce-gen (usage): Describe it.
18166         (print_checksums): Print a newline here, not in the [*] footnote.
18167         (main): Honor it.
18168
18169 2009-03-01  Bruno Haible  <bruno@clisp.org>
18170
18171         Use socklen_t in the native Windows replacements prototypes.
18172         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
18173         instead of 'int'.
18174         * lib/getsockopt.c (rpl_getsockopt): Likewise.
18175         * lib/setsockopt.c (rpl_setsockopt): Likewise.
18176         * modules/getsockopt (Depends-on): Add socklen.
18177         * modules/setsockopt (Depends-on): Add socklen.
18178
18179 2009-03-01  Bruno Haible  <bruno@clisp.org>
18180
18181         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
18182         least 4.2.
18183
18184 2009-03-01  Eric Blake  <ebb9@byu.net>
18185             Bruno Haible  <bruno@clisp.org>
18186
18187         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
18188         error messages.
18189         * lib/wait-process.c (wait_subprocess): Omit error message about
18190         deadly signal sent to the child of termsigp != NULL.
18191
18192 2009-03-01  Eric Blake  <ebb9@byu.net>
18193
18194         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
18195
18196 2009-03-01  Bruno Haible  <bruno@clisp.org>
18197
18198         Avoid a gcc warning.
18199         * tests/test-sched.c (b): Make global.
18200         Reported by Eric Blake.
18201
18202 2009-01-19  Martin Lambers  <marlam@marlam.de>
18203
18204         Provide POSIX semantics for socket timeout options on W32.
18205         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
18206         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
18207         * modules/setsockopt: Depend on sys_time module for struct timeval.
18208         * modules/getsockopt: Depend on sys_time module for struct timeval.
18209
18210 2009-03-01  Simon Josefsson  <simon@josefsson.org>
18211
18212         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
18213         __USE_GNU, for consistency with netdb.in.h.
18214         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18215
18216 2009-03-01  Bruno Haible  <bruno@clisp.org>
18217
18218         More support for FreeMiNT.
18219         * lib/fseeko.c (rpl_fseeko): Complete last commit.
18220         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18221
18222 2009-03-01  Bruno Haible  <bruno@clisp.org>
18223
18224         More support for FreeMiNT.
18225         * lib/fpurge.c (fpurge): Correct last commit.
18226         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18227
18228 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18229
18230         Fix unportable awk script in vc-list-files.
18231         * build-aux/vc-list-files: In the replacement awk script, use
18232         substr with a second argument of 1, not zero.
18233         Report by Simon Josefsson.
18234
18235 2009-02-28  Bruno Haible  <bruno@clisp.org>
18236
18237         More support for FreeMiNT.
18238         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
18239         to FreeMiNT today.
18240         * lib/fwriting.c (fwriting): Likewise.
18241         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
18242
18243 2009-02-28  Bruno Haible  <bruno@clisp.org>
18244
18245         * tests/test-freadseek.c (main): Disable test beyond end of file on
18246         FreeMiNT.
18247         * tests/test-ftello.c (main): Likewise.
18248         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
18249
18250 2009-02-28  Bruno Haible  <bruno@clisp.org>
18251
18252         Add tentative support for FreeMiNT.
18253         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
18254         * lib/fpurge.c (fpurge): Likewise.
18255         * lib/freadable.c (freadable): Likewise.
18256         * lib/freading.c (freading): Likewise.
18257         * lib/freadptr.c (freadptr): Likewise.
18258         * lib/freadseek.c (freadptrinc): Likewise.
18259         * lib/fseeko.c (rpl_fseeko): Likewise.
18260         * lib/fseterr.c (fseterr): Likewise.
18261         * lib/fwritable.c (fwritable): Likewise.
18262         * lib/fwriting.c (fwriting): Likewise.
18263         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
18264         Hourihane.
18265         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18266
18267 2009-02-28  Bruno Haible  <bruno@clisp.org>
18268
18269         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
18270         SIGCHLD.
18271         Reported by Jim Meyering.
18272
18273 2009-02-28  Bruno Haible  <bruno@clisp.org>
18274
18275         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
18276         Mention the results of these tests on various platforms.
18277         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
18278         order.
18279         * doc/posix-functions/printf.texi: Likewise.
18280         * doc/posix-functions/snprintf.texi: Likewise.
18281         * doc/posix-functions/sprintf.texi: Likewise.
18282         * doc/posix-functions/vfprintf.texi: Likewise.
18283         * doc/posix-functions/vprintf.texi: Likewise.
18284         * doc/posix-functions/vsnprintf.texi: Likewise.
18285         * doc/posix-functions/vsprintf.texi: Likewise.
18286         * doc/glibc-functions/obstack_printf.texi: Likewise.
18287         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
18288
18289 2009-02-28  Bruno Haible  <bruno@clisp.org>
18290
18291         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
18292         Reported by Loïc Minier <lool@dooz.org>.
18293
18294 2009-02-27  Bruno Haible  <bruno@clisp.org>
18295
18296         * gnulib-tool (func_import): Make the sed expression used to create the
18297         sed script for updating the .gitignore file POSIX compliant.
18298         Reported by Eric Blake.
18299
18300 2009-02-27  Bruno Haible  <bruno@clisp.org>
18301
18302         * gnulib-tool (sed): Don't alias as "sed --posix".
18303         Reported by Eric Blake.
18304
18305 2009-02-27  Bruno Haible  <bruno@clisp.org>
18306
18307         Avoid test link errors.
18308         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
18309         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
18310         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
18311         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
18312         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18313
18314 2009-02-27  Bruno Haible  <bruno@clisp.org>
18315
18316         Avoid spurious "(cached)" in configure output.
18317         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
18318         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
18319         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
18320         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
18321         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
18322         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
18323         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
18324         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
18325         Reported by Eric Blake.
18326
18327 2009-02-27  Eric Blake  <ebb9@byu.net>
18328
18329         printf: fix regression in previous patch
18330         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
18331
18332 2009-02-27  Bruno Haible  <bruno@clisp.org>
18333
18334         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
18335         value.
18336         * lib/stdint.in.h: Likewise.
18337         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
18338
18339 2009-02-27  Eric Blake  <ebb9@byu.net>
18340
18341         doc: mention more functions added in cygwin 1.7.0
18342         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
18343         addition.
18344         * doc/posix-functions/open_wmemstream.texi: Likewise.
18345         * doc/posix-functions/wcsnlen.texi: Likewise.
18346         * doc/posix-functions/wcsnrtombs.texi: Likewise.
18347         * doc/posix-functions/wcstod.texi: Likewise.
18348         * doc/posix-functions/wcstof.texi: Likewise.
18349         * doc/posix-functions/wcstoimax.texi: Likewise.
18350         * doc/posix-functions/wcstok.texi: Likewise.
18351         * doc/posix-functions/wcstoumax.texi: Likewise.
18352
18353         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
18354         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
18355         * doc/posix-functions/fprintf.texi: Update.
18356         * doc/posix-functions/printf.texi: Update.
18357         * doc/posix-functions/snprintf.texi: Update.
18358         * doc/posix-functions/sprintf.texi: Update.
18359         * doc/posix-functions/vfprintf.texi: Update.
18360         * doc/posix-functions/vprintf.texi: Update.
18361         * doc/posix-functions/vsnprintf.texi: Update.
18362         * doc/posix-functions/vsprintf.texi: Update.
18363         * doc/glibc-functions/obstack_printf.texi: Update.
18364         * doc/glibc-functions/obstack_vprintf.texi: Update.
18365
18366 2009-02-26  Eric Blake  <ebb9@byu.net>
18367
18368         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
18369         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
18370         compilation bug by using runtime conversion.
18371         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
18372         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
18373         * modules/ceill-tests (Files): Use nan.h.
18374         * modules/floorl-tests (Files): Likewise.
18375         * modules/frexpl-tests (Files): Likewise.
18376         * modules/isnanl-tests (Files): Likewise.
18377         * modules/ldexpl-tests (Files): Likewise.
18378         * modules/roundl-tests (Files): Likewise.
18379         * modules/truncl-tests (Files): Likewise.
18380         * tests/test-ceill.c (main): Use a working NaN.
18381         * tests/test-floorl.c (main): Likewise.
18382         * tests/test-frexpl.c (main): Likewise.
18383         * tests/test-isnan.c (test_long_double): Likewise.
18384         * tests/test-isnanl.h (main): Likewise.
18385         * tests/test-ldexpl.h (main): Likewise.
18386         * tests/test-roundl.h (main): Likewise.
18387         * tests/test-truncl.h (main): Likewise.
18388         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
18389
18390 2009-02-26  Eric Blake  <ebb9@byu.net>
18391             Bruno Haible  <bruno@clisp.org>
18392
18393         Work around a *printf bug with %ls on Solaris.
18394         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
18395         precision is specified, sprintf stops converting the wide string
18396         argument when the number of bytes that have been produced by this
18397         conversion equals or exceeds the precision.
18398         * doc/posix-functions/fprintf.texi: Update.
18399         * doc/posix-functions/printf.texi: Update.
18400         * doc/posix-functions/snprintf.texi: Update.
18401         * doc/posix-functions/sprintf.texi: Update.
18402         * doc/posix-functions/vfprintf.texi: Update.
18403         * doc/posix-functions/vprintf.texi: Update.
18404         * doc/posix-functions/vsnprintf.texi: Update.
18405         * doc/posix-functions/vsprintf.texi: Update.
18406         * doc/glibc-functions/obstack_printf.texi: Update.
18407         * doc/glibc-functions/obstack_vprintf.texi: Update.
18408
18409 2009-02-26  Eric Blake  <ebb9@byu.net>
18410
18411         stdlib: favor compiler check of random.h
18412         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
18413         to avoid an ObjC random.h installed by Swarm.
18414
18415 2009-02-26  Bruno Haible  <bruno@clisp.org>
18416
18417         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
18418         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
18419         Reported by Gary V. Vaughan <gary@gnu.org>.
18420
18421 2009-02-26  Bruno Haible  <bruno@clisp.org>
18422
18423         Fix *printf behaviour regarding the %ls directive.
18424         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
18425         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
18426         NEED_PRINTF_DIRECTIVE_LS.
18427         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
18428         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
18429         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
18430         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
18431         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
18432         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
18433         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
18434         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
18435         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
18436         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
18437         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
18438         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
18439         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
18440         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
18441         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
18442         * doc/posix-functions/fprintf.texi: Update.
18443         * doc/posix-functions/printf.texi: Update.
18444         * doc/posix-functions/snprintf.texi: Update.
18445         * doc/posix-functions/sprintf.texi: Update.
18446         * doc/posix-functions/vfprintf.texi: Update.
18447         * doc/posix-functions/vprintf.texi: Update.
18448         * doc/posix-functions/vsnprintf.texi: Update.
18449         * doc/posix-functions/vsprintf.texi: Update.
18450         * doc/glibc-functions/obstack_printf.texi: Update.
18451         * doc/glibc-functions/obstack_vprintf.texi: Update.
18452         Reported by Eric Blake.
18453
18454 2009-02-25  Bruno Haible  <bruno@clisp.org>
18455
18456         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
18457         with known value.
18458         Reported by Gary V. Vaughan <gary@gnu.org>.
18459
18460 2009-02-25  Bruno Haible  <bruno@clisp.org>
18461
18462         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
18463         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
18464         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
18465         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
18466         Reported by Gary V. Vaughan <gary@gnu.org>.
18467
18468 2009-02-25  Bruno Haible  <bruno@clisp.org>
18469
18470         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
18471         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
18472         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
18473         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
18474         Reported by Gary V. Vaughan <gary@gnu.org>.
18475
18476 2009-02-25  Eric Blake  <ebb9@byu.net>
18477
18478         tests: skip fseek/ftell tests if ungetc is broken
18479         * m4/ungetc.m4: New file.
18480         * modules/fseek-tests: Split test, so ungetc dependency is
18481         separate from rest of test.
18482         * modules/fseeko-tests: Likewise.
18483         * modules/ftell-tests: Likewise.
18484         * modules/ftello-tests: Likewise.
18485         * tests/test-fseek.c (main): Isolate ungetc dependency.
18486         * tests/test-fseeko.c (main): Likewise.
18487         * tests/test-ftell.c (main): Likewise.
18488         * tests/test-ftello.c (main): Likewise.
18489         * tests/test-fseek2.sh: New file.
18490         * tests/test-fseeko2.sh: Likewise.
18491         * tests/test-ftell2.sh: Likewise.
18492         * tests/test-ftello2.sh: Likewise.
18493
18494 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
18495
18496         test-getaddrinfo: fix usage of skip return code 77
18497         * tests/test-gettaddrinfo.c: Return skip code 77 only
18498         for first occurance of skip (4x77 is not 77)
18499
18500 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
18501
18502         strtod: avoid C99 decl-after-statement
18503         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
18504
18505 2009-02-24  Eric Blake  <ebb9@byu.net>
18506
18507         strtod: detect HP-UX 11.31 bug
18508         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
18509         Reported by Gary V. Vaughan.
18510
18511 2009-02-23  Bruno Haible  <bruno@clisp.org>
18512
18513         Fix invalid read past end of memory block.
18514         * lib/vasnprintf.c (DCHAR_SET): Define.
18515         (local_wcslen): Define only when needed.
18516         (local_strnlen, local_wcsnlen): New functions.
18517         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
18518         directives that involve a conversion ourselves.
18519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
18520         wcsnlen, mbrtowc, wcrtomb.
18521         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
18522         * tests/test-vasprintf-posix.c (test_function): Likewise.
18523         * tests/test-snprintf-posix.h (test_function): Likewise.
18524         * tests/test-sprintf-posix.h (test_function): Likewise.
18525         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18526
18527 2009-02-22  Bruno Haible  <bruno@clisp.org>
18528
18529         Implement new clarified decomposition of Hangul syllables.
18530         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
18531         of type LTV, return only a pairwise decomposition.
18532         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
18533         Likewise.
18534         * tests/uninorm/test-decomposition.c (main): Updated expected result.
18535         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
18536         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
18537
18538 2009-02-22  Bruno Haible  <bruno@clisp.org>
18539
18540         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
18541         zero-length results and shrink excess allocated memory.
18542         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
18543         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
18544         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
18545         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
18546         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
18547         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
18548         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
18549         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
18550         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
18551         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
18552         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
18553         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
18554
18555 2009-02-21  Bruno Haible  <bruno@clisp.org>
18556
18557         * doc/gnulib.texi: Include safe-alloc.texi earlier.
18558         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
18559         spaces after a period. Put a space between a macro name and its
18560         argument list. Trivial rewordings.
18561         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
18562         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
18563         (main): Return 0 explicitly.
18564
18565 2009-02-21  Bruno Haible  <bruno@clisp.org>
18566
18567         Tests for module 'uninorm/filter'.
18568         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
18569         * modules/uninorm/filter-tests: New file.
18570
18571         New module 'uninorm/filter'.
18572         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
18573         uninorm_filter_flush, uninorm_filter_free): New declarations.
18574         * lib/uninorm/uninorm-filter.c: New file.
18575         * modules/uninorm/filter: New file.
18576
18577 2009-02-21  Bruno Haible  <bruno@clisp.org>
18578
18579         Tests for module 'uninorm/nfkc'.
18580         * tests/uninorm/test-nfkc.c: New file.
18581         * tests/uninorm/test-u8-nfkc.c: New file.
18582         * tests/uninorm/test-u16-nfkc.c: New file.
18583         * tests/uninorm/test-u32-nfkc.c: New file.
18584         * tests/uninorm/test-u32-nfkc-big.sh: New file.
18585         * tests/uninorm/test-u32-nfkc-big.c: New file.
18586         * modules/uninorm/nfkc-tests: New file.
18587
18588         New module 'uninorm/nfkc'.
18589         * lib/uninorm/nfkc.c: New file.
18590         * modules/uninorm/nfkc: New file.
18591
18592         Tests for module 'uninorm/nfkd'.
18593         * tests/uninorm/test-nfkd.c: New file.
18594         * tests/uninorm/test-u8-nfkd.c: New file.
18595         * tests/uninorm/test-u16-nfkd.c: New file.
18596         * tests/uninorm/test-u32-nfkd.c: New file.
18597         * tests/uninorm/test-u32-nfkd-big.sh: New file.
18598         * tests/uninorm/test-u32-nfkd-big.c: New file.
18599         * modules/uninorm/nfkd-tests: New file.
18600
18601         New module 'uninorm/nfkd'.
18602         * lib/uninorm/nfkd.c: New file.
18603         * modules/uninorm/nfkd: New file.
18604
18605         Tests for module 'uninorm/nfc'.
18606         * tests/uninorm/test-nfc.c: New file.
18607         * tests/uninorm/test-u8-nfc.c: New file.
18608         * tests/uninorm/test-u16-nfc.c: New file.
18609         * tests/uninorm/test-u32-nfc.c: New file.
18610         * tests/uninorm/test-u32-nfc-big.sh: New file.
18611         * tests/uninorm/test-u32-nfc-big.c: New file.
18612         * modules/uninorm/nfc-tests: New file.
18613
18614         New module 'uninorm/nfc'.
18615         * lib/uninorm/nfc.c: New file.
18616         * modules/uninorm/nfc: New file.
18617
18618         Tests for module 'uninorm/nfd'.
18619         * tests/uninorm/test-nfd.c: New file.
18620         * tests/uninorm/test-u8-nfd.c: New file.
18621         * tests/uninorm/test-u16-nfd.c: New file.
18622         * tests/uninorm/test-u32-nfd.c: New file.
18623         * tests/uninorm/test-u32-nfd-big.sh: New file.
18624         * tests/uninorm/test-u32-nfd-big.c: New file.
18625         * tests/uninorm/test-u32-normalize-big.h: New file.
18626         * tests/uninorm/test-u32-normalize-big.c: New file.
18627         * tests/uninorm/NormalizationTest.txt: New file, created from
18628         Unicode 5.1.0 NormalizationTest.txt.
18629         * modules/uninorm/nfd-tests: New file.
18630
18631         New module 'uninorm/nfd'.
18632         * lib/uninorm/nfd.c: New file.
18633         * modules/uninorm/nfd: New file.
18634
18635         New module 'uninorm/u32-normalize'.
18636         * lib/uninorm/u32-normalize.c: New file.
18637         * modules/uninorm/u32-normalize: New file.
18638
18639         New module 'uninorm/u16-normalize'.
18640         * lib/uninorm/u16-normalize.c: New file.
18641         * modules/uninorm/u16-normalize: New file.
18642
18643         New module 'uninorm/u8-normalize'.
18644         * lib/uninorm/u8-normalize.c: New file.
18645         * lib/uninorm/normalize-internal.h: New file.
18646         * lib/uninorm/u-normalize-internal.h: New file.
18647         * modules/uninorm/u8-normalize: New file.
18648
18649         New module 'uninorm/decompose-internal'.
18650         * lib/uninorm/decompose-internal.c: New file.
18651         * modules/uninorm/decompose-internal: New file.
18652
18653         Tests for module 'uninorm/composition'.
18654         * tests/uninorm/test-composition.c: New file.
18655         * modules/uninorm/composition-tests: New file.
18656
18657         New module 'uninorm/composition'.
18658         * lib/uninorm/composition.c: New file.
18659         * lib/uninorm/composition-table.gperf: New file, generated by
18660         gen-uni-tables.
18661         * modules/uninorm/composition: New file.
18662
18663         Tests for module 'uninorm/compat-decomposition'.
18664         * tests/uninorm/test-compat-decomposition.c: New file.
18665         * modules/uninorm/compat-decomposition-tests: New file.
18666
18667         New module 'uninorm/compat-decomposition'.
18668         * lib/uninorm/decompose-internal.h: New file.
18669         * lib/uninorm/compat-decomposition.c: New file.
18670         * modules/uninorm/compat-decomposition: New file.
18671
18672         Tests for module 'uninorm/canonical-decomposition'.
18673         * tests/uninorm/test-canonical-decomposition.c: New file.
18674         * modules/uninorm/canonical-decomposition-tests: New file.
18675
18676         New module 'uninorm/canonical-decomposition'.
18677         * lib/uninorm/canonical-decomposition.c: New file.
18678         * modules/uninorm/canonical-decomposition: New file.
18679
18680         Tests for module 'uninorm/decomposition'.
18681         * tests/uninorm/test-decomposition.c: New file.
18682         * modules/uninorm/decomposition-tests: New file.
18683
18684         New module 'uninorm/decomposition'.
18685         * lib/uninorm/decomposition.c: New file.
18686         * modules/uninorm/decomposition: New file.
18687
18688         New module 'uninorm/decomposition-table'.
18689         * lib/uninorm/decomposition-table.h: New file.
18690         * lib/uninorm/decomposition-table.c: New file.
18691         * lib/uninorm/decomposition-table1.h: New file, generated by
18692         gen-uni-tables.
18693         * lib/uninorm/decomposition-table2.h: New file, generated by
18694         gen-uni-tables.
18695         * modules/uninorm/decomposition-table: New file.
18696
18697         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
18698         (UC_DECOMP_*): New enumeration items.
18699         (get_decomposition): New function.
18700         (struct decomp_table): New type.
18701         (output_decomposition, output_decomposition_tables): New functions.
18702         (unicode_composition_exclusions): New variable.
18703         (fill_composition_exclusions, debug_output_composition_tables): New
18704         functions.
18705         (main): Accept one more argument. Invoke fill_composition_exclusions.
18706         Output decomposition and composition tables.
18707
18708         New module 'uninorm/base'.
18709         * lib/uninorm.h: New file.
18710         * lib/unictype.h: Update comment.
18711         * modules/uninorm/base: New file.
18712
18713 2009-02-21  David Lutterkort  <lutter@redhat.com>
18714
18715         Tests for module 'safe-alloc'.
18716         * tests/test-safe-alloc.c: New file.
18717         * modules/safe-alloc-tests: New file.
18718
18719         New module 'safe-alloc'.
18720         * lib/safe-alloc.h: New file.
18721         * lib/safe-alloc.c: New file.
18722         * m4/safe-alloc.m4: New file.
18723         * modules/safe-alloc: New file.
18724         * doc/safe-alloc.texi: New file.
18725         * doc/gnulib.texi: Include it.
18726         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
18727         safe-alloc.
18728
18729 2009-02-18  Bruno Haible  <bruno@clisp.org>
18730
18731         Fix link error on non-glibc systems.
18732         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
18733         variable.
18734         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18735
18736 2009-02-18  Jim Meyering  <meyering@redhat.com>
18737
18738         fts: avoid used-uninitialized error due to recent change
18739         * lib/fts.c (fts_read): Guard uses of the new member,
18740         parent->fts_n_dirs_remaining, since it's not relevant for
18741         the parent of a directory specified on the command-line.
18742
18743 2009-02-17  James Youngman  <jay@gnu.org>
18744             Bruno Haible  <bruno@clisp.org>
18745
18746         * m4/include_next.m4: Reformulate comment.
18747
18748 2009-02-16  Jim Meyering  <meyering@redhat.com>
18749
18750         fts: add #if guards so that the fts_lgpl module still builds
18751         * lib/fts.c: Guard just-added hash-table-using parts with
18752         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
18753         Reported by Simon Josefsson.
18754
18755 2009-02-15  Bruno Haible  <bruno@clisp.org>
18756
18757         * modules/array-mergesort-tests: New file.
18758         * tests/test-array-mergesort.c: New file.
18759
18760         New module 'array-mergesort'.
18761         * modules/array-mergesort: New file.
18762         * lib/array-mergesort.h: New file.
18763
18764 2009-02-15  Bruno Haible  <bruno@clisp.org>
18765
18766         Fix 2009-02-07 commit.
18767         * lib/gen-uni-tables.c (output_predicate, output_category,
18768         output_combclass, output_bidi_category, output_decimal_digit,
18769         output_digit, output_numeric, output_mirror, output_scripts,
18770         output_ident_category, output_simple_mapping): Fix format directives.
18771         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
18772
18773 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
18774
18775         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
18776         fixes are available from IBM.
18777
18778 2009-02-13  Jim Meyering  <meyering@redhat.com>
18779
18780         fts: arrange not to stat non-directories in more cases
18781         This makes GNU find (when it doesn't need to stat each file)
18782         *much* more efficient at traversing reiserfs file systems.
18783         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
18784         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
18785         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
18786         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
18787         (leaf_optimization_applies): New function.
18788         (LCO_hash, LCO_compare): New helper functions.
18789         (link_count_optimize_ok): New function.
18790         (fts_stat): Initialize new member (if dir).
18791         (fts_read): Decrement parent's fts_n_dirs_remaining count if
18792         we've just stat'ed a directory.  Skip the stat call when possible.
18793         ---
18794         Note this AFS-related exchange:
18795         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
18796         and note find's pioctl call in find/fstype.c.
18797         But that is necessary only if you want to enable the
18798         optimization for AFS, and for now, I don't.
18799
18800         fts: move a function definition "up" (no semantic change)
18801         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
18802         "up" to precede upcoming use of a related function.
18803
18804 2009-02-11  Jim Meyering  <meyering@redhat.com>
18805
18806         fts: correct internal computation of nlinks (optimization-related)
18807         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
18808         whether the current entry is a directory, so don't test it.
18809
18810 2009-02-10  Bruno Haible  <bruno@clisp.org>
18811
18812         Tests for module 'uniwbrk/ulc-wordbreaks'.
18813         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
18814         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
18815         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
18816
18817         Tests for module 'uniwbrk/u32-wordbreaks'.
18818         * modules/uniwbrk/u32-wordbreaks-tests: New file.
18819         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
18820
18821         Tests for module 'uniwbrk/u16-wordbreaks'.
18822         * modules/uniwbrk/u16-wordbreaks-tests: New file.
18823         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
18824
18825         Tests for module 'uniwbrk/u8-wordbreaks'.
18826         * modules/uniwbrk/u8-wordbreaks-tests: New file.
18827         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
18828
18829 2009-02-10  Bruno Haible  <bruno@clisp.org>
18830
18831         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
18832         property.
18833         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
18834         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
18835         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
18836
18837 2009-02-10  Simon Josefsson  <simon@josefsson.org>
18838
18839         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
18840         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
18841
18842 2009-02-10  Bruno Haible  <bruno@clisp.org>
18843
18844         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
18845         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
18846         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
18847         * lib/unilbrk/u8-possible-linebreaks.c: Update.
18848         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
18849         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
18850
18851 2009-02-09  Simon Josefsson  <simon@josefsson.org>
18852
18853         * lib/sockets.h (gl_fd_to_handle): New function.
18854
18855         * tests/test-sockets.c: Call gl_fd_to_handle.
18856
18857 2009-02-09  Bruno Haible  <bruno@clisp.org>
18858
18859         * doc/havelib.texi: Document the conventions on bi-arch systems.
18860
18861 2009-02-08  Bruno Haible  <bruno@clisp.org>
18862
18863         Document the AC_LIB_LINKFLAGS macro.
18864         * doc/havelib.texi: New file, mostly written on 2005-05-24.
18865         * doc/gnulib.texi: Include it.
18866
18867 2009-02-08  Bruno Haible  <bruno@clisp.org>
18868
18869         Fix wrong order of sections, compared to TOC.
18870         * doc/gnulib.texi: Include relocatable-maint.texi after the
18871         "Regular expressions" node, not before.
18872
18873 2009-02-08  Bruno Haible  <bruno@clisp.org>
18874
18875         Tests for module 'unicase/totitle'.
18876         * modules/unicase/totitle-tests: New file.
18877
18878         Tests for module 'unicase/tolower'.
18879         * modules/unicase/tolower-tests: New file.
18880
18881         Tests for module 'unicase/toupper'.
18882         * modules/unicase/toupper-tests: New file.
18883         * tests/unicase/test-mapping-part1.h: New file.
18884         * tests/unicase/test-mapping-part2.h: New file.
18885
18886         New module 'unicase/totitle'.
18887         * modules/unicase/totitle: New file.
18888         * lib/unicase/totitle.c: New file.
18889
18890         New module 'unicase/tolower'.
18891         * modules/unicase/tolower: New file.
18892         * lib/unicase/tolower.c: New file.
18893
18894         New module 'unicase/toupper'.
18895         * modules/unicase/toupper: New file.
18896         * lib/unicase/toupper.c: New file.
18897         * lib/unicase/simple-mapping.h: New file.
18898
18899         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
18900         (mapping_table): New structure.
18901         (output_simple_mapping): New function.
18902         (main): Invoke output_simple_mapping_test and output_simple_mapping.
18903         * modules/gen-uni-tables (Description): Update.
18904         * lib/unicase/toupper.h: New file, automatically generated by
18905         gen-uni-tables.
18906         * lib/unicase/tolower.h: New file, automatically generated by
18907         gen-uni-tables.
18908         * lib/unicase/totitle.h: New file, automatically generated by
18909         gen-uni-tables.
18910         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
18911         gen-uni-tables.
18912         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
18913         gen-uni-tables.
18914         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
18915         gen-uni-tables.
18916
18917         New module 'unicase/base'.
18918         * modules/unicase/base: New file.
18919         * lib/unicase.h: New file.
18920
18921 2009-02-08  Bruno Haible  <bruno@clisp.org>
18922
18923         New module 'uniwbrk/ulc-wordbreaks'.
18924         * modules/uniwbrk/ulc-wordbreaks: New file.
18925         * lib/uniwbrk/ulc-wordbreaks.c: New file.
18926
18927         New module 'uniwbrk/u32-wordbreaks'.
18928         * modules/uniwbrk/u32-wordbreaks: New file.
18929         * lib/uniwbrk/u32-wordbreaks.c: New file.
18930
18931         New module 'uniwbrk/u16-wordbreaks'.
18932         * modules/uniwbrk/u16-wordbreaks: New file.
18933         * lib/uniwbrk/u16-wordbreaks.c: New file.
18934
18935         New module 'uniwbrk/u8-wordbreaks'.
18936         * modules/uniwbrk/u8-wordbreaks: New file.
18937         * lib/uniwbrk/u8-wordbreaks.c: New file.
18938         * lib/uniwbrk/u-wordbreaks.h: New file.
18939
18940         New module 'uniwbrk/table'.
18941         * modules/uniwbrk/table: New file.
18942         * lib/uniwbrk/wbrktable.h: New file.
18943         * lib/uniwbrk/wbrktable.c: New file.
18944
18945         New module 'uniwbrk/wordbreak-property'.
18946         * modules/uniwbrk/wordbreak-property: New file.
18947         * lib/uniwbrk/wordbreak-property.c: New file.
18948
18949         * lib/gen-uni-tables.c (WBP_*): New enum items.
18950         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
18951         (unicode_org_wbp): New variable.
18952         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
18953         New functions.
18954         (wbp_table): New structure.
18955         (output_wbp, output_wbrk_tables): New functions.
18956         (main): Accept additional argument. Invoke fill_org_wbp,
18957         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
18958         output_wbrk_tables.
18959         * modules/gen-uni-tables (Description): Update.
18960         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
18961         gen-uni-tables.
18962
18963         New module 'uniwbrk/base'.
18964         * modules/uniwbrk/base: New file.
18965         * lib/uniwbrk.h: New file.
18966
18967 2009-02-08  Bruno Haible  <bruno@clisp.org>
18968
18969         Update to Unicode 5.1.0.
18970         * lib/gen-uni-tables.c (is_property_alphabetic): Include
18971         U+2185..U+2188.
18972         (is_property_default_ignorable_code_point): Don't include characters
18973         of category Cc or Cs and not-a-characters.
18974         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
18975         U+0D79, U+109E, U+109F, U+A60C.
18976         * lib/unictype/bidi_of.h: Regenerated.
18977         * lib/unictype/blocks.h: Regenerated.
18978         * lib/unictype/categ_C.h: Regenerated.
18979         * lib/unictype/categ_Cf.h: Regenerated.
18980         * lib/unictype/categ_Cn.h: Regenerated.
18981         * lib/unictype/categ_L.h: Regenerated.
18982         * lib/unictype/categ_Ll.h: Regenerated.
18983         * lib/unictype/categ_Lm.h: Regenerated.
18984         * lib/unictype/categ_Lo.h: Regenerated.
18985         * lib/unictype/categ_Lu.h: Regenerated.
18986         * lib/unictype/categ_M.h: Regenerated.
18987         * lib/unictype/categ_Mc.h: Regenerated.
18988         * lib/unictype/categ_Me.h: Regenerated.
18989         * lib/unictype/categ_Mn.h: Regenerated.
18990         * lib/unictype/categ_N.h: Regenerated.
18991         * lib/unictype/categ_Nd.h: Regenerated.
18992         * lib/unictype/categ_Nl.h: Regenerated.
18993         * lib/unictype/categ_No.h: Regenerated.
18994         * lib/unictype/categ_P.h: Regenerated.
18995         * lib/unictype/categ_Pd.h: Regenerated.
18996         * lib/unictype/categ_Pe.h: Regenerated.
18997         * lib/unictype/categ_Pf.h: Regenerated.
18998         * lib/unictype/categ_Pi.h: Regenerated.
18999         * lib/unictype/categ_Po.h: Regenerated.
19000         * lib/unictype/categ_Ps.h: Regenerated.
19001         * lib/unictype/categ_S.h: Regenerated.
19002         * lib/unictype/categ_Sk.h: Regenerated.
19003         * lib/unictype/categ_Sm.h: Regenerated.
19004         * lib/unictype/categ_So.h: Regenerated.
19005         * lib/unictype/categ_of.h: Regenerated.
19006         * lib/unictype/combining.h: Regenerated.
19007         * lib/unictype/ctype_alnum.h: Regenerated.
19008         * lib/unictype/ctype_alpha.h: Regenerated.
19009         * lib/unictype/ctype_graph.h: Regenerated.
19010         * lib/unictype/ctype_lower.h: Regenerated.
19011         * lib/unictype/ctype_print.h: Regenerated.
19012         * lib/unictype/ctype_punct.h: Regenerated.
19013         * lib/unictype/ctype_upper.h: Regenerated.
19014         * lib/unictype/decdigit.h: Regenerated.
19015         * lib/unictype/digit.h: Regenerated.
19016         * lib/unictype/mirror.h: Regenerated.
19017         * lib/unictype/numeric.h: Regenerated.
19018         * lib/unictype/pr_alphabetic.h: Regenerated.
19019         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
19020         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
19021         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
19022         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
19023         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
19024         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
19025         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
19026         * lib/unictype/pr_combining.h: Regenerated.
19027         * lib/unictype/pr_dash.h: Regenerated.
19028         * lib/unictype/pr_decimal_digit.h: Regenerated.
19029         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
19030         * lib/unictype/pr_deprecated.h: Regenerated.
19031         * lib/unictype/pr_diacritic.h: Regenerated.
19032         * lib/unictype/pr_extender.h: Regenerated.
19033         * lib/unictype/pr_format_control.h: Regenerated.
19034         * lib/unictype/pr_grapheme_base.h: Regenerated.
19035         * lib/unictype/pr_grapheme_extend.h: Regenerated.
19036         * lib/unictype/pr_grapheme_link.h: Regenerated.
19037         * lib/unictype/pr_id_continue.h: Regenerated.
19038         * lib/unictype/pr_id_start.h: Regenerated.
19039         * lib/unictype/pr_ideographic.h: Regenerated.
19040         * lib/unictype/pr_ignorable_control.h: Regenerated.
19041         * lib/unictype/pr_lowercase.h: Regenerated.
19042         * lib/unictype/pr_math.h: Regenerated.
19043         * lib/unictype/pr_numeric.h: Regenerated.
19044         * lib/unictype/pr_other_alphabetic.h: Regenerated.
19045         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
19046         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
19047         * lib/unictype/pr_other_id_continue.h: Regenerated.
19048         * lib/unictype/pr_other_lowercase.h: Regenerated.
19049         * lib/unictype/pr_other_math.h: Regenerated.
19050         * lib/unictype/pr_punctuation.h: Regenerated.
19051         * lib/unictype/pr_sentence_terminal.h: Regenerated.
19052         * lib/unictype/pr_soft_dotted.h: Regenerated.
19053         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
19054         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
19055         * lib/unictype/pr_unified_ideograph.h: Regenerated.
19056         * lib/unictype/pr_uppercase.h: Regenerated.
19057         * lib/unictype/pr_xid_continue.h: Regenerated.
19058         * lib/unictype/pr_xid_start.h: Regenerated.
19059         * lib/unictype/pr_zero_width.h: Regenerated.
19060         * lib/unictype/scripts.h: Regenerated.
19061         * lib/unictype/scripts_byname.gperf: Regenerated.
19062         * lib/unictype/sy_java_ident.h: Regenerated.
19063         * lib/unilbrk/lbrkprop1.h: Regenerated.
19064         * lib/unilbrk/lbrkprop2.h: Regenerated.
19065         * tests/unictype/test-categ_C.c: Regenerated.
19066         * tests/unictype/test-categ_Cf.c: Regenerated.
19067         * tests/unictype/test-categ_Cn.c: Regenerated.
19068         * tests/unictype/test-categ_L.c: Regenerated.
19069         * tests/unictype/test-categ_Ll.c: Regenerated.
19070         * tests/unictype/test-categ_Lm.c: Regenerated.
19071         * tests/unictype/test-categ_Lo.c: Regenerated.
19072         * tests/unictype/test-categ_Lu.c: Regenerated.
19073         * tests/unictype/test-categ_M.c: Regenerated.
19074         * tests/unictype/test-categ_Mc.c: Regenerated.
19075         * tests/unictype/test-categ_Me.c: Regenerated.
19076         * tests/unictype/test-categ_Mn.c: Regenerated.
19077         * tests/unictype/test-categ_N.c: Regenerated.
19078         * tests/unictype/test-categ_Nd.c: Regenerated.
19079         * tests/unictype/test-categ_Nl.c: Regenerated.
19080         * tests/unictype/test-categ_No.c: Regenerated.
19081         * tests/unictype/test-categ_P.c: Regenerated.
19082         * tests/unictype/test-categ_Pd.c: Regenerated.
19083         * tests/unictype/test-categ_Pe.c: Regenerated.
19084         * tests/unictype/test-categ_Pf.c: Regenerated.
19085         * tests/unictype/test-categ_Pi.c: Regenerated.
19086         * tests/unictype/test-categ_Po.c: Regenerated.
19087         * tests/unictype/test-categ_Ps.c: Regenerated.
19088         * tests/unictype/test-categ_S.c: Regenerated.
19089         * tests/unictype/test-categ_Sk.c: Regenerated.
19090         * tests/unictype/test-categ_Sm.c: Regenerated.
19091         * tests/unictype/test-categ_So.c: Regenerated.
19092         * tests/unictype/test-ctype_alnum.c: Regenerated.
19093         * tests/unictype/test-ctype_alpha.c: Regenerated.
19094         * tests/unictype/test-ctype_graph.c: Regenerated.
19095         * tests/unictype/test-ctype_lower.c: Regenerated.
19096         * tests/unictype/test-ctype_print.c: Regenerated.
19097         * tests/unictype/test-ctype_punct.c: Regenerated.
19098         * tests/unictype/test-ctype_upper.c: Regenerated.
19099         * tests/unictype/test-decdigit.h: Regenerated.
19100         * tests/unictype/test-digit.h: Regenerated.
19101         * tests/unictype/test-numeric.h: Regenerated.
19102         * tests/unictype/test-pr_alphabetic.c: Regenerated.
19103         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
19104         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
19105         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
19106         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
19107         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
19108         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
19109         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
19110         * tests/unictype/test-pr_combining.c: Regenerated.
19111         * tests/unictype/test-pr_dash.c: Regenerated.
19112         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
19113         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
19114         * tests/unictype/test-pr_deprecated.c: Regenerated.
19115         * tests/unictype/test-pr_diacritic.c: Regenerated.
19116         * tests/unictype/test-pr_extender.c: Regenerated.
19117         * tests/unictype/test-pr_format_control.c: Regenerated.
19118         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
19119         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
19120         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
19121         * tests/unictype/test-pr_id_continue.c: Regenerated.
19122         * tests/unictype/test-pr_id_start.c: Regenerated.
19123         * tests/unictype/test-pr_ideographic.c: Regenerated.
19124         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
19125         * tests/unictype/test-pr_lowercase.c: Regenerated.
19126         * tests/unictype/test-pr_math.c: Regenerated.
19127         * tests/unictype/test-pr_numeric.c: Regenerated.
19128         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
19129         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
19130         Regenerated.
19131         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
19132         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
19133         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
19134         * tests/unictype/test-pr_other_math.c: Regenerated.
19135         * tests/unictype/test-pr_punctuation.c: Regenerated.
19136         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
19137         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
19138         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
19139         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
19140         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
19141         * tests/unictype/test-pr_uppercase.c: Regenerated.
19142         * tests/unictype/test-pr_xid_continue.c: Regenerated.
19143         * tests/unictype/test-pr_xid_start.c: Regenerated.
19144         * tests/unictype/test-pr_zero_width.c: Regenerated.
19145
19146         Update to Unicode 5.1.0.
19147         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
19148         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
19149         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
19150         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
19151         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
19152         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
19153         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
19154         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
19155         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
19156         (nonspacing_table_ind): Update.
19157         * tests/uniwidth/test-uc_width2.sh: Update expected result.
19158
19159         Update to Unicode 5.1.0.
19160         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
19161         code transform.
19162         * lib/uniname/uniname.c (unicode_character_name,
19163         unicode_name_character): Add the range 0x1Fxxx to the code transform.
19164         * lib/uniname/uninames.h: Regenerated.
19165         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
19166
19167 2009-02-07  Bruno Haible  <bruno@clisp.org>
19168
19169         Merge gen-ctype and gen-lbrk into a single program.
19170         * lib/gen-uni-tables.c: New file, incorporating
19171         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
19172         Add directory prefixes to the names of the generated files.
19173         * lib/unictype/gen-ctype.c: Remove file.
19174         * lib/unilbrk/gen-lbrk.c: Remove file.
19175         * modules/gen-uni-tables: New file.
19176         * modules/unictype/gen-ctype: Remove file.
19177         * modules/unilbrk/gen-lbrk: Remove file.
19178
19179 2009-02-07  Bruno Haible  <bruno@clisp.org>
19180
19181         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
19182
19183         New module 'unistr/u32-strcoll'.
19184         * modules/unistr/u32-strcoll: New file.
19185         * lib/unistr/u32-strcoll.c: New file.
19186
19187         New module 'unistr/u16-strcoll'.
19188         * modules/unistr/u16-strcoll: New file.
19189         * lib/unistr/u16-strcoll.c: New file.
19190
19191         New module 'unistr/u8-strcoll'.
19192         * modules/unistr/u8-strcoll: New file.
19193         * lib/unistr/u8-strcoll.c: New file.
19194         * lib/unistr/u-strcoll.h: New file.
19195
19196 2009-02-07  Bruno Haible  <bruno@clisp.org>
19197
19198         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
19199         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
19200         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
19201         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
19202         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
19203         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
19204
19205 2009-02-07  Bruno Haible  <bruno@clisp.org>
19206
19207         Make 64-bit clean.
19208         * lib/unictype/gen-ctype.c (output_predicate, output_category,
19209         output_combclass, output_bidi_category, output_decimal_digit,
19210         output_digit, output_numeric, output_mirror, output_scripts,
19211         output_ident_category): Use proper width specifier in format strings.
19212
19213 2009-02-07  Bruno Haible  <bruno@clisp.org>
19214
19215         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
19216         failure behaviour.
19217
19218 2009-02-07  Jim Meyering  <meyering@redhat.com>
19219
19220         regex: avoid compilation failure with upcoming gcc-4.4
19221         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
19222         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
19223         "... error: integer overflow in preprocessor expression".
19224
19225 2009-02-05  Ben Pfaff  <blp@gnu.org>
19226
19227         Fix link errors on Windows when close module is used.
19228         * modules/close: Add $(LIB_CLOSE) to Link section.
19229         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
19230         $(LIB_CLOSE) on Windows.
19231
19232 2009-02-05  Jim Meyering  <meyering@redhat.com>
19233
19234         still avoid unused-parameter warnings, but do it cleanly
19235         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
19236         (get_fs_usage): Cast to void instead.
19237         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
19238         (dev_from_mount_options, read_file_system_list): Cast to void.
19239         Prompted by Bruno Haible.
19240
19241 2009-02-04  Jim Meyering  <meyering@redhat.com>
19242
19243         fsusage.c: correct copyright year
19244         * lib/fsusage.c: Reflect year in which the change is pushed into
19245
19246         avoid misc. warnings
19247         * lib/fsusage.c (UNUSED_PARAM): Define.
19248         (get_fs_usage): Mark parameter "disk" as unused.
19249         * lib/getugroups.c (getgrent): Use "void" in prototype.
19250         * lib/mountlist.c: Mark unused parameters.
19251         (read_file_system_list): Declare a local with "const".
19252         * lib/nanosleep.c (getnow): Declare static.
19253         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
19254
19255         dirfd: set errno upon failure
19256         * lib/dirfd.c: Include <errno.h>.
19257         Set errno to ENOTSUP when returning -1.
19258         * modules/dirfd (Depends-on): Add errno.
19259         Suggested by John Kodis <kodis@comcast.net>.
19260
19261 2009-02-01  Bruno Haible  <bruno@clisp.org>
19262
19263         Don't assume sizeof (long) >= sizeof (void *).
19264         * lib/memcmp.c: Include stdint.h.
19265         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
19266         srcp2 to 'const byte *'.
19267         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
19268         types to uintptr_t.
19269         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
19270         * modules/memcmp (Depends-on): Add stdint.
19271         Reported by Ozkan Sezer <sezeroz@gmail.com>.
19272
19273 2009-01-30  Eric Blake  <ebb9@byu.net>
19274
19275         fix more require-before-expand issues
19276         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
19277         expand, AC_PROG_AWK.
19278         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
19279
19280 2009-01-28  Eric Blake  <ebb9@byu.net>
19281
19282         version-etc: use consistent URL formatting
19283         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
19284         Improve formatting.  Use fputs for string without %.
19285
19286 2009-01-28  Jim Meyering  <meyering@redhat.com>
19287
19288         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
19289         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
19290         "underquoted definition of NAME" from autoconf-2.59.
19291
19292 2009-01-28  Bruno Haible  <bruno@clisp.org>
19293
19294         * doc/gnulib.texi: Add "Obsolete modules" to index.
19295
19296 2009-01-28  Jim Meyering  <meyering@redhat.com>
19297
19298         useless-if-before-free: recognize more variants
19299         * build-aux/useless-if-before-free: Also recognize e.g.,
19300         if (NULL != p) free (p);
19301
19302 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
19303
19304         test-getaddrinfo: skip (don't fail) this test when there's no network
19305         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
19306         on the presumption that it means you lack network access.
19307
19308 2009-01-26  Jim Meyering  <meyering@redhat.com>
19309
19310         fflush: avoid warnings on modern systems
19311         * lib/fflush.c (rpl_fflush): Move declarations of locals,
19312         pos and result, into scopes where they're used.
19313
19314 2009-01-26  Eric Blake  <ebb9@byu.net>
19315
19316         Silence warning reintroduced by recent extensions patch.
19317         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
19318         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
19319         autoconf.
19320
19321         Backport improved autoconf semantics of AC_DEFUN_ONCE.
19322         * m4/00gnulib.m4: New file.
19323         * gnulib-tool (func_get_filelist): Always use it.
19324         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
19325         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
19326
19327 2009-01-25  Bruno Haible  <bruno@clisp.org>
19328
19329         Make test-quotearg work on MacOS X and AIX.
19330         * tests/test-quotearg.sh: New file.
19331         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
19332         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
19333         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
19334         include <libintl.h>.
19335         (fake_locale): Remove variable.
19336         (gettext, dgettext, dcgettext): Remove functions.
19337         (main): Instead of setting a fake locale, set a real locale. Call
19338         textdomain and bindtextdomain.
19339         * modules/quotearg-tests (Files): Add the new files.
19340         (Depends-on): Add gettext, setenv, unsetenv.
19341         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
19342         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
19343         Augment TESTS_ENVIRONMENT.
19344
19345 2009-01-25  Bruno Haible  <bruno@clisp.org>
19346
19347         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
19348         fr_FR.ISO8859-1 locale on MacOS X.
19349         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
19350         ja_JP.eucJP locale on MacOS X.
19351         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
19352         zh_CN.GB18030 locale on MacOS X.
19353
19354 2009-01-25  Bruno Haible  <bruno@clisp.org>
19355
19356         Avoid link errors on MacOS X 10.3.
19357         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
19358         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
19359
19360 2009-01-25  Bruno Haible  <bruno@clisp.org>
19361
19362         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
19363         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
19364         * modules/pipe (Files): Remove m4/posix_spawn.m4.
19365         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
19366         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
19367         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
19368         posix_spawnattr_init, posix_spawnattr_setsigmask,
19369         posix_spawnattr_setflags, posix_spawnattr_destroy.
19370
19371         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
19372         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
19373         * modules/execute (Files): Remove m4/posix_spawn.m4.
19374         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
19375         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
19376         posix_spawnattr_init, posix_spawnattr_setsigmask,
19377         posix_spawnattr_setflags, posix_spawnattr_destroy.
19378
19379 2009-01-25  Bruno Haible  <bruno@clisp.org>
19380
19381         * lib/glthread/threadlib.c: Include <stdlib.h>.
19382
19383 2009-01-25  Bruno Haible  <bruno@clisp.org>
19384
19385         * lib/glthread/threadlib.c (dummy): New declaration.
19386
19387 2009-01-25  Bruno Haible  <bruno@clisp.org>
19388
19389         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
19390         multibyte characters also for the GB18030 encoding. Don't crash when
19391         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
19392
19393 2009-01-25  Bruno Haible  <bruno@clisp.org>
19394
19395         Avoid redefining 'struct random_data' on OSF/1 5.1.
19396         * lib/stdlib.in.h: Include <random.h> if it exists.
19397         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
19398         HAVE_RANDOM_H. Include <random.h> when testing whether
19399         'struct random_data' exists.
19400         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
19401
19402 2009-01-25  Bruno Haible  <bruno@clisp.org>
19403
19404         Don't install charset.alias on MacOS X >= 10.3.
19405         * lib/localcharset.c (DARWIN7): New macro.
19406         (get_charset_aliases): Hardcode the result for Darwin7.
19407         * modules/localcharset (install-exec-local): Don't install
19408         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
19409
19410 2009-01-25  Bruno Haible  <bruno@clisp.org>
19411
19412         Don't install charset.alias on mingw and Cygwin.
19413         * modules/localcharset (install-exec-local): Don't install
19414         charset.alias on mingw and Cygwin, if the file does not yet exist.
19415         The result for these platforms is hardcoded in localcharset.c.
19416
19417 2009-01-25  Bruno Haible  <bruno@clisp.org>
19418
19419         Make it possible again to use AC_GNU_SOURCE together with gnulib.
19420         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
19421         before requiring AC_USE_SYSTEM_EXTENSIONS.
19422
19423 2009-01-25  Jim Meyering  <meyering@redhat.com>
19424
19425         c-strtod: avoid warnings
19426         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
19427         "assignment discards qualifiers from pointer target type" warnings.
19428
19429 2009-01-24  Bruno Haible  <bruno@clisp.org>
19430
19431         Add support for non-UTF-8 locales on MacOS X.
19432         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
19433         canonical encodings. For Darwin 7 and newer, don't map traditional
19434         encodings to UTF-8.
19435         Reported by Vincent Lefevre <vincent@vinc17.org>
19436         at <http://savannah.gnu.org/bugs/?25235>.
19437
19438 2009-01-24  Bruno Haible  <bruno@clisp.org>
19439
19440         * doc/gnulib.texi (Obsolete modules): New section.
19441         Reported by Mike Frysinger <vapier@gentoo.org>.
19442
19443 2009-01-24  Bruno Haible  <bruno@clisp.org>
19444
19445         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
19446         (%.dvi): New rule.
19447
19448 2009-01-24  Bruno Haible  <bruno@clisp.org>
19449
19450         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
19451         Reported by Eric Blake.
19452
19453 2009-01-24  Bruno Haible  <bruno@clisp.org>
19454
19455         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
19456         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
19457         Reported by Gary V. Vaughan <gary@gnu.org>.
19458
19459 2009-01-24  Bruno Haible  <bruno@clisp.org>
19460
19461         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
19462
19463 2009-01-23  Bruno Haible  <bruno@clisp.org>
19464
19465         Make c-strtod, c-strtold usable in libraries.
19466         * lib/c-strtod.c: Include string.h instead of xalloc.h.
19467         (C_STRTOD): Call strdup instead of xstrdup.
19468         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
19469         * modules/c-strtold (Depends-on): Likewise.
19470         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
19471         * NEWS: Mention the change.
19472         Reported by Michael Gold <mgold@ncf.ca>.
19473
19474 2009-01-23  Jim Meyering  <meyering@redhat.com>
19475
19476         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
19477         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
19478         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
19479
19480 2009-01-23  Simon Josefsson  <simon@josefsson.org>
19481
19482         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
19483         GNU CoreUtils.
19484         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
19485         * modules/version-etc (Description): Update.
19486
19487 2009-01-22  Bruno Haible  <bruno@clisp.org>
19488
19489         Cache the C locale object.
19490         * lib/c-strtod.c (c_locale_cache): New variable.
19491         (c_locale): New function.
19492         (C_STRTOD): Use it, and don't call freelocale.
19493         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
19494         Suggested by Paolo Bonzini.
19495
19496 2009-01-21  Bruno Haible  <bruno@clisp.org>
19497
19498         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
19499         conditions other than overflow.
19500
19501 2009-01-21  Bruno Haible  <bruno@clisp.org>
19502
19503         * lib/c-strtod.c: Include errno.h.
19504         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
19505         value from STRTOD_L and STRTOD.
19506
19507 2009-01-21  Bruno Haible  <bruno@clisp.org>
19508         and Jim Meyering  <meyering@redhat.com>
19509
19510         nanosleep: skip configure test (fail it) for apple universal builds
19511         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
19512         universal builds, assume that nanosleep does not work.
19513         * modules/nanosleep (Depends-on): Add multiarch.
19514
19515         mktime: skip configure test (fail it) for apple universal builds
19516         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
19517         universal builds, assume that mktime does not work.
19518         * modules/mktime (Depends-on): Add multiarch.
19519
19520 2009-01-21  Eric Blake  <ebb9@byu.net>
19521
19522         multiarch: avoid expand-before-require warning
19523         * modules/multiarch (configure.ac): Require, rather than expand,
19524         gl_MULTIARCH.
19525         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
19526         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
19527         enforce that all clients require it.  Partial reversion of
19528         2008-12-29 patch.
19529
19530         error: avoid expand-before-require warning
19531         * modules/errno (configure.ac): Require, rather than expand,
19532         gl_HEADER_ERRNO_H.
19533         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
19534         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
19535         enforce that all clients require it.
19536
19537         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
19538         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
19539         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
19540         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
19541
19542 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
19543
19544         Revert:
19545         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
19546
19547         regex: do not depend on obsolete modules.
19548         * modules/regex: Remove memcmp and memmove.
19549
19550 2009-01-20  Bruno Haible  <bruno@clisp.org>
19551
19552         Make the 'link' module link on Windows NT 4.
19553         * lib/link.c (_WIN32_WINNT): Don't define.
19554         (CreateHardLinkFuncType): New type.
19555         (CreateHardLinkFunc, initialized): New variables.
19556         (initialize): New function.
19557         (link): Invoke CreateHardLink indirectly through the function pointer.
19558
19559 2009-01-20  Bruno Haible  <bruno@clisp.org>
19560
19561         Fix compilation failure on mingw.
19562         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
19563
19564 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
19565
19566         * doc/c-strtod.texi: Mention a couple of restrictions.
19567
19568 2009-01-20  Jim Meyering  <meyering@redhat.com>
19569
19570         gettimeofday: move more declarations out of functions
19571         * lib/gettimeofday.c: Move extern declarations of tzset and
19572         gmtime out of containing functions.  Prompted by Bruno Haible.
19573
19574 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
19575
19576         regex: do not depend on obsolete modules.
19577         * modules/regex: Remove memcmp and memmove.
19578
19579 2009-01-19  Bruno Haible  <bruno@clisp.org>
19580
19581         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
19582         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
19583         gl_BIGENDIAN, not AC_C_BIGENDIAN.
19584         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
19585         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
19586
19587 2009-01-19  Bruno Haible  <bruno@clisp.org>
19588
19589         * tests/test-link.c: Include <errno.h>.
19590         (main): Exit with code 77 when a hard link cannot be created due to
19591         the file system.
19592         * tests/test-link.sh: Skip test when a hard link cannot be created due
19593         to the file system.
19594         Suggested by Eric Blake.
19595
19596 2009-01-19  Martin Lambers  <marlam@marlam.de>
19597
19598         * modules/link-tests: New file.
19599         * tests/test-link.sh: New file.
19600         * tests/test-link.c: New file.
19601
19602 2009-01-19  Eric Blake  <ebb9@byu.net>
19603
19604         doc: mention another function added in cygwin 1.7.0
19605         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
19606         Another new function in cygwin 1.7.
19607
19608 2009-01-19  Bruno Haible  <bruno@clisp.org>
19609
19610         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
19611         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
19612         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
19613         gl_BIGENDIAN, not AC_C_BIGENDIAN.
19614         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
19615         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
19616         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
19617         * m4/md4.m4 (gl_MD4): Likewise.
19618         * m4/md5.m4 (gl_MD5): Likewise.
19619         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
19620         * m4/sha1.m4 (gl_SHA1): Likewise.
19621         * m4/sha256.m4 (gl_SHA256): Likewise.
19622         * m4/sha512.m4 (gl_SHA512): Likewise.
19623
19624 2009-01-19  Bruno Haible  <bruno@clisp.org>
19625
19626         * modules/uniname/uniname-tests (Depends-on): Add progname.
19627         * tests/uniname/test-uninames.c: Include progname.h.
19628         (main): Call set_program_name.
19629
19630         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
19631         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
19632         (main): Call set_program_name.
19633
19634         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
19635         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
19636         (main): Call set_program_name.
19637
19638         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
19639         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
19640         (main): Call set_program_name.
19641
19642         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
19643         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
19644         (main): Call set_program_name.
19645
19646         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
19647         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
19648         (main): Call set_program_name.
19649
19650         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
19651         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
19652         (main): Call set_program_name.
19653
19654         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
19655         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
19656         (main): Call set_program_name.
19657
19658         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
19659         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
19660         (main): Call set_program_name.
19661
19662 2009-01-19  Eric Blake  <ebb9@byu.net>
19663
19664         test-unistd: test previous patch
19665         * tests/test-unistd.c: Test *_FILENO macros.
19666
19667         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
19668         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
19669         Guarantee a definition.
19670         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
19671         * modules/unistd-safer (Depends-on): Add dependency on unistd.
19672         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
19673         * lib/dup-safer.c (STDERR_FILENO): Likewise.
19674         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
19675         Likewise.
19676         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
19677         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
19678         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
19679         Likewise.
19680         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
19681         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
19682         (STDERR_FILENO): Likewise.
19683         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
19684         (STDERR_FILENO): Likewise.
19685         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
19686         (STDERR_FILENO): Likewise.
19687         Reported by Elbert Pol.
19688
19689 2009-01-19  Eric Blake  <ebb9@byu.net>
19690
19691         doc: mention more functions added in cygwin 1.7.0
19692         * doc/posix-functions/abort.texi (abort): Update wording related
19693         to cygwin.
19694         * doc/posix-functions/daylight.texi (daylight): Likewise.
19695         * doc/posix-functions/optarg.texi (optarg): Likewise.
19696         * doc/posix-functions/optarg.texi (opterr): Likewise.
19697         * doc/posix-functions/optarg.texi (optind): Likewise.
19698         * doc/posix-functions/optarg.texi (optopt): Likewise.
19699         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
19700         worked in 1.5.x, and was withdrawn in 1.7.
19701         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19702         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
19703         cygwin versions.
19704         * doc/posix-functions/perror.texi (perror): Likewise.
19705         * doc/posix-functions/printf.texi (printf): Likewise.
19706         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
19707         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
19708         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19709         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19710         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
19711         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
19712         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
19713         Likewise.
19714         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
19715         Likewise.
19716         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
19717         this function.
19718         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
19719         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
19720         Likewise.
19721         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
19722         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
19723         * doc/posix-functions/confstr.texi (confstr): Likewise.
19724         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
19725         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
19726         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
19727         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
19728         * doc/posix-functions/fputws.texi (fputws): Likewise.
19729         * doc/posix-functions/fwide.texi (fwide): Likewise.
19730         * doc/posix-functions/getwc.texi (getwc): Likewise.
19731         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
19732         * doc/posix-functions/putwc.texi (putwc): Likewise.
19733         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19734         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
19735         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
19736         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19737         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
19738         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
19739         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
19740         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
19741         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
19742         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
19743         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
19744
19745 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
19746
19747         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
19748         * lib/ioctl.c: Include <sys/ioctl.h>.
19749
19750 2009-01-19  Simon Josefsson  <simon@josefsson.org>
19751
19752         * modules/getdate-tests (Depends-on): Add progname.
19753         * tests/test-getdate.c: Use progname module, to avoid link errors
19754         on non-glibc systems.
19755
19756 2009-01-18  Simon Josefsson  <simon@josefsson.org>
19757
19758         * modules/filenamecat-tests (Depends-on): Add progname.
19759         * modules/fstrcmp-tests (Depends-on): Likewise.
19760
19761         * tests/test-filenamecat.c: Use progname module, to avoid link
19762         errors on non-glibc systems.
19763         * tests/test-fstrcmp.c: Likewise.
19764
19765 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
19766
19767         gettimeofday: avoid warning: nested extern declaration of 'localtime'
19768         * lib/gettimeofday.c: Move extern declaration out of function.
19769
19770 2009-01-18  Bruno Haible  <bruno@clisp.org>
19771
19772         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
19773         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
19774         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
19775
19776 2009-01-18  Bruno Haible  <bruno@clisp.org>
19777
19778         * lib/strftime.c (MEMPCPY): Remove unused macro.
19779         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
19780
19781 2009-01-18  Martin Lambers  <marlam@marlam.de>
19782
19783         New module 'link'.
19784         * lib/unistd.in.h (link): New declaration.
19785         * lib/link.c: New file.
19786         * m4/link.m4: New file.
19787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
19788         HAVE_LINK.
19789         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
19790         * modules/link: New file.
19791         * doc/posix-functions/link.texi: Mention the new module.
19792
19793 2009-01-18  Bruno Haible  <bruno@clisp.org>
19794
19795         * tests/test-avltree_list.c (main): Call set_program_name.
19796         * tests/test-avltree_oset.c (main): Likewise.
19797         * tests/test-obstack-printf.c: Include progname.h.
19798         (main): Call set_program_name.
19799         * tests/test-quotearg.c: Include progname.h.
19800         (main): Call set_program_name.
19801         * tests/test-xmemdup0.c: Include progname.h.
19802         (main): Call set_program_name.
19803
19804 2009-01-18  Bruno Haible  <bruno@clisp.org>
19805
19806         New module 'alphasort'.
19807         * lib/dirent.in.h (alphasort): New declaration.
19808         * lib/alphasort.c: New file, from glibc with modifications.
19809         * m4/alphasort.m4: New file.
19810         * modules/alphasort: New file.
19811         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
19812         HAVE_ALPHASORT.
19813         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
19814         HAVE_ALPHASORT.
19815         * doc/posix-functions/alphasort.texi: Mention the new module and the
19816         portability problems.
19817
19818 2009-01-18  Bruno Haible  <bruno@clisp.org>
19819
19820         New module 'scandir'.
19821         * lib/dirent.in.h (scandir): New declaration.
19822         * lib/scandir.c: New file, from glibc with modifications.
19823         * m4/scandir.m4: New file.
19824         * modules/scandir: New file.
19825         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
19826         HAVE_SCANDIR.
19827         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
19828         HAVE_SCANDIR.
19829         * doc/posix-functions/scandir.texi: Mention the new module and the
19830         portability problems.
19831
19832 2009-01-17  Bruno Haible  <bruno@clisp.org>
19833
19834         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
19835         Update documentation.
19836         (func_remove_suffix): Escape all dots in the suffix. Update
19837         documentation.
19838         (func_filter_filelist): Update documentation.
19839         Reported by Ralf Wildenhues.
19840
19841 2009-01-17  Bruno Haible  <bruno@clisp.org>
19842
19843         * modules/dprintf-posix-tests: New file.
19844         * tests/test-dprintf-posix.sh: New file.
19845         * tests/test-dprintf-posix.c: New file.
19846
19847         New modules 'dprintf', 'dprintf-posix'.
19848         * lib/stdio.in.h (dprintf): New declaration.
19849         * lib/dprintf.c: New file.
19850         * m4/dprintf.m4: New file.
19851         * m4/dprintf-posix.m4: New file.
19852         * modules/dprintf: New file.
19853         * modules/dprintf-posix: New file.
19854         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
19855         HAVE_DPRINTF, REPLACE_DPRINTF.
19856         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
19857         HAVE_DPRINTF, REPLACE_DPRINTF.
19858         * doc/posix-functions/dprintf.texi: Mention the new modules.
19859
19860 2009-01-17  Bruno Haible  <bruno@clisp.org>
19861
19862         * modules/vdprintf-posix-tests: New file.
19863         * tests/test-vdprintf-posix.sh: New file.
19864         * tests/test-vdprintf-posix.c: New file.
19865
19866         New modules 'vdprintf', 'vdprintf-posix'.
19867         * lib/stdio.in.h (vdprintf): New declaration.
19868         * lib/vdprintf.c: New file.
19869         * m4/vdprintf.m4: New file.
19870         * m4/vdprintf-posix.m4: New file.
19871         * modules/vdprintf: New file.
19872         * modules/vdprintf-posix: New file.
19873         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
19874         HAVE_VDPRINTF, REPLACE_VDPRINTF.
19875         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
19876         HAVE_VDPRINTF, REPLACE_VDPRINTF.
19877         * doc/posix-functions/vdprintf.texi: Mention the new modules.
19878
19879 2009-01-17  Bruno Haible  <bruno@clisp.org>
19880
19881         Fix replacement of fopen on mingw.
19882         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
19883         mingw.
19884
19885 2009-01-17  Bruno Haible  <bruno@clisp.org>
19886
19887         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
19888         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
19889
19890 2009-01-17  Bruno Haible  <bruno@clisp.org>
19891
19892         Avoid test-fflush2.sh failure on mingw.
19893         * tests/test-fflush2.c: Include binary-io.h.
19894         (main): Put standard input into binary mode.
19895         * modules/fflush-tests (Depends-on): Add binary-io.
19896
19897 2009-01-17  Bruno Haible  <bruno@clisp.org>
19898
19899         * lib/wchar.in.h: In another particular situation, include only the
19900         system's <wchar.h> file.
19901         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
19902         Reported by Albert Chin-A-Young <china@thewrittenword.com>
19903         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
19904
19905 2009-01-17  Bruno Haible  <bruno@clisp.org>
19906
19907         Support for stripping executables in --enable-relocatable.
19908         * build-aux/install-reloc: Expect one more argument, or an environment
19909         variable RELOC_STRIP_PROG. If set, strip the destination program and
19910         its wrapper.
19911         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
19912         RELOC_STRIP_PROG.
19913         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
19914         to set RELOCATABLE_STRIP.
19915         * NEWS: Mention the new Makefile requirement.
19916
19917 2009-01-17  Bruno Haible  <bruno@clisp.org>
19918
19919         * build-aux/install-reloc: Remove debugging information left over by
19920         C compiler on MacOS X.
19921
19922 2009-01-17  Bruno Haible  <bruno@clisp.org>
19923
19924         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
19925         * lib/progreloc.c (find_executable): Fix type of pointer passed to
19926         _NSGetExecutablePath.
19927
19928 2009-01-16  Jim Meyering  <meyering@redhat.com>
19929
19930         strerror: avoid warnings about discarding "const"
19931         * lib/strerror.c (rpl_strerror): Instead of returning a const
19932         string from each and every "case", use a variable, and add a single
19933         cast after the switch.
19934
19935 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
19936
19937         * lib/arpa_inet.in.h: Add extern "C" block for C++.
19938
19939 2009-01-16  Bruno Haible  <bruno@clisp.org>
19940
19941         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
19942         array initializer syntax that also works in C++ mode.
19943         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19944
19945 2009-01-16  Jim Meyering  <meyering@redhat.com>
19946
19947         poll: suppress a warning
19948         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
19949         to ignore "...unsigned expression < 0 is always false" warnings.
19950
19951 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
19952
19953         poll: remove declarations of unused variables
19954         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
19955         sockbuf and optlen.
19956
19957 2009-01-15  Bruno Haible  <bruno@clisp.org>
19958
19959         Make fflush-after-ungetc POSIX compliant on BSD systems.
19960         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
19961         (clear_ungetc_buffer): Implement also for other systems.
19962         (rpl_fflush): On glibc systems, invoke
19963         clear_ungetc_buffer_preserving_position. Otherwise, invoke
19964         clear_ungetc_buffer after fetching the stream's position, not before.
19965
19966 2009-01-15  Bruno Haible  <bruno@clisp.org>
19967
19968         Make fflush-after-ungetc POSIX compliant on glibc systems.
19969         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
19970         after ungetc.
19971         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
19972         (rpl_fflush): On glibc systems, simply call the system's fflush
19973         function after clearing the ungetc buffer.
19974         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
19975         Instead, lseek only to the end of file, then use the system's fseeko
19976         for the rest. On glibc systems, reset the EOF indicator bit.
19977
19978 2009-01-15  Jim Meyering  <meyering@redhat.com>
19979
19980         openmp.m4: revert quote-adding change, for portability to older autoconf
19981         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
19982         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
19983         Simon Josefsson noticed the problem when using autoconf-2.61.
19984
19985 2009-01-15  Bruno Haible  <bruno@clisp.org>
19986
19987         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
19988         * tests/test-fflush2.c (ASSERT): Always fail.
19989         (main): Add two tests for fflush() after ungetc(), taking into account
19990         the Austin Group's clarification.
19991         Suggested by Eric Blake.
19992
19993 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
19994
19995         mktime.m4: remove K&R-style function prototypes
19996         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
19997         for the Sun C++ compiler.
19998
19999 2009-01-14  Bruno Haible  <bruno@clisp.org>
20000
20001         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
20002         while including <wchar.h>.
20003         * lib/wchar.in.h: In two particular situations on HP-UX, include only
20004         the system's <wchar.h> file.
20005         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20006
20007 2009-01-14  Bruno Haible  <bruno@clisp.org>
20008
20009         * m4/csharp.m4: Don't mention gettext on the serial number line.
20010         * m4/csharpexec.m4: Likewise.
20011         * m4/eaccess.m4: Likewise.
20012         * m4/javaexec.m4: Likewise.
20013         * m4/sig_atomic_t.m4: Likewise.
20014         * m4/tmpdir.m4: Likewise.
20015         * m4/intldir.m4: Bump gettext version.
20016         * m4/lib-ld.m4: Likewise.
20017
20018 2009-01-14  Bruno Haible  <bruno@clisp.org>
20019
20020         * lib/progname.c (set_program_name): Add more comments.
20021         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
20022
20023 2009-01-14  Simon Josefsson  <simon@josefsson.org>
20024
20025         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
20026         were sys/stat.h does not define it.
20027
20028 2009-01-14  Jim Meyering  <meyering@redhat.com>
20029
20030         many *.m4 files: improve m4 quoting
20031         99% of this change was performed by running the following commands:
20032         git ls-files | grep '\.m4$' | xargs perl -pi \
20033           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
20034           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
20035           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
20036           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
20037         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
20038         The remainder were to add Copyright dates, increment serial numbers,
20039         undo some changes in comments, exclude m4/intl.m4, and add quotes
20040         around the "1" in ",1" where the unusual spacing prohibited the
20041         above regexps from doing the job.  For more details, see
20042         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
20043         * m4/acl.m4: Modified.
20044         * m4/afs.m4: Likewise.
20045         * m4/alloca.m4: Likewise.
20046         * m4/argp.m4: Likewise.
20047         * m4/argz.m4: Likewise.
20048         * m4/atexit.m4: Likewise.
20049         * m4/bison-i18n.m4: Likewise.
20050         * m4/bison.m4: Likewise.
20051         * m4/byteswap.m4: Likewise.
20052         * m4/c-stack.m4: Likewise.
20053         * m4/c-strtod.m4: Likewise.
20054         * m4/calloc.m4: Likewise.
20055         * m4/canonicalize-lgpl.m4: Likewise.
20056         * m4/chown.m4: Likewise.
20057         * m4/clock_time.m4: Likewise.
20058         * m4/codeset.m4: Likewise.
20059         * m4/copy-file.m4: Likewise.
20060         * m4/csharp.m4: Likewise.
20061         * m4/csharpcomp.m4: Likewise.
20062         * m4/csharpexec.m4: Likewise.
20063         * m4/d-ino.m4: Likewise.
20064         * m4/d-type.m4: Likewise.
20065         * m4/dirfd.m4: Likewise.
20066         * m4/double-slash-root.m4: Likewise.
20067         * m4/eaccess.m4: Likewise.
20068         * m4/eealloc.m4: Likewise.
20069         * m4/environ.m4: Likewise.
20070         * m4/errno_h.m4: Likewise.
20071         * m4/euidaccess.m4: Likewise.
20072         * m4/execute.m4: Likewise.
20073         * m4/fatal-signal.m4: Likewise.
20074         * m4/fchdir.m4: Likewise.
20075         * m4/fcntl_h.m4: Likewise.
20076         * m4/fileblocks.m4: Likewise.
20077         * m4/filenamecat.m4: Likewise.
20078         * m4/findprog.m4: Likewise.
20079         * m4/flexmember.m4: Likewise.
20080         * m4/fnmatch.m4: Likewise.
20081         * m4/fopen.m4: Likewise.
20082         * m4/fpending.m4: Likewise.
20083         * m4/fprintf-posix.m4: Likewise.
20084         * m4/free.m4: Likewise.
20085         * m4/frexp.m4: Likewise.
20086         * m4/frexpl.m4: Likewise.
20087         * m4/fsusage.m4: Likewise.
20088         * m4/ftruncate.m4: Likewise.
20089         * m4/gc-camellia.m4: Likewise.
20090         * m4/gc-random.m4: Likewise.
20091         * m4/gc.m4: Likewise.
20092         * m4/getaddrinfo.m4: Likewise.
20093         * m4/getcwd-abort-bug.m4: Likewise.
20094         * m4/getcwd-path-max.m4: Likewise.
20095         * m4/getdate.m4: Likewise.
20096         * m4/getdomainname.m4: Likewise.
20097         * m4/getgroups.m4: Likewise.
20098         * m4/gethostname.m4: Likewise.
20099         * m4/gethrxtime.m4: Likewise.
20100         * m4/getline.m4: Likewise.
20101         * m4/getloadavg.m4: Likewise.
20102         * m4/getndelim2.m4: Likewise.
20103         * m4/getpass.m4: Likewise.
20104         * m4/gettext.m4: Likewise.
20105         * m4/gettime.m4: Likewise.
20106         * m4/gettimeofday.m4: Likewise.
20107         * m4/gnulib-common.m4: Likewise.
20108         * m4/group-member.m4: Likewise.
20109         * m4/host-os.m4: Likewise.
20110         * m4/iconv.m4: Likewise.
20111         * m4/iconv_open.m4: Likewise.
20112         * m4/inet_ntop.m4: Likewise.
20113         * m4/inet_pton.m4: Likewise.
20114         * m4/inline.m4: Likewise.
20115         * m4/intldir.m4: Likewise.
20116         * m4/intlmacosx.m4: Likewise.
20117         * m4/intmax.m4: Likewise.
20118         * m4/intmax_t.m4: Likewise.
20119         * m4/inttypes.m4: Likewise.
20120         * m4/inttypes_h.m4: Likewise.
20121         * m4/inttypes-pri.m4: Likewise.
20122         * m4/isapipe.m4: Likewise.
20123         * m4/isnand.m4: Likewise.
20124         * m4/isnanf.m4: Likewise.
20125         * m4/isnanl.m4: Likewise.
20126         * m4/javacomp.m4: Likewise.
20127         * m4/javaexec.m4: Likewise.
20128         * m4/jm-winsz1.m4: Likewise.
20129         * m4/jm-winsz2.m4: Likewise.
20130         * m4/lchown.m4: Likewise.
20131         * m4/lcmessage.m4: Likewise.
20132         * m4/ldexpl.m4: Likewise.
20133         * m4/lib-ld.m4: Likewise.
20134         * m4/lib-link.m4: Likewise.
20135         * m4/libsigsegv.m4: Likewise.
20136         * m4/link-follow.m4: Likewise.
20137         * m4/localcharset.m4: Likewise.
20138         * m4/locale-fr.m4: Likewise.
20139         * m4/locale-ja.m4: Likewise.
20140         * m4/locale-tr.m4: Likewise.
20141         * m4/locale-zh.m4: Likewise.
20142         * m4/lock.m4: Likewise.
20143         * m4/longlong.m4: Likewise.
20144         * m4/ls-mntd-fs.m4: Likewise.
20145         * m4/lstat.m4: Likewise.
20146         * m4/malloc.m4: Likewise.
20147         * m4/mathl.m4: Likewise.
20148         * m4/mbrtowc.m4: Likewise.
20149         * m4/mbstate_t.m4: Likewise.
20150         * m4/mbswidth.m4: Likewise.
20151         * m4/memchr.m4: Likewise.
20152         * m4/memcmp.m4: Likewise.
20153         * m4/memcpy.m4: Likewise.
20154         * m4/memmem.m4: Likewise.
20155         * m4/memmove.m4: Likewise.
20156         * m4/mempcpy.m4: Likewise.
20157         * m4/memrchr.m4: Likewise.
20158         * m4/memset.m4: Likewise.
20159         * m4/minmax.m4: Likewise.
20160         * m4/mkdir-slash.m4: Likewise.
20161         * m4/mkdtemp.m4: Likewise.
20162         * m4/mktime.m4: Likewise.
20163         * m4/mmap-anon.m4: Likewise.
20164         * m4/mountlist.m4: Likewise.
20165         * m4/nanosleep.m4: Likewise.
20166         * m4/nls.m4: Likewise.
20167         * m4/nocrash.m4: Likewise.
20168         * m4/open.m4: Likewise.
20169         * m4/openat.m4: Likewise.
20170         * m4/openmp.m4: Likewise.
20171         * m4/pathmax.m4: Likewise.
20172         * m4/perl.m4: Likewise.
20173         * m4/physmem.m4: Likewise.
20174         * m4/pipe.m4: Likewise.
20175         * m4/po.m4: Likewise.
20176         * m4/poll.m4: Likewise.
20177         * m4/posixtm.m4: Likewise.
20178         * m4/posixver.m4: Likewise.
20179         * m4/printf-frexp.m4: Likewise.
20180         * m4/printf-frexpl.m4: Likewise.
20181         * m4/printf-posix.m4: Likewise.
20182         * m4/printf-posix-rpl.m4: Likewise.
20183         * m4/printf.m4: Likewise.
20184         * m4/progtest.m4: Likewise.
20185         * m4/putenv.m4: Likewise.
20186         * m4/readline.m4: Likewise.
20187         * m4/readlink.m4: Likewise.
20188         * m4/readutmp.m4: Likewise.
20189         * m4/realloc.m4: Likewise.
20190         * m4/regex.m4: Likewise.
20191         * m4/relocatable.m4: Likewise.
20192         * m4/relocatable-lib.m4: Likewise.
20193         * m4/rename-dest-slash.m4: Likewise.
20194         * m4/rename.m4: Likewise.
20195         * m4/rmdir-errno.m4: Likewise.
20196         * m4/rmdir.m4: Likewise.
20197         * m4/roundf.m4: Likewise.
20198         * m4/roundl.m4: Likewise.
20199         * m4/rpmatch.m4: Likewise.
20200         * m4/save-cwd.m4: Likewise.
20201         * m4/selinux-selinux-h.m4: Likewise.
20202         * m4/setenv.m4: Likewise.
20203         * m4/settime.m4: Likewise.
20204         * m4/sig2str.m4: Likewise.
20205         * m4/sig_atomic_t.m4: Likewise.
20206         * m4/signalblocking.m4: Likewise.
20207         * m4/signbit.m4: Likewise.
20208         * m4/sigpipe.m4: Likewise.
20209         * m4/sockets.m4: Likewise.
20210         * m4/sockpfaf.m4: Likewise.
20211         * m4/st_dm_mode.m4: Likewise.
20212         * m4/stat-time.m4: Likewise.
20213         * m4/stdbool.m4: Likewise.
20214         * m4/stdint.m4: Likewise.
20215         * m4/stdint_h.m4: Likewise.
20216         * m4/stpcpy.m4: Likewise.
20217         * m4/stpncpy.m4: Likewise.
20218         * m4/strcase.m4: Likewise.
20219         * m4/strchrnul.m4: Likewise.
20220         * m4/strcspn.m4: Likewise.
20221         * m4/strdup.m4: Likewise.
20222         * m4/strftime.m4: Likewise.
20223         * m4/strndup.m4: Likewise.
20224         * m4/strnlen.m4: Likewise.
20225         * m4/strpbrk.m4: Likewise.
20226         * m4/strptime.m4: Likewise.
20227         * m4/strsep.m4: Likewise.
20228         * m4/strtod.m4: Likewise.
20229         * m4/strtoimax.m4: Likewise.
20230         * m4/strtok_r.m4: Likewise.
20231         * m4/strtol.m4: Likewise.
20232         * m4/strtoll.m4: Likewise.
20233         * m4/strtoul.m4: Likewise.
20234         * m4/strtoull.m4: Likewise.
20235         * m4/strtoumax.m4: Likewise.
20236         * m4/strverscmp.m4: Likewise.
20237         * m4/threadlib.m4: Likewise.
20238         * m4/timegm.m4: Likewise.
20239         * m4/tm_gmtoff.m4: Likewise.
20240         * m4/tmpdir.m4: Likewise.
20241         * m4/tmpfile.m4: Likewise.
20242         * m4/tzset.m4: Likewise.
20243         * m4/uintmax_t.m4: Likewise.
20244         * m4/unlinkdir.m4: Likewise.
20245         * m4/unlocked-io.m4: Likewise.
20246         * m4/uptime.m4: Likewise.
20247         * m4/userspec.m4: Likewise.
20248         * m4/utimbuf.m4: Likewise.
20249         * m4/utime.m4: Likewise.
20250         * m4/utimes-null.m4: Likewise.
20251         * m4/utimes.m4: Likewise.
20252         * m4/vararrays.m4: Likewise.
20253         * m4/vasnprintf.m4: Likewise.
20254         * m4/vfprintf-posix.m4: Likewise.
20255         * m4/vprintf-posix.m4: Likewise.
20256         * m4/wait-process.m4: Likewise.
20257         * m4/wchar_t.m4: Likewise.
20258         * m4/wint_t.m4: Likewise.
20259         * m4/write-any-file.m4: Likewise.
20260         * m4/yield.m4: Likewise.
20261
20262 2009-01-13  Bruno Haible  <bruno@clisp.org>
20263
20264         Avoid test-copy-file.sh failures when ACL support insufficient.
20265         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
20266         TESTS_ENVIRONMENT.
20267         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
20268         Reported by Jim Meyering.
20269
20270 2009-01-13  Bruno Haible  <bruno@clisp.org>
20271
20272         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
20273         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
20274         * modules/unistdio/u8-printf-parse (Files): Likewise.
20275         * modules/unistdio/u32-printf-parse (Files): Likewise.
20276         * modules/unistdio/ulc-printf-parse (Files): Likewise.
20277
20278 2009-01-13  Simon Josefsson  <simon@josefsson.org>
20279
20280         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
20281         and m4/inttypes_h.m4 too.
20282
20283 2009-01-12  Eric Blake  <ebb9@byu.net>
20284
20285         tests: IRIX 6.2 cc can't compile -0.0 into .data
20286         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
20287         rather than at compile-time.
20288         * tests/test-floorl.c (minus_zero): Likewise.
20289         * tests/test-frexpl.c (minus_zero): Likewise.
20290         * tests/test-isnan.c (minus_zerol): Likewise.
20291         * tests/test-isnanl.h (minus_zero): Likewise.
20292         * tests/test-ldexpl.c (minus_zero): Likewise.
20293         * tests/test-roundl.c (minus_zero): Likewise.
20294         * tests/test-signbit.c (minus_zerol): Likewise.
20295         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
20296         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
20297         * tests/test-truncl.c (minus_zero): Likewise.
20298         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
20299         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
20300         Reported by Tom G. Christensen and Nelson H. F. Beebe.
20301
20302 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
20303
20304         regex: fix glibc bug 9697
20305         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
20306         handling.
20307
20308 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
20309
20310         regex: fix glibc bug 697
20311         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
20312         being NULL also if there are no backreferences.
20313
20314 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
20315
20316         regex: merge glibc changes
20317         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
20318         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
20319         re_string_skip_chars, re_string_reconstruct): Likewise.
20320         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
20321
20322 2009-01-07  Jim Meyering  <meyering@redhat.com>
20323
20324         poll: filter through cppi
20325         * lib/poll.c: Indent cpp directives to reflect nesting.
20326
20327 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
20328
20329         poll: don't return uninitialized
20330         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
20331
20332 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
20333
20334         avoid compile failure on AIX 6.1
20335         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
20336         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
20337
20338 2009-01-04  Jim Meyering  <meyering@redhat.com>
20339
20340         remove duplicate inclusion of <stdio.h>
20341         * tests/test-fprintf-posix.c: Likewise.
20342         * tests/test-printf-posix.c: Likewise.
20343         * tests/test-snprintf-posix.c: Likewise.
20344         * tests/test-sprintf-posix.c: Likewise.
20345         * tests/test-vasprintf-posix.c: Likewise.
20346         * tests/test-vfprintf-posix.c: Likewise.
20347         * tests/test-vprintf-posix.c: Likewise.
20348         * tests/test-vsnprintf-posix.c: Likewise.
20349         * tests/test-vsprintf-posix.c: Likewise.
20350
20351 2009-01-03  Jim Meyering  <meyering@redhat.com>
20352
20353         gnulib-tool: fix sed-based filtering
20354         * gnulib-tool (func_filter_filelist): Remove extra backslash
20355         in sed_fff_filter definition.
20356
20357 2009-01-02  Jim Meyering  <meyering@redhat.com>
20358
20359         strftime: avoid compilation failure on Solaris 2.6
20360         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
20361         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
20362         Don't #define mbrlen or mbsinit, since now they're guaranteed to
20363         be available.  Reported by Tom G. Christensen.  Details in
20364         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
20365
20366 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20367             Bruno Haible  <bruno@clisp.org>
20368
20369         Speed up gnulib-tool by doing more string processing through shell
20370         built-ins.
20371         * gnulib-tool (fast_func_append): New variable.
20372         (func_remove_prefix, func_remove_suffix): New functions.
20373         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
20374         (func_filter_filelist): New function.
20375         (func_get_dependencies): Use func_remove_suffix instead of sed.
20376         (func_get_automake_snippet): Use func_filter_filelist instead of a
20377         subshell and sed invocation.
20378
20379 2009-01-01  Bruno Haible  <bruno@clisp.org>
20380
20381         Fix a security bug.
20382         * gnulib-tool (func_import, import, update): Don't allow the characters
20383         '"', '$', '`', '\' in macro arguments that become part of commands that
20384         are evaluated.
20385
20386 2009-01-01  Bruno Haible  <bruno@clisp.org>
20387
20388         * gnulib-tool (func_reset_sigpipe): Add more comments.
20389
20390 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20391
20392         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
20393         func_emit_tests_Makefile_am, func_import): Abort loops early if we
20394         already know the answer.
20395
20396 2009-01-01  Jim Meyering  <meyering@redhat.com>
20397
20398         * lib/version-etc.c (version_etc_va): Update copyright year.
20399
20400 2008-12-30  Bruno Haible  <bruno@clisp.org>
20401
20402         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
20403         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
20404         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
20405
20406 2008-12-29  Eric Blake  <ebb9@byu.net>
20407
20408         multiarch: avoid autoconf AC_REQUIRE bug
20409         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
20410         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
20411         2.63 and older.
20412         Reported by Bruno Haible, and analyzed in
20413         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
20414
20415 2008-12-29  Bruno Haible  <bruno@clisp.org>
20416
20417         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
20418         files in subdirectories correctly.
20419         Reported by Ralf Wildenhues.
20420
20421 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20422
20423         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
20424         rather than 'join FILE -', for Solaris join.
20425
20426 2008-12-29  Bruno Haible  <bruno@clisp.org>
20427
20428         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
20429         quoting.
20430         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20431         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
20432         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
20433         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
20434         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20435         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20436         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20437         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20438         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20439         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20440         * m4/nls.m4 (AM_NLS): Likewise.
20441         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
20442         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20443         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20444         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20445         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20446         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20447         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
20448         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20449         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20450         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20451         * m4/xsize.m4 (gl_XSIZE): Likewise.
20452         Suggested by Jim Meyering.
20453
20454 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20455
20456         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
20457         * lib/parse-duration.c: use a switch instead of cascading if's.
20458
20459 2008-12-29  Eric Blake  <ebb9@byu.net>
20460
20461         wchar.h: supply WEOF on Irix 5.3
20462         * lib/wchar.in.h (wint_t): Also supply WEOF.
20463         * lib/wctype.in.h (wint_t): Likewise.
20464         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
20465         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
20466         Reported by Tom G. Christensen.
20467
20468 2008-12-26  Bruno Haible  <bruno@clisp.org>
20469
20470         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
20471         i486, i586, i686.
20472
20473 2008-12-26  Bruno Haible  <bruno@clisp.org>
20474
20475         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
20476
20477 2008-12-26  Bruno Haible  <bruno@clisp.org>
20478
20479         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
20480         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
20481         not __STDC_CONSTANT_MACROS.
20482         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
20483
20484 2008-12-25  Bruno Haible  <bruno@clisp.org>
20485
20486         Add support for universal builds to vasnprintf.
20487         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
20488         universal builds, guess no.
20489         * modules/vasnprintf-posix (Depends-on): Add multiarch.
20490         * modules/vasprintf-posix (Depends-on): Likewise.
20491         * modules/fprintf-posix (Depends-on): Likewise.
20492         * modules/vfprintf-posix (Depends-on): Likewise.
20493         * modules/snprintf-posix (Depends-on): Likewise.
20494         * modules/vsnprintf-posix (Depends-on): Likewise.
20495         * modules/sprintf-posix (Depends-on): Likewise.
20496         * modules/vsprintf-posix (Depends-on): Likewise.
20497         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
20498         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20499         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20500         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20501         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20502         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20503         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20504
20505         Add support for universal builds to <inttypes.h>.
20506         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
20507         _SCNu64_PREFIX): In Apple
20508         universal builds, define directly, using _LP64.
20509         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
20510         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
20511         * modules/inttypes (Depends-on): Add multiarch.
20512         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
20513
20514         Add support for universal builds to <stdint.h>.
20515         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
20516         universal builds, define directly, using _LP64.
20517         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
20518         Apple universal builds, don't test for the size and suffix of ptrdiff_t
20519         and size_t.
20520         * modules/stdint (Depends-on): Add multiarch.
20521         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
20522
20523         New module 'multiarch'.
20524         * modules/multiarch: New file.
20525         * m4/multiarch.m4: New file.
20526
20527 2008-12-25  Bruno Haible  <bruno@clisp.org>
20528
20529         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
20530
20531 2008-12-25  Bruno Haible  <bruno@clisp.org>
20532
20533         * modules/btowc (License): Relicense under LGPLv2+.
20534         * modules/mbsinit (License): Likewise.
20535         * modules/mbrtowc (License): Likewise.
20536         * modules/wcrtomb (License): Likewise.
20537         * modules/streq (License): Likewise.
20538         Reported by David Lutterkort <lutter@redhat.com>.
20539
20540 2008-12-23  Bruno Haible  <bruno@clisp.org>
20541
20542         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
20543
20544 2008-12-23  Bruno Haible  <bruno@clisp.org>
20545
20546         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
20547         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
20548         GETADDRINFO_LIB, not in LIBS.
20549         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
20550         * modules/canon-host (Link): Likewise.
20551         * NEWS: Mention the change.
20552         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
20553         GETADDRINFO_LIB.
20554
20555 2008-12-22  Bruno Haible  <bruno@clisp.org>
20556
20557         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
20558         * doc/posix-functions/iswalpha_l.texi: Likewise.
20559         * doc/posix-functions/iswblank_l.texi: Likewise.
20560         * doc/posix-functions/iswcntrl_l.texi: Likewise.
20561         * doc/posix-functions/iswctype_l.texi: Likewise.
20562         * doc/posix-functions/iswdigit_l.texi: Likewise.
20563         * doc/posix-functions/iswgraph_l.texi: Likewise.
20564         * doc/posix-functions/iswlower_l.texi: Likewise.
20565         * doc/posix-functions/iswprint_l.texi: Likewise.
20566         * doc/posix-functions/iswpunct_l.texi: Likewise.
20567         * doc/posix-functions/iswspace_l.texi: Likewise.
20568         * doc/posix-functions/iswupper_l.texi: Likewise.
20569         * doc/posix-functions/iswxdigit_l.texi: Likewise.
20570         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
20571         * doc/posix-functions/open_wmemstream.texi: Likewise.
20572         * doc/posix-functions/swscanf.texi: Likewise.
20573         * doc/posix-functions/towctrans_l.texi: Likewise.
20574         * doc/posix-functions/towlower.texi: Likewise.
20575         * doc/posix-functions/towlower_l.texi: Likewise.
20576         * doc/posix-functions/towupper.texi: Likewise.
20577         * doc/posix-functions/towupper_l.texi: Likewise.
20578         * doc/posix-functions/vfwprintf.texi: Likewise.
20579         * doc/posix-functions/vfwscanf.texi: Likewise.
20580         * doc/posix-functions/vswscanf.texi: Likewise.
20581         * doc/posix-functions/vwprintf.texi: Likewise.
20582         * doc/posix-functions/vwscanf.texi: Likewise.
20583         * doc/posix-functions/wcpcpy.texi: Likewise.
20584         * doc/posix-functions/wcpncpy.texi: Likewise.
20585         * doc/posix-functions/wcscasecmp.texi: Likewise.
20586         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
20587         * doc/posix-functions/wcscoll_l.texi: Likewise.
20588         * doc/posix-functions/wcsdup.texi: Likewise.
20589         * doc/posix-functions/wcsncasecmp.texi: Likewise.
20590         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
20591         * doc/posix-functions/wcsnlen.texi: Likewise.
20592         * doc/posix-functions/wcsnrtombs.texi: Likewise.
20593         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
20594         * doc/posix-functions/wctrans_l.texi: Likewise.
20595         * doc/posix-functions/wctype_l.texi: Likewise.
20596         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
20597         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
20598         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
20599         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
20600         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
20601         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
20602         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
20603         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
20604         * doc/glibc-functions/wcschrnul.texi: Likewise.
20605         * doc/glibc-functions/wcsftime_l.texi: Likewise.
20606         * doc/glibc-functions/wcstod_l.texi: Likewise.
20607         * doc/glibc-functions/wcstof_l.texi: Likewise.
20608         * doc/glibc-functions/wcstol_l.texi: Likewise.
20609         * doc/glibc-functions/wcstold_l.texi: Likewise.
20610         * doc/glibc-functions/wcstoll_l.texi: Likewise.
20611         * doc/glibc-functions/wcstoq.texi: Likewise.
20612         * doc/glibc-functions/wcstoul_l.texi: Likewise.
20613         * doc/glibc-functions/wcstoull_l.texi: Likewise.
20614         * doc/glibc-functions/wcstouq.texi: Likewise.
20615         * doc/glibc-functions/wmempcpy.texi: Likewise.
20616
20617 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
20618             Eric Blake  <ebb9@byu.net>
20619             Paolo Bonzini  <bonzini@gnu.org>
20620             Bruno Haible  <bruno@clisp.org>
20621
20622         Make c-stack work on Haiku.
20623         * lib/c-stack.c (SA_ONSTACK): Define fallback.
20624         (c_stack_action): Use SA_ONSTACK flag.
20625
20626 2008-12-22  Bruno Haible  <bruno@clisp.org>
20627
20628         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
20629
20630 2008-12-22  Bruno Haible  <bruno@clisp.org>
20631
20632         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
20633         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
20634         being overridden.
20635         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
20636         New macros.
20637         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
20638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
20639         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
20640         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
20641
20642 2008-12-22  Bruno Haible  <bruno@clisp.org>
20643
20644         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
20645         from test code.
20646
20647 2008-12-22  Eric Blake  <ebb9@byu.net>
20648
20649         Avoid gcc warnings on cygwin.
20650         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
20651         Avoid unused variable.
20652         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
20653         Likewise.
20654
20655 2008-12-22  Bruno Haible  <bruno@clisp.org>
20656
20657         Remove HAVE_MBRTOWC conditionals.
20658         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
20659         (mbscasecmp): Assume mbrtowc function.
20660         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
20661         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
20662         * lib/mbschr.c: Include mbuiter.h unconditionally.
20663         (mbschr): Assume mbrtowc function.
20664         * lib/mbscspn.c: Include mbuiter.h unconditionally.
20665         (mbscspn): Assume mbrtowc function.
20666         * lib/mbslen.c: Include mbuiter.h unconditionally.
20667         (mbslen): Assume mbrtowc function.
20668         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
20669         (mbsncasecmp): Assume mbrtowc function.
20670         * lib/mbsnlen.c: Include mbiter.h unconditionally.
20671         (mbsnlen): Assume mbrtowc function.
20672         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
20673         (mbspbrk): Assume mbrtowc function.
20674         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
20675         (mbspcasecmp): Assume mbrtowc function.
20676         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
20677         (mbsrchr): Assume mbrtowc function.
20678         * lib/mbssep.c: Include mbuiter.h unconditionally.
20679         (mbssep): Assume mbrtowc function.
20680         * lib/mbsspn.c: Include mbuiter.h unconditionally.
20681         (mbsspn): Assume mbrtowc function.
20682         * lib/mbsstr.c: Include mbuiter.h unconditionally.
20683         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
20684         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
20685         (mbstok_r): Assume mbrtowc function.
20686         * lib/propername.c: Include mbuiter.h unconditionally.
20687         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
20688         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
20689         (trim2): Assume mbrtowc function.
20690         * lib/mbswidth.c (mbsinit): Remove fallback definition.
20691         (mbsnwidth): Assume mbrtowc function.
20692         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
20693         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
20694         fallback definitions.
20695         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
20696
20697 2008-12-22  Bruno Haible  <bruno@clisp.org>
20698
20699         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
20700
20701 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
20702
20703         * modules/regex: Request emulations for the mb*/wc* functions we need.
20704         * m4/regex.m4: Don't look for those functions here.
20705         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
20706
20707 2008-12-22  Bruno Haible  <bruno@clisp.org>
20708
20709         * modules/fnmatch (Depends-on): Remove duplicated dependency.
20710
20711 2008-12-21  Bruno Haible  <bruno@clisp.org>
20712
20713         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
20714         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
20715         (Include): Remove conditionalization.
20716         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
20717         (Include): Remove conditionalization.
20718         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
20719         (Include): Remove conditionalization.
20720         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
20721         * m4/mbfile.m4 (gl_MBFILE): Likewise.
20722         * NEWS: Mention the change.
20723         Reported by Alan Hourihane <alanh@fairlite.co.uk>
20724         via Sergey Poznyakoff <gray@gnu.org.ua>.
20725
20726 2008-12-21  Bruno Haible  <bruno@clisp.org>
20727
20728         * MODULES.html.sh (Extended multibyte and wide character utilities
20729         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
20730         wcrtomb, wcsrtombs.
20731         (Support for systems lacking POSIX:2008): Add accept, bind, close,
20732         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
20733         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
20734         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
20735
20736 2008-12-21  Bruno Haible  <bruno@clisp.org>
20737
20738         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
20739
20740 2008-12-21  Bruno Haible  <bruno@clisp.org>
20741
20742         * modules/wcsnrtombs-tests: New file.
20743         * tests/test-wcsnrtombs1.sh: New file.
20744         * tests/test-wcsnrtombs2.sh: New file.
20745         * tests/test-wcsnrtombs3.sh: New file.
20746         * tests/test-wcsnrtombs4.sh: New file.
20747         * tests/test-wcsnrtombs.c: New file.
20748
20749         New module 'wcsnrtombs'.
20750         * lib/wchar.in.h (wcsnrtombs): New declaration.
20751         * lib/wcsnrtombs.c: New file.
20752         * lib/wcsrtombs-state.c: New file.
20753         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
20754         (internal_state): Remove variable.
20755         * m4/wcsnrtombs.m4: New file.
20756         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
20757         compilation units.
20758         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
20759         HAVE_WCSNRTOMBS.
20760         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
20761         HAVE_WCSNRTOMBS.
20762         * modules/wcsnrtombs: New file.
20763         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
20764         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
20765
20766 2008-12-21  Bruno Haible  <bruno@clisp.org>
20767
20768         * modules/wcsrtombs-tests: New file.
20769         * tests/test-wcsrtombs1.sh: New file.
20770         * tests/test-wcsrtombs2.sh: New file.
20771         * tests/test-wcsrtombs3.sh: New file.
20772         * tests/test-wcsrtombs4.sh: New file.
20773         * tests/test-wcsrtombs.c: New file.
20774
20775         New module 'wcsrtombs'.
20776         * lib/wchar.in.h (wcsrtombs): New declaration.
20777         * lib/wcsrtombs.c: New file.
20778         * m4/wcsrtombs.m4: New file.
20779         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
20780         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
20781         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
20782         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
20783         * modules/wcsrtombs: New file.
20784         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
20785         bugs.
20786
20787 2008-12-21  Bruno Haible  <bruno@clisp.org>
20788
20789         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
20790         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
20791         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
20792         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
20793         if not correct.
20794         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
20795         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
20796         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
20797         m4/locale-zh.m4, m4/codeset.m4.
20798         * doc/posix-functions/wcrtomb.texi: Document the bug.
20799
20800 2008-12-21  Bruno Haible  <bruno@clisp.org>
20801
20802         Work around a btowc() bug on IRIX 6.5.
20803         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
20804         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
20805         REPLACE_WTOBC if not.
20806         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
20807         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
20808         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
20809
20810 2008-12-21  Bruno Haible  <bruno@clisp.org>
20811
20812         * modules/wcrtomb-tests: New file.
20813         * tests/test-wcrtomb.sh: New file.
20814         * tests/test-wcrtomb.c: New file.
20815
20816         New module 'wcrtomb'.
20817         * lib/wchar.in.h (wcrtomb): New declaration.
20818         * lib/wcrtomb.c: New file.
20819         * m4/wcrtomb.m4: New file.
20820         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
20821         HAVE_WCRTOMB.
20822         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
20823         HAVE_WCRTOMB.
20824         * modules/wcrtomb: New file.
20825         * doc/posix-functions/wcrtomb.texi: Mention the new module.
20826
20827 2008-12-21  Bruno Haible  <bruno@clisp.org>
20828
20829         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
20830         * modules/mbsrtowcs (Files): Likewise.
20831         * modules/wctob (Files): Likewise.
20832         * modules/c-strcase-tests (Files): Likewise.
20833         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
20834         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
20835         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
20836         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
20837         * modules/vasnprintf-posix-tests (Files): Likewise.
20838
20839 2008-12-21  William Pursell  <bill.pursell@gmail.com>
20840
20841         gitlog-to-changelog: pass all command-line arguments to git-log
20842         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
20843         it is sometimes convenient to filter the commits in various ways.
20844         gitlog-to-changelog only allows --since to specify a start date,
20845         but git-log itself supports many other filtering mechanisms.
20846         At the moment, I want to filter by branch name.  Rather than
20847         adding a --branch option to gitlog-to-changelog, it seems more
20848         flexible to simply pass all options directly to git-log and let
20849         git do the work.  Notice that this effectively makes --since a
20850         redundant option for gitlog-to-changelog, but removing it would
20851         require current usage to change since calls would then require
20852         an additional '--'.
20853
20854 2008-12-21  Bruno Haible  <bruno@clisp.org>
20855
20856         * modules/mbsnrtowcs-tests: New file.
20857         * tests/test-mbsnrtowcs1.sh: New file.
20858         * tests/test-mbsnrtowcs2.sh: New file.
20859         * tests/test-mbsnrtowcs3.sh: New file.
20860         * tests/test-mbsnrtowcs4.sh: New file.
20861         * tests/test-mbsnrtowcs.c: New file.
20862
20863         New module 'mbsnrtowcs'.
20864         * lib/wchar.in.h (mbsnrtowcs): New declaration.
20865         * lib/mbsnrtowcs.c: New file.
20866         * lib/mbsrtowcs-state.c: New file.
20867         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
20868         (internal_state): Remove variable.
20869         * m4/mbsnrtowcs.m4: New file.
20870         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
20871         compilation units.
20872         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
20873         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
20874         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
20875         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
20876         * modules/mbsnrtowcs: New file.
20877         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
20878         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
20879         portability problem.
20880
20881 2008-12-21  Bruno Haible  <bruno@clisp.org>
20882
20883         Work around mbsrtowcs bug.
20884         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
20885         (gl_FUNC_MBSRTOWCS): Invoke it.
20886         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
20887         m4/locale-zh.m4.
20888         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
20889
20890 2008-12-21  Bruno Haible  <bruno@clisp.org>
20891
20892         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
20893
20894 2008-12-21  Bruno Haible  <bruno@clisp.org>
20895
20896         Update doc for AIX.
20897         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
20898         16-bit wchar_t type.
20899         * doc/posix-functions/btowc.texi: Likewise.
20900         * doc/posix-functions/fgetwc.texi: Likewise.
20901         * doc/posix-functions/fgetws.texi: Likewise.
20902         * doc/posix-functions/fputwc.texi: Likewise.
20903         * doc/posix-functions/fputws.texi: Likewise.
20904         * doc/posix-functions/fwide.texi: Likewise.
20905         * doc/posix-functions/fwprintf.texi: Likewise.
20906         * doc/posix-functions/fwscanf.texi: Likewise.
20907         * doc/posix-functions/getwchar.texi: Likewise.
20908         * doc/posix-functions/getwc.texi: Likewise.
20909         * doc/posix-functions/iswalnum.texi: Likewise.
20910         * doc/posix-functions/iswalpha.texi: Likewise.
20911         * doc/posix-functions/iswblank.texi: Likewise.
20912         * doc/posix-functions/iswcntrl.texi: Likewise.
20913         * doc/posix-functions/iswctype.texi: Likewise.
20914         * doc/posix-functions/iswdigit.texi: Likewise.
20915         * doc/posix-functions/iswgraph.texi: Likewise.
20916         * doc/posix-functions/iswlower.texi: Likewise.
20917         * doc/posix-functions/iswprint.texi: Likewise.
20918         * doc/posix-functions/iswpunct.texi: Likewise.
20919         * doc/posix-functions/iswspace.texi: Likewise.
20920         * doc/posix-functions/iswupper.texi: Likewise.
20921         * doc/posix-functions/iswxdigit.texi: Likewise.
20922         * doc/posix-functions/mbrtowc.texi: Likewise.
20923         * doc/posix-functions/mbsrtowcs.texi: Likewise.
20924         * doc/posix-functions/mbstowcs.texi: Likewise.
20925         * doc/posix-functions/mbtowc.texi: Likewise.
20926         * doc/posix-functions/putwchar.texi: Likewise.
20927         * doc/posix-functions/putwc.texi: Likewise.
20928         * doc/posix-functions/swprintf.texi: Likewise.
20929         * doc/posix-functions/tolower.texi: Likewise.
20930         * doc/posix-functions/toupper.texi: Likewise.
20931         * doc/posix-functions/towctrans.texi: Likewise.
20932         * doc/posix-functions/ungetwc.texi: Likewise.
20933         * doc/posix-functions/vswprintf.texi: Likewise.
20934         * doc/posix-functions/wcrtomb.texi: Likewise.
20935         * doc/posix-functions/wcscat.texi: Likewise.
20936         * doc/posix-functions/wcschr.texi: Likewise.
20937         * doc/posix-functions/wcscmp.texi: Likewise.
20938         * doc/posix-functions/wcscoll.texi: Likewise.
20939         * doc/posix-functions/wcscpy.texi: Likewise.
20940         * doc/posix-functions/wcscspn.texi: Likewise.
20941         * doc/posix-functions/wcsftime.texi: Likewise.
20942         * doc/posix-functions/wcslen.texi: Likewise.
20943         * doc/posix-functions/wcsncat.texi: Likewise.
20944         * doc/posix-functions/wcsncmp.texi: Likewise.
20945         * doc/posix-functions/wcsncpy.texi: Likewise.
20946         * doc/posix-functions/wcspbrk.texi: Likewise.
20947         * doc/posix-functions/wcsrchr.texi: Likewise.
20948         * doc/posix-functions/wcsrtombs.texi: Likewise.
20949         * doc/posix-functions/wcsspn.texi: Likewise.
20950         * doc/posix-functions/wcsstr.texi: Likewise.
20951         * doc/posix-functions/wcstod.texi: Likewise.
20952         * doc/posix-functions/wcstof.texi: Likewise.
20953         * doc/posix-functions/wcstoimax.texi: Likewise.
20954         * doc/posix-functions/wcstok.texi: Likewise.
20955         * doc/posix-functions/wcstold.texi: Likewise.
20956         * doc/posix-functions/wcstoll.texi: Likewise.
20957         * doc/posix-functions/wcstol.texi: Likewise.
20958         * doc/posix-functions/wcstombs.texi: Likewise.
20959         * doc/posix-functions/wcstoull.texi: Likewise.
20960         * doc/posix-functions/wcstoul.texi: Likewise.
20961         * doc/posix-functions/wcstoumax.texi: Likewise.
20962         * doc/posix-functions/wcswidth.texi: Likewise.
20963         * doc/posix-functions/wcsxfrm.texi: Likewise.
20964         * doc/posix-functions/wctob.texi: Likewise.
20965         * doc/posix-functions/wctomb.texi: Likewise.
20966         * doc/posix-functions/wctrans.texi: Likewise.
20967         * doc/posix-functions/wctype.texi: Likewise.
20968         * doc/posix-functions/wcwidth.texi: Likewise.
20969         * doc/posix-functions/wmemchr.texi: Likewise.
20970         * doc/posix-functions/wmemcmp.texi: Likewise.
20971         * doc/posix-functions/wmemcpy.texi: Likewise.
20972         * doc/posix-functions/wmemmove.texi: Likewise.
20973         * doc/posix-functions/wmemset.texi: Likewise.
20974         * doc/posix-functions/wprintf.texi: Likewise.
20975         * doc/posix-functions/wscanf.texi: Likewise.
20976
20977 2008-12-21  Bruno Haible  <bruno@clisp.org>
20978
20979         Update doc for HP-UX 11.11.
20980         * doc/posix-functions/btowc.texi: Clarify that the function is missing
20981         in HP-UX version 11.00, not in all versions of HP-UX 11.
20982         * doc/posix-functions/fwide.texi: Likewise.
20983         * doc/posix-functions/fwprintf.texi: Likewise.
20984         * doc/posix-functions/fwscanf.texi: Likewise.
20985         * doc/posix-functions/inet_ntop.texi: Likewise.
20986         * doc/posix-functions/inet_pton.texi: Likewise.
20987         * doc/posix-functions/mbrlen.texi: Likewise.
20988         * doc/posix-functions/mbrtowc.texi: Likewise.
20989         * doc/posix-functions/mbsinit.texi: Likewise.
20990         * doc/posix-functions/mbsrtowcs.texi: Likewise.
20991         * doc/posix-functions/swprintf.texi: Likewise.
20992         * doc/posix-functions/swscanf.texi: Likewise.
20993         * doc/posix-functions/towctrans.texi: Likewise.
20994         * doc/posix-functions/vfwprintf.texi: Likewise.
20995         * doc/posix-functions/vswprintf.texi: Likewise.
20996         * doc/posix-functions/vwprintf.texi: Likewise.
20997         * doc/posix-functions/wcrtomb.texi: Likewise.
20998         * doc/posix-functions/wcsrtombs.texi: Likewise.
20999         * doc/posix-functions/wcsstr.texi: Likewise.
21000         * doc/posix-functions/wctob.texi: Likewise.
21001         * doc/posix-functions/wctrans.texi: Likewise.
21002         * doc/posix-functions/wmemchr.texi: Likewise.
21003         * doc/posix-functions/wmemcmp.texi: Likewise.
21004         * doc/posix-functions/wmemcpy.texi: Likewise.
21005         * doc/posix-functions/wmemmove.texi: Likewise.
21006         * doc/posix-functions/wmemset.texi: Likewise.
21007         * doc/posix-functions/wprintf.texi: Likewise.
21008         * doc/posix-functions/wscanf.texi: Likewise.
21009
21010 2008-12-21  Bruno Haible  <bruno@clisp.org>
21011
21012         Work around a portability problem.
21013         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
21014         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
21015
21016 2008-12-20  Bruno Haible  <bruno@clisp.org>
21017
21018         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
21019         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
21020         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
21021         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
21022         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
21023
21024         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
21025         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
21026         set.
21027         (GNULIB_defined_mbstate_t): New macro.
21028         (mbsinit): Redefine if REPLACE_MBSINIT is set.
21029         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
21030         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
21031         reuses the system's mbrtowc function but works around the bugs.
21032         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
21033         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
21034         macros.
21035         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
21036         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
21037         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
21038         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
21039         REPLACE_MBSINIT if mbsinit needs to be overridden.
21040         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
21041         REPLACE_MBSINIT, REPLACE_MBRTOWC.
21042         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
21043         REPLACE_MBSINIT, REPLACE_MBRTOWC.
21044         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21045         m4/locale-zh.m4.
21046         (Depends): Add mbsinit.
21047         * modules/mbsinit (Depends): Add mbrtowc.
21048         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
21049
21050 2008-12-20  Bruno Haible  <bruno@clisp.org>
21051
21052         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
21053         so that there are no conversion errors on AIX.
21054         * tests/test-mbsrtowcs.c (main): LIkewise.
21055
21056 2008-12-20  Bruno Haible  <bruno@clisp.org>
21057
21058         Work around wctob bug on Solaris <= 9.
21059         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
21060         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
21061         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
21062         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
21063         * modules/wctob (Files): Add m4/locale-fr.m4.
21064         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
21065
21066 2008-12-20  Bruno Haible  <bruno@clisp.org>
21067
21068         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
21069         /dev/null.
21070         * tests/test-select-in.sh: Likewise.
21071         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21072
21073 2008-12-20  Bruno Haible  <bruno@clisp.org>
21074
21075         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
21076         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
21077         Cygwin 1.5.x.
21078
21079 2008-12-20  Bruno Haible  <bruno@clisp.org>
21080
21081         Ensure mbstate_t is defined on HP-UX 11.11.
21082         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
21083         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
21084         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
21085         AC_USE_SYSTEM_EXTENSIONS.
21086         * modules/fnmatch (Depends-on): Add extensions.
21087         * modules/mbrlen (Depends-on): Likewise.
21088         * modules/mbrtowc (Depends-on): Likewise.
21089         * modules/mbsinit (Depends-on): Likewise.
21090         * modules/mbsrtowcs (Depends-on): Likewise.
21091         * modules/mbswidth (Depends-on): Likewise.
21092         * modules/quotearg (Depends-on): Likewise.
21093         * modules/strftime (Depends-on): Likewise.
21094
21095 2008-12-20  Bruno Haible  <bruno@clisp.org>
21096
21097         Ensure wctob is declared on IRIX 6.5.
21098         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
21099         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
21100         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
21101         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
21102         of HAVE_WCTOB.
21103         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
21104         HAVE_WCTOB.
21105         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
21106
21107 2008-12-19  Bruno Haible  <bruno@clisp.org>
21108
21109         * modules/mbsrtowcs-tests: New file.
21110         * tests/test-mbsrtowcs1.sh: New file.
21111         * tests/test-mbsrtowcs2.sh: New file.
21112         * tests/test-mbsrtowcs3.sh: New file.
21113         * tests/test-mbsrtowcs4.sh: New file.
21114         * tests/test-mbsrtowcs.c: New file.
21115
21116         New module 'mbsrtowcs'.
21117         * lib/wchar.in.h (mbsrtowcs): New declaration.
21118         * lib/mbsrtowcs.c: New file.
21119         * m4/mbsrtowcs.m4: New file.
21120         * modules/mbsrtowcs: New file.
21121         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
21122         HAVE_MBSRTOWCS.
21123         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
21124         HAVE_MBSRTOWCS.
21125         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
21126
21127 2008-12-19  Bruno Haible  <bruno@clisp.org>
21128
21129         New module 'mbrlen'.
21130         * lib/wchar.in.h (mbrlen): New declaration.
21131         * lib/mbrlen.c: New file.
21132         * m4/mbrlen.m4: New file.
21133         * modules/mbrlen: New file.
21134         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
21135         HAVE_MBRLEN.
21136         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
21137         HAVE_MBRLEN.
21138         * doc/posix-functions/mbrlen.texi: Document the new module.
21139
21140 2008-12-19  Bruno Haible  <bruno@clisp.org>
21141
21142         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
21143         * modules/mbrtowc (Depends-on): Add verify.
21144         Suggested by Paul Eggert.
21145
21146 2008-12-18  Bruno Haible  <bruno@clisp.org>
21147
21148         * modules/mbsinit-tests: New file.
21149         * tests/test-mbsinit.sh: New file.
21150         * tests/test-mbsinit.c: New file.
21151
21152 2008-12-18  Bruno Haible  <bruno@clisp.org>
21153
21154         * modules/mbrtowc-tests: New file.
21155         * tests/test-mbrtowc1.sh: New file.
21156         * tests/test-mbrtowc2.sh: New file.
21157         * tests/test-mbrtowc3.sh: New file.
21158         * tests/test-mbrtowc4.sh: New file.
21159         * tests/test-mbrtowc.c: New file.
21160
21161         New module 'mbrtowc'.
21162         * lib/wchar.in.h (mbstate_t): Override when the system does not have
21163         mbsinit and mbrtowc.
21164         (mbrtowc): New declaration.
21165         * lib/mbrtowc.c: New file.
21166         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
21167         * modules/mbrtowc: New file.
21168         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
21169         HAVE_MBRTOWC.
21170         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
21171         HAVE_MBRTOWC.
21172         * doc/posix-functions/mbrtowc.texi: Document the new module.
21173
21174 2008-12-18  Bruno Haible  <bruno@clisp.org>
21175
21176         New module 'wctob'.
21177         * lib/wchar.in.h (wctob): New declaration.
21178         * lib/wctob.c: New file.
21179         * m4/wctob.m4: New file.
21180         * modules/wctob: New file.
21181         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
21182         HAVE_WCTOB.
21183         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
21184         * doc/posix-functions/wctob.texi: Document the new module.
21185
21186 2008-12-18  Bruno Haible  <bruno@clisp.org>
21187
21188         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
21189         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
21190
21191 2008-12-18  Simon Josefsson  <simon@josefsson.org>
21192
21193         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
21194         G. Christensen" <tgc@jupiterrise.com>.
21195
21196         * lib/flock.c: Need to include errno.h.  Reported by "Tom
21197         G. Christensen" <tgc@jupiterrise.com>.
21198
21199         * lib/flock.c: Need to include string.h.  Reported by "Tom
21200         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
21201         <ebb9@byu.net>.
21202
21203 2008-12-18  Bruno Haible  <bruno@clisp.org>
21204
21205         * m4/locale-ja.m4: New file, from GNU gettext.
21206
21207 2008-12-17  Bruno Haible  <bruno@clisp.org>
21208
21209         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
21210         Suggested by Eric Blake.
21211
21212 2008-12-17  Bruno Haible  <bruno@clisp.org>
21213
21214         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
21215
21216 2008-12-17  Bruno Haible  <bruno@clisp.org>
21217
21218         * lib/mbsinit.c: Include verify.h. Verify an assumption.
21219         * modules/mbsinit (Depends-on): Add verify.
21220         Suggested by Paul Eggert.
21221
21222 2008-12-17  Bruno Haible  <bruno@clisp.org>
21223
21224         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
21225         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
21226         gl_FUNC_MBRTOWC.
21227         * m4/mbiter.m4 (gl_MBITER): LIkewise.
21228         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
21229         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
21230         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
21231         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
21232         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
21233         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
21234         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
21235         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
21236         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
21237         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
21238         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
21239         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
21240         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
21241         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
21242         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
21243         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
21244         * modules/trim (configure.ac): Likewise.
21245
21246 2008-12-17  Bruno Haible  <bruno@clisp.org>
21247
21248         * modules/btowc-tests: New file.
21249         * tests/test-btowc1.sh: New file.
21250         * tests/test-btowc2.sh: New file.
21251         * tests/test-btowc.c: New file.
21252
21253         New module 'btowc'.
21254         * lib/wchar.in.h (btowc): New declaration.
21255         * lib/btowc.c: New file.
21256         * m4/btowc.m4: New file.
21257         * modules/btowc: New file.
21258         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
21259         HAVE_BTOWC.
21260         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
21261         * doc/posix-functions/btowc.texi: Document the new module.
21262
21263 2008-12-17  Bruno Haible  <bruno@clisp.org>
21264
21265         New module 'mbsinit'.
21266         * lib/wchar.in.h (mbsinit): New declaration.
21267         * lib/mbsinit.c: New file.
21268         * m4/mbsinit.m4: New file.
21269         * modules/mbsinit: New file.
21270         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
21271         HAVE_MBSINIT.
21272         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
21273         HAVE_MBSINIT.
21274         * doc/posix-functions/mbsinit.texi: Document the new module.
21275
21276 2008-12-16  Bruno Haible  <bruno@clisp.org>
21277
21278         * lib/unistd.in.h: Add comment.
21279         * tests/test-environ.c: Don't include <stdlib.h>.
21280
21281 2008-12-16  Bruno Haible  <bruno@clisp.org>
21282
21283         * lib/parse-duration.h (parse_duration): Document return value
21284         convention.
21285         * lib/parse-duration.c: Include specification header first. Add
21286         comments.
21287         (_): Remove macro.
21288         (parse_year_month_day, parse_hour_minute_second): Move side effects
21289         outside of strchr call.
21290         (parse_non_iso8601): Move side effects outside of isspace call.
21291         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
21292         call.
21293
21294 2008-12-16  Bruno Haible  <bruno@clisp.org>
21295
21296         * tests/test-parse-duration.sh: Produce no output when the test
21297         succeeds.
21298
21299 2008-12-16  Bruno Haible  <bruno@clisp.org>
21300
21301         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
21302         expressions.
21303
21304 2008-12-15  Bruno Haible  <bruno@clisp.org>
21305
21306         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
21307         * doc/glibc-functions/flistxattr.texi: Likewise.
21308         * doc/glibc-functions/fopencookie.texi: Likewise.
21309         * doc/glibc-functions/fremovexattr.texi: Likewise.
21310         * doc/glibc-functions/fsetxattr.texi: Likewise.
21311         * doc/glibc-functions/getxattr.texi: Likewise.
21312         * doc/glibc-functions/lgetxattr.texi: Likewise.
21313         * doc/glibc-functions/listxattr.texi: Likewise.
21314         * doc/glibc-functions/llistxattr.texi: Likewise.
21315         * doc/glibc-functions/lremovexattr.texi: Likewise.
21316         * doc/glibc-functions/lsetxattr.texi: Likewise.
21317         * doc/glibc-functions/removexattr.texi: Likewise.
21318         * doc/glibc-functions/setxattr.texi: Likewise.
21319         * doc/posix-functions/open_memstream.texi: Likewise.
21320
21321 2008-12-15  Eric Blake  <ebb9@byu.net>
21322
21323         Update doc for cygwin 1.7.
21324         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
21325         functions.
21326         * doc/posix-functions/fchmodat.texi: Likewise.
21327         * doc/posix-functions/fchownat.texi: Likewise.
21328         * doc/posix-functions/fdopendir.texi: Likewise.
21329         * doc/posix-functions/fmemopen.texi: Likewise.
21330         * doc/posix-functions/freeaddrinfo.texi: Likewise.
21331         * doc/posix-functions/fstatat.texi: Likewise.
21332         * doc/posix-functions/futimens.texi: Likewise.
21333         * doc/posix-functions/gai_strerror.texi: Likewise.
21334         * doc/posix-functions/getaddrinfo.texi: Likewise.
21335         * doc/posix-functions/getnameinfo.texi: Likewise.
21336         * doc/posix-functions/if_freenameindex.texi: Likewise.
21337         * doc/posix-functions/if_indextoname.texi: Likewise.
21338         * doc/posix-functions/if_nameindex.texi: Likewise.
21339         * doc/posix-functions/if_nametoindex.texi: Likewise.
21340         * doc/posix-functions/insque.texi: Likewise.
21341         * doc/posix-functions/linkat.texi: Likewise.
21342         * doc/posix-functions/llrint.texi: Likewise.
21343         * doc/posix-functions/llrintf.texi: Likewise.
21344         * doc/posix-functions/llrintl.texi: Likewise.
21345         * doc/posix-functions/lockf.texi: Likewise.
21346         * doc/posix-functions/lrintl.texi: Likewise.
21347         * doc/posix-functions/mkdirat.texi: Likewise.
21348         * doc/posix-functions/mkfifoat.texi: Likewise.
21349         * doc/posix-functions/mknodat.texi: Likewise.
21350         * doc/posix-functions/mq_close.texi: Likewise.
21351         * doc/posix-functions/mq_getattr.texi: Likewise.
21352         * doc/posix-functions/mq_notify.texi: Likewise.
21353         * doc/posix-functions/mq_open.texi: Likewise.
21354         * doc/posix-functions/mq_receive.texi: Likewise.
21355         * doc/posix-functions/mq_send.texi: Likewise.
21356         * doc/posix-functions/mq_setattr.texi: Likewise.
21357         * doc/posix-functions/mq_timedreceive.texi: Likewise.
21358         * doc/posix-functions/mq_timedsend.texi: Likewise.
21359         * doc/posix-functions/mq_unlink.texi: Likewise.
21360         * doc/posix-functions/open_memstream.texi: Likewise.
21361         * doc/posix-functions/openat.texi: Likewise.
21362         * doc/posix-functions/posix_fadvise.texi: Likewise.
21363         * doc/posix-functions/posix_fallocate.texi: Likewise.
21364         * doc/posix-functions/posix_madvise.texi: Likewise.
21365         * doc/posix-functions/posix_memalign.texi: Likewise.
21366         * doc/posix-functions/posix_openpt.texi: Likewise.
21367         * doc/posix-functions/readlinkat.texi: Likewise.
21368         * doc/posix-functions/remque.texi: Likewise.
21369         * doc/posix-functions/renameat.texi: Likewise.
21370         * doc/posix-functions/rintl.texi: Likewise.
21371         * doc/posix-functions/sem_unlink.texi: Likewise.
21372         * doc/posix-functions/shm_open.texi: Likewise.
21373         * doc/posix-functions/shm_unlink.texi: Likewise.
21374         * doc/posix-functions/signgam.texi: Likewise.
21375         * doc/posix-functions/sigset.texi: Likewise.
21376         * doc/posix-functions/stpcpy.texi: Likewise.
21377         * doc/posix-functions/stpncpy.texi: Likewise.
21378         * doc/posix-functions/strerror.texi: Likewise.
21379         * doc/posix-functions/strtod.texi: Likewise.
21380         * doc/posix-functions/symlinkat.texi: Likewise.
21381         * doc/posix-functions/unlinkat.texi: Likewise.
21382         * doc/posix-functions/utimensat.texi: Likewise.
21383         * doc/glibc-functions/bindresvport.texi: Likewise.
21384         * doc/glibc-functions/dn_expand.texi: Likewise.
21385         * doc/glibc-functions/exp10.texi: Likewise.
21386         * doc/glibc-functions/exp10f.texi: Likewise.
21387         * doc/glibc-functions/fgetxattr.texi: Likewise.
21388         * doc/glibc-functions/flistxattr.texi: Likewise.
21389         * doc/glibc-functions/fopencookie.texi: Likewise.
21390         * doc/glibc-functions/freeifaddrs.texi: Likewise.
21391         * doc/glibc-functions/fremovexattr.texi: Likewise.
21392         * doc/glibc-functions/fsetxattr.texi: Likewise.
21393         * doc/glibc-functions/getifaddrs.texi: Likewise.
21394         * doc/glibc-functions/getxattr.texi: Likewise.
21395         * doc/glibc-functions/lgetxattr.texi: Likewise.
21396         * doc/glibc-functions/listxattr.texi: Likewise.
21397         * doc/glibc-functions/llistxattr.texi: Likewise.
21398         * doc/glibc-functions/lremovexattr.texi: Likewise.
21399         * doc/glibc-functions/lsetxattr.texi: Likewise.
21400         * doc/glibc-functions/pow10.texi: Likewise.
21401         * doc/glibc-functions/pow10f.texi: Likewise.
21402         * doc/glibc-functions/rcmd_af.texi: Likewise.
21403         * doc/glibc-functions/removexattr.texi: Likewise.
21404         * doc/glibc-functions/res_init.texi: Likewise.
21405         * doc/glibc-functions/res_mkquery.texi: Likewise.
21406         * doc/glibc-functions/res_query.texi: Likewise.
21407         * doc/glibc-functions/res_querydomain.texi: Likewise.
21408         * doc/glibc-functions/res_send.texi: Likewise.
21409         * doc/glibc-functions/rresvport_af.texi: Likewise.
21410         * doc/glibc-functions/setxattr.texi: Likewise.
21411         * doc/glibc-functions/strcasestr.texi: Likewise.
21412
21413 2008-12-15  Bruno Haible  <bruno@clisp.org>
21414
21415         Fix compilation error on OSF/1 4.0.
21416         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
21417         <sys/time.h>, simply delegate to the system header.
21418         Reported by Daniel Richard G. <oss@teragram.com>.
21419
21420 2008-12-15  Bruno Haible  <bruno@clisp.org>
21421
21422         * doc/posix-functions/openat.texi: Mention the 'openat' module.
21423         * doc/posix-functions/fchmodat.texi: Likewise.
21424         * doc/posix-functions/fchownat.texi: Likewise.
21425         * doc/posix-functions/fdopendir.texi: Likewise.
21426         * doc/posix-functions/fstatat.texi: Likewise.
21427         * doc/posix-functions/mkdirat.texi: Likewise.
21428         * doc/posix-functions/unlinkat.texi: Likewise.
21429
21430 2008-12-14  Bruno Haible  <bruno@clisp.org>
21431
21432         Update doc for POSIX:2008.
21433         * doc/posix-functions/faccessat.texi: New file.
21434         * doc/posix-functions/fchmodat.texi: New file.
21435         * doc/posix-functions/fchownat.texi: New file.
21436         * doc/posix-functions/fdopendir.texi: New file.
21437         * doc/posix-functions/fstatat.texi: New file.
21438         * doc/posix-functions/futimens.texi: New file.
21439         * doc/posix-functions/linkat.texi: New file.
21440         * doc/posix-functions/mkdirat.texi: New file.
21441         * doc/posix-functions/mkfifoat.texi: New file.
21442         * doc/posix-functions/mknodat.texi: New file.
21443         * doc/posix-functions/open_wmemstream.texi: New file.
21444         * doc/posix-functions/openat.texi: New file.
21445         * doc/posix-functions/psiginfo.texi: New file.
21446         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
21447         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
21448         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
21449         * doc/posix-functions/readlinkat.texi: New file.
21450         * doc/posix-functions/renameat.texi: New file.
21451         * doc/posix-functions/strerror_l.texi: New file.
21452         * doc/posix-functions/symlinkat.texi: New file.
21453         * doc/posix-functions/unlinkat.texi: New file.
21454         * doc/posix-functions/utimensat.texi: New file.
21455         * doc/gnulib.texi (Function Substitutes): Add these subsections.
21456
21457 2008-12-14  Bruno Haible  <bruno@clisp.org>
21458
21459         Update doc for POSIX:2008.
21460         * doc/posix-functions/alphasort.texi: Renamed from
21461         doc/glibc-functions/alphasort.texi.
21462         * doc/posix-functions/dirfd.texi: Renamed from
21463         doc/glibc-functions/dirfd.texi.
21464         * doc/posix-functions/dprintf.texi: Renamed from
21465         doc/glibc-functions/dprintf.texi.
21466         * doc/posix-functions/duplocale.texi: Renamed from
21467         doc/glibc-functions/duplocale.texi.
21468         * doc/posix-functions/fexecve.texi: Renamed from
21469         doc/glibc-functions/fexecve.texi.
21470         * doc/posix-functions/fmemopen.texi: Renamed from
21471         doc/glibc-functions/fmemopen.texi.
21472         * doc/posix-functions/freelocale.texi: Renamed from
21473         doc/glibc-functions/freelocale.texi.
21474         * doc/posix-functions/getdate_err.texi: Renamed from
21475         doc/glibc-functions/getdate_err.texi.
21476         * doc/posix-functions/isalnum_l.texi: Renamed from
21477         doc/glibc-functions/isalnum_l.texi.
21478         * doc/posix-functions/isalpha_l.texi: Renamed from
21479         doc/glibc-functions/isalpha_l.texi.
21480         * doc/posix-functions/isblank_l.texi: Renamed from
21481         doc/glibc-functions/isblank_l.texi.
21482         * doc/posix-functions/iscntrl_l.texi: Renamed from
21483         doc/glibc-functions/iscntrl_l.texi.
21484         * doc/posix-functions/isdigit_l.texi: Renamed from
21485         doc/glibc-functions/isdigit_l.texi.
21486         * doc/posix-functions/isgraph_l.texi: Renamed from
21487         doc/glibc-functions/isgraph_l.texi.
21488         * doc/posix-functions/islower_l.texi: Renamed from
21489         doc/glibc-functions/islower_l.texi.
21490         * doc/posix-functions/isprint_l.texi: Renamed from
21491         doc/glibc-functions/isprint_l.texi.
21492         * doc/posix-functions/ispunct_l.texi: Renamed from
21493         doc/glibc-functions/ispunct_l.texi.
21494         * doc/posix-functions/isspace_l.texi: Renamed from
21495         doc/glibc-functions/isspace_l.texi.
21496         * doc/posix-functions/isupper_l.texi: Renamed from
21497         doc/glibc-functions/isupper_l.texi.
21498         * doc/posix-functions/iswalnum_l.texi: Renamed from
21499         doc/glibc-functions/iswalnum_l.texi.
21500         * doc/posix-functions/iswalpha_l.texi: Renamed from
21501         doc/glibc-functions/iswalpha_l.texi.
21502         * doc/posix-functions/iswblank_l.texi: Renamed from
21503         doc/glibc-functions/iswblank_l.texi.
21504         * doc/posix-functions/iswcntrl_l.texi: Renamed from
21505         doc/glibc-functions/iswcntrl_l.texi.
21506         * doc/posix-functions/iswctype_l.texi: Renamed from
21507         doc/glibc-functions/iswctype_l.texi.
21508         * doc/posix-functions/iswdigit_l.texi: Renamed from
21509         doc/glibc-functions/iswdigit_l.texi.
21510         * doc/posix-functions/iswgraph_l.texi: Renamed from
21511         doc/glibc-functions/iswgraph_l.texi.
21512         * doc/posix-functions/iswlower_l.texi: Renamed from
21513         doc/glibc-functions/iswlower_l.texi.
21514         * doc/posix-functions/iswprint_l.texi: Renamed from
21515         doc/glibc-functions/iswprint_l.texi.
21516         * doc/posix-functions/iswpunct_l.texi: Renamed from
21517         doc/glibc-functions/iswpunct_l.texi.
21518         * doc/posix-functions/iswspace_l.texi: Renamed from
21519         doc/glibc-functions/iswspace_l.texi.
21520         * doc/posix-functions/iswupper_l.texi: Renamed from
21521         doc/glibc-functions/iswupper_l.texi.
21522         * doc/posix-functions/iswxdigit_l.texi: Renamed from
21523         doc/glibc-functions/iswxdigit_l.texi.
21524         * doc/posix-functions/isxdigit_l.texi: Renamed from
21525         doc/glibc-functions/isxdigit_l.texi.
21526         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
21527         doc/glibc-functions/mbsnrtowcs.texi.
21528         * doc/posix-functions/mkdtemp.texi: Renamed from
21529         doc/glibc-functions/mkdtemp.texi.
21530         * doc/posix-functions/newlocale.texi: Renamed from
21531         doc/glibc-functions/newlocale.texi.
21532         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
21533         doc/glibc-functions/nl_langinfo_l.texi.
21534         * doc/posix-functions/open_memstream.texi: Renamed from
21535         doc/glibc-functions/open_memstream.texi.
21536         * doc/posix-functions/opterr.texi: Renamed from
21537         doc/glibc-functions/opterr.texi.
21538         * doc/posix-functions/optind.texi: Renamed from
21539         doc/glibc-functions/optind.texi.
21540         * doc/posix-functions/optopt.texi: Renamed from
21541         doc/glibc-functions/optopt.texi.
21542         * doc/posix-functions/psignal.texi: Renamed from
21543         doc/glibc-functions/psignal.texi.
21544         * doc/posix-functions/scandir.texi: Renamed from
21545         doc/glibc-functions/scandir.texi.
21546         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
21547         doc/glibc-functions/sched_get_priority_min.texi.
21548         * doc/posix-functions/signgam.texi: Renamed from
21549         doc/glibc-functions/signgam.texi.
21550         * doc/posix-functions/stpcpy.texi: Renamed from
21551         doc/glibc-functions/stpcpy.texi.
21552         * doc/posix-functions/stpncpy.texi: Renamed from
21553         doc/glibc-functions/stpncpy.texi.
21554         * doc/posix-functions/strcasecmp_l.texi: Renamed from
21555         doc/glibc-functions/strcasecmp_l.texi.
21556         * doc/posix-functions/strcoll_l.texi: Renamed from
21557         doc/glibc-functions/strcoll_l.texi.
21558         * doc/posix-functions/strfmon_l.texi: Renamed from
21559         doc/glibc-functions/strfmon_l.texi.
21560         * doc/posix-functions/strftime_l.texi: Renamed from
21561         doc/glibc-functions/strftime_l.texi.
21562         * doc/posix-functions/strncasecmp_l.texi: Renamed from
21563         doc/glibc-functions/strncasecmp_l.texi.
21564         * doc/posix-functions/strndup.texi: Renamed from
21565         doc/glibc-functions/strndup.texi.
21566         * doc/posix-functions/strnlen.texi: Renamed from
21567         doc/glibc-functions/strnlen.texi.
21568         * doc/posix-functions/strsignal.texi: Renamed from
21569         doc/glibc-functions/strsignal.texi.
21570         * doc/posix-functions/strxfrm_l.texi: Renamed from
21571         doc/glibc-functions/strxfrm_l.texi.
21572         * doc/posix-functions/timer_gettime.texi: Renamed from
21573         doc/glibc-functions/timer_gettime.texi.
21574         * doc/posix-functions/tolower_l.texi: Renamed from
21575         doc/glibc-functions/tolower_l.texi.
21576         * doc/posix-functions/toupper_l.texi: Renamed from
21577         doc/glibc-functions/toupper_l.texi.
21578         * doc/posix-functions/towctrans_l.texi: Renamed from
21579         doc/glibc-functions/towctrans_l.texi.
21580         * doc/posix-functions/towlower_l.texi: Renamed from
21581         doc/glibc-functions/towlower_l.texi.
21582         * doc/posix-functions/towupper_l.texi: Renamed from
21583         doc/glibc-functions/towupper_l.texi.
21584         * doc/posix-functions/uselocale.texi: Renamed from
21585         doc/glibc-functions/uselocale.texi.
21586         * doc/posix-functions/vdprintf.texi: Renamed from
21587         doc/glibc-functions/vdprintf.texi.
21588         * doc/posix-functions/wcpcpy.texi:
21589         Renamed from doc/glibc-functions/wcpcpy.texi.
21590         * doc/posix-functions/wcpncpy.texi: Renamed from
21591         doc/glibc-functions/wcpncpy.texi.
21592         * doc/posix-functions/wcscasecmp.texi: Renamed from
21593         doc/glibc-functions/wcscasecmp.texi.
21594         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
21595         doc/glibc-functions/wcscasecmp_l.texi.
21596         * doc/posix-functions/wcscoll_l.texi: Renamed from
21597         doc/glibc-functions/wcscoll_l.texi.
21598         * doc/posix-functions/wcsdup.texi: Renamed from
21599         doc/glibc-functions/wcsdup.texi.
21600         * doc/posix-functions/wcsncasecmp.texi: Renamed from
21601         doc/glibc-functions/wcsncasecmp.texi.
21602         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
21603         doc/glibc-functions/wcsncasecmp_l.texi.
21604         * doc/posix-functions/wcsnlen.texi: Renamed from
21605         doc/glibc-functions/wcsnlen.texi.
21606         * doc/posix-functions/wcsnrtombs.texi: Renamed from
21607         doc/glibc-functions/wcsnrtombs.texi.
21608         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
21609         doc/glibc-functions/wcsxfrm_l.texi.
21610         * doc/posix-functions/wctrans_l.texi: Renamed from
21611         doc/glibc-functions/wctrans_l.texi.
21612         * doc/posix-functions/wctype_l.texi: Renamed from
21613         doc/glibc-functions/wctype_l.texi.
21614         * doc/gnulib.texi (Function Substitutes): Add these subsections.
21615         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
21616         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
21617         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
21618         these subsections.
21619         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
21620         Remove sections.
21621
21622 2008-12-14  Bruno Haible  <bruno@clisp.org>
21623
21624         Update doc for POSIX:2008.
21625         * doc/posix-functions/*.texi: Update URL of POSIX specification.
21626
21627 2008-12-14  Bruno Haible  <bruno@clisp.org>
21628
21629         Update doc for POSIX:2008.
21630         * doc/pastposix-functions/bcmp.texi: Renamed from
21631         doc/posix-functions/bcmp.texi.
21632         * doc/pastposix-functions/bcopy.texi: Renamed from
21633         doc/posix-functions/bcopy.texi.
21634         * doc/pastposix-functions/bsd_signal.texi: Renamed from
21635         doc/posix-functions/bsd_signal.texi.
21636         * doc/pastposix-functions/bzero.texi: Renamed from
21637         doc/posix-functions/bzero.texi.
21638         * doc/pastposix-functions/ecvt.texi: Renamed from
21639         doc/posix-functions/ecvt.texi.
21640         * doc/pastposix-functions/fcvt.texi: Renamed from
21641         doc/posix-functions/fcvt.texi.
21642         * doc/pastposix-functions/ftime.texi: Renamed from
21643         doc/posix-functions/ftime.texi.
21644         * doc/pastposix-functions/gcvt.texi: Renamed from
21645         doc/posix-functions/gcvt.texi.
21646         * doc/pastposix-functions/getcontext.texi: Renamed from
21647         doc/posix-functions/getcontext.texi.
21648         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
21649         doc/posix-functions/gethostbyaddr.texi.
21650         * doc/pastposix-functions/gethostbyname.texi: Renamed from
21651         doc/posix-functions/gethostbyname.texi.
21652         * doc/pastposix-functions/getwd.texi: Renamed from
21653         doc/posix-functions/getwd.texi.
21654         * doc/pastposix-functions/h_errno.texi: Renamed from
21655         doc/posix-functions/h_errno.texi.
21656         * doc/pastposix-functions/index.texi: Renamed from
21657         doc/posix-functions/index.texi.
21658         * doc/pastposix-functions/makecontext.texi: Renamed from
21659         doc/posix-functions/makecontext.texi.
21660         * doc/pastposix-functions/mktemp.texi: Renamed from
21661         doc/posix-functions/mktemp.texi.
21662         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
21663         doc/posix-functions/pthread_attr_getstackaddr.texi.
21664         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
21665         doc/posix-functions/pthread_attr_setstackaddr.texi.
21666         * doc/pastposix-functions/rindex.texi: Renamed from
21667         doc/posix-functions/rindex.texi.
21668         * doc/pastposix-functions/scalb.texi: Renamed from
21669         doc/posix-functions/scalb.texi.
21670         * doc/pastposix-functions/setcontext.texi: Renamed from
21671         doc/posix-functions/setcontext.texi.
21672         * doc/pastposix-functions/swapcontext.texi: Renamed from
21673         doc/posix-functions/swapcontext.texi.
21674         * doc/pastposix-functions/ualarm.texi: Renamed from
21675         doc/posix-functions/ualarm.texi.
21676         * doc/pastposix-functions/usleep.texi: Renamed from
21677         doc/posix-functions/usleep.texi.
21678         * doc/pastposix-functions/vfork.texi: Renamed from
21679         doc/posix-functions/vfork.texi.
21680         * doc/pastposix-functions/wcswcs.texi: Renamed from
21681         doc/posix-functions/wcswcs.texi.
21682         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
21683         (Function Substitutes): Update.
21684
21685 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21686
21687         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
21688         m4/strerror.m4.
21689
21690 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21691             Bruno Haible  <bruno@clisp.org>
21692
21693         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
21694
21695 2008-12-13  Bruno Haible  <bruno@clisp.org>
21696
21697         * modules/strtoull (Depends-on): Remove unistd.
21698
21699 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21700
21701         * modules/strtoull (Depends-on): Add stdlib.
21702
21703 2008-12-11  Simon Josefsson  <simon@josefsson.org>
21704
21705         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
21706
21707 2008-12-10  Jim Meyering  <meyering@redhat.com>
21708
21709         gl_ASSERT: don't say assertions are disabled when they're not
21710         * m4/assert.m4 (gl_ASSERT): Do not make configure report
21711         "checking whether to enable assertions... no", when they are in
21712         fact enabled.  This is solely a bug in the output of configure.
21713         In spite of saying "no", NDEBUG was not defined in that case.
21714         Also, as noted by Eric Blake, leave assertions enabled upon
21715         --enable-assert=INVALID.
21716
21717 2008-12-10  Bruno Haible  <bruno@clisp.org>
21718
21719         Change MODULES.html to refer to POSIX:2008 where possible.
21720         * MODULES.html.sh (POSIX2008_URL): New variable.
21721         (posix_headers): Remove sys/timeb, ucontext.
21722         (posix2001_headers): New variable.
21723         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
21724         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
21725         index, makecontext, mktemp, pthread_attr_getstackaddr,
21726         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
21727         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
21728         (posix2001_functions): New variable.
21729         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
21730         otherwise.
21731
21732 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21733
21734         add missing include to parse-duration.c
21735         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
21736         * modules/parse-duration (Depends-on): Add xalloc.
21737
21738         fix sed script reading maint.mk
21739         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
21740         (syntax-check-rules): Use it.
21741
21742 2008-12-09  Bruno Haible  <bruno@clisp.org>
21743
21744         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
21745         MacOS X 10.4/PowerPC.
21746         Reported by Simon Josefsson.
21747
21748 2008-12-08  Jim Meyering  <meyering@redhat.com>
21749
21750         work around mingw's lack of some S_IF definitions
21751         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
21752         Reported by Simon Josefsson.
21753
21754 2008-12-08  Bruno Haible  <bruno@clisp.org>
21755
21756         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
21757         applied to variables. Needed on MacOS X 10.4/PowerPC.
21758         Reported by Simon Josefsson.
21759
21760 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
21761         and Eric Blake  <ebb9@byu.net>
21762
21763         assert: honor --enable-assert
21764         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
21765         order to honor --enable-assert, rather than treating it as a
21766         synonym for --disable-assert.
21767
21768 2008-12-08  Jim Meyering  <meyering@redhat.com>
21769
21770         * lib/posixtm.c: Remove now-useless declaration of mktime.
21771
21772         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
21773
21774 2008-12-07  Bruno Haible  <bruno@clisp.org>
21775
21776         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
21777         test_once): Mark functions as static.
21778         * tests/test-tls.c (test_tls): Likewise.
21779
21780 2008-12-07  Bruno Haible  <bruno@clisp.org>
21781
21782         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
21783         iconv_register_autodetect.
21784
21785 2008-12-07  Jim Meyering  <meyering@redhat.com>
21786
21787         posixtm.c: avoid a warning
21788         * lib/posixtm.c (posixtime): Don't initialize tm0.
21789         It's no longer needed to placate gcc4's -Wuninitialized,
21790         and the attempt to placate would elicit a new warning.
21791
21792         unicodeio.c: mark unused parameters
21793         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
21794         (fallback_failure_callback): Likewise.
21795
21796 2008-12-07  Bruno Haible  <bruno@clisp.org>
21797
21798         * gnulib-tool (func_create_testdir): When building the tests
21799         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
21800         Reported by Simon Josefsson.
21801
21802 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21803
21804         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
21805
21806 2008-12-06  Bruno Haible  <bruno@clisp.org>
21807
21808         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
21809         Suggested by Eric Blake.
21810
21811 2008-12-06  Bruno Haible  <bruno@clisp.org>
21812
21813         Fix a c-stack test failure on MacOS X.
21814         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
21815         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
21816         handler for SIGBUS as well.
21817         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
21818         install a signal handler for SIGBUS as well.
21819         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
21820
21821 2008-12-06  Bruno Haible  <bruno@clisp.org>
21822
21823         Advocacy documentation.
21824         * doc/gnulib-intro.texi (Benefits): New section.
21825         * doc/gnulib.texi: Update.
21826
21827 2008-12-06  Bruno Haible  <bruno@clisp.org>
21828
21829         Document the 'manywarnings' module.
21830         * doc/manywarnings.texi: New file.
21831         * doc/gnulib.texi: Include it.
21832
21833 2008-12-05  Eric Blake  <ebb9@byu.net>
21834
21835         tests: silence some gcc warnings
21836         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
21837         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
21838         type mismatches.
21839
21840 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21841             Bruno Haible  <bruno@clisp.org>
21842
21843         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
21844
21845 2008-11-29  Jim Meyering  <meyering@redhat.com>
21846
21847         unicodeio.c: mark unused parameters
21848         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
21849         (fallback_failure_callback): Likewise.
21850
21851         fts: fix a thinko
21852         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
21853         (set_stat_type): Return S_IF*-valued "type" directly.
21854         Prompted by James Youngman's spotting a related bug.
21855         Confirmed by further testing through find.
21856
21857         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
21858         * lib/fts.c (D_TYPE): Define.
21859         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
21860         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
21861         (s_ifmt_shift_bits): New function.
21862         (set_stat_type): New function.
21863         (fts_build): When not calling fts_stat, call set_stat_type
21864         to propagate dirent.d_type info to fts_read caller.
21865         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
21866         fts_statp->st_mode type information may be valid.
21867
21868 2008-11-28  Simon Josefsson  <simon@josefsson.org>
21869
21870         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
21871         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
21872         <sds@gnu.org>.
21873
21874 2008-11-20  Bruno Haible  <bruno@clisp.org>
21875
21876         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
21877         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
21878         INCLUDE_NEXT.
21879         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
21880         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
21881         * modules/math (Makefile.am): Substitute
21882         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
21883         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21884
21885 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
21886             Bruno Haible  <bruno@clisp.org>
21887
21888         * lib/stdint.in.h: Define all type macros so that their expansion is
21889         a single typedef'ed token. Fixes a compilation failure in Boost which
21890         does "using ::int8_t;".
21891
21892 2008-11-18  Simon Josefsson  <simon@josefsson.org>
21893
21894         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
21895         gl_MANYWARN_ALL_GCC.
21896         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
21897         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
21898         * modules/manywarnings: New file.
21899         * MODULES.html.sh: Mention manywarnings module.
21900
21901 2008-11-18  Bruno Haible  <bruno@clisp.org>
21902
21903         * doc/gnulib-tool.texi (Unit tests): New section.
21904
21905 2008-11-18  Simon Josefsson  <simon@josefsson.org>
21906
21907         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
21908         paths like 'lib/po/foo.po'.
21909
21910 2008-11-17  Simon Josefsson  <simon@josefsson.org>
21911
21912         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
21913         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
21914
21915 2008-11-17  Simon Josefsson  <simon@josefsson.org>
21916
21917         * m4/warnings.m4: Use CPPFLAGS to really check whether the
21918         parameter works.
21919
21920 2008-11-17  Simon Josefsson  <simon@josefsson.org>
21921
21922         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
21923
21924 2008-11-17  Bruce Korb  <bkorb@gnu.org>
21925
21926         * modules/parse-duration-tests: New file.
21927         * tests/test-parse-duration.sh: New file.
21928         * tests/test-parse-duration.c: New file.
21929
21930         New module 'parse-duration'.
21931         * lib/parse-duration.h: New file.
21932         * lib/parse-duration.c: New file.
21933         * modules/parse-duration: New file.
21934
21935 2008-11-17  Bruno Haible  <bruno@clisp.org>
21936
21937         * tests/test-select-out.sh: Comment out the first pipe test.
21938         Reported by Simon Josefsson.
21939
21940 2008-11-17  Bruno Haible  <bruno@clisp.org>
21941
21942         * modules/getaddrinfo (Depends-on): Add servent, hostent.
21943         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
21944         gl_HOSTENT.
21945
21946 2008-11-17  Bruno Haible  <bruno@clisp.org>
21947
21948         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
21949         -lnetwork and -lnet. Needed for Haiku and BeOS.
21950
21951 2008-11-16  Bruno Haible  <bruno@clisp.org>
21952
21953         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
21954
21955 2008-11-16  Bruno Haible  <bruno@clisp.org>
21956
21957         Avoid test failure on Haiku.
21958         * tests/test-fsync.c: Include <errno.h>.
21959         (main): Don't require that fsync (0) fails.
21960
21961 2008-11-15  Bruno Haible  <bruno@clisp.org>
21962
21963         New module 'hostent'.
21964         * modules/hostent: New file.
21965         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
21966
21967 2008-11-15  Bruno Haible  <bruno@clisp.org>
21968
21969         New module 'servent'.
21970         * modules/servent: New file.
21971         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
21972
21973 2008-11-15  Bruno Haible  <bruno@clisp.org>
21974
21975         Avoid generating same test program with two different rules.
21976         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
21977         test-frexp to test-frexp-nolibm.
21978         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
21979         test-frexpl to test-frexpl-nolibm.
21980
21981 2008-11-15  Bruno Haible  <bruno@clisp.org>
21982
21983         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
21984         $(FREXPL_LIBM).
21985
21986 2008-11-15  Bruno Haible  <bruno@clisp.org>
21987
21988         * lib/netdb.in.h: Activate the definitions also when the system's
21989         <netdb.h> has 'struct addrinfo'.
21990         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
21991         EAI_OVERFLOW or AI_NUMERICSERV.
21992         * doc/posix-headers/netdb.texi: Document the problem.
21993
21994 2008-11-15  Bruno Haible  <bruno@clisp.org>
21995
21996         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
21997
21998         Make the 'sched' module work on platforms where <sched.h> exists but
21999         is incomplete (such as Haiku).
22000         * lib/sched.in.h; Include the system's <sched.h> if it exists.
22001         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
22002         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
22003         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
22004         HAVE_STRUCT_SCHED_PARAM.
22005         * modules/sched (Depends-on): Add include_next.
22006         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
22007         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
22008         * doc/posix-headers/sched.texi: Document the issue.
22009
22010 2008-11-13  Jim Meyering  <meyering@redhat.com>
22011
22012         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
22013         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
22014         test would fail due to the difference in the Report bugs to ...
22015         line.  The expected address is empty, "<>", while the actual
22016         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
22017
22018 2008-11-12  Bruno Haible  <bruno@clisp.org>
22019
22020         lstat: don't compile lstat.c on systems lacking lstat
22021         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
22022         which don't have lstat; this is handled by lib/sys_stat.in.h already.
22023         Reported by Daniel P. Berrange via Jim Meyering.
22024
22025 2008-11-12  Jim Meyering  <meyering@redhat.com>
22026
22027         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
22028
22029 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22030
22031         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
22032         instead.
22033
22034 2008-11-12  Bruno Haible  <bruno@clisp.org>
22035
22036         * lib/unicodeio.c: Include unistr.h.
22037         (utf8_wctomb): Remove function.
22038         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
22039
22040 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22041
22042         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
22043         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
22044         <bruno@clisp.org>.
22045         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
22046
22047 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22048
22049         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
22050         * doc/gnulib.texi: Add section for warnings.
22051
22052 2008-11-11  Bruno Haible  <bruno@clisp.org>
22053
22054         * lib/sockets.h: Add a comment.
22055
22056 2008-11-11  Karl Berry  <karl@gnu.org>
22057
22058         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
22059
22060 2008-11-11  Eric Blake  <ebb9@byu.net>
22061
22062         fdl.texi: avoid git symlinks
22063         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
22064
22065 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22066
22067         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
22068
22069 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22070
22071         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
22072         (gl_WARN_ADD): Substitute $2 if literal.
22073
22074 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22075
22076         * m4/warning.m4: Remove.
22077
22078 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22079
22080         * m4/warnings.m4: Almost complete rewrite. :-)
22081
22082 2008-11-10  Simon Josefsson  <simon@josefsson.org>
22083
22084         * modules/warnings: New module.
22085         * m4/warnings.m4: New file.
22086         * MODULES.html.sh: Mention warnings module.
22087         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
22088         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22089
22090 2008-11-10  Eric Blake  <ebb9@byu.net>
22091
22092         fdl.texi: make a symlink to the latest version
22093         * doc/standards.texi: Revert today's earlier change.
22094         * doc/fdl-1.2.texi: Rename from old fdl.texi...
22095         * doc/fdl.texi: ...and replace this with a symlink to the newer
22096         fdl-1.3.texi.
22097
22098 2008-11-10  Bruno Haible  <bruno@clisp.org>
22099
22100         * tests/test-select-fd.c (main): Accept the result file name as fourth
22101         argument.
22102         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
22103         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
22104
22105 2008-11-10  Bruno Haible  <bruno@clisp.org>
22106
22107         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
22108         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
22109         as autoconf-substituted macros.
22110         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
22111         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
22112         gl_NETDB_H_DEFAULTS. Set these variables.
22113         * modules/netdb (Makefile.am): Substitute these variables.
22114
22115 2008-11-10  Eric Blake  <ebb9@byu.net>
22116
22117         standards.texi: include correct file for FDL 1.3
22118         * doc/standards.texi (GNU Free Documentation License): Change
22119         include file to pull in FDL 1.3, not 1.2.
22120
22121         fdl.texi: revert accidental change to license
22122         * doc/fdl.texi: This is FDL 1.2, not 1.3.
22123
22124 2008-11-10  Bruno Haible  <bruno@clisp.org>
22125
22126         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
22127         cross-compiling guesses also when the native compile gives no result.
22128
22129 2008-11-10  Bruno Haible  <bruno@clisp.org>
22130
22131         * lib/spawni.c (__spawni): Force variable into the stack.
22132
22133 2008-11-10  Bruno Haible  <bruno@clisp.org>
22134
22135         Add support for Haiku.
22136         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
22137         glibc and BeOS, but also on Haiku.
22138         * lib/fpurge.c (fpurge): Likewise.
22139         * lib/freadable.c (freadable): Likewise.
22140         * lib/freadahead.c (freadahead): Likewise.
22141         * lib/freading.c (freading): Likewise.
22142         * lib/freadptr.c (freadptr): Likewise.
22143         * lib/freadseek.c (freadptrinc): Likewise.
22144         * lib/fseeko.c (rpl_fseeko): Likewise.
22145         * lib/fseterr.c (fseterr): Likewise.
22146         * lib/fwritable.c (fwritable): Likewise.
22147         * lib/fwriting.c (fwriting): Likewise.
22148         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
22149
22150 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
22151
22152         * lib/config.charset: Treat Haiku like BeOS.
22153
22154 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
22155
22156         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
22157         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
22158
22159 2008-11-08  Bruno Haible  <bruno@clisp.org>
22160
22161         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
22162         AC_CACHE_CHECK.
22163
22164 2008-11-08  Bruno Haible  <bruno@clisp.org>
22165
22166         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
22167
22168 2008-11-08  Bruno Haible  <bruno@clisp.org>
22169
22170         * tests/test-select-fd.c: New file.
22171         * tests/test-select-in.sh: New file.
22172         * tests/test-select-out.sh: New file.
22173         * tests/test-select-stdin.c: New file.
22174         * modules/select-tests (Files): Add the new files.
22175         (Depends-on): Add gettimeofday.
22176         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
22177         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
22178         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
22179
22180 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
22181             Bruno Haible  <bruno@clisp.org>
22182
22183         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
22184
22185 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
22186
22187         * build-aux/pmccabe2html: Added support for C++ source files.
22188
22189 2008-11-05  Ben Pfaff  <blp@gnu.org>
22190
22191         Fix lib/close.c build on Windows.
22192         * modules/close (Files): Add lib/w32sock.h.
22193
22194 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
22195
22196         Accept Bison's NEWS format.
22197         * build-aux/announce-gen (print_news_deltas): Tweak
22198         $re_prefix.
22199
22200 2008-11-04  Bruno Haible  <bruno@clisp.org>
22201
22202         * modules/random_r (Maintainer): Add glibc.
22203
22204 2008-11-04  Simon Josefsson  <simon@josefsson.org>
22205
22206         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
22207         by karl@freefriends.org (Karl Berry).
22208         * doc/alloca.texi: Likewise.
22209         * doc/c-ctype.texi: Likewise.
22210         * doc/c-strcase.texi: Likewise.
22211         * doc/c-strcaseeq.texi: Likewise.
22212         * doc/c-strcasestr.texi: Likewise.
22213         * doc/c-strstr.texi: Likewise.
22214         * doc/c-strtod.texi: Likewise.
22215         * doc/c-strtold.texi: Likewise.
22216         * doc/ctime.texi: Likewise.
22217         * doc/error.texi: Likewise.
22218         * doc/fdl.texi: Likewise.
22219         * doc/gcd.texi: Likewise.
22220         * doc/getdate.texi: Likewise.
22221         * doc/gnulib-intro.texi: Likewise.
22222         * doc/gnulib-tool.texi: Likewise.
22223         * doc/gnulib.texi: Likewise.
22224         * doc/inet_ntoa.texi: Likewise.
22225         * doc/maintain.texi: Likewise.
22226         * doc/make-stds.texi: Likewise.
22227         * doc/quote.texi: Likewise.
22228         * doc/regexprops-generic.texi: Likewise.
22229         * doc/standards.texi: Likewise.
22230         * doc/verify.texi: Likewise.
22231         * doc/visibility.texi: Likewise.
22232         * doc/gnulib.texi (GNU Free Documentation License): Include
22233         fdl-1.3.texi instead of fdl.texi.
22234
22235 2008-11-04  Simon Josefsson  <simon@josefsson.org>
22236
22237         * doc/fdl-1.3.texi: New file, from
22238         <http://www.gnu.org/licenses/fdl-1.3.texi>.
22239         * modules/fdl-1.3: Add.
22240         * MODULES.html.sh: Add fdl-1.3.
22241
22242 2008-11-03  Bruno Haible  <bruno@clisp.org>
22243
22244         Make determination of absolute name of header file work with AIX xlc.
22245         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
22246         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
22247         preprocessing.
22248         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
22249         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
22250
22251 2008-11-03  Simon Josefsson  <simon@josefsson.org>
22252
22253         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
22254         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
22255         <ludo@gnu.org>.
22256
22257 2008-11-02  Bruno Haible  <bruno@clisp.org>
22258
22259         Mark 'strpbrk' obsolete.
22260         * modules/strpbrk (Status, Notice): New sections.
22261         * modules/strtok_r (Depends-on): Add strpbrk.
22262
22263 2008-11-02  Bruno Haible  <bruno@clisp.org>
22264
22265         Mark 'strdup' obsolete.
22266         * modules/strdup (Status, Notice): New sections.
22267         * modules/findprog (Depends-on): Add strdup.
22268         * modules/getaddrinfo (Depends-on): Likewise.
22269         * modules/localename (Depends-on): Likewise.
22270         * modules/relocatable-lib (Depends-on): Likewise.
22271         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
22272         * modules/relocatable-prog (Depends-on): Likewise.
22273         * modules/trim (Depends-on): Likewise.
22274         * modules/unictype/gen-ctype (Depends-on): Likewise.
22275         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
22276
22277 2008-11-02  Bruno Haible  <bruno@clisp.org>
22278
22279         Mark 'strcspn' obsolete.
22280         * modules/strcspn (Status, Notice): New sections.
22281
22282 2008-11-02  Bruno Haible  <bruno@clisp.org>
22283
22284         Mark 'rmdir' obsolete.
22285         * modules/rmdir (Status, Notice): New sections.
22286         * modules/clean-temp (Depends-on): Add rmdir.
22287         * modules/openat (Depends-on): Likewise.
22288
22289 2008-11-02  Bruno Haible  <bruno@clisp.org>
22290
22291         Mark 'raise' obsolete.
22292         * modules/raise (Status, Notice): New sections.
22293         (Include): Specify <signal.h>.
22294         * modules/stdio (Depends-on): Add raise.
22295         * modules/write (Depends-on): Likewise.
22296
22297 2008-11-02  Bruno Haible  <bruno@clisp.org>
22298
22299         Mark 'memset' obsolete.
22300         * modules/memset (Status, Notice): New sections.
22301
22302 2008-11-02  Bruno Haible  <bruno@clisp.org>
22303
22304         Mark 'memmove' obsolete.
22305         * modules/memmove (Status, Notice): New sections.
22306         * modules/argp (Depends-on): Add memmove.
22307         * modules/argz (Depends-on): Likewise.
22308         * modules/canonicalize (Depends-on): Likewise.
22309         * modules/canonicalize-lgpl (Depends-on): Likewise.
22310         * modules/fts (Depends-on): Likewise.
22311         * modules/getcwd (Depends-on): Likewise.
22312         * modules/human (Depends-on): Likewise.
22313         * modules/regex (Depends-on): Likewise.
22314         * modules/striconveh (Depends-on): Likewise.
22315         * modules/trim (Depends-on): Likewise.
22316         * modules/unistr/u8-move (Depends-on): Likewise.
22317         * modules/unistr/u16-move (Depends-on): Likewise.
22318         * modules/unistr/u32-move (Depends-on): Likewise.
22319
22320 2008-11-02  Bruno Haible  <bruno@clisp.org>
22321
22322         Mark 'memcpy' obsolete.
22323         * modules/memcpy (Status, Notice): New sections.
22324
22325 2008-11-02  Bruno Haible  <bruno@clisp.org>
22326
22327         Mark 'memcmp' obsolete.
22328         * modules/memcmp (Status, Notice): New sections.
22329         * modules/argmatch (Depends-on): Add memchr.
22330         * modules/backupfile (Depends-on): Likewise.
22331         * modules/c-strcasestr (Depends-on): Likewise.
22332         * modules/crypto/des (Depends-on): Likewise.
22333         * modules/csharpcomp (Depends-on): Likewise.
22334         * modules/fnmatch (Depends-on): Likewise.
22335         * modules/git-merge-changelog (Depends-on): Likewise.
22336         * modules/isnand (Depends-on): Likewise.
22337         * modules/isnand-nolibm (Depends-on): Likewise.
22338         * modules/isnanf (Depends-on): Likewise.
22339         * modules/isnanf-nolibm (Depends-on): Likewise.
22340         * modules/isnanl (Depends-on): Likewise.
22341         * modules/isnanl-nolibm (Depends-on): Likewise.
22342         * modules/mbchar (Depends-on): Likewise.
22343         * modules/memcoll (Depends-on): Likewise.
22344         * modules/quotearg (Depends-on): Likewise.
22345         * modules/regex (Depends-on): Likewise.
22346         * modules/relocatable-prog (Depends-on): Likewise.
22347         * modules/same (Depends-on): Likewise.
22348         * modules/signbit (Depends-on): Likewise.
22349         * modules/strcasestr-simple (Depends-on): Likewise.
22350         * modules/unictype/gen-ctype (Depends-on): Likewise.
22351         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
22352         * modules/uniname/uniname (Depends-on): Likewise.
22353         * modules/unistr/u8-cmp (Depends-on): Likewise.
22354
22355 2008-11-02  Bruno Haible  <bruno@clisp.org>
22356
22357         Mark 'memchr' obsolete.
22358         * modules/memchr (Status, Notice): New sections.
22359         * modules/argp (Depends-on): Add memchr.
22360         * modules/base64 (Depends-on): Likewise.
22361         * modules/c-strcasestr (Depends-on): Likewise.
22362         * modules/chdir-long (Depends-on): Likewise.
22363         * modules/fnmatch (Depends-on): Likewise.
22364         * modules/getsubopt (Depends-on): Likewise.
22365         * modules/git-merge-changelog (Depends-on): Likewise.
22366         * modules/glob (Depends-on): Likewise.
22367         * modules/strcasestr-simple (Depends-on): Likewise.
22368         * modules/strnlen (Depends-on): Likewise.
22369
22370 2008-11-02  Bruno Haible  <bruno@clisp.org>
22371
22372         Mark 'atexit' obsolete.
22373         * modules/atexit (Status, Notice): New sections.
22374         * modules/chdir-long (Depends-on): Add atexit.
22375         * modules/wait-process (Depends-on): Likewise.
22376
22377 2008-11-02  Bruno Haible  <bruno@clisp.org>
22378
22379         * gnulib-tool: New option --with-obsolete.
22380         (func_usage): Document it.
22381         (func_modules_transitive_closure): Drop obsolete dependencies if
22382         incobsolete is not true.
22383         (func_import): Read and save the incobsolete variable to the cache.
22384
22385 2008-11-02  Bruno Haible  <bruno@clisp.org>
22386
22387         * modules/TEMPLATE-EXTENDED: New field 'Status'.
22388         * gnulib-tool: New option --extract-status.
22389         (func_usage): Document it.
22390         (sed_extract_prog): Recognize it.
22391         (func_get_status): New function.
22392
22393 2008-10-30  Simon Josefsson  <simon@josefsson.org>
22394
22395         * modules/sockets (License): Change from LGPL to LGPLv2+.
22396
22397 2008-10-28  Simon Josefsson  <simon@josefsson.org>
22398
22399         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
22400
22401 2008-10-28  Simon Josefsson  <simon@josefsson.org>
22402
22403         * MODULES.html.sh (Support for systems lacking POSIX:2001):
22404         Mention times and sys_times.
22405         * modules/sys_times, modules/sys_times-tests: New modules.
22406         * modules/times, modules/times-tests: Likewise
22407         * m4/sys_times_h.m4: New file.
22408         * lib/sys_times.in.h: Likewise
22409         * lib/times.c: Likewise.
22410         * tests/test-sys_times.c: Likewise.
22411         * tests/test-times.c: Likewise.
22412         * doc/posix-headers/sys_times.texi: Update.
22413         * doc/posix-functions/times.texi: Update.
22414
22415 2008-10-28  Jim Meyering  <meyering@redhat.com>
22416
22417         * modules/tempname (Depends-on): Add lstat.
22418
22419         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
22420
22421 2008-10-28  Simon Josefsson  <simon@josefsson.org>
22422
22423         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
22424         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
22425         using idiom used elsewhere in gnulib.
22426
22427 2008-10-27  Jim Meyering  <meyering@redhat.com>
22428
22429         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
22430
22431 2008-10-27  Simon Josefsson  <simon@josefsson.org>
22432
22433         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
22434         TESTS_ENVIRONMENT, for shell scripts that needs to call built
22435         programs.
22436         * tests/test-argp-2.sh: Use $EXEEXT when needed.
22437
22438 2008-10-27  Simon Josefsson  <simon@josefsson.org>
22439
22440         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
22441
22442 2008-10-27  Bruno Haible  <bruno@clisp.org>
22443
22444         * tests/test-lstat.c: Include <stdio.h>.
22445
22446 2008-10-27  Simon Josefsson  <simon@josefsson.org>
22447
22448         * modules/lstat-tests: New module.
22449         * tests/test-lstat.c: New file.
22450
22451 2008-10-26  Jim Meyering  <meyering@redhat.com>
22452
22453         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
22454
22455 2008-10-26  Simon Josefsson  <simon@josefsson.org>
22456             Bruno Haible  <bruno@clisp.org>
22457
22458         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
22459         * modules/configmake (Include): Add a note that the include must come
22460         after all system headers.
22461         * lib/javaversion.c: Include configmake.h after all other includes.
22462
22463 2008-10-26  Bruno Haible  <bruno@clisp.org>
22464
22465         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
22466         HAVE_STRUCT_RANDOM_DATA to 1.
22467         (gl_STDLIB_H): Simplify.
22468
22469 2008-10-26  Simon Josefsson  <simon@josefsson.org>
22470
22471         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
22472         substitute HAVE_STRUCT_RANDOM_DATA.
22473         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
22474         random_data.
22475         * modules/stdlib (Makefile.am): Substitute
22476         HAVE_STRUCT_RANDOM_DATA.
22477
22478 2008-10-26  Simon Josefsson  <simon@josefsson.org>
22479
22480         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
22481         * doc/gnulib-intro.texi (Copyright): Likewise.
22482
22483 2008-10-26  Simon Josefsson  <simon@josefsson.org>
22484
22485         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
22486         findings.
22487
22488 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
22489             Bruno Haible  <bruno@clisp.org>
22490
22491         * lib/unistd.in.h: Include <winsock2.h>.
22492         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
22493         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
22494         Provide dummy declarations.
22495         (gethostname): Override.
22496         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
22497         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
22498         gl_PREREQ_SYS_H_WINSOCK2.
22499         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
22500         * doc/posix-functions/gethostname.texi: More details.
22501
22502 2008-10-25  Bruno Haible  <bruno@clisp.org>
22503
22504         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
22505         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
22506         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
22507
22508         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
22509         here ...
22510         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
22511         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
22512         gl_UNISTD_H_DEFAULTS.
22513
22514 2008-10-25  Eric Blake  <ebb9@byu.net>
22515
22516         signbit: avoid spurious compiler failure
22517         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
22518         declarations inside function.
22519
22520 2008-10-24  Simon Josefsson  <simon@josefsson.org>
22521             Bruno Haible  <bruno@clisp.org>
22522
22523         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
22524         * modules/random_r (Depends-on): Add stdint.
22525
22526 2008-10-24  Bruno Haible  <bruno@clisp.org>
22527
22528         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
22529         Eggert.
22530         * modules/strerror (License): Likewise.
22531
22532 2008-10-24  Jim Meyering  <meyering@redhat.com>
22533
22534         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
22535         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
22536
22537 2008-10-24  Eric Blake  <ebb9@byu.net>
22538
22539         getgroups: fix compilation when getgroups is available
22540         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
22541         but with <config.h> override of getgroups disabled.
22542
22543 2008-10-24  Simon Josefsson  <simon@josefsson.org>
22544
22545         * doc/gnulib.texi (Header files): Add note about C++ problems.
22546         Explained by Bruno Haible <bruno@clisp.org>.
22547
22548 2008-10-23  Bruno Haible  <bruno@clisp.org>
22549
22550         Define a dummy SA_NODEFER macro on Interix.
22551         * lib/signal.in.h (SA_NODEFER): Define fallback.
22552         Reported by Aleksey Cheusov <cheusov@tut.by> via
22553         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
22554
22555 2008-10-23  Bruno Haible  <bruno@clisp.org>
22556
22557         * modules/freadahead (License): Change to LGPLv2+.
22558         Suggested by Simon Josefsson.
22559
22560 2008-10-23  Jim Meyering  <meyering@redhat.com>
22561
22562         random_r: new module
22563         * modules/random_r: New file.
22564         * m4/random_r.m4: New file.
22565         * lib/random_r.c: New file, from glibc.
22566         * modules/random_r-tests: New file.
22567         * tests/test-random_r.c: New file.
22568         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
22569          Declare.
22570         (RAND_MAX): Define.
22571         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
22572         * modules/stdlib: Substitute them, too.
22573         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
22574         * doc/glibc-functions/initstate_r.texi: Mention the new module.
22575         * doc/glibc-functions/random_r.texi: Likewise.
22576         * doc/glibc-functions/setstate_r.texi: Likewise.
22577         * doc/glibc-functions/srandom_r.texi: Likewise.
22578         * config/srclist.txt: Mention it.
22579
22580 2008-10-23  David Lutterkort  <lutter@redhat.com>
22581
22582         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
22583         link requirement
22584
22585 2008-10-23  Jim Meyering  <meyering@redhat.com>
22586
22587         selinux-h: mark parameters of stub functions as intentionally unused
22588         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
22589         * lib/se-context.in.h: Likewise.
22590
22591 2008-10-22  Simon Josefsson  <simon@josefsson.org>
22592
22593         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
22594
22595 2008-10-22  Simon Josefsson  <simon@josefsson.org>
22596
22597         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
22598
22599 2008-10-22  Eric Blake  <ebb9@byu.net>
22600
22601         glthread/thread: avoid compiler warning
22602         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
22603         Add unreachable abort to silence compiler.
22604
22605 2008-10-22  Eric Blake  <ebb9@byu.net>
22606
22607         netdb: also supply struct addrinfo for cygwin 1.5.x
22608         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
22609         older cygwin.
22610         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
22611         cygwin.
22612         * doc/posix-headers/netdb.texi (netdb.h): Document this.
22613
22614 2008-10-22  Bruno Haible  <bruno@clisp.org>
22615
22616         * users.txt: Update entry about pspp.
22617
22618 2008-10-21  Bruno Haible  <bruno@clisp.org>
22619
22620         Simplification.
22621         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
22622         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
22623
22624         Simplification.
22625         * lib/ioctl.c (ioctl): Don't undefine.
22626         * lib/socket.c (socket): Don't undefine.
22627
22628         Remove unused module indicator macros.
22629         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
22630         GNULIB_$1 as a C macro.
22631
22632         * doc/posix-functions/close.texi: Undo last change.
22633         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
22634         Windows platforms.
22635
22636 2008-10-21  Bruno Haible  <bruno@clisp.org>
22637
22638         Add gethostname() declaration to <unistd.h>.
22639         * lib/unistd.in.h (gethostname): New declaration.
22640         * lib/gethostname.c: Include <unistd.h>.
22641         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
22642         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
22643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
22644         and HAVE_GETHOSTNAME.
22645         * modules/gethostname (Depends-on): Add unistd.
22646         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
22647         (Include): Specify <unistd.h>.
22648         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
22649         HAVE_GETHOSTNAME.
22650         * tests/test-gethostname.c: Include <unistd.h> first.
22651
22652 2008-10-21  Bruno Haible  <bruno@clisp.org>
22653
22654         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
22655         * modules/select-tests (Depends-on): Likewise.
22656         Reported by Simon Josefsson.
22657
22658 2008-10-21  Simon Josefsson  <simon@josefsson.org>
22659
22660         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
22661         * lib/accept.c: New file, based on winsock.c.
22662         * lib/bind.c: New file, based on winsock.c.
22663         * lib/connect.c: New file, based on winsock.c.
22664         * lib/getpeername.c: New file, based on winsock.c.
22665         * lib/getsockname.c: New file, based on winsock.c.
22666         * lib/getsockopt.c: New file, based on winsock.c.
22667         * lib/ioctl.c: New file, based on winsock.c.
22668         * lib/listen.c: New file, based on winsock.c.
22669         * lib/recv.c: New file, based on winsock.c.
22670         * lib/recvfrom.c: New file, based on winsock.c.
22671         * lib/send.c: New file, based on winsock.c.
22672         * lib/sendto.c: New file, based on winsock.c.
22673         * lib/setsockopt.c: New file, based on winsock.c.
22674         * lib/shutdown.c: New file, based on winsock.c.
22675         * lib/socket.c: New file, based on winsock.c.
22676         * lib/w32sock.h: New file, based on winsock.c.
22677         * lib/winsock.c: Remove file.
22678         * modules/accept: Likewise.
22679         * modules/bind: Likewise.
22680         * modules/connect: Likewise.
22681         * modules/getpeername: Likewise.
22682         * modules/getsockname: Likewise.
22683         * modules/getsockopt: Likewise.
22684         * modules/ioctl: Likewise.
22685         * modules/listen: Likewise.
22686         * modules/recv: Likewise.
22687         * modules/recvfrom: Likewise.
22688         * modules/send: Likewise.
22689         * modules/sendto: Likewise.
22690         * modules/setsockopt: Likewise.
22691         * modules/shutdown: Likewise.
22692         * modules/socket: Use socket.c instead of winsock.c.
22693         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
22694         * doc/posix-functions/accept.texi: Doc fix.
22695         * doc/posix-functions/bind.texi: Doc fix.
22696         * doc/posix-functions/close.texi: Doc fix.
22697         * doc/posix-functions/connect.texi: Doc fix.
22698         * doc/posix-functions/getpeername.texi: Doc fix.
22699         * doc/posix-functions/getsockname.texi: Doc fix.
22700         * doc/posix-functions/getsockopt.texi: Doc fix.
22701         * doc/posix-functions/ioctl.texi: Doc fix.
22702         * doc/posix-functions/listen.texi: Doc fix.
22703         * doc/posix-functions/recv.texi: Doc fix.
22704         * doc/posix-functions/recvfrom.texi: Doc fix.
22705         * doc/posix-functions/send.texi: Doc fix.
22706         * doc/posix-functions/sendto.texi: Doc fix.
22707         * doc/posix-functions/setsockopt.texi: Doc fix.
22708         * doc/posix-functions/shutdown.texi: Doc fix.
22709         * doc/posix-functions/socket.texi: Doc fix.
22710
22711 2008-10-20  Bruno Haible  <bruno@clisp.org>
22712
22713         Take into account the role of SIGABRT_COMPAT on Windows 2008.
22714         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
22715         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
22716         as an alias for SIGABRT.
22717         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
22718         (sigaction): Map it to SIGABRT.
22719         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
22720
22721 2008-10-20  Bruno Haible  <bruno@clisp.org>
22722
22723         * lib/fts.c: Don't include lstat.h.
22724         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
22725
22726         Move the lstat() declaration to <sys/stat.h>.
22727         * lib/lstat.h: Remove file.
22728         * lib/sys_stat.in.h: Add special invocation convention.
22729         (lstat): New declaration.
22730         * lib/lstat.c (orig_lstat): New function.
22731         (rpl_lstat): Use orig_lstat instead of lstat.
22732         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
22733         AC_C_INLINE. Set REPLACE_LSTAT.
22734         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
22735         and REPLACE_LSTAT.
22736         * modules/lstat (Files): Remove lib/lstat.h.
22737         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
22738         (Include): Specify <sys/stat.h> instead of lstat.h.
22739         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
22740         REPLACE_LSTAT.
22741         * NEWS: Mention the change.
22742
22743 2008-10-20  Bruno Haible  <bruno@clisp.org>
22744
22745         * modules/posix_spawn-tests: New file.
22746         * tests/test-posix_spawn3.c: New file.
22747
22748 2008-10-20  Bruno Haible  <bruno@clisp.org>
22749
22750         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
22751         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
22752         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
22753         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
22754         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
22755
22756 2008-10-20  Bruno Haible  <bruno@clisp.org>
22757
22758         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
22759         of posix_spawn on AIX 5.3.
22760
22761 2008-10-20  Bruno Haible  <bruno@clisp.org>
22762
22763         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
22764
22765 2008-10-20  Bruno Haible  <bruno@clisp.org>
22766
22767         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
22768         of AC_LANG_PROGRAM.
22769
22770 2008-10-20  Simon Josefsson  <simon@josefsson.org>
22771
22772         * lib/netdb.in.h: Don't define GNU specific constants until they
22773         are supported or needed.  Reported by Bruno Haible
22774         <bruno@clisp.org>.
22775
22776 2008-10-20  Simon Josefsson  <simon@josefsson.org>
22777
22778         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
22779
22780 2008-10-20  Simon Josefsson  <simon@josefsson.org>
22781
22782         * lib/getaddrinfo.h: Remove file.
22783         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
22784         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
22785         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
22786         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
22787         * modules/netdb: Substitute GNULIB_GETADDRINFO.
22788         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
22789         * tests/test-getaddrinfo.c: Likewise.
22790         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
22791         * NEWS: Mention change.
22792
22793 2008-10-19  Bruno Haible  <bruno@clisp.org>
22794
22795         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
22796
22797 2008-10-19  Bruno Haible  <bruno@clisp.org>
22798
22799         * lib/wait-process.c: Include simply <sys/wait.h>.
22800         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
22801         WIFSTOPPED): Remove fallback definitions.
22802         * modules/wait-process (Depends-on): Add sys_wait.
22803
22804         New module 'sys_wait'.
22805         * modules/sys_wait: New file.
22806         * lib/sys_wait.in.h: New file, partially copied from
22807         lib/wait-process.c.
22808         * m4/sys_wait_h.m4: New file.
22809         * doc/posix-headers/sys_wait.texi: Mention the new module.
22810
22811 2008-10-19  Bruno Haible  <bruno@clisp.org>
22812
22813         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
22814
22815 2008-10-19  Bruno Haible  <bruno@clisp.org>
22816
22817         Assume that waitpid() fills an 'int' status, not a 'union wait'.
22818         * lib/wait-process.c (WAIT_T): Remove type.
22819         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
22820         (wait_subprocess): Update.
22821
22822 2008-10-19  Bruno Haible  <bruno@clisp.org>
22823
22824         New module 'atoll'.
22825         * modules/atoll: New file.
22826         * lib/stdlib.in.h (atoll): New declaration.
22827         * lib/atoll.c: New file, from glibc with modifications.
22828         * m4/atoll.m4: New file.
22829         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
22830         HAVE_ATOLL.
22831         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
22832         * doc/posix-functions/atoll.texi: Mention the new module.
22833
22834 2008-10-19  Bruno Haible  <bruno@clisp.org>
22835
22836         Add strtoull() declaration to <stdlib.h>.
22837         * lib/stdlib.in.h (strtoull): New declaration.
22838         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
22839         Set HAVE_STRTOULL.
22840         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
22841         HAVE_STRTOULL.
22842         * modules/strtoull (Depends-on): Add stdlib.
22843         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
22844         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
22845         HAVE_STRTOULL.
22846
22847 2008-10-19  Bruno Haible  <bruno@clisp.org>
22848
22849         Add strtoll() declaration to <stdlib.h>.
22850         * lib/stdlib.in.h (strtoll): New declaration.
22851         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
22852         Set HAVE_STRTOLL.
22853         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
22854         HAVE_STRTOLL.
22855         * modules/strtoll (Depends-on): Add stdlib.
22856         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
22857         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
22858
22859 2008-10-19  Bruno Haible  <bruno@clisp.org>
22860
22861         * modules/bcopy (Depends-on): Add strings.
22862         (Include): Specify <strings.h>.
22863
22864 2008-10-19  Bruno Haible  <bruno@clisp.org>
22865
22866         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
22867
22868 2008-10-19  Bruno Haible  <bruno@clisp.org>
22869
22870         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
22871         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
22872         mingw.
22873
22874 2008-10-19  Bruno Haible  <bruno@clisp.org>
22875
22876         * lib/atanl.c: Don't include isnanl.h.
22877         * lib/cosl.c: Likewise.
22878         * lib/ldexpl.c: Likewise.
22879         * lib/logl.c: Likewise.
22880         * lib/sinl.c: Likewise.
22881         * lib/sqrtl.c: Likewise.
22882         * lib/tanl.c: Likewise.
22883
22884         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
22885         * lib/isnanf.h: Remove file.
22886         * lib/isnand.h: Remove file.
22887         * lib/isnanl.h: Remove file.
22888         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
22889         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
22890         macros.
22891         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
22892         HAVE_ISNANF, don't define it as a C macro.
22893         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
22894         HAVE_ISNAND, don't define it as a C macro.
22895         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
22896         HAVE_ISNANL, don't define it as a C macro.
22897         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
22898         HAVE_ISNAN[FDL].
22899         * modules/isnanf (Files): Remove lib/isnanf.h.
22900         (Depends-on): Add math.
22901         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22902         (Include): Specify <math.h> instead of isnanf.h.
22903         * modules/isnand (Files): Remove lib/isnand.h.
22904         (Depends-on): Add math.
22905         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22906         (Include): Specify <math.h> instead of isnand.h.
22907         * modules/isnanl (Files): Remove lib/isnanl.h.
22908         (Depends-on): Add math.
22909         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22910         (Include): Specify <math.h> instead of isnanl.h.
22911         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
22912         HAVE_ISNAN[FDL].
22913         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
22914         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
22915         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
22916         * NEWS: Mention the change.
22917
22918 2008-10-18  Bruno Haible  <bruno@clisp.org>
22919
22920         Add getusershell(), setusershell(), endusershell() declarations to
22921         <unistd.h>.
22922         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
22923         declarations.
22924         * lib/getusershell.c: Include unistd.h.
22925         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
22926         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
22927         HAVE_GETUSERSHELL.
22928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
22929         and HAVE_GETUSERSHELL.
22930         * modules/getusershell (Depends-on): Add unistd, extensions.
22931         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
22932         (Include): Specify <unistd.h>.
22933         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
22934         HAVE_GETUSERSHELL.
22935
22936 2008-10-18  Bruno Haible  <bruno@clisp.org>
22937
22938         Add a getloadavg() declaration to <stdlib.h>.
22939         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
22940         getloadavg declaration.
22941         (getloadavg): New declaration.
22942         * lib/getloadavg.c: Include <stdlib.h> first.
22943         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
22944         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
22945         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
22946         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
22947         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
22948         * modules/getloadavg (Depends-on): Add stdlib, extensions.
22949         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
22950         (Include): Specify <stdlib.h>.
22951         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
22952         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
22953
22954 2008-10-18  Bruno Haible  <bruno@clisp.org>
22955
22956         * lib/dirchownmod.c: Don't include lchmod.h.
22957
22958         Move the lchmod() declaration to <sys/stat.h>.
22959         * lib/lchmod.h: Remove file.
22960         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
22961         (lchmod): New declaration, moved here from lib/lchown.h.
22962         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
22963         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
22964         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
22965         and HAVE_LCHMOD.
22966         * modules/lchmod (Files): Remove lib/lchmod.h.
22967         (Depends-on): Add sys_stat, extensions.
22968         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
22969         (Include): Specify <sys/stat.h> instead of lchmod.h.
22970         * modules/sys_stat (Depends-on): Add link-warning.
22971         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
22972         definition of GL_LINK_WARNING.
22973         * NEWS: Mention the change.
22974
22975 2008-10-18  Bruno Haible  <bruno@clisp.org>
22976
22977         * lib/fchdir.c: Don't include dirfd.h.
22978         * lib/fts.c: Likewise.
22979         * lib/getcwd.c: Likewise.
22980         * lib/glob.c: Likewise.
22981
22982         Move the dirfd() declaration to <dirent.h>.
22983         * lib/dirfd.h: Remove file.
22984         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
22985         (dirfd): New declaration.
22986         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
22987         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
22988         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
22989         HAVE_DECL_DIRFD.
22990         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
22991         HAVE_DECL_DIRFD.
22992         * modules/dirfd (Files): Remove lib/dirfd.h.
22993         (Depends-on): Add dirent, extensions.
22994         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
22995         (Include): Specify <dirent.h> instead of dirfd.h.
22996         * modules/dirent (Depends-on): Add link-warning.
22997         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
22998         definition of GL_LINK_WARNING.
22999         * NEWS: Mention the change.
23000
23001 2008-10-18  Bruno Haible  <bruno@clisp.org>
23002
23003         Move the euidaccess() declaration to <unistd.h>.
23004         * lib/euidaccess.h: Remove file.
23005         * lib/unistd.in.h (euidaccess): New declaration.
23006         * lib/euidaccess.c: Don't include euidaccess.h.
23007         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
23008         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
23009         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
23010         and HAVE_EUIDACCESS.
23011         * modules/euidaccess (Files): Remove lib/euidaccess.h.
23012         (Depends-on): Add unistd.
23013         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23014         (Include): Specify <unistd.h> instead of euidaccess.h.
23015         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
23016         HAVE_EUIDACCESS.
23017         * NEWS: Mention the change.
23018
23019 2008-10-18  Bruno Haible  <bruno@clisp.org>
23020
23021         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
23022
23023         Move the getdomainname() declaration to <unistd.h>.
23024         * lib/getdomainname.h: Remove file.
23025         * lib/unistd.in.h (getdomainname): New declaration.
23026         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
23027         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23028         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
23029         HAVE_GETDOMAINNAME.
23030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23031         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
23032         * modules/getdomainname (Files): Remove lib/getdomainname.h.
23033         (Depends-on): Add unistd, extensions.
23034         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23035         (Includes): Specify <unistd.h> instead of getdomainname.h.
23036         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
23037         HAVE_GETDOMAINNAME.
23038         * NEWS: Mention the change.
23039
23040 2008-10-18  Bruno Haible  <bruno@clisp.org>
23041
23042         * modules/dirent: New file.
23043         * m4/dirent_h.m4: New file.
23044         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
23045         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
23046         * modules/fchdir (Files): Remove lib/dirent.in.h.
23047         (Depends-on): Add dirent.
23048         (Makefile.am): Move rules to modules/dirent.
23049         * doc/posix-headers/dirent.texi: Mention the new module.
23050
23051 2008-10-18  Bruno Haible  <bruno@clisp.org>
23052
23053         Avoid -Wunused-parameter warnings in public gnulib header files.
23054         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
23055         macro.
23056         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
23057
23058 2008-10-18  Bruno Haible  <bruno@clisp.org>
23059
23060         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
23061         * doc/glibc-functions/error.texi: Mention the module 'error'.
23062         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
23063         * doc/glibc-functions/getdomainname.texi: Mention the module
23064         'getdomainname'.
23065         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
23066         * doc/glibc-functions/getpagesize.texi: Mention the module
23067         'getpagesize'.
23068         * doc/glibc-functions/getusershell.texi: Mention the module
23069         'getusershell'.
23070         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
23071         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
23072         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
23073         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
23074         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
23075         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
23076         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
23077         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
23078         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
23079         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
23080         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
23081         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
23082         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
23083         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
23084
23085 2008-10-17  Bruno Haible  <bruno@clisp.org>
23086
23087         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
23088         HP-UX and IRIX, use -0.0L.
23089         * tests/test-ceill.c (minus_zero): Likewise.
23090         * tests/test-floorl.c (minus_zero): Likewise.
23091         * tests/test-frexpl.c (minus_zero): Likewise.
23092         * tests/test-isnan.c (minus_zerol): Likewise.
23093         * tests/test-isnanl.h (minus_zero): Likewise.
23094         * tests/test-ldexpl.c (minus_zero): Likewise.
23095         * tests/test-roundl.c (minus_zero): Likewise.
23096         * tests/test-signbit.c (minus_zerol): Likewise.
23097         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
23098         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
23099         * tests/test-truncl.c (minus_zero): Likewise.
23100         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
23101         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
23102         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
23103         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
23104
23105 2008-10-17  Bruno Haible  <bruno@clisp.org>
23106
23107         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
23108         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
23109         that it gets activated only for gcc >= 3.0.
23110         * lib/dirent.in.h: Likewise.
23111         * lib/errno.in.h: Likewise.
23112         * lib/fcntl.in.h: Likewise.
23113         * lib/float.in.h: Likewise.
23114         * lib/iconv.in.h: Likewise.
23115         * lib/inttypes.in.h: Likewise.
23116         * lib/locale.in.h: Likewise.
23117         * lib/math.in.h: Likewise.
23118         * lib/netdb.in.h: Likewise.
23119         * lib/netinet_in.in.h: Likewise.
23120         * lib/search.in.h: Likewise.
23121         * lib/signal.in.h: Likewise.
23122         * lib/spawn.in.h: Likewise.
23123         * lib/stdarg.in.h: Likewise.
23124         * lib/stdint.in.h: Likewise.
23125         * lib/stdio.in.h: Likewise.
23126         * lib/stdlib.in.h: Likewise.
23127         * lib/string.in.h: Likewise.
23128         * lib/strings.in.h: Likewise.
23129         * lib/sys_file.in.h: Likewise.
23130         * lib/sys_ioctl.in.h: Likewise.
23131         * lib/sys_select.in.h: Likewise.
23132         * lib/sys_socket.in.h: Likewise.
23133         * lib/sys_stat.in.h: Likewise.
23134         * lib/sys_time.in.h: Likewise.
23135         * lib/sysexits.in.h: Likewise.
23136         * lib/time.in.h: Likewise.
23137         * lib/unistd.in.h: Likewise.
23138         * lib/wchar.in.h: Likewise.
23139         * lib/wctype.in.h: Likewise.
23140         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23141
23142 2008-10-17  Jim Meyering  <meyering@redhat.com>
23143
23144         ignore-value: don't depend on inline module
23145         * modules/ignore-value (Depends-on): Remove 'inline'.
23146         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
23147         Suggestion from Bruno Haible.
23148
23149 2008-10-17  Bruno Haible  <bruno@clisp.org>
23150
23151         New implementation of condition variables for Win32.
23152         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
23153         (gl_linked_waitqueue_t): New type.
23154         (gl_cond_t): Use it.
23155         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
23156         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
23157         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
23158         (glthread_cond_init_func, glthread_cond_wait_func,
23159         glthread_cond_timedwait_func, glthread_cond_signal_func,
23160         glthread_cond_broadcast_func, glthread_cond_destroy_func):
23161         Reimplemented on the basis of gl_linked_waitqueue_t.
23162         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
23163         gl_waitqueue_t.
23164         (gl_rwlock_t): Update.
23165         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
23166
23167 2008-10-17  Simon Josefsson  <simon@josefsson.org>
23168
23169         * modules/recvfrom (Depends-on): Add dependency on getpeername.
23170         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23171
23172 2008-10-17  Jim Meyering  <meyering@redhat.com>
23173
23174         ignore-value: new module
23175         * modules/ignore-value: New file.
23176         * lib/ignore-value.h: New file.
23177         * MODULES.html.sh (Compiler warning management): New section,
23178         just for this module.  More to come.
23179
23180 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
23181
23182         open-safer.c: avoid 'signed and unsigned in conditional...' warning
23183         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
23184         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
23185
23186 2008-10-16  Jim Meyering  <meyering@redhat.com>
23187
23188         openat-die.c: avoid 'no previous prototype' warning
23189         * lib/openat-die.c: Include "openat.h".
23190         Reported by Reuben Thomas <rrt@sc3d.org>.
23191
23192 2008-10-16  Simon Josefsson  <simon@josefsson.org>
23193
23194         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
23195         * lib/netdb.in.h: Fix typo.
23196         Reported by Bruno Haible  <bruno@clisp.org>
23197
23198         * lib/netdb.in.h: Include sys/socket.h for platforms without
23199         netdb.h, to get structures like hostent on MinGW.
23200         * modules/netdb (Depends-on): Add sys_socket.
23201
23202 2008-10-15  Simon Josefsson  <simon@josefsson.org>
23203
23204         * modules/netdb, modules/netdb-tests: New file.
23205         * m4/netdb_h.m4: New file.
23206         * lib/netdb.in.h: Add, currently just an empty file pending
23207         definitions.
23208         * tests/test-netdb.c: New file.
23209         * doc/posix-headers/netdb.texi: Mention that we replace it if
23210         needed.
23211         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23212         netdb.
23213
23214 2008-10-15  Simon Josefsson  <simon@josefsson.org>
23215
23216         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
23217         with code.
23218
23219 2008-10-13  Bruno Haible  <bruno@clisp.org>
23220
23221         * lib/glthread/cond.c (glthread_cond_wait_func,
23222         glthread_cond_timedwait_func): Add a comment.
23223
23224 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
23225
23226         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
23227         * tests/test-select.c: Likewise,
23228
23229 2008-10-13  Bruno Haible  <bruno@clisp.org>
23230
23231         * lib/glthread/cond.c (glthread_cond_wait_func,
23232         glthread_cond_timedwait_func): Fix variable name.
23233         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23234
23235 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
23236
23237         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
23238         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
23239         struct sockaddr.sa_len.
23240         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
23241
23242 2008-10-13  Simon Josefsson  <simon@josefsson.org>
23243
23244         * build-aux/pmccabe2html: Add css and css_url parameters.
23245
23246 2008-10-12  Bruno Haible  <bruno@clisp.org>
23247
23248         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
23249         calling aclx_get.
23250         Reported by Rainer Tammer <tammer@tammer.net>.
23251
23252 2008-10-12  Bruno Haible  <bruno@clisp.org>
23253
23254         Use msvcrt aware primitives for creation/termination of Win32 threads.
23255         * lib/glthread/thread.c: Include <process.h>.
23256         (glthread_create_func): Use _beginthreadex instead of CreateThread.
23257         (wrapper_func): Update signature.
23258         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
23259
23260 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
23261             Bruno Haible  <bruno@clisp.org>
23262
23263         Provide a Win32 implementation of the 'cond' module.
23264         * lib/glthread/cond.h [USE_WIN32]: New implementation.
23265         * lib/glthread/cond.c (glthread_cond_init_func,
23266         glthread_cond_wait_func, glthread_cond_timedwait_func,
23267         glthread_cond_signal_func, glthread_cond_broadcast_func,
23268         glthread_cond_destroy_func) [USE_WIN32]: New functions.
23269         * modules/cond (Dependencies): Add gettimeofday.
23270
23271 2008-10-11  Bruno Haible  <bruno@clisp.org>
23272
23273         Make sleep work on older versions of mingw.
23274         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
23275         only whether it exists.
23276         * doc/posix-functions/sleep.texi: Mention the problem with older
23277         versions of mingw.
23278
23279 2008-10-11  Bruno Haible  <bruno@clisp.org>
23280
23281         New module 'shutdown'.
23282         * modules/shutdown: New file.
23283         * lib/sys_socket.in.h (shutdown): New declaration.
23284         * lib/winsock.c (shutdown): New function.
23285         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
23286         GNULIB_SHUTDOWN.
23287         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
23288         * doc/posix-functions/shutdown.texi: Document the new module.
23289
23290 2008-10-11  Jim Meyering  <meyering@redhat.com>
23291
23292         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
23293
23294 2008-10-11  Bruno Haible  <bruno@clisp.org>
23295
23296         New module 'fclose'.
23297         * modules/fclose: New file.
23298         * lib/stdio.in.h (fclose): New declaration.
23299         * lib/fclose.c: New file.
23300         * m4/fclose.m4: New file.
23301         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
23302         REPLACE_FCLOSE.
23303         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
23304         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
23305         REPLACE_FCLOSE.
23306         * modules/close (Depends-on): fclose.
23307         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
23308
23309 2008-10-11  Bruno Haible  <bruno@clisp.org>
23310
23311         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
23312         set errno and don't call _close.
23313
23314 2008-10-10  Bruno Haible  <bruno@clisp.org>
23315
23316         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
23317         ACL, not afterwards. Fixes test failure on Cygwin.
23318
23319 2008-10-09  Ben Pfaff  <blp@gnu.org>
23320
23321         * build-aux/announce-gen: Fix gnulib version related part of usage
23322         message.  Die with a useful error message if no tarballs are
23323         found.
23324
23325 2008-10-10  Jim Meyering  <meyering@redhat.com>
23326
23327         bootstrap: use git's --depth=N option only if it's supported
23328         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
23329         recognize the --depth option.  Reported by Pádraig Brady.
23330
23331 2008-10-09  Bruno Haible  <bruno@clisp.org>
23332
23333         New module 'ioctl'.
23334         * modules/ioctl: New file.
23335         * lib/sys_socket.in.h (ioctl): Remove declaration.
23336         * lib/winsock.c: Include <sys/ioctl.h>.
23337         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
23338         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
23339         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
23340         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
23341         * doc/posix-functions/ioctl.texi: Mention the new module.
23342
23343 2008-10-09  Bruno Haible  <bruno@clisp.org>
23344
23345         New module 'sys_ioctl'.
23346         * lib/sys_ioctl.in.h: New file.
23347         * m4/sys_ioctl_h.m4: New file.
23348         * modules/sys_ioctl: New file.
23349         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
23350
23351 2008-10-09  Bruno Haible  <bruno@clisp.org>
23352
23353         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
23354         * lib/winsock.c: Include <stdarg.h>.
23355         (rpl_ioctl): Change to second argument 'int' and then varargs.
23356
23357 2008-10-09  Bruno Haible  <bruno@clisp.org>
23358
23359         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
23360         when the sys_socket module is present and the system has <winsock2.h>.
23361
23362 2008-10-09  Bruno Haible  <bruno@clisp.org>
23363
23364         * doc/posix-functions/close.texi: Mention module 'close' instead of
23365         module 'sys_socket'.
23366
23367 2008-10-09  Bruno Haible  <bruno@clisp.org>
23368
23369         * doc/glibc-headers/sys_ioctl.texi: New file.
23370         * doc/gnulib.texi: Include it.
23371
23372 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23373             Bruno Haible  <bruno@clisp.org>
23374
23375         Combine the two replacements of 'close'.
23376         * lib/sys_socket.in.h (close): Define to a reminder to include
23377         <unistd.h>.
23378         (_gl_close_fd_maybe_socket): New declaration.
23379         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
23380         * lib/winsock.c (close): Remove undefinition.
23381         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
23382         needed for the gnulib module 'close'.
23383         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
23384         define to an error symbol or to a warning, if suitable.
23385         * lib/close.c: Include <sys/socket.h>.
23386         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
23387         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
23388         UNISTD_H_HAVE_WINSOCK2_H.
23389         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
23390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23391         UNISTD_H_HAVE_WINSOCK2_H.
23392         * modules/sys_socket (Files): Add m4/unistd_h.m4.
23393         (configure.ac): Set a module indicator.
23394         (Makefile.am): Substitute GNULIB_CLOSE.
23395         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
23396         * modules/poll-tests (Depends-on): Add close.
23397         * modules/select-tests (Depends-on): Likewise.
23398
23399 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23400             Bruno Haible  <bruno@clisp.org>
23401
23402         New module 'close'.
23403         * modules/close: New file.
23404         * lib/unistd.in.h (close): Move declaration out of the
23405         FCHDIR_REPLACEMENT scope.
23406         (_gl_unregister_fd): New declaration.
23407         * lib/close.c: New file.
23408         * lib/fchdir.c (rpl_close): Remove function.
23409         * m4/close.m4: New file.
23410         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
23411         close.
23412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
23413         REPLACE_CLOSE.
23414         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
23415         REPLACE_CLOSE.
23416         * modules/fchdir (Depends-on): Add close.
23417
23418 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23419             Bruno Haible  <bruno@clisp.org>
23420
23421         * lib/fcntl.in.h (open): Simplify conditionals.
23422         (_gl_register_fd): New declaration.
23423         * lib/fchdir.c (rpl_open): Remove function.
23424         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
23425         also.
23426         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
23427         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
23428         open.
23429
23430 2008-10-09  Jim Meyering  <meyering@redhat.com>
23431
23432         GNUmakefile: use the more name-space-friendly "_version"
23433         * top/GNUmakefile (_dummy): Update.
23434         (_version): Rename from "version".
23435
23436 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23437             Bruno Haible  <bruno@clisp.org>
23438
23439         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
23440         rpl_close.
23441         (_gl_register_fd): New function, extracted from rpl_open.
23442         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
23443         (rpl_open, rpl_opendir): Use _gl_register_fd.
23444
23445 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23446
23447         Fix organization of 'open' replacement.
23448         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
23449         (gl_FUNC_OPEN): Use it.
23450         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
23451
23452 2008-10-08  Bruno Haible  <bruno@clisp.org>
23453
23454         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
23455
23456 2008-10-08  Simon Josefsson  <simon@josefsson.org>
23457
23458         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
23459         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
23460         listen).
23461
23462 2008-10-08  Eric Blake  <ebb9@byu.net>
23463
23464         GNUmakefile: add 'make version' target
23465         * top/GNUmakefile (_curr-ver): Split version update rules...
23466         (version): ...into a target.
23467
23468 2008-10-07  Bruno Haible  <bruno@clisp.org>
23469
23470         Use a more portable replacement expression for -0.0L.
23471         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
23472         instead of -0.0L. Fix m4 quotation.
23473
23474         * tests/test-signbit.c: Include <float.h>.
23475         (minus_zero): New variable.
23476         (test_signbitl): Use minus_zero instead of -zero.
23477         * modules/signbit-tests (Depends-on): Add float.
23478
23479         * tests/test-ceill.c: Include <float.h>.
23480         (zero): Remove variable.
23481         (minus_zero): New variable.
23482         (main): Use minus_zero instead of -zero.
23483         * modules/ceill-tests (Depends-on): Add float.
23484
23485         * tests/test-floorl.c: Include <float.h>.
23486         (zero): Remove variable.
23487         (minus_zero): New variable.
23488         (main): Use minus_zero instead of -zero.
23489         * modules/floorl-tests (Depends-on): Add float.
23490
23491         * tests/test-roundl.c: Include <float.h>.
23492         (zero): Remove variable.
23493         (minus_zero): New variable.
23494         (main): Use minus_zero instead of -zero.
23495         * modules/roundl-tests (Depends-on): Add float.
23496
23497         * tests/test-truncl.c: Include <float.h>.
23498         (zero): Remove variable.
23499         (minus_zero): New variable.
23500         (main): Use minus_zero instead of -zero.
23501         * modules/truncl-tests (Depends-on): Add float.
23502
23503         * tests/test-frexpl.c (zero): Remove variable.
23504         (minus_zero): New variable.
23505         (main): Use minus_zero instead of -zero.
23506         * modules/frexpl-tests (Depends-on): Add float.
23507
23508         * tests/test-isnan.c (zerol): Remove variable.
23509         (minus_zerol): New variable.
23510         (test_long_double): Use minus_zerol instead of -zerol.
23511         * modules/isnan-tests (Depends-on): Add float.
23512
23513         * tests/test-isnanl.h (zero): Remove variable.
23514         (minus_zero): New variable.
23515         (main): Use minus_zero instead of -zero.
23516         * modules/isnanl-nolibm-tests (Depends-on): Add float.
23517         * modules/isnanl-tests (Depends-on): Add float.
23518
23519         * tests/test-ldexpl.c (zero): Remove variable.
23520         (minus_zero): New variable.
23521         (main): Use minus_zero instead of -zero.
23522         * modules/ldexpl-tests (Depends-on): Add float.
23523
23524         * tests/test-snprintf-posix.h (zerol): Remove variable.
23525         (minus_zerol): New variable.
23526         (test_function): Use minus_zerol instead of -zerol.
23527         * modules/snprintf-posix-tests (Depends-on): Add float.
23528         * modules/vsnprintf-posix-tests (Depends-on): Add float.
23529
23530         * tests/test-sprintf-posix.h (zerol): Remove variable.
23531         (minus_zerol): New variable.
23532         (test_function): Use minus_zerol instead of -zerol.
23533         * modules/sprintf-posix-tests (Depends-on): Add float.
23534         * modules/vsprintf-posix-tests (Depends-on): Add float.
23535
23536         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
23537         (minus_zerol): New variable.
23538         (test_function): Use minus_zerol instead of -zerol.
23539         * modules/vasnprintf-posix-tests (Depends-on): Add float.
23540
23541         * tests/test-vasprintf-posix.c (zerol): Remove variable.
23542         (minus_zerol): New variable.
23543         (test_function): Use minus_zerol instead of -zerol.
23544         * modules/vasprintf-posix-tests (Depends-on): Add float.
23545
23546 2008-10-07  Simon Josefsson  <simon@josefsson.org>
23547
23548         * MODULES.html.sh (Support for building documentation): Mention
23549         pmccabe2html.  Sort entries.
23550
23551         Add pmccabe2html module, from gnupdf.
23552         * build-aux/pmccabe.css: New file.
23553         * build-aux/pmccabe2html: New file.
23554         * m4/pmccabe2html.m4: New file.
23555         * modules/pmccabe2html: New file.
23556
23557 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
23558
23559         flock: new module
23560         * MODULES.html.sh: Add to list of modules.
23561         * lib/flock.c: flock implementation for Windows and Unix systems
23562         which have fcntl.
23563         * doc/glibc-functions/flock.texi: Update documentation.
23564         * lib/sys_file.in.h: <sys/file.h> header file.
23565         * m4/flock.m4: M4 macros.
23566         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
23567         * modules/flock: flock module.
23568         * modules/flock-tests: flock tests module.
23569         * modules/sys_file: sys/file.h module.
23570         * tests/test-flock.c: test suite for flock.
23571
23572 2008-10-06  Jim Meyering  <meyering@redhat.com>
23573
23574         bootstrap: check for LT_INIT more portably still ;-)
23575         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
23576         Spotted by Bruno Haible.
23577
23578 2008-10-06  Eric Blake  <ebb9@byu.net>
23579
23580         test-signbit: avoid tripping Irix cc bug on -0.0L
23581         * tests/test-signbit.c (minus_zerol): Delete, and replace with
23582         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
23583         entire testsuite consistent and avoids an Irix 6.2 bug.
23584
23585 2008-10-05  Bruno Haible  <bruno@clisp.org>
23586             Jim Meyering  <jim@meyering.net>
23587
23588         Add an option for ignoring EPIPE during close_stdout.
23589         * lib/closeout.h: Include <stdbool.h>.
23590         (close_stdout_set_ignore_EPIPE): New declaration.
23591         * lib/closeout.c: Include <stdbool.h>.
23592         (ignore_EPIPE): New variable.
23593         (close_stdout_set_ignore_EPIPE): New function.
23594         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
23595         * lib/close-stream.c (close_stream): Mention the possible EPIPE
23596         failure.
23597         * modules/closeout (Depends-on): Add stdbool.
23598
23599 2008-10-05  Bruno Haible  <bruno@clisp.org>
23600
23601         * modules/accept: New file.
23602         * modules/bind: New file.
23603         * modules/connect: New file.
23604         * modules/getpeername: New file.
23605         * modules/getsockname: New file.
23606         * modules/getsockopt: New file.
23607         * modules/listen: New file.
23608         * modules/recv: New file.
23609         * modules/recvfrom: New file.
23610         * modules/send: New file.
23611         * modules/sendto: New file.
23612         * modules/setsockopt: New file.
23613         * modules/socket: New file.
23614         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
23615         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
23616         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
23617         the particular module is requested. Add a link warning when the
23618         particular module is not requested.
23619         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
23620         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
23621         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
23622         the particular module is requested.
23623         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
23624         gl_SYS_SOCKET_H_DEFAULTS): New macros.
23625         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
23626         * modules/sys_socket (Depends-on): Add link-warning.
23627         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
23628         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
23629         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
23630         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
23631         GL_LINK_WARNING.
23632         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
23633         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
23634         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
23635         * doc/posix-functions/getpeername.texi: Mention the new module
23636         'getpeername'.
23637         * doc/posix-functions/getsockname.texi: Mention the new module
23638         'getsockname'.
23639         * doc/posix-functions/getsockopt.texi: Mention the new module
23640         'getsockopt'.
23641         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
23642         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
23643         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
23644         * doc/posix-functions/send.texi: Mention the new module 'send'.
23645         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
23646         * doc/posix-functions/setsockopt.texi: Mention the new module
23647         'setsockopt'.
23648         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
23649         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
23650         listen, connect, accept.
23651         * modules/select-tests (Depends-on): Likewise.
23652
23653 2008-10-05  Bruno Haible  <bruno@clisp.org>
23654
23655         * lib/winsock.c (strerror): Remove unused #undef.
23656         (rpl_close): Remove unused local variable.
23657
23658         * modules/sys_socket (Depends-on); Add errno.
23659
23660 2008-10-05  Bruno Haible  <bruno@clisp.org>
23661
23662         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
23663         (select): Add a link warning when the 'select' module is not used.
23664         * modules/sys_select (Depends-on): Add link-warning.
23665         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
23666         Suggested by Paolo Bonzini.
23667
23668 2008-10-05  Jim Meyering  <meyering@redhat.com>
23669
23670         bootstrap: check for LT_INIT more portably
23671         * build-aux/bootstrap: Avoid using grep -E, since it's not
23672         portable enough.  Suggestion from Bruno Haible.
23673
23674 2008-10-05  Bruno Haible  <bruno@clisp.org>
23675
23676         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
23677         as being fixed by gnulib.
23678
23679 2008-10-05  Bruno Haible  <bruno@clisp.org>
23680
23681         * modules/select-tests: New file, mostly copied from
23682         modules/sys_select-tests.
23683         * tests/test-select.c: New file, mostly copied from
23684         tests/test-sys_select.c.
23685         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
23686         * modules/sys_select-tests (Depends-on): Remove all dependencies.
23687         (Makefile.am): Remove test_sys_select_LDADD.
23688
23689         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
23690         to an undefined symbol, for an error message.
23691         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
23692         (gl_SYS_SELECT_H_DEFAULTS): New macro.
23693         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
23694         winsock-select.c here.
23695         * modules/sys_select (Files): Remove lib/winsock-select.c.
23696         (Depends-on): Remove alloca.
23697         (Makefile.am): Substitute GNULIB_SELECT.
23698         * modules/select: New file.
23699         * doc/posix-functions/select.texi: Update.
23700
23701 2008-10-05  Bruno Haible  <bruno@clisp.org>
23702
23703         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
23704         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
23705         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
23706         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
23707         getdtablesize.
23708         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
23709         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
23710
23711 2008-10-05  Bruno Haible  <bruno@clisp.org>
23712
23713         * modules/getdtablesize-tests: New file.
23714         * tests/test-getdtablesize.c: New file.
23715
23716         New module 'getdtablesize'.
23717         * lib/unistd.in.h (getdtablesize): New declaration.
23718         * lib/getdtablesize.c: New file.
23719         * m4/getdtablesize.m4: New file.
23720         * modules/getdtablesize: New file.
23721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23722         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
23723         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
23724         HAVE_GETDTABLESIZE.
23725         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
23726
23727 2008-10-05  Bruno Haible  <bruno@clisp.org>
23728
23729         * modules/sched (Makefile.am): Fix typo.
23730         Reported by Simon Josefsson.
23731
23732 2008-10-05  Jim Meyering  <meyering@redhat.com>
23733
23734         bootstrap: check for LT_INIT, too
23735         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
23736         are deprecated.  Suggestion from Ralf Wildenhues.
23737
23738 2008-10-05  Bruno Haible  <bruno@clisp.org>
23739
23740         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
23741         overriding them by ours.
23742         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
23743
23744 2008-10-05  Jim Meyering  <meyering@redhat.com>
23745
23746         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
23747         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
23748         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
23749
23750 2008-10-04  Bruno Haible  <bruno@clisp.org>
23751
23752         * modules/dup2 (License): Change to LGPLv2+.
23753         * modules/sleep (License): Likewise.
23754         * modules/perror (License): Likewise.
23755         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
23756         Blake.
23757         * modules/signal (License): Likewise.
23758         * modules/sigprocmask (License): Likewise.
23759         * modules/raise (License): Change to LGPLv2+, with approval by Jim
23760         Meyering.
23761
23762 2008-10-04  Bruno Haible  <bruno@clisp.org>
23763
23764         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
23765         Reported by Rainer Tammer <tammer@tammer.net>.
23766
23767 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
23768             Bruno Haible  <bruno@clisp.org>
23769
23770         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
23771         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
23772         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
23773
23774 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
23775
23776         filevercmp: new module
23777         * lib/filevercmp.h: New function filevercmp comparing version strings.
23778         * lib/filevercmp.c: Implementation of filevercmp function.
23779         * modules/filevercmp: Module metadata.
23780         * tests/test-filevercmp.c: Unit test for new module.
23781         * modules/filevercmp-tests: Unit test metadata.
23782         * MODULES.html.sh: Add filevercmp module.
23783
23784 2008-10-03  Bruno Haible  <bruno@clisp.org>
23785
23786         * lib/c-ctype.h: Add comment.
23787         Reported by Jim Meyering.
23788
23789 2008-10-02  Bruno Haible  <bruno@clisp.org>
23790
23791         * modules/posix_spawn-internal (Depends-on): Add 'open'.
23792
23793 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
23794
23795         * build-aux/bootstrap: Allow renaming bootstrap, and change the
23796         name of bootstrap.conf accordingly.
23797
23798 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
23799
23800         * build-aux/bootstrap: Install git-merge-changelog configuration
23801         items into .gitconfig if needed.
23802
23803 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
23804
23805         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
23806         git repository, and initialize/update it accordingly.
23807
23808 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
23809
23810         * modules/fsync-tests: New file.
23811         * tests/test-fsync.c: New file.
23812
23813         New module 'fsync'.
23814         * lib/fsync.c: New file.
23815         * m4/fsync.m4: New file.
23816         * modules/fsync: New file.
23817         * lib/unistd.in.h (fsync): New declaration.
23818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
23819         GNULIB_FSYNC and HAVE_FSYNC.
23820         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
23821         * MODULES.html.sh (posix_functions): Add fsync.
23822         * doc/posix-functions/fsync.texi: Mention the new module.
23823
23824 2008-10-02  Jim Meyering  <meyering@redhat.com>
23825
23826         fts.c: sync with similar code from coreutils' remove.c
23827         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
23828         Guard also with "#if defined __linux__", since for now at least,
23829         this code is Linux-kernel-specific.
23830
23831 2008-10-02  Jim Meyering  <meyering@redhat.com>
23832
23833         fts: bug fixes
23834         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
23835         Include <sys/vfs.h>, not <sys/statfs.h>.
23836
23837         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
23838         Include <sys/vfs.h>, not <sys/statfs.h>.
23839
23840 2008-10-01  Bruno Haible  <bruno@clisp.org>
23841
23842         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
23843         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
23844         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
23845         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
23846         * doc/posix-functions/posix_spawnp.texi: Likewise.
23847         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
23848         whether posix_spawn actually works.
23849         * m4/pipe.m4 (gl_PIPE): Likewise.
23850         * modules/execute (Files): Add m4/posix_spawn.m4.
23851         * modules/pipe (Files): Add m4/posix_spawn.m4.
23852         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
23853
23854 2008-10-01  Jim Meyering  <meyering@redhat.com>
23855
23856         remove trailing spaces
23857         * NEWS: Likewise.
23858         * lib/poll.c (poll): Likewise.
23859         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
23860         * lib/winsock.c (rpl_close): Likewise.
23861         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
23862         * modules/yield: Likewise.
23863         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
23864         * tests/test-sys_select.c (connect_to_socket): Likewise.
23865
23866         fts.c: adjust a new interface to be more generally useful
23867         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
23868         (fts_build): Adjust caller.
23869
23870 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23871
23872         * modules/cond-tests: New file.
23873         * tests/test-cond.c: New file.
23874
23875 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23876             Bruno Haible  <bruno@clisp.org>
23877
23878         * modules/cond (Dependencies): Add errno, time.
23879         * lib/glthread/cond.h: Include <time.h>.
23880         (gl_cond_define, gl_cond_define_initialized): Use the same definition
23881         across platforms.
23882
23883 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23884             Bruno Haible  <bruno@clisp.org>
23885
23886         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
23887
23888 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23889             Bruno Haible  <bruno@clisp.org>
23890
23891         * modules/tls-tests (Depends-on): Add thread, yield.
23892         (configure.ac): Remove all checks.
23893         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
23894         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
23895         gl_thread_self): Remove definitions. Include glthread/thread.h and
23896         glthread/yield.h instead.
23897         (test_tls): Pass an additional NULL argument to gl_thread_join.
23898
23899 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23900             Bruno Haible  <bruno@clisp.org>
23901
23902         * modules/lock-tests (Depends-on): Add thread, yield.
23903         (configure.ac): Remove all checks.
23904         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
23905         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
23906         gl_thread_self): Remove definitions. Include glthread/thread.h and
23907         glthread/yield.h instead.
23908         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
23909         additional NULL argument to gl_thread_join.
23910
23911 2008-09-30  Bruno Haible  <bruno@clisp.org>
23912
23913         Fix the Win32 implementation of the 'thread' module.
23914         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
23915         pointer type.
23916         (gl_thread_self): Invoke gl_thread_self_func.
23917         (gl_thread_self_func): New declaration.
23918         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
23919         (do_init_self_key, init_self_key): New functions.
23920         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
23921         Remove some fields.
23922         (running_threads, running_lock): Remove variables.
23923         (get_current_thread_handle): New function.
23924         (gl_thread_self_func, wrapper_func, glthread_create_func,
23925         glthread_join_func, gl_thread_exit_func): Largely rewritten and
23926         simplified.
23927
23928 2008-09-30  Bruno Haible  <bruno@clisp.org>
23929
23930         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
23931         files.
23932
23933 2008-09-30  Jim Meyering  <meyering@redhat.com>
23934
23935         fts.m4: correct the test for statfs.f_type
23936         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
23937         when checking for statfs.f_type.
23938
23939 2008-09-15  Simon Josefsson  <simon@josefsson.org>
23940
23941         tests: avoid some compiler warnings
23942         * tests/test-memchr.c (main): Pass NULL indirectly.
23943         * tests/test-getdate.c (main): Remove unused variable 'ret'.
23944
23945 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
23946
23947         getdate.y: disallow countable dayshifts like "4 yesterday ago"
23948         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
23949         exactly specified dayshifts.
23950         (dayshift): New rule.
23951         (rel): Add dayshift.
23952         (relative_time_table) [tomorrow, yesterday, today, now]:
23953         Use tDAY_SHIFT in place of tDAY_UNIT.
23954         * tests/test-getdate.c: Add tests for now-disallowed countable
23955         dayshifts, e.g., "4 yesterday ago".
23956
23957 2008-09-29  Bruno Haible  <bruno@clisp.org>
23958
23959         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
23960         * tests/test-posix_spawn1.in.sh: Renamed from
23961         tests/test-posix_spawn.in.sh.
23962         * tests/test-posix_spawn2.c: New file.
23963         * tests/test-posix_spawn2.in.sh: New file.
23964         * modules/posix_spawnp-tests (Files): Update.
23965         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
23966
23967 2008-09-29  Bruno Haible  <bruno@clisp.org>
23968
23969         Propagate effects of putenv/setenv/unsetenv to child processes.
23970         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
23971         * lib/pipe.c (create_pipe): Likewise.
23972
23973 2008-09-29  Bruno Haible  <bruno@clisp.org>
23974
23975         Enable use of shell scripts as executables in mingw.
23976         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
23977         run the program as a shell script.
23978         * lib/pipe.c (create_pipe): Likewise.
23979         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
23980         resulting array.
23981
23982 2008-09-29  Eric Blake  <ebb9@byu.net>
23983
23984         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
23985
23986 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
23987
23988         * doc/posix-functions/accept.texi: Update mingw problems.
23989         * doc/posix-functions/bind.texi: Update mingw problems.
23990         * doc/posix-functions/close.texi: Update mingw problems.
23991         * doc/posix-functions/connect.texi: Update mingw problems.
23992         * doc/posix-functions/getpeername.texi: Update mingw problems.
23993         * doc/posix-functions/getsockname.texi: Update mingw problems.
23994         * doc/posix-functions/getsockopt.texi: Update mingw problems.
23995         * doc/posix-functions/ioctl.texi: Update mingw problems.
23996         * doc/posix-functions/listen.texi: Update mingw problems.
23997         * doc/posix-functions/recv.texi: Update mingw problems.
23998         * doc/posix-functions/recvfrom.texi: Update mingw problems.
23999         * doc/posix-functions/select.texi: Update mingw problems.
24000         * doc/posix-functions/send.texi: Update mingw problems.
24001         * doc/posix-functions/sendto.texi: Update mingw problems.
24002         * doc/posix-functions/setsockopt.texi: Update mingw problems.
24003         * doc/posix-functions/socket.texi: Update mingw problems.
24004
24005 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
24006             Bruno Haible  <bruno@clisp.org>
24007
24008         * lib/sys_select.in.h: Include sys/time.h.
24009         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
24010         * modules/sys_select: Depend on sys_time.
24011         * tests/test-sys_select.c: Test that sys/select.h defines struct
24012         timeval fully.
24013
24014 2008-09-29  Bruno Haible  <bruno@clisp.org>
24015
24016         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
24017         * lib/sys_select.in.h: Likewise.
24018
24019 2008-09-29  Bruno Haible  <bruno@clisp.org>
24020
24021         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
24022
24023 2008-09-29  Bruno Haible  <bruno@clisp.org>
24024
24025         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
24026         Set LIBSOCKET instead of augmenting LIBS.
24027         * modules/sockets (Link): New section.
24028         * modules/sockets-tests (test_sockets_LDADD): New variable.
24029         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
24030         * modules/poll-tests (test_poll_LDADD): New variable.
24031         * NEWS: Document the change.
24032
24033 2008-09-29  Bruno Haible  <bruno@clisp.org>
24034
24035         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
24036         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
24037         ARPA_INET_H directly.
24038         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24039
24040 2008-09-28  Bruno Haible  <bruno@clisp.org>
24041
24042         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
24043         from gl_HEADER_SYS_SOCKET.
24044         (gl_HEADER_SYS_SOCKET): Invoke it.
24045         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24046
24047 2008-09-28  Bruno Haible  <bruno@clisp.org>
24048
24049         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
24050         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
24051         Needed on OSF/1 4.0.
24052
24053 2008-09-28  Bruno Haible  <bruno@clisp.org>
24054
24055         Override open more carefully.
24056         * lib/open.c (orig_open): New function.
24057         (rpl_open): Use orig_open instead of open.
24058         * lib/fcntl.in.h: Add special invocation convention.
24059         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
24060         (gl_FUNC_OPEN): Invoke it.
24061
24062         Override freopen more carefully.
24063         * lib/freopen.c (orig_freopen): New function.
24064         (rpl_freopen): Use orig_freopen instead of freopen.
24065         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
24066         (gl_FUNC_FREOPEN): Invoke it.
24067
24068         Override fopen more carefully.
24069         * lib/fopen.c (orig_fopen): New function.
24070         (rpl_fopen): Use orig_fopen instead of fopen.
24071         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
24072         (gl_FUNC_FOPEN): Invoke it.
24073         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
24074
24075 2008-09-28  Bruno Haible  <bruno@clisp.org>
24076
24077         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
24078         SIGPIPE.
24079
24080 2008-09-28  Bruno Haible  <bruno@clisp.org>
24081
24082         * tests/test-sigaction.c (handler, main): Disable the check whether
24083         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
24084         glibc systems with LinuxThreads.
24085
24086 2008-09-28  Bruno Haible  <bruno@clisp.org>
24087
24088         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
24089
24090         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
24091         with AIX xlc.
24092         * lib/fcntl.in.h (open): Likewise.
24093         Reported by Rainer Tammer <tammer@tammer.net>.
24094
24095 2008-09-28  Bruno Haible  <bruno@clisp.org>
24096
24097         * modules/posix_spawnp-tests: New file.
24098         * tests/test-posix_spawn.c: New file.
24099         * tests/test-posix_spawn.in.sh: New file.
24100
24101         New module 'posix_spawnp'.
24102         * modules/posix_spawnp: New file.
24103         * lib/spawnp.c: New file, from GNU libc with modifications.
24104         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
24105
24106         New module 'posix_spawn'.
24107         * modules/posix_spawn: New file.
24108         * lib/spawn.c: New file, from GNU libc with modifications.
24109         * doc/posix-functions/posix_spawn.texi: Mention the new module.
24110
24111         New module 'posix_spawnattr_destroy'.
24112         * modules/posix_spawnattr_destroy: New file.
24113         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
24114         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
24115         module.
24116
24117         New module 'posix_spawnattr_setsigmask'.
24118         * modules/posix_spawnattr_setsigmask: New file.
24119         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
24120         modifications.
24121         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
24122         new module.
24123
24124         New module 'posix_spawnattr_getsigmask'.
24125         * modules/posix_spawnattr_getsigmask: New file.
24126         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
24127         modifications.
24128         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
24129         new module.
24130
24131         New module 'posix_spawnattr_setsigdefault'.
24132         * modules/posix_spawnattr_setsigdefault: New file.
24133         * lib/spawnattr_setdefault.c: New file, from GNU libc with
24134         modifications.
24135         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
24136         new module.
24137
24138         New module 'posix_spawnattr_getsigdefault'.
24139         * modules/posix_spawnattr_getsigdefault: New file.
24140         * lib/spawnattr_getdefault.c: New file, from GNU libc with
24141         modifications.
24142         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
24143         new module.
24144
24145         New module 'posix_spawnattr_setschedpolicy'.
24146         * modules/posix_spawnattr_setschedpolicy: New file.
24147         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
24148         modifications.
24149         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
24150         new module.
24151
24152         New module 'posix_spawnattr_getschedpolicy'.
24153         * modules/posix_spawnattr_getschedpolicy: New file.
24154         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
24155         modifications.
24156         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
24157         new module.
24158
24159         New module 'posix_spawnattr_setschedparam'.
24160         * modules/posix_spawnattr_setschedparam: New file.
24161         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
24162         modifications.
24163         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
24164         new module.
24165
24166         New module 'posix_spawnattr_getschedparam'.
24167         * modules/posix_spawnattr_getschedparam: New file.
24168         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
24169         modifications.
24170         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
24171         new module.
24172
24173         New module 'posix_spawnattr_setpgroup'.
24174         * modules/posix_spawnattr_setpgroup: New file.
24175         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
24176         modifications.
24177         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
24178         module.
24179
24180         New module 'posix_spawnattr_getpgroup'.
24181         * modules/posix_spawnattr_getpgroup: New file.
24182         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
24183         modifications.
24184         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
24185         module.
24186
24187         New module 'posix_spawnattr_setflags'.
24188         * modules/posix_spawnattr_setflags: New file.
24189         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
24190         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
24191         module.
24192
24193         New module 'posix_spawnattr_getflags'.
24194         * modules/posix_spawnattr_getflags: New file.
24195         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
24196         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
24197         module.
24198
24199         New module 'posix_spawnattr_init'.
24200         * modules/posix_spawnattr_init: New file.
24201         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
24202         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
24203         module.
24204
24205         New module 'posix_spawn_file_actions_destroy'.
24206         * modules/posix_spawn_file_actions_destroy: New file.
24207         * lib/spawn_faction_destroy.c: New file, from GNU libc with
24208         modifications.
24209         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
24210         the new module.
24211
24212         New module 'posix_spawn_file_actions_addopen'.
24213         * modules/posix_spawn_file_actions_addopen: New file.
24214         * lib/spawn_faction_addopen.c: New file, from GNU libc with
24215         modifications.
24216         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
24217         the new module.
24218
24219         New module 'posix_spawn_file_actions_adddup2'.
24220         * modules/posix_spawn_file_actions_adddup2: New file.
24221         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
24222         modifications.
24223         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
24224         the new module.
24225
24226         New module 'posix_spawn_file_actions_addclose'.
24227         * modules/posix_spawn_file_actions_addclose: New file.
24228         * lib/spawn_faction_addclose.c: New file, from GNU libc with
24229         modifications.
24230         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
24231         the new module.
24232
24233         New module 'posix_spawn_file_actions_init'.
24234         * modules/posix_spawn_file_actions_init: New file.
24235         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
24236         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
24237         new module.
24238
24239         New module 'posix_spawn-internal'.
24240         * modules/posix_spawn-internal: New file.
24241         * lib/spawn_int.h: New file, from GNU libc with modifications.
24242         * lib/spawni.c: New file, from GNU libc with modifications.
24243         * m4/posix_spawn.m4: New file.
24244
24245         New module 'spawn'.
24246         * modules/spawn: New file.
24247         * lib/spawn.in.h: New file, from GNU libc with modifications.
24248         * m4/spawn_h.m4: New file.
24249         * doc/posix-headers/spawn.texi: Mention the new module.
24250
24251 2008-09-28  Bruno Haible  <bruno@clisp.org>
24252
24253         * modules/sched-tests: New file.
24254         * tests/test-sched.c: New file.
24255
24256         New module 'sched'.
24257         * modules/sched: New file.
24258         * lib/sched.in.h: New file.
24259         * m4/sched_h.m4: New file.
24260         * doc/posix-headers/sched.texi: Mention the new module.
24261
24262 2008-09-27  Eric Blake  <ebb9@byu.net>
24263
24264         Fix previous patch, and tweak references to $0.
24265         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
24266         (func_version, func_gnulib_dir): Don't call this program
24267         gnulib-tool.
24268         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
24269         with using $0 in function.
24270         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
24271         (func_fatal_error): Reuse the name the user invoked us with.
24272
24273 2008-09-27  Bruno Haible  <bruno@clisp.org>
24274
24275         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
24276         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
24277         (gl_ICONV_H): Not here.
24278         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
24279         instead of assigning ICONV_H directly.
24280
24281         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
24282         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
24283         WCHAR_H directly.
24284
24285 2008-09-27  Bruno Haible  <bruno@clisp.org>
24286
24287         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
24288         * modules/arpa_inet (Depends-on): Add link-warning.
24289         (Makefile.am): Insert the definition of GL_LINK-WARNING.
24290         * modules/unistd (Makefile.am): Likewise.
24291
24292 2008-09-26  Bruno Haible  <bruno@clisp.org>
24293
24294         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
24295         variables.
24296         (func_version): Essentially copied from gnulib-tool.
24297         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
24298         func_readlink): Copied from gnulib-tool.
24299
24300 2008-09-26  Bruno Haible  <bruno@clisp.org>
24301
24302         * gnulib-tool (func_version): Change directory to $gnulib_dir before
24303         invoking git-version-gen.
24304
24305 2008-09-26  Bruno Haible  <bruno@clisp.org>
24306
24307         * posix-modules: Update to directory names changed on 2008-01-19.
24308         Remove commas in output before splitting into words. No more need to
24309         avoid 'ftruncate' since 2007-02-19.
24310
24311 2008-09-26  Bruno Haible  <bruno@clisp.org>
24312
24313         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
24314
24315 2008-09-26  Bruno Haible  <bruno@clisp.org>
24316
24317         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
24318         * modules/fwriteerror (Depends-on): Add errno.
24319
24320 2008-09-26  Bruno Haible  <bruno@clisp.org>
24321
24322         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
24323         * tests/test-vc-list-files-cvs.sh: Likewise.
24324
24325 2008-09-26  Bruno Haible  <bruno@clisp.org>
24326
24327         * doc/posix-headers/sys_resource.texi: Reorder items.
24328
24329 2008-09-26  Jim Meyering  <meyering@redhat.com>
24330
24331         fts: tweak inode comparison function
24332         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
24333         inode numbers, as documented.
24334
24335         fts: sort dirent entries on inode number before traversing
24336         This avoids a quadratic, seek-related performance penalty when
24337         operating on a directory containing many entries (measurable at 10k;
24338         3.5 hours at 2 million entries with a cold cache) on certain types
24339         of file systems, including ext3 and ext4, but not tmpfs.
24340         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
24341         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
24342         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
24343         (fs_handles_readdir_ordered_dirents_efficiently): New function.
24344         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
24345         (fts_build): Set the stat.st_ino member from D_INO.
24346         If it is likely to be useful, sort dirent entries on inode number.
24347
24348         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
24349         and the struct statfs.f_type member.
24350         * modules/fts (Depends-on): Add d-ino.
24351
24352 2008-09-26  Bruno Haible  <bruno@clisp.org>
24353
24354         * modules/sigpipe-die (Depends-on): Add sigpipe.
24355
24356         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
24357         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
24358         and GNULIB_STDIO_H_SIGPIPE are set.
24359         * lib/stdio-write.c: New file.
24360         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
24361         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
24362         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
24363         REPLACE_STDIO_WRITE_FUNCS.
24364         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
24365         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
24366         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
24367         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
24368         * modules/stdio (Files): Add lib/stdio-write.c.
24369         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
24370         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
24371         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
24372         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
24373         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
24374         REPLACE_FPRINTF_POSIX.
24375         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
24376         REPLACE_PRINTF_POSIX.
24377         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
24378         REPLACE_VFPRINTF_POSIX.
24379         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
24380         REPLACE_VPRINTF_POSIX.
24381         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
24382         SIGPIPE issue.
24383         * doc/posix-functions/fputc.texi: Likewise.
24384         * doc/posix-functions/fputs.texi: Likewise.
24385         * doc/posix-functions/fwrite.texi: Likewise.
24386         * doc/posix-functions/printf.texi: Likewise.
24387         * doc/posix-functions/putc.texi: Likewise.
24388         * doc/posix-functions/putchar.texi: Likewise.
24389         * doc/posix-functions/puts.texi: Likewise.
24390         * doc/posix-functions/vfprintf.texi: Likewise.
24391         * doc/posix-functions/vprintf.texi: Likewise.
24392
24393         * modules/safe-write (Depends-on): Add write.
24394
24395         * modules/sigpipe-tests: New file.
24396         * tests/test-sigpipe.c: New file.
24397         * tests/test-sigpipe.sh: New file.
24398
24399         * modules/write: New file.
24400         * lib/unistd.in.h: Include <sys/types.h>.
24401         (write): New declaration.
24402         * lib/write.c: New file.
24403         * m4/write.m4: New file.
24404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24405         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
24406         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
24407         GNULIB_WRITE, REPLACE_WRITE.
24408         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
24409         and the SIGPIPE issue.
24410
24411         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
24412         (raise): New declaration.
24413         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
24414         (ext_signal): New function.
24415         (rpl_raise): New function.
24416         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
24417         GNULIB_SIGNAL_H_SIGPIPE.
24418         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
24419         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
24420
24421         * modules/sigpipe: New file.
24422         * m4/sigpipe.m4: New file.
24423
24424 2008-09-25  Derek Price  <derek@ximbiot.com>
24425             Bruno Haible  <bruno@clisp.org>
24426
24427         * gnulib-tool (func_import): Report all license incompatibilities, not
24428         just the first one.
24429
24430 2008-09-25  Bruno Haible  <bruno@clisp.org>
24431
24432         * gnulib-tool (func_import): When computing the edits, consider not
24433         only the Makefile.ams that exist but also those that will be generated.
24434
24435 2008-09-25  Simon Josefsson  <simon@josefsson.org>
24436
24437         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
24438         fixes gnulib-tool --test warning about duplicate dependency.
24439
24440 2008-09-25  Bruno Haible  <bruno@clisp.org>
24441
24442         * gnulib-tool: Don't ask the user to perform edits in the generated
24443         Makefile.ams.
24444         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
24445         apply to the Makefile.am being generated.
24446         (func_emit_tests_Makefile_am): Execute edits that apply to the
24447         Makefile.am being generated.
24448         (func_import): Setup list of Makefile.am edits before emitting the
24449         Makefile.ams, not at the end.
24450         (func_create_testdir): Update.
24451         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24452
24453 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24454
24455         * gnulib-tool (func_import): Store the --tests-base option in the
24456         comment in gnulib-cache.m4.
24457
24458 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
24459
24460         * NEWS: Document increased portability that sys_select now provides.
24461
24462         * lib/sys_select.in.h: Install select wrapper.
24463         * lib/sys_socket.in.h: Use more descriptive name when there is no
24464         select wrapper.
24465         * lib/winsock-select.c: New.
24466         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
24467         Require gl_HEADER_SYS_SOCKET.
24468         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
24469         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
24470         * tests/test-sys_select.c: Add functional tests.
24471
24472 2008-09-24  Eric Blake  <ebb9@byu.net>
24473
24474         open, fopen: close fd leak in last patch
24475         * lib/open.c (rpl_open): Close fd before returning error.
24476         * lib/fopen.c (rpl_fopen): Close fd before returning error.
24477         * doc/posix-functions/open.texi (open): Document that Irix also
24478         has the bug.
24479         * doc/posix-functions/fopen.texi (fopen): Likewise.
24480         Reported by Paolo Bonzini.
24481
24482 2008-09-24  Bruno Haible  <bruno@clisp.org>
24483
24484         Ensure that a filename ending in a slash cannot be used to access a
24485         non-directory.
24486         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
24487         to check whether it's really a directory.
24488         * lib/fopen.c: Include fcntl.h, unistd.h.
24489         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
24490         and fdopen().
24491         * modules/fopen (Depends-on): Add unistd.
24492         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
24493         * tests/test-fopen.c (main): Likewise.
24494         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
24495         * doc/posix-functions/fopen.texi: Likewise.
24496         Reported by Eric Blake.
24497
24498 2008-09-23  Eric Blake  <ebb9@byu.net>
24499
24500         c-stack: avoid compiler optimizations when provoking overflow
24501         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
24502         recursion harder to optimize, to ensure a stack overflow occurs.
24503         * tests/test-c-stack.c (recurse): Likewise.
24504         Borrowed from libsigsegv.
24505
24506         c-stack: work around Irix sigaltstack bug
24507         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
24508         whether sigaltstack uses wrong end of stack_t (copied in part from
24509         libsigsegv).
24510         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
24511         Irix bug, without requiring an over-allocation.
24512         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
24513         bug.
24514
24515         fopen: document mingw bug on directories
24516         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
24517         not allowing a stream visiting a directory, even though reading
24518         from such a stream is not portable.
24519
24520 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
24521
24522         * lib/poll.c: Rewrite.
24523         * modules/poll: Depend on alloca.
24524
24525 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
24526
24527         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
24528         instead define prototypes for a full set of wrappers.  Ensure
24529         that Cygwin does not use the compatibility code, which is only
24530         for MinGW.
24531         * lib/winsock.c: New.
24532         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
24533         * modules/sys_socket: Add lib/winsock.c.
24534
24535         * modules/poll-tests: Add errno and perror.
24536         * tests/test-poll.c: Use ioctl, not ioctlsocket.
24537
24538 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
24539
24540         * tests/test-poll.c: Downgrade minimum needed Winsock version.
24541
24542 2008-09-23  Bruno Haible  <bruno@clisp.org>
24543
24544         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
24545         * doc/glibc-functions/*: Likewise.
24546
24547 2008-09-23  Simon Josefsson  <simon@josefsson.org>
24548
24549         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
24550         success.
24551
24552 2008-09-22  Eric Blake  <ebb9@byu.net>
24553             Bruno Haible  <bruno@clisp.org>
24554
24555         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
24556         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
24557         supply %A but mishandle pseudo-NaN.
24558         Reported by Simon Josefsson.
24559
24560 2008-09-21  Bruno Haible  <bruno@clisp.org>
24561
24562         * tests/test-lock.c (main): Tweak skip message.
24563         * tests/test-tls.c (main): Likewise.
24564
24565 2008-09-21  Bruno Haible  <bruno@clisp.org>
24566
24567         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
24568         whether 'struct sigaction' has sa_sigaction here...
24569         (gl_PREREQ_SIG_HANDLER_H): ... not here.
24570         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
24571
24572 2008-09-21  Bruno Haible  <bruno@clisp.org>
24573
24574         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
24575         section.
24576         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
24577         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
24578         the new section.
24579         (Support for obsolete systems lacking POSIX:2001): New section.
24580         (String handling <string.h>): Move strdup to the new section.
24581         Suggested by Simon Josefsson and Paolo Bonzini.
24582
24583 2008-09-21  Bruno Haible  <bruno@clisp.org>
24584
24585         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
24586         exponents in %e and %g results on 'long double'. Needed for mingw's
24587         improved *printf functions.
24588         * tests/test-vasprintf-posix.c (test_function): Likewise.
24589         * tests/test-snprintf-posix.h (test_function): Likewise.
24590         * tests/test-sprintf-posix.h (test_function): Likewise.
24591         Reported by Eric Blake.
24592
24593 2008-09-21  Bruno Haible  <bruno@clisp.org>
24594
24595         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
24596         * tests/test-sprintf-posix.h (test_function): Likewise.
24597
24598 2008-09-21  Bruno Haible  <bruno@clisp.org>
24599
24600         * modules/getpass (Depends-on): Add strdup-posix.
24601
24602         New module 'strdup-posix'.
24603         * modules/strdup-posix: New file.
24604         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
24605         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
24606         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24607         REPLACE_STRDUP.
24608         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
24609         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
24610         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24611         strdup-posix.
24612
24613         * modules/strdup (Depends-on): Remove malloc-posix.
24614
24615 2008-09-20  Bruno Haible  <bruno@clisp.org>
24616
24617         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
24618         Wildenhues.
24619
24620 2008-09-20  Bruno Haible  <bruno@clisp.org>
24621
24622         Ensure that wint_t gets defined on IRIX 5.3.
24623         * lib/wchar.in.h (wint_t): Define if not defined by the system.
24624         * lib/wctype.in.h (wint_t): Likewise.
24625         (__wctype_wint_t): Remove type.
24626         (isw*): Use wint_t instead of __wctype_wint_t.
24627         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
24628         * modules/wchar (Files): Add m4/wint_t.m4.
24629         (Makefile.am): Substitute HAVE_WINT_T.
24630         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
24631         * tests/test-wctype.c: Check that wint_t is defined.
24632         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
24633         * doc/posix-headers/wctype.texi: Likewise.
24634         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24635
24636 2008-09-18  Bruno Haible  <bruno@clisp.org>
24637
24638         * gnulib-tool (func_exit): Update comment.
24639
24640 2008-09-18  Simon Josefsson  <simon@josefsson.org>
24641
24642         * modules/getaddrinfo (Depends-on): Remove strdup, this module
24643         assumes strdup exists and does not depend on strdup to return
24644         ENOMEM on out of memory conditions.
24645
24646 2008-09-18  Bruno Haible  <bruno@clisp.org>
24647
24648         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
24649         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
24650         digits for the exponent.
24651
24652 2008-09-18  Jim Meyering  <meyering@redhat.com>
24653             Bruno Haible  <bruno@clisp.org>
24654
24655         * lib/vasnprintf.c (decimal_point_char): Define also if
24656         NEED_PRINTF_INFINITE_LONG_DOUBLE.
24657
24658 2008-09-16  Bruno Haible  <bruno@clisp.org>
24659         and Eric Blake  <ebb9@byu.net>
24660
24661         vasnprintf: support Irix 5.3
24662         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
24663         that mishandle long double infinity.
24664         Reported by Tom G. Christensen.
24665
24666 2008-09-16  Bruno Haible  <bruno@clisp.org>
24667
24668         * doc/glibc-functions/scandir.texi: Mention the function is missing on
24669         Solaris 9.
24670         * doc/glibc-functions/alphasort.texi: Likewise.
24671         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
24672
24673 2008-09-16  Jim Meyering  <meyering@redhat.com>
24674
24675         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
24676         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
24677         a umask modification leak out of a subshell.  Otherwise, the
24678         opensolaris /bin/sh would be accepted and thus cause unwarranted
24679         failures in the coreutils test suite.
24680
24681 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
24682
24683         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
24684         to succeed.
24685
24686 2008-09-16  Jim Meyering  <meyering@redhat.com>
24687
24688         avoid spurious test failure when library is built without ACL support
24689         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
24690         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
24691         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
24692         * tests/test-copy-acl.sh: Likewise.
24693
24694 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24695
24696         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
24697         based on character occurrence counts.
24698
24699 2008-09-15  Eric Blake  <ebb9@byu.net>
24700
24701         tests: avoid some compiler warnings
24702         * tests/test-memchr.c (main): Pass NULL indirectly.
24703         * tests/test-closein.c (main): Avoid unused variable.
24704
24705 2008-09-15  Bruno Haible  <bruno@clisp.org>
24706
24707         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
24708         are missing on OpenBSD 4.0 individually.
24709         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24710
24711 2008-09-15  Bruno Haible  <bruno@clisp.org>
24712
24713         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
24714         * doc/posix-functions/strerror.texi: Mention also Cygwin.
24715         * doc/posix-functions/perror.texi: Likewise.
24716         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
24717         is missing.
24718         Reported by Eric Blake.
24719
24720         * lib/errno.in.h: Use replacement values >= 2000.
24721         Reported by Eric Blake.
24722
24723 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24724
24725         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
24726         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
24727         limit.
24728         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
24729         compareseq was aborted.
24730
24731 2008-09-14  Bruno Haible  <bruno@clisp.org>
24732
24733         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
24734         yvec_edit_count.
24735         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
24736         (fstrcmp_bounded): Simplify result computation accordingly.
24737
24738 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24739
24740         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
24741         (fstrcmp): Define in terms of fstrcmp_bounded.
24742         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
24743         lower_bound argument.
24744         Return quickly if the result is certainly < lower_bound.
24745         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
24746
24747 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24748
24749         * lib/diffseq.h (EARLY_ABORT): New macro.
24750         (compareseq): Change return type to bool. Return true when EARLY_ABORT
24751         evaluates to true.
24752
24753 2008-09-14  Bruno Haible  <bruno@clisp.org>
24754
24755         * modules/perror-tests: New file.
24756         * tests/test-perror.sh: New file.
24757         * tests/test-perror.c: New file.
24758
24759         New module 'perror'.
24760         * lib/stdio.in.h (perror): New declaration.
24761         * lib/perror.c: New file.
24762         * m4/perror.m4: New file.
24763         * modules/perror: New file.
24764         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
24765         * doc/posix-functions/perror.texi: Mention the perror module.
24766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
24767         REPLACE_PERROR.
24768         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
24769         REPLACE_PERROR.
24770
24771 2008-09-14  Bruno Haible  <bruno@clisp.org>
24772
24773         * modules/stdio (Makefile.am): Reorder to match the order in
24774         lib/stdio.in.h.
24775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24776
24777 2008-09-13  Bruno Haible  <bruno@clisp.org>
24778
24779         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
24780
24781 2008-09-13  Bruno Haible  <bruno@clisp.org>
24782
24783         Extend strerror to cover the added errno values.
24784         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
24785         (rpl_strerror): Provide error messages for the added errno values and
24786         for the WSA* values.
24787         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
24788         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
24789         strerror.
24790         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
24791         * modules/strerror (Depends-on): Add errno.
24792         * doc/posix-functions/strerror.texi: Document the change.
24793         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
24794         and EOVERFLOW.
24795
24796 2008-09-13  Bruno Haible  <bruno@clisp.org>
24797
24798         * modules/EOVERFLOW: Remove file.
24799         * m4/eoverflow.m4: Remove file.
24800         * modules/EOVERFLOW-tests: Remove file.
24801         * tests/test-EOVERFLOW.c: Remove file.
24802         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
24803         * modules/ftell (Depends-on): Likewise.
24804         * modules/getdelim (Depends-on): Likewise.
24805         * modules/getugroups (Depends-on): Likewise.
24806         * modules/poll (Depends-on): Likewise.
24807         * modules/snprintf (Depends-on): Likewise.
24808         * modules/sprintf-posix (Depends-on): Likewise.
24809         * modules/vasnprintf (Depends-on): Likewise.
24810         * modules/vasprintf (Depends-on): Likewise.
24811         * modules/vfprintf-posix (Depends-on): Likewise.
24812         * modules/vsnprintf (Depends-on): Likewise.
24813         * modules/vsprintf-posix (Depends-on): Likewise.
24814         * modules/xvasprintf (Depends-on): Likewise.
24815         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24816         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
24817         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
24818         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
24819         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24820         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
24821         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
24822         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
24823         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24824         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
24825         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
24826         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
24827         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24828         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
24829         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
24830         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
24831         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24832         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
24833         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
24834         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
24835         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24836         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
24837         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
24838         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
24839         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
24840         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24841         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
24842         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
24843         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
24844         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
24845         * MODULES.html.sh: Remove EOVERFLOW.
24846         * NEWS: Mention the change.
24847
24848 2008-09-13  Bruno Haible  <bruno@clisp.org>
24849
24850         * modules/errno-tests: New file.
24851         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
24852
24853         * lib/errno.in.h: New file.
24854         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
24855         * modules/errno: New file.
24856         * doc/posix-headers/errno.texi: Update documentation.
24857         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
24858
24859 2008-09-13  Bruno Haible  <bruno@clisp.org>
24860
24861         * tests/test-poll.c: Use #if for native Windows, rather than testing
24862         __MSVCRT__.
24863
24864 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24865             Bruno Haible  <bruno@clisp.org>
24866
24867         * lib/glob.c: Don't include <pwd.h> on native Windows.
24868         (WINDOWS32): New macro.
24869         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
24870
24871 2008-09-13  Bruno Haible  <bruno@clisp.org>
24872
24873         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
24874         (ETIMEDOUT): Remove macro.
24875         (glthread_cond_timedwait_multithreaded): New declaration.
24876         (glthread_cond_timedwait): Use it.
24877         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
24878         (glthread_cond_timedwait_multithreaded): New function.
24879
24880 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
24881
24882         * modules/poll-tests: Do not check for io.h.
24883         * tests/test-poll.c: Check for __MSVCRT__ instead.
24884
24885 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
24886
24887         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
24888         * modules/poll-tests: Add inet_pton, stdbool, sockets.
24889         * tests/test-poll.c: Use them.  Use _pipe on Windows.
24890
24891 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
24892
24893         * modules/poll-tests: New.
24894         * tests/test-poll.c: New.
24895
24896 2008-09-12  Eric Blake  <ebb9@byu.net>
24897
24898         frexp: test for NetBSD failure on -0.0
24899         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
24900         not all, bugs from NetBSD 3.0 have been fixed.
24901         * doc/posix-functions/frexp.texi (frexp): Document bug.
24902         Reported by Thomas Klausner.
24903
24904         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
24905         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
24906         literal -0.0.
24907         Reported by Jonathan C. Patschke <jp@centtech.com>.
24908
24909 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24910
24911         * lib/glthread/cond.h: Use dummy implementation also if
24912         USE_WIN32_THREADS.
24913
24914 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24915
24916         * modules/fnmatch-posix (License): Change to LGPLv2+.
24917         * modules/fnmatch-gnu (License): Likewise.
24918
24919 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24920
24921         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
24922
24923 2008-09-11  Jim Meyering  <meyering@redhat.com>
24924
24925         * users.txt: Add gtk-vnc.
24926
24927 2008-09-08  Simon Josefsson  <simon@josefsson.org>
24928
24929         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
24930         rotate amounts.
24931
24932         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
24933         required for 16-bit and 8-bit rotates.
24934         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
24935         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
24936         UINT8_MAX instead of hard-coded constants.
24937         Suggested by Paul Eggert.
24938
24939 2008-09-07  Bruno Haible  <bruno@clisp.org>
24940
24941         * tests/test-striconveh.c (main): Check behaviour when converting from
24942         UTF-7.
24943
24944         Make striconveh work better with stateful encodings.
24945         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
24946         that iconv does not increment the inptr when returning -1/EINVAL.
24947
24948 2008-09-07  Bruno Haible  <bruno@clisp.org>
24949
24950         * build-aux/config.rpath: Update according to libtool-2.2.6.
24951         * build-aux/config.libpath: Likewise.
24952
24953 2008-09-06  Bruno Haible  <bruno@clisp.org>
24954
24955         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
24956         * lib/freadptr.c (freadptr): Likewise.
24957         * lib/freadseek.c (freadptrinc): Likewise.
24958         Reported by Simon Josefsson.
24959
24960 2008-09-06  Bruno Haible  <bruno@clisp.org>
24961
24962         * modules/freadptr (License): Change to LGPLv2+.
24963         * modules/freadseek (License): Likewise.
24964         Suggested by Eric Blake.
24965
24966         * modules/memchr2 (License): Change to LGPLv2+.
24967         Approved by Eric Blake.
24968
24969 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24970             Bruno Haible  <bruno@clisp.org>
24971
24972         Make gnulib-tool work with native 'sed' on AIX.
24973         * gnulib-tool (sed_noop): New variable.
24974         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
24975         func_add_or_update, func_create_testdir): Use it to initialize sed
24976         script variables.
24977         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24978
24979 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
24980             Bruno Haible  <bruno@clisp.org>
24981
24982         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
24983         also works after #include directives.
24984
24985 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
24986
24987         getdate.y: reject an out-of-range timezone value
24988         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
24989         the range [-24...+24].  When specified with only one or two digits,
24990         * tests/test-getdate.c: Tests for the fix.
24991         * doc/getdate.texi: Document this change.
24992
24993 2008-09-03  Bruno Haible  <bruno@clisp.org>
24994
24995         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
24996
24997 2008-09-02  Simon Josefsson  <simon@josefsson.org>
24998
24999         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
25000         <bruce.korb@gmail.com> with ideas from Ben Pfaff
25001         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
25002         Blake <ebb9@byu.net>.
25003
25004         * tests/test-bitrotate.c: Add more test vectors.
25005
25006 2008-09-02  Eric Blake  <ebb9@byu.net>
25007
25008         vasnprintf-posix: handle large precision via %.*d
25009         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
25010         when handling it ourselves.
25011         * tests/test-vasnprintf-posix.c (test_function): Add test.
25012         * tests/test-snprintf-posix.h (test_function): Likewise.
25013         * tests/test-sprintf-posix.h (test_function): Likewise.
25014         * tests/test-vasprintf-posix.c (test_function): Likewise.
25015         Reported by Alain Guibert.
25016
25017 2008-09-01  Eric Blake  <ebb9@byu.net>
25018
25019         c-stack: make configure-time check more robust
25020         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
25021         successful sigaction call.
25022         Reported by Tom G. Christensen.
25023
25024 2008-09-01  Bruno Haible  <bruno@clisp.org>
25025
25026         New module 'findprog-lgpl'.
25027         * modules/findprog-lgpl: New file.
25028         * lib/findprog-lgpl.c: New file.
25029         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
25030         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
25031         to decide whether to use strdup or xstrdup, concatenated_filename or
25032         xconcatenated_filename.
25033
25034 2008-09-01  Bruno Haible  <bruno@clisp.org>
25035
25036         Split module 'concat-filename' into 'concat-filename' (LGPL) and
25037         'xconcat-filename' (GPL).
25038         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
25039         (License): Change to LGPLv2+.
25040         * modules/xconcat-filename: New file.
25041         * lib/concat-filename.h (concatenated_filename): Change specification.
25042         (xconcatenated_filename): New declaration.
25043         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
25044         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
25045         memory situations.
25046         * lib/xconcat-filename.c: New file.
25047         * NEWS: Mention the change.
25048         * lib/findprog.c: Include concat-filename.h, not filename.h.
25049         (find_in_path): Use xconcatenated_filename instead of
25050         concatenated_filename.
25051         * lib/javacomp.c: Include concat-filename.h, not filename.h.
25052         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
25053         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
25054         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
25055         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
25056         instead of concatenated_filename.
25057         * lib/javaexec.c: Include concat-filename.h, not filename.h.
25058         (execute_java_class): Use xconcatenated_filename instead of
25059         concatenated_filename.
25060         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
25061         * modules/javacomp (Depends-on): Likewise.
25062         * modules/javaexec (Depends-on): Likewise.
25063
25064 2008-09-01  Bruno Haible  <bruno@clisp.org>
25065
25066         Split module 'filename' into 'filename' and 'concat-filename'.
25067         * modules/filename: Keep only lib/filename.h.
25068         (License): Change to LGPLv2+.
25069         * modules/concat-filename: New file, extracted from modules/filename.
25070         * lib/filename.h (concatenated_filename): Remove declaration.
25071         * lib/concat-filename.h: New file, extracted from lib/filename.h.
25072         * lib/concat-filename.c: Include concat-filename.h.
25073         * NEWS: Mention the change.
25074
25075 2008-09-01  Simon Josefsson  <simon@josefsson.org>
25076
25077         * lib/bitrotate.h (rotl8, rotr8): Add.
25078
25079         * modules/bitrotate (configure.ac): Need
25080         AC_REQUIRE([AC_C_INLINE]).
25081         (Description): Mention stdint.h.  Reported by Bruno Haible
25082         <bruno@clisp.org>.
25083
25084         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
25085         Paolo Bonzini <bonzini@gnu.org>.
25086
25087 2008-08-31  Bruno Haible  <bruno@clisp.org>
25088
25089         Assume Solaris specific bi-arch conventions on Solaris systems.
25090         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
25091         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
25092         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
25093         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
25094         like acl_libdirstem.
25095         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
25096         acl_libdirstem.
25097         * NEWS: Mention the change.
25098         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
25099
25100 2008-08-31  Jim Meyering  <meyering@redhat.com>
25101
25102         * lib/strftime.h: Add comments describing the two added arguments.
25103
25104         remove duplicate #include directives
25105         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
25106         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
25107
25108 2008-08-31  Bruno Haible  <bruno@clisp.org>
25109
25110         New module 'sigpipe-die'.
25111         * modules/sigpipe-die: New file.
25112         * lib/sigpipe-die.h: New file.
25113         * lib/sigpipe-die.c: New file.
25114         * MODULES.html.sh (Signal handling): Add sigpipe-die.
25115
25116 2008-08-31  Bruno Haible  <bruno@clisp.org>
25117
25118         Don't override previously installed signal handlers.
25119         * lib/fatal-signal.c (saved_sigactions): New variable.
25120         (uninstall_handlers): Reset the signal to the saved handler, not
25121         to SIG_DFL (except when ignored).
25122         (install_handlers): Save the previous handlers.
25123
25124 2008-08-30  Bruno Haible  <bruno@clisp.org>
25125
25126         * gnulib-tool (func_reset_sigpipe): New function.
25127         (func_get_automake_snippet, func_modules_transitive_closure,
25128         func_import): Invoke it before a join command that reads from stdin,
25129         to avoid "echo: write error: Broken pipe" error messages on stderr.
25130         Reported by Sam Steingold <sds@gnu.org>.
25131
25132 2008-08-30  Bruno Haible  <bruno@clisp.org>
25133
25134         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
25135         Code copied from m4/open.m4.
25136         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
25137         access and the filename ends in a slash. Code copied from lib/open.c.
25138         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
25139         * tests/test-fopen.c (main): Check against bug with trailing slash.
25140
25141 2008-08-29  Bruno Haible  <bruno@clisp.org>
25142
25143         Avoid some "gcc -pedantic" warnings.
25144         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
25145         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
25146         * lib/dirent.in.h: Likewise.
25147         * lib/fcntl.in.h: Likewise.
25148         * lib/float.in.h: Likewise.
25149         * lib/iconv.in.h: Likewise.
25150         * lib/inttypes.in.h: Likewise.
25151         * lib/locale.in.h: Likewise.
25152         * lib/math.in.h: Likewise.
25153         * lib/netinet_in.in.h: Likewise.
25154         * lib/search.in.h: Likewise.
25155         * lib/signal.in.h: Likewise.
25156         * lib/stdarg.in.h: Likewise.
25157         * lib/stdint.in.h: Likewise.
25158         * lib/stdio.in.h: Likewise.
25159         * lib/stdlib.in.h: Likewise.
25160         * lib/string.in.h: Likewise.
25161         * lib/strings.in.h: Likewise.
25162         * lib/sys_select.in.h: Likewise.
25163         * lib/sys_socket.in.h: Likewise.
25164         * lib/sys_stat.in.h: Likewise.
25165         * lib/sys_time.in.h: Likewise.
25166         * lib/sysexits.in.h: Likewise.
25167         * lib/time.in.h: Likewise.
25168         * lib/unistd.in.h: Likewise.
25169         * lib/wchar.in.h: Likewise.
25170         * lib/wctype.in.h: Likewise.
25171         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
25172         * modules/fchdir (Makefile.am): Likewise.
25173         * modules/fcntl (Makefile.am): Likewise.
25174         * modules/float (Makefile.am): Likewise.
25175         * modules/iconv_open (Makefile.am): Likewise.
25176         * modules/inttypes (Makefile.am): Likewise.
25177         * modules/locale (Makefile.am): Likewise.
25178         * modules/math (Makefile.am): Likewise.
25179         * modules/netinet_in (Makefile.am): Likewise.
25180         * modules/search (Makefile.am): Likewise.
25181         * modules/signal (Makefile.am): Likewise.
25182         * modules/stdarg (Makefile.am): Likewise.
25183         * modules/stdint (Makefile.am): Likewise.
25184         * modules/stdio (Makefile.am): Likewise.
25185         * modules/stdlib (Makefile.am): Likewise.
25186         * modules/string (Makefile.am): Likewise.
25187         * modules/strings (Makefile.am): Likewise.
25188         * modules/sys_select (Makefile.am): Likewise.
25189         * modules/sys_socket (Makefile.am): Likewise.
25190         * modules/sys_stat (Makefile.am): Likewise.
25191         * modules/sys_time (Makefile.am): Likewise.
25192         * modules/sysexits (Makefile.am): Likewise.
25193         * modules/time (Makefile.am): Likewise.
25194         * modules/unistd (Makefile.am): Likewise.
25195         * modules/wchar (Makefile.am): Likewise.
25196         * modules/wctype (Makefile.am): Likewise.
25197         Reported by Reuben Thomas <rrt@sc3d.org>.
25198
25199 2008-08-29  Bruno Haible  <bruno@clisp.org>
25200
25201         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
25202         any more.
25203
25204 2008-08-29  Simon Josefsson  <simon@josefsson.org>
25205
25206         * MODULES.html.sh (Misc): Add bitrotate.
25207
25208         * modules/bitrotate: New file.
25209
25210         * lib/bitrotate.h: New file.
25211
25212         * modules/bitrotate-tests: New file.
25213
25214         * tests/test-bitrotate.c: New file.
25215
25216         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
25217         on the bitrotate module.
25218
25219         * lib/arctwo.c: Use new bitrotate module.
25220
25221 2008-08-29  Jim Meyering  <meyering@redhat.com>
25222
25223         bootstrap: merge changes from coreutils
25224         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
25225         of copied files.  Remove a kludge, now that this is fixed.
25226         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
25227         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
25228         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
25229
25230 2008-08-29  Bruno Haible  <bruno@clisp.org>
25231
25232         * MODULES.html.sh: Remove --cvs-urls option.
25233
25234 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
25235
25236         maint.mk: adjust to file name change
25237         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
25238
25239 2008-08-28  Jim Meyering  <meyering@redhat.com>
25240
25241         * modules/getndelim2 (License): Relicense to LGPLv2+.
25242         Approved by Richard Stallman for the version of 1995, and by
25243         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
25244
25245 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
25246
25247         * lib/getdelim.c (flockfile, funlockfile): Make all of them
25248         dummy if one is not available.  Do not touch them if
25249         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
25250         (getc_maybe_unlocked): New.
25251         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
25252
25253 2008-08-26  Eric Blake  <ebb9@byu.net>
25254
25255         doc/INSTALL: resync from autoconf
25256         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
25257         (INSTALL_PRELUDE): Delete; this is done more efficiently by
25258         moving...
25259         * install.texi [!autoconf]: ...here.  Resync from autoconf.
25260         * INSTALL: Regenerate.
25261         * INSTALL.ISO: New file.
25262         * INSTALL.UTF-8: Likewise.
25263
25264 2008-08-26  Jim Meyering  <meyering@redhat.com>
25265
25266         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
25267         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
25268         these definitions conditional, so that they may be overridden, too.
25269
25270 2008-08-26  Bruno Haible  <bruno@clisp.org>
25271
25272         Generate INSTALL file variants with prettier quotes.
25273         * doc/Makefile (INSTALL_PRELUDE): New macro.
25274         (INSTALL): Use it.
25275         (INSTALL.ISO, INSTALL.UTF-8): New rules.
25276
25277 2008-08-26  Bruno Haible  <bruno@clisp.org>
25278
25279         Run makeinfo in an English locale.
25280         * doc/Makefile (MAKEINFO): New variable.
25281
25282 2008-08-26  Bruno Haible  <bruno@clisp.org>
25283
25284         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
25285         Suggested by Eric Blake.
25286
25287 2008-08-25  Bruno Haible  <bruno@clisp.org>
25288
25289         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
25290
25291 2008-08-25  Eric Blake  <ebb9@byu.net>
25292
25293         c-stack: test that stack overflow can be caught
25294         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
25295         that platform allows handling stack overflow; at least OS/2 EMX
25296         has sigaltstack, but crashes before transferring control to
25297         handler on stack overflow.
25298         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
25299         check for HAVE_STACK_OVERFLOW_HANDLING.
25300         Reported by Elbert Pol.
25301
25302 2008-08-25  Bruno Haible  <bruno@clisp.org>
25303
25304         * doc/posix-functions/strftime.texi: Fix description of strftime
25305         module.
25306
25307 2008-08-24  Bruno Haible  <bruno@clisp.org>
25308
25309         * tests/uniwidth/test-uc_width2.c: New file.
25310         * tests/uniwidth/test-uc_width2.sh: New file.
25311         * modules/uniwidth/width-tests (Files): Add the new files.
25312         (TESTS): Add uniwidth/test-uc_width2.sh.
25313         (TESTS_ENVIRONMENT): New variable.
25314         (check_PROGRAMS): Add test-uc_width2.
25315         (test_uc_width2_SOURCES): New variable.
25316
25317         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
25318         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
25319         not 0x00AB.
25320         Reported by Alexander V. Lukyanov <lav@netis.ru>.
25321
25322 2008-08-22  Eric Blake  <ebb9@byu.net>
25323
25324         test-lock, test-tls: mention why a test is skipped
25325         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
25326         skipped.
25327         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
25328
25329         count-one-bits: relax license
25330         * modules/count-one-bits (License): Relicense to LGPLv2+.
25331         Suggested by Ludovic Courtès, approved by Ben Pfaff.
25332
25333 2008-08-22  Andreas Schwab  <schwab@suse.de>
25334
25335         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
25336         Remove spurious space in assignment.
25337
25338 2008-08-21  Simon Josefsson  <simon@josefsson.org>
25339
25340         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
25341         Paul Eggert <eggert@CS.UCLA.EDU>.
25342
25343 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
25344
25345         * modules/gettext: Add m4/threadlib.m4.
25346
25347 2008-08-19  Eric Blake  <ebb9@byu.net>
25348
25349         test-c-stack: fix compilation failure on FreeBSD 5.0
25350         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
25351         headers before <sys/resource.h>.
25352         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
25353         the bug.
25354         Reported by Nelson H. F. Beebe.
25355
25356         strverscmp: migrate from "strverscmp.h" to <string.h>
25357         * modules/string (Makefile.am): Add new hooks.
25358         * modules/strverscmp (Files): Remove strverscmp.h.
25359         (Depends-on): Add string.
25360         (configure.ac): Add indicator.
25361         (Include): Mention new header.
25362         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
25363         defaults.
25364         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
25365         results.
25366         * lib/strverscmp.h: Delete.
25367         * lib/string.in.h (strverscmp): Provide declaration, when needed.
25368         * tests/test-strverscmp.c (includes): Adjust client.
25369         * lib/check-version.c (includes): Likewise.
25370         * NEWS: Document the change.
25371
25372         strverscmp: add unit test
25373         * modules/strverscmp-tests: New file.
25374         * tests/test-strverscmp.c: Likewise.
25375
25376 2008-08-19  Simon Josefsson  <simon@josefsson.org>
25377
25378         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
25379         regarding Windows crypto stuff, from Mono.
25380
25381 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
25382
25383         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
25384         if present, for intel RND.  Return error on failures.
25385
25386 2008-08-18  Ben Pfaff  <blp@gnu.org>
25387
25388         gitlog-to-changelog: give better diagnostic for failed pipe-open
25389         * build-aux/gitlog-to-changelog: Improve error message: suggest
25390         that the version of Git may be too old.
25391
25392 2008-08-18  Simon Josefsson  <simon@josefsson.org>
25393
25394         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
25395         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
25396
25397 2008-08-18  Bruno Haible  <bruno@clisp.org>
25398
25399         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
25400         pthread_in_use().
25401
25402 2008-08-18  Bruno Haible  <bruno@clisp.org>
25403
25404         * lib/glthread/threadlib.c: Include <pthread.h>.
25405
25406 2008-08-18  Bruno Haible  <bruno@clisp.org>
25407
25408         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
25409         glthread_recursive_lock_* macros.
25410         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
25411         Fix syntax error.
25412
25413 2008-08-18  Bruno Haible  <bruno@clisp.org>
25414
25415         * lib/glthread/thread.c: Avoid forcing a context switch right after
25416         thread creation.
25417
25418 2008-08-17  Bruno Haible  <bruno@clisp.org>
25419
25420         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
25421         * lib/glthread/thread.h: Provide Win32 specific implementation.
25422         * modules/thread (Files): Add lib/glthread/thread.c.
25423         (Depends-on): Add lock.
25424         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
25425
25426 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25427
25428         New module 'yield'.
25429         * modules/yield: New file.
25430         * lib/glthread/yield.h: New file.
25431         * m4/yield.m4: New file.
25432         * MODULES.html.sh (Multithreading): Add yield.
25433
25434 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25435
25436         New module 'thread'.
25437         * modules/thread: New file.
25438         * lib/glthread/thread.h: New file.
25439         * m4/thread.m4: New file.
25440         * MODULES.html.sh (Multithreading): Add thread.
25441
25442 2008-08-17  Bruno Haible  <bruno@clisp.org>
25443
25444         * lib/glthread/lock.h: Include <stdlib.h> always.
25445         * lib/glthread/tls.h: Likewise.
25446         * lib/glthread/cond.h: Likewise.
25447
25448 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25449
25450         New module 'cond'.
25451         * modules/cond: New file.
25452         * lib/glthread/cond.h: New file.
25453         * lib/glthread/cond.c: New file.
25454         * m4/cond.m4: New file.
25455         * MODULES.html.sh (Multithreading): Add cond.
25456
25457 2008-08-16  Eric Blake  <ebb9@byu.net>
25458
25459         c-stack: fix regression on Irix 5.3 from 2008-06-21
25460         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
25461         sa_sigaction...
25462         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
25463         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
25464         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
25465         * modules/signal (Makefile.am): Use the value.
25466         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
25467         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
25468         * doc/posix-headers/signal.texi (signal.h): Document this
25469         portability issue.
25470         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
25471         Reported by Tom G. Christensen.
25472
25473 2008-08-17  Bruno Haible  <bruno@clisp.org>
25474
25475         New module 'threadlib'.
25476         * modules/threadlib: New file.
25477         * lib/glthread/threadlib.c: New file, extracted from
25478         lib/glthread/lock.c.
25479         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
25480         functions.
25481         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
25482         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
25483         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
25484         macros.
25485         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
25486         (gl_DISABLE_THREADS): Remove macro.
25487         * modules/lock (Files): Remove build-aux/config.rpath.
25488         (Depends-on): Remove havelib. Add threadlib.
25489         (configure.ac-early): Remove section.
25490         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
25491         * modules/tls (Depends-on): Remove lock. Add threadlib.
25492         (Link): New section, copied from threadlib.
25493         * MODULES.html.sh (Multithreading): Add threadlib.
25494
25495 2008-08-14  Bruno Haible  <bruno@clisp.org>
25496
25497         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
25498         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
25499         glthread_rwlock_unlock, glthread_rwlock_destroy,
25500         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
25501         glthread_recursive_lock_destroy): Define as macros always.
25502         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
25503         glthread_lock_lock.
25504         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
25505         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
25506         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
25507         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
25508         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
25509         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
25510         (glthread_recursive_lock_lock_func): Renamed from
25511         glthread_recursive_lock_lock.
25512         (glthread_recursive_lock_unlock_func): Renamed from
25513         glthread_recursive_lock_unlock.
25514         (glthread_recursive_lock_destroy_func): Renamed from
25515         glthread_recursive_lock_destroy.
25516
25517 2008-08-14  Bruno Haible  <bruno@clisp.org>
25518
25519         * lib/glthread/lock.h: Renamed from lib/lock.h.
25520         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
25521         * lib/glthread/tls.h: Renamed from lib/tls.h.
25522         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
25523         * lib/fstrcmp.c: Update includes.
25524         * lib/strsignal.c: Update includes.
25525         * modules/lock (Files, Makefile.am): Update.
25526         (Include): Change to "glthread/lock.h".
25527         * modules/tls (Files, Makefile.am): Update.
25528         (Include): Change to "glthread/tls.h".
25529         * tests/test-lock.c: Update includes.
25530         * tests/test-tls.c: Update includes.
25531         * NEWS: Mention the renamed header files.
25532
25533 2008-08-11  Jim Meyering  <meyering@redhat.com>
25534
25535         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
25536
25537 2008-08-11  Eric Blake  <ebb9@byu.net>
25538
25539         test-c-stack: avoid C99-ism
25540         * tests/test-c-stack.c (main): Fix whitespace, move declaration
25541         before statement.
25542         Reported by Alain Guibert.
25543
25544 2008-08-10  Jim Meyering  <meyering@redhat.com>
25545
25546         ensure that return value of uinttostr et al are not ignored
25547         * lib/inttostr.h (__GNUC_PREREQ): Define.
25548         (__attribute_warn_unused_result__): Define.
25549         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
25550
25551 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
25552
25553         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
25554         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
25555
25556 2008-08-07  Jim Meyering  <meyering@redhat.com>
25557
25558         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
25559
25560         * modules/mkstemp (License): Relicense under LGPLv2+.
25561         * modules/tempname (License): Likewise.
25562
25563 2008-08-06  Bruno Haible  <bruno@clisp.org>
25564
25565         * lib/poll.c (poll): Further micro-optimization.
25566
25567 2008-08-06  Jim Meyering  <meyering@redhat.com>
25568
25569         inet_pton.c: use locale-independent tolower
25570         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
25571         (inet_pton6): Use c_tolower rather than tolower.
25572         * modules/inet_pton (Depends-on): Add c-ctype.
25573
25574 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
25575
25576         * lib/poll.c (poll): Avoid division when timeout is 0, cache
25577         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
25578
25579 2008-08-06  Jim Meyering  <meyering@redhat.com>
25580
25581         * modules/inet_pton (License): Relicense under LGPLv2+.
25582
25583 2008-08-03  Bruno Haible  <bruno@clisp.org>
25584
25585         Additional non-aborting API for lock and tls.
25586         * lib/lock.h: Include <errno.h>.
25587         (glthread_lock_init): New macro/function.
25588         (gl_lock_init): Define as wrapper around glthread_lock_init.
25589         (glthread_lock_lock): New macro/function.
25590         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
25591         (glthread_lock_unlock): New macro/function.
25592         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
25593         (glthread_lock_destroy): New macro/function.
25594         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
25595         (glthread_rwlock_init): New macro/function.
25596         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
25597         (glthread_rwlock_rdlock): New macro/function.
25598         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
25599         (glthread_rwlock_wrlock): New macro/function.
25600         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
25601         (glthread_rwlock_unlock): New macro/function.
25602         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
25603         (glthread_rwlock_destroy): New macro/function.
25604         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
25605         (glthread_recursive_lock_init): New macro/function.
25606         (gl_recursive_lock_init): Define as wrapper around
25607         glthread_recursive_lock_init.
25608         (glthread_recursive_lock_lock): New macro/function.
25609         (gl_recursive_lock_lock): Define as wrapper around
25610         glthread_recursive_lock_lock.
25611         (glthread_recursive_lock_unlock): New macro/function.
25612         (gl_recursive_lock_unlock): Define as wrapper around
25613         glthread_recursive_lock_unlock.
25614         (glthread_recursive_lock_destroy): New macro/function.
25615         (gl_recursive_lock_destroy): Define as wrapper around
25616         glthread_recursive_lock_destroy.
25617         (glthread_once): New macro/function.
25618         (gl_once): Define as wrapper around glthread_once.
25619         Update function declarations.
25620         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
25621         glthread_rwlock_init. Return error code.
25622         (glthread_rwlock_rdlock_multithreaded): Renamed from
25623         glthread_rwlock_rdlock. Return error code.
25624         (glthread_rwlock_wrlock_multithreaded): Renamed from
25625         glthread_rwlock_wrlock. Return error code.
25626         (glthread_rwlock_unlock_multithreaded): Renamed from
25627         glthread_rwlock_unlock. Return error code.
25628         (glthread_rwlock_destroy_multithreaded): Renamed from
25629         glthread_rwlock_destroy. Return error code.
25630         (glthread_recursive_lock_init_multithreaded): Renamed from
25631         glthread_recursive_lock_init. Return error code.
25632         (glthread_recursive_lock_lock_multithreaded): Renamed from
25633         glthread_recursive_lock_lock. Return error code.
25634         (glthread_recursive_lock_unlock_multithreaded): Renamed from
25635         glthread_recursive_lock_unlock. Return error code.
25636         (glthread_recursive_lock_destroy_multithreaded): Renamed from
25637         glthread_recursive_lock_destroy. Return error code.
25638         (glthread_once_call): Make static.
25639         (glthread_once_multithreaded): Renamed from glthread_once.
25640         * lib/tls.h: Include <errno.h>.
25641         (glthread_tls_key_init): New macro/function.
25642         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
25643         (glthread_tls_set): New macro/function.
25644         (gl_tls_set): Define as wrapper around glthread_tls_set.
25645         (glthread_tls_key_destroy): New macro/function.
25646         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
25647         Update function declarations.
25648         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
25649         glthread_tls_get.
25650         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
25651
25652 2008-08-04  Eric Blake  <ebb9@byu.net>
25653
25654         gnumakefile: use space, not TAB, outside of targets
25655         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
25656
25657 2008-08-02  Jim Meyering  <meyering@redhat.com>
25658
25659         getdate.y: avoid locale-dependent date parsing failure
25660         In Turkish locales, getdate would fail to recognize keywords
25661         containing a lowercase "i".  The solution is not to rely on
25662         locale-sensitive case-conversion.
25663         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
25664         (lookup_word): Use c_toupper in place of toupper.
25665         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
25666         Reported by Vefa Bicakci <bicave@superonline.com> in
25667         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
25668         * modules/getdate (Depends-on): Add c-ctype.
25669
25670 2008-08-02  Bruno Haible  <bruno@clisp.org>
25671
25672         * gnulib-tool (func_import): When updating or creating a .gitignore
25673         file, prepend each added line with a slash, and ignore leading slashes
25674         from the existing lines.
25675         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
25676
25677 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25678
25679         Portability fix for GNU make 3.79.1.
25680         * top/GNUmakefile: Avoid 'else COND', which older GNU make
25681         versions do not understand.
25682
25683 2008-08-01  Bruno Haible  <bruno@clisp.org>
25684
25685         Work around bug of HP-UX 10.20 cc with -0.0 literal.
25686         * tests/test-isnanf.h (zero): New variable.
25687         (main): Avoid literal -0.0f.
25688         * tests/test-isnand.h (zero): New variable.
25689         (main): Avoid literal -0.0.
25690         * tests/test-isnanl.h (zero): New variable.
25691         (main): Avoid literal -0.0L.
25692         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
25693         (test_float, test_double, test_long_double): Avoid literals -0.0f,
25694         -0.0, -0.0L.
25695         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
25696         (test_signbitd): Avoid literal -0.0.
25697         (test_signbitl): Avoid literal -0.0L.
25698         * tests/test-ceilf1.c (zero): New variable.
25699         (main): Avoid literal -0.0f.
25700         * tests/test-ceill.c (zero): New variable.
25701         (main): Avoid literal -0.0L.
25702         * tests/test-floorf1.c (zero): New variable.
25703         (main): Avoid literal -0.0f.
25704         * tests/test-floorl.c (zero): New variable.
25705         (main): Avoid literal -0.0L.
25706         * tests/test-roundf1.c (zero): New variable.
25707         (main): Avoid literal -0.0f.
25708         * tests/test-round1.c (zero): New variable.
25709         (main): Avoid literal -0.0.
25710         * tests/test-roundl.c (zero): New variable.
25711         (main): Avoid literal -0.0L.
25712         * tests/test-truncf1.c (zero): New variable.
25713         (main): Avoid literal -0.0f.
25714         * tests/test-trunc1.c (zero): New variable.
25715         (main): Avoid literal -0.0.
25716         * tests/test-truncl.c (zero): New variable.
25717         (main): Avoid literal -0.0L.
25718         * tests/test-frexp.c (zero): New variable.
25719         (main): Avoid literal -0.0.
25720         * tests/test-frexpl.c (zero): New variable.
25721         (main): Avoid literal -0.0L.
25722         * tests/test-ldexpl.c (zero): New variable.
25723         (main): Avoid literal -0.0L.
25724         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
25725         (zerod, zerol): New variables.
25726         (test_function): Avoid literals -0.0, -0.0L.
25727         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
25728         (zerod, zerol): New variables.
25729         (test_function): Avoid literals -0.0, -0.0L.
25730         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
25731         (zerod, zerol): New variables.
25732         (test_function): Avoid literals -0.0, -0.0L.
25733         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
25734         (zerod, zerol): New variables.
25735         (test_function): Avoid literals -0.0, -0.0L.
25736         * tests/test-strtod.c (zero): New variable.
25737         (main): Avoid literal -0.0.
25738         Reported by Jonathan C. Patschke <jp@centtech.com>.
25739
25740 2008-07-31  Jim Meyering  <meyering@redhat.com>
25741
25742         sha256.h: correct definition of SHA224_DIGEST_SIZE
25743         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
25744         Reported by Paulie Pena IV <paulie4@gmail.com>.
25745         Define as 224 / 8, rather than as a literal.
25746         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
25747         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
25748         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
25749
25750 2008-07-31  Bruno Haible  <bruno@clisp.org>
25751
25752         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
25753         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
25754         Reported by Jonathan Patschke <jp@centtech.com>.
25755
25756 2008-07-31  Bruno Haible  <bruno@clisp.org>
25757
25758         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
25759         Reported by Paolo Bonzini <bonzini@gnu.org>.
25760
25761 2008-07-30  Eric Blake  <ebb9@byu.net>
25762
25763         test-strtod: allow compilation without -lm
25764         * tests/test-strtod.c (main): Avoid link dependence on fabs.
25765         Reported by Dennis Clarke <blastwave@gmail.com>.
25766
25767 2008-07-28  Jim Meyering  <meyering@redhat.com>
25768
25769         bootstrap: work also when there are no .po files in po/
25770         * build-aux/bootstrap (update_po_files): Complete the change
25771         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
25772
25773 2008-07-27  Jim Meyering  <meyering@redhat.com>
25774
25775         * users.txt: Add zile.
25776
25777 2008-07-26  Ben Pfaff  <blp@gnu.org>
25778
25779         Add missing dependencies on new m4/exponent[fdl].m4 files.
25780         * modules/isnanf-nolibm: Add m4/exponentf.m4.
25781         * modules/isnand-nolibm: Add m4/exponentd.m4.
25782         * modules/isnanl-nolibm: Add m4/exponentl.m4.
25783         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
25784         m4/isnan[fdl].m4, because the macros actually used moved.
25785         Reported by Jim Meyering.
25786
25787 2008-07-14  Ben Pfaff  <blp@gnu.org>
25788
25789         Add isinf module.
25790         * lib/isinf.c: New file.
25791         * lib/math.in.h: Define isinf macro if we have decided to replace
25792         it.
25793         * m4/isinf.m4: New file.
25794         * m4/math_h.m4: Initialize and substitute variables for isinf
25795         module.
25796         * modules/isinf: New file.
25797         * modules/isinf-tests: New file.
25798         * modules/math: Add substitutions for new module.
25799         * tests/test-isinf.c: New file.
25800         * doc/posix-functions/isinf.texi: Mention new module.
25801         * MODULES.html.sh: Mention new module.
25802
25803 2008-07-14  Ben Pfaff  <blp@gnu.org>
25804
25805         Factor out some macros for use by additional modules.
25806         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
25807         exponentf.m4.
25808         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
25809         exponentd.m4.
25810         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
25811         file exponentl.m4.
25812         * m4/exponentf.m4: New file.
25813         * m4/exponentd.m4: New file.
25814         * m4/exponentl.m4: New file.
25815         * modules/isnanf: Use new file m4/exponentf.m4.
25816         * modules/isnand: Use new file m4/exponentd.m4.
25817         * modules/isnanl: Use new file m4/exponentl.m4.
25818
25819 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
25820
25821         mktime.c: normalize tp->tm_isdst value to -1/0/1.
25822         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
25823         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
25824         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
25825
25826         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
25827         readlink on platforms without PATH_MAX.
25828
25829 2008-07-21  Eric Blake  <ebb9@byu.net>
25830
25831         Warn, not fail, on stale version.
25832         * top/GNUmakefile (_curr-ver): Tone down previous patch.
25833
25834         Don't allow installation with stale devel version number.
25835         * top/GNUmakefile (_is-install-target): New macro.
25836         (_curr-ver): Forbid installation with stale version number.
25837
25838 2008-07-20  Bruno Haible  <bruno@clisp.org>
25839
25840         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
25841         TESTS_ENVIRONMENT.
25842         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
25843
25844 2008-07-20  Bruno Haible  <bruno@clisp.org>
25845
25846         * lib/c-stack.h (c_stack_action): Add documentation.
25847         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
25848
25849 2008-07-20  Bruno Haible  <bruno@clisp.org>
25850
25851         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
25852         * modules/readlink (License): Likewise.
25853
25854 2008-07-17  Eric Blake  <ebb9@byu.net>
25855
25856         * modules/c-stack (Link): Fix typo.
25857
25858         Make c-stack use libsigsegv, when available.
25859         * modules/c-stack (Depends-on): Add libsigsegv.
25860         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
25861         needed.
25862         * lib/c-stack.c (SIGSTKSZ): Define fallback.
25863         (segv_handler, overflow_handler, c_stack_action)
25864         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
25865         implementation when libsigsegv is available, but only when using
25866         the library is necessary.
25867         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
25868         comment, explaining why XSI check fails on Linux.
25869         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
25870         * tests/test-c-stack2.sh: Tweak skip message.
25871         * NEWS: Document new link-time requirements.
25872
25873 2008-07-16  Eric Blake  <ebb9@byu.net>
25874
25875         c-stack: Expose false positives when not using libsigsegv.
25876         * modules/c-stack-tests (Files): Expand test.
25877         * tests/test-c-stack.c (main): Add means to conditionally trigger
25878         non-overflow SIGSEGV.
25879         * tests/test-c-stack2.sh: New file.
25880
25881 2008-07-14  Bruno Haible  <bruno@clisp.org>
25882
25883         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
25884         Reported by Eric Blake.
25885
25886 2008-07-14  Sam Steingold  <sds@gnu.org>
25887             Bruno Haible  <bruno@clisp.org>
25888
25889         New module libsigsegv.
25890         * modules/libsigsegv: New file.
25891         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
25892         modifications.
25893         * MODULES.html.sh (Signal handling): New section.
25894
25895 2008-07-14  Bruno Haible  <bruno@clisp.org>
25896
25897         * modules/unictype/ctype-* (Description): Add the word "function".
25898         Improves the resulting doc in MODULES.html.
25899
25900 2008-07-12  Ben Pfaff  <blp@gnu.org>
25901
25902         Add longlong module.
25903         * modules/longlong: New file.
25904
25905 2008-07-12  Bruno Haible  <bruno@clisp.org>
25906
25907         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
25908         to empty.
25909
25910 2008-07-10  Ben Pfaff  <blp@gnu.org>
25911
25912         Add isnan module.
25913         * doc/posix-functions/isnan.texi: Mention new module.
25914         * lib/math.in.h: Define isnan macro if we have decided to replace
25915         it.
25916         * m4/isnan.m4: New file.
25917         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
25918         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
25919         also.
25920         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
25921         redundancy.
25922         * m4/math_h.m4: Initialize and substitute variables for isnan
25923         module.
25924         * modules/isnan: New file.
25925         * modules/isnan-tests: New file.
25926         * modules/math: Add substitutions for new module.
25927         * tests/test-isnan.c: New file.
25928         * MODULES.html.sh: Mention new module.
25929
25930 2008-07-10  Ben Pfaff  <blp@gnu.org>
25931
25932         Add isnanf module.
25933         * lib/isnanf.m4: New file.
25934         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
25935         (gl_HAVE_ISNANF_IN_LIBM): New macro.
25936         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
25937         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
25938         * modules/isnanf: New file.
25939         * modules/isnanf-tests: New file.
25940         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
25941         files.
25942         * tests/test-isnanf-nolibm.c: factored most of its contents into
25943         new file tests/test-isnanf.h.
25944         * tests/test-isnanf.h: New file.
25945         * tests/test-isnanf.c: New file.
25946         * MODULES.html.sh: Mention new module.
25947         * doc/glibc-functions/isnanf.texi: Mention new module.
25948
25949 2008-07-10  Ben Pfaff  <blp@gnu.org>
25950
25951         Add isnand module.
25952         * lib/isnand.h: New file.
25953         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
25954         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
25955         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
25956         functionality also.
25957         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
25958         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
25959         (gl_HAVE_ISNAND_IN_LIBM): New macro.
25960         * modules/isnand: New file.
25961         * modules/isnand-tests: New file.
25962         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
25963         files.
25964         * tests/test-isnand-nolibm.c: factored most of its contents into
25965         new file tests/test-isnand.h.
25966         * tests/test-isnand.h: New file.
25967         * tests/test-isnand.c: New file.
25968         * MODULES.html.sh: Mention new module.
25969
25970 2008-07-10  Ben Pfaff  <blp@gnu.org>
25971
25972         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
25973         * lib/isnand.h: Rename lib/isnand-nolibm.h.
25974         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
25975         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
25976         * modules/isnanf-nolibm: Update references to renamed files.
25977         * modules/isnand-nolibm: Likewise.
25978         * modules/isnanf-nolibm-tests: Likewise.
25979         * modules/isnand-nolibm-tests: Likewise.
25980         * lib/frexp.c: Likewise.
25981         * lib/isfinite.c: Likewise.
25982         * lib/signbitd.c: Likewise.
25983         * lib/signbitf.c: Likewise.
25984         * lib/vasnprintf.c: Likewise.
25985         * tests/test-ceilf1.c: Likewise.
25986         * tests/test-ceilf2.c: Likewise.
25987         * tests/test-floorf1.c: Likewise.
25988         * tests/test-floorf2.c: Likewise.
25989         * tests/test-frexp.c: Likewise.
25990         * tests/test-round1.c: Likewise.
25991         * tests/test-round2.c: Likewise.
25992         * tests/test-roundf1.c: Likewise.
25993         * tests/test-strtod.c: Likewise.
25994         * tests/test-trunc1.c: Likewise.
25995         * tests/test-trunc2.c: Likewise.
25996         * tests/test-truncf1.c: Likewise.
25997         * tests/test-truncf2.c: Likewise.
25998         * NEWS: Mention the renamed header files.
25999
26000 2008-07-11  Jim Meyering  <meyering@redhat.com>
26001
26002         vc-list-files: make the last-resort awk code more portable
26003         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
26004         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
26005         does not support it.
26006
26007 2008-07-10  Eric Blake  <ebb9@byu.net>
26008
26009         Work with tar's bootstrap.
26010         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
26011         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
26012         an m4 comment.
26013
26014 2008-07-09  Jim Meyering  <meyering@redhat.com>
26015
26016         posix-shell.m4: fix typo that made this test malfunction
26017         * m4/posix-shell.m4: Remove capitalization in variable name.
26018
26019 2008-07-08  Bruno Haible  <bruno@clisp.org>
26020
26021         * m4/onceonly.m4: Update comments.
26022         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26023
26024 2008-07-04  Jim Meyering  <meyering@redhat.com>
26025
26026         * users.txt: Add vc-dwim.
26027         (bison, coreutils): Use the gitweb URL.
26028
26029 2008-07-03  Jim Meyering  <meyering@redhat.com>
26030
26031         * users.txt: Add libffcall.  From Sam Steingold.
26032
26033 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
26034
26035         getdate.y: do not ignore TZ with relative day, month or year offset
26036         * lib/getdate.y (get_date): Move the tz-handling block to follow the
26037         relative-date-handling, since otherwise, the latter would clobber the
26038         sole output (an updated Start value) of the tz-handling block.
26039         * tests/test-getdate.c: Tests for the fix
26040
26041 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26042
26043         Recognize 'foo_LIBRARIES += libgnu.a'.
26044         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
26045         makefile snippet has already specified an installation location,
26046         also using '+='.
26047
26048 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
26049
26050         getdate.y: factor out common actions
26051         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
26052         Use them in place of open-coded actions.
26053
26054 2008-07-01  Simon Josefsson  <simon@josefsson.org>
26055
26056         Add self-test for getdate module.
26057         * modules/getdate-tests: New file.
26058         * tests/test-getdate.c: New file.
26059
26060 2008-06-29  Bruno Haible  <bruno@clisp.org>
26061
26062         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
26063         .gitignore.
26064         Reported by Sylvain Beucler <beuc@beuc.net>.
26065
26066 2008-06-29  Bruno Haible  <bruno@clisp.org>
26067
26068         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
26069         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
26070
26071 2008-06-29  Bruno Haible  <bruno@clisp.org>
26072
26073         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
26074         EXTRA_DIST.
26075         Reported by Sylvain Beucler <beuc@beuc.net>.
26076
26077 2008-06-26  Jim Meyering  <meyering@redhat.com>
26078
26079         make several modules depend on the "open" module
26080         This provides slightly increased consistency when opening-for-write
26081         the name of a non-directory spelled with a trailing slash.
26082         * modules/chdir-safer: Likewise.
26083         * modules/chown: Likewise.
26084         * modules/clean-temp: Likewise.
26085         * modules/copy-file: Likewise.
26086         * modules/fchdir: Likewise.
26087         * modules/fcntl-safer: Likewise.
26088         * modules/pipe: Likewise.
26089         * modules/utime: Likewise.
26090         Prompted by Eric Blake and Bruno Haible.
26091
26092 2008-06-24  Andreas Schwab  <schwab@suse.de>
26093
26094         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
26095         literals can be used as initializers for global variables.
26096
26097 2008-06-23  Eric Blake  <ebb9@byu.net>
26098
26099         Make gnulib-cache.m4 easier to diff.
26100         * gnulib-tool (func_import): Allow newlines when reading cached
26101         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
26102
26103 2008-06-23  Bruno Haible  <bruno@clisp.org>
26104
26105         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
26106         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
26107         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
26108         m4/signalblocking.m4.
26109         (gl_PREREQ_SIGACTION): Don't invoke it.
26110         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
26111         gl_PREREQ_SIG_HANDLER_H.
26112         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
26113         Don't check for sigaction here.
26114
26115 2008-06-23  Bruno Haible  <bruno@clisp.org>
26116
26117         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
26118         (install_handlers): Don't set the SA_RESETHAND flag.
26119
26120 2008-06-23  Bruno Haible  <bruno@clisp.org>
26121
26122         * m4/sigaction.m4: Comment fixes.
26123         * lib/signal.in.h: Likewise.
26124
26125 2008-06-23  Eric Blake  <ebb9@byu.net>
26126
26127         Fix typo.
26128         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
26129
26130         Avoid SA_ namespace.
26131         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
26132         Reported by Ralf Wildenhues.
26133
26134         Avoid test failure due to SA_RESTORER.
26135         * tests/test-sigaction.c (SA_MASK): New macro.
26136         (main): Avoid failing due to extension flags being set.
26137         Reported by Jim Meyering.
26138
26139         Revert use of sig-handler.h in sigprocmask.c.
26140         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
26141         it requires the existence of struct sigaction.
26142         * lib/sigprocmask.c (handler_t): Restore typedef.
26143         (rpl_signal, old_handlers): Use local type.
26144
26145 2008-06-22  Bruno Haible  <bruno@clisp.org>
26146
26147         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
26148         conditionally.
26149         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26150
26151 2008-06-22  Bruno Haible  <bruno@clisp.org>
26152
26153         * doc/posix-functions/siginterrupt.texi: Move note.
26154
26155         * lib/signal.in.h (SA_RESTART): New macro.
26156         * lib/sigaction.c: Update comment.
26157
26158         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
26159
26160         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
26161         (gl_PREREQ_SIGPROCMASK): Invoke it.
26162         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
26163
26164         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
26165
26166         * lib/sigprocmask.c: Update a comment.
26167
26168 2008-06-21  Eric Blake  <ebb9@byu.net>
26169
26170         Use sigaction module rather than signal().
26171         * modules/c-stack (Depends-on): Add sigaction.
26172         * modules/fatal-signal (Depends-on): Likewise.
26173         * modules/nanosleep (Depends-on): Likewise.
26174         * modules/sigprocmask (Files): Add sig-handler.h.
26175         * modules/sigaction (Files): Likewise.
26176         * lib/sig-handler.h (get_handler): New file, suggested by Paul
26177         Eggert.
26178         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
26179         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
26180         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
26181         (init_fatal_signals): Likewise.
26182         * lib/nanosleep.c (rpl_nanosleep): Likewise.
26183         (siginterrupt): Delete fallback.
26184         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
26185         instead.
26186         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
26187         siginterrupt.
26188
26189         New module sigaction, for mingw.
26190         * modules/sigaction: New module...
26191         * modules/sigaction-tests: ...and its test.
26192         * m4/sigaction.m4: New file.
26193         * lib/sigaction.c: Likewise.
26194         * tests/test-sigaction.c: Likewise.
26195         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
26196         * modules/signal (Makefile.am): Likewise.
26197         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
26198         needed.
26199         * doc/posix-headers/signal.texi (signal.h): Mention provided
26200         types.
26201         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
26202         that sigaction is preferable.
26203         * doc/posix-functions/sigaction.texi (sigaction): Mention new
26204         module.
26205         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26206         sigaction.
26207
26208         Improve robustness of sigprocmask by overriding signal.
26209         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
26210         is in use.
26211         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
26212         (SIGKILL, SIGSTOP): Provide fallbacks.
26213         (rpl_signal): Implement.
26214         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
26215         signal can be called inside handlers.
26216
26217         Fix nanosleep module on mingw.
26218         * modules/nanosleep (Depends-on): Add sys_select.
26219         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
26220
26221         Fix licensing of sigprocmask.
26222         * modules/raise (License): Relicense as LGPL.
26223
26224 2008-06-21  Bruno Haible  <bruno@clisp.org>
26225
26226         * lib/propername.c (proper_name_utf8): Don't use the transliterated
26227         result if it contains question marks.
26228         Reported by Michael Geng <linux@michaelgeng.de>.
26229
26230 2008-06-19  Bruno Haible  <bruno@clisp.org>
26231
26232         Fix CVS-ism.
26233         * doc/gnulib.texi: Include updated-stamp.texi.
26234         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
26235         (updated-stamp.texi): New rule.
26236         (gnulib.info): Depend on it.
26237         * doc/.gitignore: Add updated-stamp.texi.
26238         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
26239
26240 2008-06-19  Bruno Haible  <bruno@clisp.org>
26241
26242         * doc/Makefile (gnulib.info): Update and simplify dependencies.
26243         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26244
26245 2008-06-19  Eric Blake  <ebb9@byu.net>
26246
26247         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
26248         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
26249         Reported by Stepan Kasal.
26250
26251 2008-06-18  Bruno Haible  <bruno@clisp.org>
26252
26253         * lib/fatal-signal.c (init_fatal_signals): Add comment.
26254         Reported by Eric Blake.
26255
26256 2008-06-18  Eric Blake  <ebb9@byu.net>
26257
26258         Work around cygwin 1.5.25 strsignal bug.
26259         * tests/test-strsignal.c: Allow for const char *.
26260         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
26261
26262 2008-06-18  Simon Josefsson  <simon@josefsson.org>
26263
26264         * users.txt: Update URL to article and add author/date
26265         information.
26266
26267 2008-06-17  Bruno Haible  <bruno@clisp.org>
26268
26269         New macro gl_DISABLE_THREADS.
26270         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
26271         if the user did not pass --enable-threads or --disable-threads option.
26272         (gl_DISABLE_THREADS): New macro.
26273         Reported by Eric Blake <ebb9@byu.net>.
26274
26275 2008-06-17  Bruno Haible  <bruno@clisp.org>
26276
26277         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
26278         when the macro ignores it.
26279         Based on a patch by Eric Blake <ebb9@byu.net>.
26280
26281 2008-06-17  Bruno Haible  <bruno@clisp.org>
26282
26283         * modules/tls (License): Change to LGPLv2+.
26284         Reported by Eric Blake.
26285
26286 2008-06-17  Eric Blake  <ebb9@byu.net>
26287
26288         Simplify c-stack prerequisites.
26289         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
26290         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
26291         no longer requires <ucontext.h> to exist.  Optimize setrlimit
26292         check.
26293         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
26294         <sys/resource.h>.
26295
26296         Move c-stack test into testsuite.
26297         * modules/c-stack-tests: New file.
26298         * lib/c-stack.c [DEBUG]: Move test program...
26299         * tests/test-c-stack.c: ...into this new file.  Skip rather than
26300         fail test if sigaltstack is lacking.
26301         * tests/test-c-stack.sh: New driver file.
26302
26303 2008-06-16  Eric Blake  <ebb9@byu.net>
26304
26305         Use raise module consistently.
26306         * modules/fatal-signal (Depends-on): Add raise.
26307         * modules/sigprocmask (Depends-on): Likewise.
26308         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
26309         * lib/sigprocmask.c (sigprocmask): Likewise.
26310         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
26311         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
26312
26313         Fix compliance bug in sigpending.
26314         * lib/sigprocmask.c (sigpending): Return pending array via
26315         parameter, not return value.
26316
26317 2008-06-14  Eric Blake  <ebb9@byu.net>
26318
26319         Improve obstack-printf test code.
26320         * tests/test-obstack-printf.c (test_function): Fix comment, and
26321         simplify usage of obstack_* in macros.  Add a test for coverage.
26322         Reported by Bruno Haible.
26323
26324 2008-06-14  Bruno Haible  <bruno@clisp.org>
26325
26326         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
26327         array size as a constant, not as a const variable.
26328         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
26329         AC_USE_SYSTEM_EXTENSIONS.
26330         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
26331         Test whether the obstack_printf function actually exists.
26332         * modules/obstack-printf (Depends-on): Add extensions.
26333         (Include): Remove obstack.h.
26334         * modules/obstack-printf-posix (Depends-on): Add extensions.
26335         (Include): Remove obstack.h.
26336
26337 2008-06-13  Eric Blake  <ebb9@byu.net>
26338
26339         Add obstack-printf and obstack-printf-posix modules.
26340         * modules/obstack-printf: New file.
26341         * modules/obstack-printf-posix: Likewise.
26342         * MODULES.html.sh (Misc): Mention them.
26343         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
26344         Likewise.
26345         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
26346         Likewise.
26347         * modules/stdio (Makefile.am): Accomodate new modules.
26348         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26349         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
26350         Declare.
26351         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
26352         functions.
26353         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
26354         (gl_REPLACE_OBSTACK_PRINTF): New macros
26355         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
26356         * tests/test-obstack-printf.c: New file.
26357         * modules/obstack-printf-tests: Likewise.
26358         * modules/obstack-printf-posix-tests: Likewise.
26359
26360 2008-06-11  Bruno Haible  <bruno@clisp.org>
26361
26362         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
26363         * lib/open.c: Include errno.h.
26364         (open): Fail when attempting to write to a file that has a trailing
26365         slash.
26366         * tests/test-open.c (main): Test against trailing slash bug.
26367         * doc/posix-functions/open.texi: Mention the trailing slash bug.
26368
26369 2008-06-10  Bruno Haible  <bruno@clisp.org>
26370
26371         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
26372         for $? to work inside the trap command, with various /bin/sh-s.
26373         * tests/test-vc-list-files-cvs.sh: Likewise.
26374
26375 2008-06-10  Bruno Haible  <bruno@clisp.org>
26376
26377         * lib/acl-internal.h: Don't include gettext.h here.
26378         * lib/set-mode-acl.c: Include gettext.h here.
26379         * lib/copy-acl.c: Likewise.
26380
26381 2008-06-10  Bruno Haible  <bruno@clisp.org>
26382
26383         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
26384         * lib/wait-process.c (wait_subprocess): Likewise.
26385         * lib/execute.h (execute): Add termsigp argument.
26386         * lib/execute.c (execute): Likewise.
26387         * lib/csharpcomp.c (compile_csharp_using_pnet,
26388         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
26389         * lib/csharpexec.c (execute_csharp_using_pnet,
26390         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
26391         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
26392         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
26393         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
26394         is_jikes_present): Update.
26395         * lib/javaexec.c (execute_java_class): Update.
26396         * lib/javaversion.c (execute_and_read_line): Update.
26397         * NEWS: Document the changes.
26398         Reported by Eric Blake.
26399
26400 2008-06-10  Eric Blake  <ebb9@byu.net>
26401
26402         Add missing include.
26403         * tests/test-strstr.c (includes): Add <signal.h>.
26404         * tests/test-strcasestr.c (includes): Likewise.
26405         * tests/test-memmem.c (includes): Likewise.
26406
26407 2008-06-10  Bruno Haible  <bruno@clisp.org>
26408
26409         * lib/wait-process.c (wait_subprocess): Add an assertion.
26410
26411 2008-06-10  Bruno Haible  <bruno@clisp.org>
26412
26413         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
26414
26415 2008-06-10  Bruno Haible  <bruno@clisp.org>
26416
26417         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
26418         using alarm().
26419         * tests/test-strcasestr.c (main): Likewise.
26420         * tests/test-strstr.c (main): Likewise.
26421
26422 2008-06-09  Bruno Haible  <bruno@clisp.org>
26423
26424         Work around the Solaris 10 ACE ACLs ABI change.
26425         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
26426         declare if ACL_NO_TRIVIAL is present.
26427         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
26428         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
26429         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
26430         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
26431         define if ACL_NO_TRIVIAL is present.
26432         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
26433         and use the current ABI.
26434         (file_has_acl): Use same #if condition as elsewhere.
26435         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
26436         in use, and use the current ABI.
26437         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
26438         Reported by Jim Meyering.
26439
26440 2008-06-09  Eric Blake  <ebb9@byu.net>
26441
26442         Work around environments that (stupidly) ignore SIGALRM.
26443         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
26444         before using alarm().
26445         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26446         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26447         Reported by Ian Beckwith <ianb@erislabs.net>.
26448
26449         Produce autobuild blurb earlier in log.
26450         * modules/autobuild (configure.ac-early): Move AB_INIT here.
26451
26452 2008-06-09  Jim Meyering  <meyering@redhat.com>
26453         and OndÅ™ej Vašík  <ovasik@redhat.com>
26454
26455         utimens.c: correct kernel bug work-around
26456         OndÅ™ej Vašík found that the invalid return value of 280 indicates
26457         failure, not success, and the kernel bug we're trying to work
26458         around affects not just the utimensat call, but also the fallback
26459         futimens call.
26460         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
26461         not success.
26462         [HAVE_FUTIMENS]: Use the same work-around, here.
26463
26464 2008-06-09  Jim Meyering  <meyering@redhat.com>
26465
26466         add more guards around definition of ACE_-related code
26467         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
26468         ALLOW and ACE_OWNER are also defined.
26469
26470 2008-06-08  Bruno Haible  <bruno@clisp.org>
26471
26472         * lib/acl-internal.h: Add me as co-author.
26473         * lib/file-has-acl.c: Likewise.
26474         * lib/set-mode-acl.c: Likewise.
26475         * lib/copy-acl.c: Likewise.
26476
26477 2008-06-08  Bruno Haible  <bruno@clisp.org>
26478
26479         Add support for AIX ACLs.
26480         * lib/acl-internal.h (acl_nontrivial): New declaration.
26481         * lib/file-has-acl.c (acl_nontrivial): New function.
26482         (file_has_acl): Add implementation using AIX 4 ACL API.
26483         * lib/set-mode-acl.c (qset_acl): Likewise.
26484         * lib/copy-acl.c (qcopy_acl): Likewise.
26485
26486 2008-06-08  Bruno Haible  <bruno@clisp.org>
26487
26488         Add support for HP-UX ACLs.
26489         * lib/acl-internal.h (acl_nontrivial): New declaration.
26490         * lib/file-has-acl.c (acl_nontrivial): New function.
26491         (file_has_acl): Add implementation using HP-UX 11 ACL API.
26492         * lib/set-mode-acl.c (qset_acl): Likewise.
26493         * lib/copy-acl.c (qcopy_acl): Likewise.
26494
26495 2008-06-08  Bruno Haible  <bruno@clisp.org>
26496
26497         Add support for Cygwin ACLs.
26498         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
26499         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
26500         the chmod_or_fchmod call.
26501         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
26502
26503 2008-06-08  Bruno Haible  <bruno@clisp.org>
26504
26505         Fix bug with setuid modes in Solaris 10+ code.
26506         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
26507         succeeded, when the mode contains some special bits.
26508
26509 2008-06-08  Bruno Haible  <bruno@clisp.org>
26510
26511         Add support for Solaris 7..10 ACLs.
26512         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
26513         declarations.
26514         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
26515         functions.
26516         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
26517         * lib/set-mode-acl.c (qset_acl): Likewise.
26518         * lib/copy-acl.c (qcopy_acl): Likewise.
26519
26520 2008-06-08  Bruno Haible  <bruno@clisp.org>
26521
26522         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
26523         declaration.
26524         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
26525         (acl_access_nontrivial): Remove MacOS X case.
26526         (file_has_acl): Use acl_extended_nontrivial.
26527         * lib/copy-acl.c (qcopy_acl): Likewise.
26528
26529 2008-06-08  Bruno Haible  <bruno@clisp.org>
26530
26531         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
26532
26533 2008-06-08  Jim Meyering  <meyering@redhat.com>
26534
26535         * modules/acl (Maintainer): Add Bruno Haible.
26536
26537 2008-06-07  Bruno Haible  <bruno@clisp.org>
26538
26539         Improve support for Tru64 ACLs.
26540         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
26541         ACL on OSF/1.
26542
26543 2008-06-07  Bruno Haible  <bruno@clisp.org>
26544
26545         Add support for MacOS X ACLs.
26546         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
26547         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
26548         * lib/set-mode-acl.c (qset_acl): Likewise.
26549         * lib/copy-acl.c (qcopy_acl): Likewise.
26550
26551 2008-06-07  Bruno Haible  <bruno@clisp.org>
26552
26553         Fix memory leak introduced on 2008-05-22.
26554         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
26555         use.
26556
26557 2008-06-07  Bruno Haible  <bruno@clisp.org>
26558
26559         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
26560         to construct an empty ACL.
26561
26562 2008-06-07  Bruno Haible  <bruno@clisp.org>
26563
26564         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
26565         precisely.
26566         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
26567
26568 2008-06-07  Bruno Haible  <bruno@clisp.org>
26569
26570         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
26571         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
26572
26573 2008-06-07  Bruno Haible  <bruno@clisp.org>
26574
26575         * doc/posix-functions/_setjmp.texi: Explain the use of this function
26576         regardless of POSIX.
26577         * doc/posix-functions/_longjmp.texi: Likewise.
26578         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
26579         SystemV platform in this case.
26580
26581 2008-06-06  Eric Blake  <ebb9@byu.net>
26582
26583         Document abort() bugs.
26584         * doc/posix-functions/abort.texi (abort): Mention anomalies.
26585
26586         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
26587         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
26588         sigsetjmp.
26589         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
26590         siglongjmp, but only as a macro.
26591         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
26592         is obsolete.
26593         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
26594
26595         Tweak documentation to cover cygwin argz bugs.
26596         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
26597         argz bug fix; no code change needed since no cygwin releases
26598         occurred between the last fix and the bug being tested.
26599         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
26600         module and recently fixed cygwin bugs.
26601         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
26602         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
26603         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
26604         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
26605         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
26606         Likewise.
26607         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
26608         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
26609         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
26610         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
26611         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
26612         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
26613         Likewise.
26614
26615         Avoid gcc warning on cygwin.
26616         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
26617         !ACL_NO_TRIVIAL]: Avoid unused variable.
26618
26619 2008-06-05  Eric Blake  <ebb9@byu.net>
26620
26621         Be tolerant of UNKNOWN version in gnulib-tool test dir.
26622         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
26623         git-version-gen fails to come up with a version.
26624         Reported by Simon Josefsson.
26625
26626 2008-06-05  Jim Meyering  <meyering@redhat.com>
26627             Paul Eggert  <eggert@cs.ucla.edu>
26628
26629         utimens.c: work around a probable Linux kernel bug
26630         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
26631         appears to be a kernel bug that causes utimensat to return 280
26632         instead of 0, indicating success.
26633
26634 2008-06-04  Bruno Haible  <bruno@clisp.org>
26635
26636         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
26637         2008-06-01 commit.
26638
26639 2008-06-04  Bruno Haible  <bruno@clisp.org>
26640
26641         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
26642         * lib/file-has-acl.c (acl_access_nontrivial): New function.
26643         (file_has_acl): Use it. Save errno afterwards.
26644         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
26645
26646 2008-06-03  Bruno Haible  <bruno@clisp.org>
26647
26648         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
26649         draft code. Simplify #ifs.
26650         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
26651         Put Solaris code after POSIX-draft code. Fix comments regarding
26652         Solaris 10, HP-UX. Mention Cygwin.
26653         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
26654
26655 2008-06-03  Eric Blake  <ebb9@byu.net>
26656
26657         Provide fallback for older kernels.
26658         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
26659         Provide runtime fallback if kernel lacks support.
26660         Reported by Mike Frysinger.
26661
26662 2008-06-02  Bruno Haible  <bruno@clisp.org>
26663
26664         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
26665         it exists.
26666
26667 2008-06-02  Bruno Haible  <bruno@clisp.org>
26668
26669         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
26670         * lib/copy-acl.c (qcopy_acl): Update comment.
26671
26672 2008-06-02  Bruno Haible  <bruno@clisp.org>
26673
26674         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
26675         like ACL APIs.
26676
26677 2008-06-02  Bruno Haible  <bruno@clisp.org>
26678
26679         * tests/test-file-has-acl.sh: Use different code for Cygwin.
26680         * tests/test-set-mode-acl.sh: Likewise.
26681         * tests/test-copy-acl.sh: Likewise.
26682         * tests/test-copy-file.sh: Likewise.
26683
26684 2008-06-02  Bruno Haible  <bruno@clisp.org>
26685
26686         * tests/test-file-has-acl.sh: Remove unused code.
26687
26688 2008-06-01  Bruno Haible  <bruno@clisp.org>
26689
26690         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
26691         (copy_acl): Just a wrapper around qcopy_acl that emits the error
26692         messages.
26693         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
26694
26695 2008-06-01  Bruno Haible  <bruno@clisp.org>
26696
26697         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
26698         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
26699         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
26700         APIs.
26701         * modules/acl-tests (configure.ac): Remove tests now contained in
26702         m4/acl.m4.
26703
26704 2008-06-02  Jim Meyering  <meyering@redhat.com>
26705
26706         announce-gen: use a better key-server host name
26707         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
26708         it may be more consistently reliable.  Suggested by Werner Koch
26709         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
26710
26711 2008-06-01  Bruno Haible  <bruno@clisp.org>
26712
26713         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
26714         Reported by Voroskoi Andras <voroskoi@gmail.com>.
26715
26716 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
26717
26718         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
26719
26720 2008-06-01  Bruno Haible  <bruno@clisp.org>
26721
26722         New ACL tests.
26723         * tests/test-file-has-acl.sh: New file.
26724         * tests/test-file-has-acl.c: New file.
26725         * tests/test-set-mode-acl.sh: New file.
26726         * tests/test-set-mode-acl.c: New file.
26727         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
26728         * tests/test-copy-acl.c: New file.
26729         * modules/acl-tests: New file, based on modules/copy-file-tests.
26730         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
26731         (Depends-on): Add acl-tests.
26732         (configure.ac): Remove checks.
26733         (Makefile.am): Don't create test-sameacls program here any more.
26734
26735 2008-06-01  Bruno Haible  <bruno@clisp.org>
26736
26737         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
26738         * tests/test-sameacls.c: Include progname.h.
26739         (main): Invoke set_program_name. Portability fixes for MacOS X,
26740         Solaris, HP-UX.
26741
26742 2008-06-01  Bruno Haible  <bruno@clisp.org>
26743
26744         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
26745         function.
26746         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
26747
26748 2008-06-01  Bruno Haible  <bruno@clisp.org>
26749
26750         * modules/rpmatch (Depends-on): Add strdup.
26751
26752 2008-06-01  Bruno Haible  <bruno@clisp.org>
26753
26754         * lib/pipe.c: Include unistd-safer.h.
26755         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
26756         * modules/pipe (Depends-on): Add unistd-safer.
26757
26758 2008-05-30  Simon Josefsson  <simon@josefsson.org>
26759
26760         * modules/autobuild (configure.ac): Call AB_INIT.
26761
26762 2008-05-30  Simon Josefsson  <simon@josefsson.org>
26763
26764         * tests/test-getaddrinfo.c: Don't print debug messages by default.
26765         Suggested by Bruno Haible <bruno@clisp.org>.
26766
26767 2008-05-30  Simon Josefsson  <simon@josefsson.org>
26768
26769         * tests/test-base64.c: Cast size_t to unsigned long when invoking
26770         printf.  Use %lu instead of %d.  Reported by Bruno Haible
26771         <bruno@clisp.org>.
26772
26773 2008-05-29  Eric Blake  <ebb9@byu.net>
26774
26775         Prefer new POSIX 200x interfaces over futimesat.
26776         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
26777         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
26778         when available.
26779         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
26780
26781 2008-05-28  Bruno Haible  <bruno@clisp.org>
26782
26783         * modules/stpcpy (License): Change to LGPLv2+.
26784         Requested by David Lutterkort <dlutter@redhat.com>.
26785
26786 2008-05-27  Bruno Haible  <bruno@clisp.org>
26787
26788         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
26789         current mingw.
26790         Reported by Jose E. Marchesi <jemarch@gnu.org>.
26791
26792 2008-05-27  Bruno Haible  <bruno@clisp.org>
26793
26794         * modules/iconv_open (Link): New section, from module 'iconv'.
26795         * modules/striconv (Link): Likewise.
26796         * modules/striconveh (Link): Likewise.
26797         * modules/xstriconv (Link): Likewise.
26798         * modules/unicodeio (Link): Likewise.
26799         * modules/propername (Link): Likewise.
26800         Reported by Jim Meyering.
26801
26802 2008-05-26  Jim Meyering  <meyering@redhat.com>
26803
26804         sha256: do not artificially restrict buffer length to be < 2^32
26805         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
26806         uint32_t to size_t.
26807         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
26808         to match.
26809
26810         avoid unaligned access errors, e.g., on sparc
26811         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
26812         direct access through a possibly-unaligned uint64* pointer.
26813         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
26814         direct access through a possibly-unaligned uint32* pointer.
26815         Prompted by this patch from Tom "spot" Callaway:
26816         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
26817
26818         sha512.c: fix typo in comment
26819         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
26820
26821 2008-05-25  Bruno Haible  <bruno@clisp.org>
26822
26823         * lib/set-mode-acl.c: Renamed from lib/acl.c.
26824         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
26825         (Makefile.am): Update lib_SOURCES.
26826
26827 2008-05-25  Bruno Haible  <bruno@clisp.org>
26828
26829         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
26830
26831 2008-05-25  Jim Meyering  <meyering@redhat.com>
26832
26833         useless-if-before-free: freed expr may have white-space differences
26834         * build-aux/useless-if-before-free: Recognize cases in which the
26835         freed expression differs from the tested one in embedded white
26836         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
26837         $1 was used, so we can't make any regexp shy.  Improved tests now
26838         detect this.
26839
26840         useless-if-before-free: accept white space in the expression.
26841         * build-aux/useless-if-before-free: For now, any white space
26842         in the expression must be identical in the free argument.
26843
26844         useless-if-before-free: efficiency tweak
26845         * build-aux/useless-if-before-free: Make the expression-matching
26846         regexp "shy".
26847         Make the *outer* regexp shy, not the expr-matching one.
26848
26849         update code-in-comment to accept cast of free arg
26850         * build-aux/useless-if-before-free: Update regexp.
26851
26852 2008-05-25  Bruno Haible  <bruno@clisp.org>
26853
26854         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
26855         * modules/copy-file-tests (Files, Makefile.am): Update.
26856         * tests/test-copy-file.c (func_test_copy): Update.
26857
26858 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
26859
26860         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
26861
26862 2008-05-23  Bruno Haible  <bruno@clisp.org>
26863
26864         Improve support for ACLs on OSF/1.
26865         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
26866         Remove fallback for unknown flavors of ACLs.
26867
26868 2008-05-22  Bruno Haible  <bruno@clisp.org>
26869
26870         Add support for ACLs on OSF/1.
26871         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
26872         replacements.
26873         (acl_free_text): New macro fallback.
26874         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
26875         acl_free.
26876         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
26877         acl_free_text function. Require AC_C_INLINE.
26878
26879 2008-05-22  Bruno Haible  <bruno@clisp.org>
26880
26881         Make copy_acl work on MacOS X 10.5.
26882         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
26883         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
26884         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
26885         If MODE_INSIDE_ACL, don't assume that every system has the same text
26886         representation for ACLs as FreeBSD.
26887         * lib/copy-acl.c (copy_acl): Add support for platforms with
26888         !MODE_INSIDE_ACL.
26889         * lib/file-has-acl.c (file_has_acl): Likewise.
26890         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
26891         FreeBSD, MacOS X, or IRIX, respectively.
26892
26893 2008-05-22  Bruno Haible  <bruno@clisp.org>
26894
26895         * lib/acl.h: Don't include <sys/acl.h>.
26896         (GETACLCNT): Move fallback to lib/acl-internal.h.
26897         * lib/acl-internal.h: Include <sys/acl.h> here.
26898         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
26899
26900 2008-05-22  Bruno Haible  <bruno@clisp.org>
26901
26902         Split off copy_acl function to separate file.
26903         * lib/copy-acl.c: New file, extracted from lib/acl.c.
26904         * lib/acl.c (copy_acl): Moved function to separate file.
26905         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
26906         * modules/acl (Files): Add lib/copy-acl.c.
26907         (Makefiles.am): Augment lib_SOURCES.
26908
26909 2008-05-22  Bruno Haible  <bruno@clisp.org>
26910
26911         * modules/copy-file-tests: New file.
26912         * tests/test-copy-file.sh: New file.
26913         * tests/test-copy-file.c: New file.
26914         * tests/test-copy-file-sameacls.c: New file.
26915
26916 2008-05-22  Eric Blake  <ebb9@byu.net>
26917
26918         Avoid gcc warning.
26919         * tests/test-memcmp.c (main): Pass NULL indirectly.
26920
26921 2008-05-21  Bruno Haible  <bruno@clisp.org>
26922
26923         Add reference doc about ACLs.
26924         * doc/acl-resources.txt: New file.
26925         * doc/acl-cygwin.txt: New file.
26926
26927 2008-05-21  Bruno Haible  <bruno@clisp.org>
26928
26929         Avoid one more warning from gcc.
26930         * lib/vasnprintf.c (IF_LINT): Update comments.
26931         (VASNPRINTF): Use it also for the 'prefix' array initializer.
26932
26933 2008-05-21  Jim Meyering  <meyering@redhat.com>
26934
26935         avoid a warning from gcc
26936         * lib/vasnprintf.c (IF_LINT): Define.
26937         (scale10_round_decimal_long_double):
26938         Use it to avoid a "may be used uninitialized" warning.
26939         (scale10_round_decimal_double): Likewise.
26940
26941 2008-05-21  Simon Josefsson  <simon@josefsson.org>
26942
26943         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
26944         declared.
26945
26946 2008-05-20  Bruno Haible  <bruno@clisp.org>
26947
26948         * tests/test-memcmp.c (main): Test also the sign of the result. Test
26949         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
26950
26951 2008-05-20  Simon Josefsson  <simon@josefsson.org>
26952
26953         * modules/memcmp-tests: New file.
26954         * tests/test-memcmp.c: New file.
26955
26956 2008-05-19  Bruno Haible  <bruno@clisp.org>
26957
26958         * modules/propername (Notice, configure.ac): Put quoted "..." into
26959         --keyword option.
26960         * lib/propername.h: Update comments accordingly.
26961         Reported by Eric Blake.
26962
26963 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
26964
26965         * modules/getpass-gnu (Depends-on): Add fseeko.
26966
26967 2008-05-19  Simon Josefsson  <simon@josefsson.org>
26968
26969         * modules/base64-tests: New file.
26970
26971 2008-05-19  Bo Borgerson <gigabo@gmail.com>
26972
26973         * lib/base64.c (base64_decode_ctx): If a decode context structure
26974         was passed in use it to ignore newlines.  If a context structure
26975         was _not_ passed in, continue to treat newlines as garbage (this
26976         is the historical behavior).  Formerly base64_decode.
26977         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
26978         takes a decode context structure.
26979         * lib/base64.h (base64_decode): Macro for four-argument calls.
26980         (base64_decode_alloc): Likewise.
26981         * lib/base64.c (base64_decode_ctx): If a decode context structure
26982         was passed in use it to ignore newlines.  If a context structure
26983         was _not_ passed in, continue to treat newlines as garbage (this
26984         is the historical behavior).  Formerly base64_decode.
26985         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
26986         takes a decode context structure.
26987         * lib/base64.h (base64_decode): Macro for four-argument calls.
26988         (base64_decode_alloc): Likewise.
26989
26990 2008-05-19  Jim Meyering  <meyering@redhat.com>
26991
26992         avoid a warning from gcc
26993         * lib/trim.c (IF_LINT): Define.
26994         (trim2): Use it to avoid a "may be used uninitialized" warning.
26995
26996         Fix doc typo.
26997         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
26998
26999 2008-05-19  Bruno Haible  <bruno@clisp.org>
27000
27001         * doc/glibc-functions/getpass.texi: Document limits of other
27002         implementations.
27003
27004 2008-05-19  Simon Josefsson  <simon@josefsson.org>
27005             Bruno Haible <bruno@clisp.org>
27006
27007         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
27008
27009 2008-05-18  Bruno Haible  <bruno@clisp.org>
27010
27011         * modules/propername: New file, from GNU gettext.
27012         * lib/propername.h: New file, from GNU gettext.
27013         * lib/propername.c: New file, from GNU gettext.
27014         * MODULES.html.sh (Internationalization functions): Add propername.
27015
27016 2008-05-16  Jim Meyering  <meyering@redhat.com>
27017             Bruno Haible  <bruno@clisp.org>
27018
27019         Avoid some warnings from "gcc -Wshadow".
27020         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
27021
27022 2008-05-15  Eric Blake  <ebb9@byu.net>
27023
27024         Extend previous patch to cygwin 1.7.0.
27025         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
27026         fast implementation in cygwin >= 1.7.0.
27027         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27028         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27029
27030 2008-05-15  Bruno Haible  <bruno@clisp.org>
27031
27032         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
27033         implementation in glibc >= 2.9.
27034         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27035         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27036
27037 2008-05-15  Bruno Haible  <bruno@clisp.org>
27038
27039         * MODULES.html.sh (Internationalization functions): Remove linebreak.
27040         (Unicode string functions): Add unilbrk/*.
27041         Reported by Karl Berry.
27042
27043 2008-05-15  Eric Blake  <ebb9@byu.net>
27044
27045         Fix violation of <stdbool.h> replacement in regex.
27046         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
27047         * lib/regexec.c (re_search_internal): Likewise.
27048         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
27049
27050 2008-05-15  Jim Meyering  <meyering@redhat.com>
27051
27052         avoid distracting test output when git or cvs is not found
27053         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
27054         * tests/test-vc-list-files-git.sh: Likewise.
27055
27056 2008-05-15  Eric Blake  <ebb9@byu.net>
27057
27058         Glibc finally accepted the memmem speedup code, bugzilla #5514.
27059         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
27060         glibc version.
27061         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27062         * doc/posix-functions/strstr.texi (strstr): Likewise.
27063         * lib/str-two-way.h (MAX): Sychronize with glibc.
27064
27065 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
27066
27067         * lib/regcomp.c (optimize_utf8): Add a note on why we test
27068         opr.ctx_type.
27069         (calc_first): Initialize constraint field.
27070         (duplicate_node_closure): Use it instead of special casing ANCHORS.
27071         Fix grammar.
27072         (duplicate_node): Merge constraint field for all node types.
27073         (calc_eclosure_iter): Look at constraint field for all node types.
27074         * lib/regex_internal.c (create_cd_newstate): Don't look at
27075         opr.ctx_type.
27076
27077 2008-05-14  Bruno Haible  <bruno@clisp.org>
27078
27079         Help GCC to do better code generation.
27080         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
27081         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
27082         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
27083         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
27084         Declare with attribute 'malloc' if supported.
27085
27086 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
27087
27088         use "echo STR|wc -c" rather than unportable "expr length STR"
27089         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
27090         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
27091
27092 2008-05-14  Jim Meyering  <meyering@redhat.com>
27093
27094         use dd ibs=$n count=1 ... rather than less-portable head -c$n
27095         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
27096         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
27097         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
27098         via Collin Lasse.
27099
27100 2008-05-14  Eric Blake  <ebb9@byu.net>
27101
27102         Avoid quadratic growth in gl_LIBSOURCES.
27103         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
27104         Suggested by Bruno Haible.
27105
27106         Test xmemdup0.
27107         * modules/xmemdup0-tests: New file.
27108         * tests/test-xmemdup0.c: Likewise.
27109
27110 2008-05-13  Eric Blake  <ebb9@byu.net>
27111
27112         Split xmemdup0 into its own module.
27113         * modules/xmemdup0: New file.
27114         * lib/xmemdup0.h: Likewise.
27115         * lib/xmemdup0.c: Likewise.
27116         * MODULES.html.sh (Memory management functions): Add xmemdup0.
27117         * lib/xalloc.h (xmemdup0): Remove.
27118         * lib/xmalloc.c (xmemdup0): Likewise.
27119
27120 2008-05-13  Eric Blake  <ebb9@byu.net>
27121             Bruno Haible  <bruno@clisp.org>
27122
27123         Reduce number of forks required during autoconf.
27124         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
27125         and gl_LIBSOURCES_DIR.
27126         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
27127         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
27128         m4_syscmd per file.
27129         <m4_foreach_w>: Move...
27130         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
27131
27132 2008-05-13  Eric Blake  <ebb9@byu.net>
27133
27134         * gnulib-tool: Fix various comment typos.
27135
27136 2008-05-12  Bruno Haible  <bruno@clisp.org>
27137
27138         Tailor the linebreaking algorithm.
27139         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
27140
27141 2008-05-12  Bruno Haible  <bruno@clisp.org>
27142
27143         Update to Unicode 5.0.0.
27144         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
27145         LBP_JV, LBP_JT. Redistribute values.
27146         (unilbrk_table): Change size.
27147         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
27148         Unicode TR#14 rev. 22.
27149         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
27150         LBP_JV, LBP_JT. Redistribute values.
27151         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
27152         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
27153         Update.
27154         * lib/unilbrk/lbrkprop1.h: Regenerated.
27155         * lib/unilbrk/lbrkprop2.h: Regenerated.
27156         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
27157         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
27158         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
27159         Likewise.
27160         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
27161         Likewise.
27162         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
27163         result.
27164         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
27165         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
27166         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
27167         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
27168         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
27169         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
27170
27171 2008-05-11  Bruno Haible  <bruno@clisp.org>
27172
27173         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
27174
27175 2008-05-11  Bruno Haible  <bruno@clisp.org>
27176
27177         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
27178         * modules/unilbrk/gen-lbrk: New file.
27179
27180 2008-05-11  Bruno Haible  <bruno@clisp.org>
27181
27182         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
27183         * m4/sha512.m4 (gl_SHA512): Likewise.
27184
27185 2008-05-11  Jim Meyering  <meyering@redhat.com>
27186
27187         New modules: crypto/sha256, crypto/sha512 (from coreutils)
27188         * modules/crypto/sha256: New file.
27189         * modules/crypto/sha512: Likewise.
27190         * lib/sha256.c: Likewise.
27191         * lib/sha256.h: Likewise.
27192         * lib/sha512.c: Likewise.
27193         * lib/sha512.h: Likewise.
27194         * lib/u64.h: Likewise.
27195         * m4/sha256.m4: Likewise.
27196         * m4/sha512.m4: Likewise.
27197         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
27198
27199 2008-05-10  Bruno Haible  <bruno@clisp.org>
27200
27201         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
27202         (Input/Output <stdio.h>): Add xprintf.
27203         (Signal handling <signal.h>): Add strsignal.
27204         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
27205         (Core language properties): Add func.
27206         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
27207         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
27208         strings.
27209         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
27210         (Input/output): New section.
27211         (File system functions): Add openat-die, stat-macros.
27212         (Networking functions): Add sockets.
27213         (Unicode string functions): Add unictype/*.
27214         (Support for building libraries and executables): Add gperf.
27215         (Support for building documentation): Add agpl-3.0.
27216         (Misc): Add nocrash.
27217
27218 2008-05-10  Bruno Haible  <bruno@clisp.org>
27219
27220         * modules/unictype/gen-ctype: New file.
27221
27222 2008-05-10  Jim Meyering  <meyering@redhat.com>
27223
27224         Make chdir-safer.c more efficient on a system with no symlinks.
27225         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
27226         also if ELOOP is zero.  Suggested by Bruno Haible.
27227
27228         Make chdir-safer.c slightly safer.
27229         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
27230         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
27231
27232         Avoid compile failure on systems without ELOOP (like mingw).
27233         * lib/chdir-safer.c (ELOOP): Define if not already defined.
27234         Reported by Bruno Haible.
27235
27236 2008-05-10  Bruno Haible  <bruno@clisp.org>
27237
27238         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
27239         (is_utf8_encoding): Use a case-insensitive comparison.
27240         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
27241         streq.
27242
27243 2008-05-10  Bruno Haible  <bruno@clisp.org>
27244
27245         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
27246         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
27247         * lib/unilbrk/ulc-common.h (iconv_string_length,
27248         iconv_string_keeping_offsets): Remove declarations.
27249         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
27250         Don't include <iconv.h>, streq.h, xsize.h.
27251         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
27252         conversion.
27253         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
27254         <iconv.h>, streq.h, xsize.h.
27255         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
27256         conversion.
27257         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
27258         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
27259         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
27260         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
27261
27262 2008-05-10  Bruno Haible  <bruno@clisp.org>
27263
27264         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
27265         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
27266
27267         * modules/unilbrk/u32-width-linebreaks-tests: New file.
27268         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
27269
27270         * modules/unilbrk/u16-width-linebreaks-tests: New file.
27271         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
27272
27273         * modules/unilbrk/u8-width-linebreaks-tests: New file.
27274         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
27275
27276         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
27277         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
27278
27279         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
27280         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
27281
27282         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
27283         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
27284
27285         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
27286         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
27287
27288 2008-05-10  Bruno Haible  <bruno@clisp.org>
27289
27290         Split up 'linebreak' module.
27291         * lib/unilbrk.h: New file, based on lib/linebreak.h.
27292         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
27293         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
27294         modifications.
27295         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
27296         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
27297         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
27298         lib/linebreak.c.
27299         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
27300         lib/linebreak.c.
27301         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
27302         lib/linebreak.c.
27303         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
27304         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
27305         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
27306         lib/linebreak.c.
27307         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
27308         lib/linebreak.c.
27309         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
27310         lib/linebreak.c.
27311         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
27312         lib/linebreak.c.
27313         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
27314         lib/linebreak.c.
27315         * modules/unilbrk/base: New file.
27316         * modules/unilbrk/tables: New file.
27317         * modules/unilbrk/u8-possible-linebreaks: New file.
27318         * modules/unilbrk/u16-possible-linebreaks: New file.
27319         * modules/unilbrk/u32-possible-linebreaks: New file.
27320         * modules/unilbrk/ulc-common: New file.
27321         * modules/unilbrk/ulc-possible-linebreaks: New file.
27322         * modules/unilbrk/u8-width-linebreaks: New file.
27323         * modules/unilbrk/u16-width-linebreaks: New file.
27324         * modules/unilbrk/u32-width-linebreaks: New file.
27325         * modules/unilbrk/ulc-width-linebreaks: New file.
27326         * lib/linebreak.h: Remove file.
27327         * lib/linebreak.c: Remove file.
27328         * m4/linebreak.m4: Remove file.
27329         * modules/linebreak: Remove file.
27330         * NEWS: Mention the changes.
27331
27332 2008-05-09  Eric Blake  <ebb9@byu.net>
27333
27334         Add xmemdup0.
27335         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
27336         implementation.
27337         * lib/xmalloc.c (xmemdup0): New C implementation.
27338
27339 2008-05-08  Bruno Haible  <bruno@clisp.org>
27340
27341         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
27342
27343 2008-05-07  Eric Blake  <ebb9@byu.net>
27344
27345         Support cross-compilation of <wctype.h>.
27346         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
27347         AC_CACHE_CHECK.
27348
27349 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
27350
27351         * build-aux/vc-list-files: Add support for bzr.
27352
27353 2008-05-03  Jim Meyering  <meyering@redhat.com>
27354
27355         avoid failed assertion with tight malloc
27356         * tests/test-getndelim2.c: Correct an off-by-one assertion.
27357
27358 2008-05-03  Simon Josefsson  <simon@josefsson.org>
27359
27360         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
27361         are needed from arpa/inet.h.
27362         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
27363         Reported by Bruno Haible.
27364
27365 2008-05-02  Jim Meyering  <meyering@redhat.com>
27366
27367         avoid compilation error on FreeBSD 6
27368         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
27369
27370 2008-05-01  Jim Meyering  <meyering@redhat.com>
27371
27372         useless-if-before-free: correct --help's exit status description
27373         * build-aux/useless-if-before-free (usage): Like grep, exit 0
27374         for one or more matches, etc.  Reported by Bruno Haible.
27375
27376         vc-list-files: make the stand-alone gnulib test work
27377         * modules/vc-list-files-tests (configure.ac):
27378         Define and AC_SUBST abs_aux_dir.
27379         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
27380         $(abs_top_srcdir) to each script and having each of them
27381         duplicate the work of setting PATH, set PATH here, using
27382         the new variable, abs_aux_dir instead.
27383         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
27384         * tests/test-vc-list-files-git.sh: Likewise.
27385         Reported by Bruno Haible.
27386
27387 2008-05-01  Bruno Haible  <bruno@clisp.org>
27388
27389         * lib/getndelim2.c (getndelim2): Fix newsize computation during
27390         reallocation. Rename 'done' to 'found_delimiter'.
27391
27392 2008-05-01  Jim Meyering  <meyering@redhat.com>
27393
27394         vc-list-files: accommodate /bin/sh like the one from Solaris 10
27395         * build-aux/vc-list-files: Use `...`, not $(...).
27396
27397 2008-04-30  Jim Meyering  <meyering@redhat.com>
27398
27399         add tests for vc-list-files
27400         * modules/vc-list-files-tests: New module.
27401         * tests/test-vc-list-files-cvs.sh: New file.
27402         * tests/test-vc-list-files-git.sh: New file.
27403
27404         avoid a warning from gcc
27405         * lib/getndelim2.c (IF_LINT): Define.
27406         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
27407
27408         vc-list-files: work properly with build-aux/cvsu, too
27409         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
27410         to all cvs-based clauses.
27411
27412         vc-list-files: work properly in the CVS+awk case, too
27413         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
27414
27415         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
27416         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
27417         take more than one file argument, so .  Add quotes, just in case $dir
27418         ever contains a shell meta-character.  Prompted by Soren Hansen in
27419         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
27420
27421 2008-04-29  Eric Blake  <ebb9@byu.net>
27422
27423         Optimize getndelim2 to use block operations when possible.
27424         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
27425         freadseek, and memchr2.
27426         * lib/getndelim2.c (getndelim2): Use them for block reads.
27427
27428 2008-04-29  Bruno Haible  <bruno@clisp.org>
27429
27430         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
27431         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27432         * modules/inet_ntop (Depends-on): Add extensions.
27433         * modules/inet_pton (Depends-on): Likewise.
27434         Reported by Simon Josefsson.
27435
27436 2008-04-29  Jim Meyering  <meyering@redhat.com>
27437
27438         When the is more than one match in a block, match all of them.
27439         * build-aux/useless-if-before-free: Iterate through each block
27440         until there are no more matches.
27441
27442         Fix broken useless-if-before-free script.
27443         * build-aux/useless-if-before-free: Fix typo: missing "?" after
27444         the expression to match cast of argument to free-like function.
27445
27446 2008-04-29  Eric Blake  <ebb9@byu.net>
27447
27448         Use new header.
27449         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
27450
27451 2008-04-29  Jim Meyering  <meyering@redhat.com>
27452
27453         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
27454         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
27455         by gnulib to exist and to declare e.g., inet_ntop.
27456         Don't include "inet_ntop.h", now removed.
27457
27458         * m4/arpa_inet_h.m4: Remove trailing blanks.
27459
27460 2008-04-29  Eric Blake  <ebb9@byu.net>
27461
27462         Silence valgrind on safe reads beyond potential array bounds.
27463         * lib/rawmemchr.valgrind: New file.
27464         * lib/strchrnul.valgrind: Likewise.
27465         * modules/rawmemchr (Files): Distribute new file.
27466         * modules/strchrnul (Files): Likewise.
27467         Suggested by Bruno Haible.
27468
27469 2008-04-29  Bruno Haible  <bruno@clisp.org>
27470
27471         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
27472         (inet_ntop, inet_pton): Change portability warning's wording.
27473         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
27474         Invoke gl_CHECK_NEXT_HEADERS.
27475         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
27476         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
27477         set ARPA_INET_H.
27478         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27479         * modules/arpa_inet (Description): No longer only for systems that
27480         lack it.
27481         (Depends-on): Add include_next.
27482         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
27483         HAVE_ARPA_INET_H.
27484
27485 2008-04-29  Jim Meyering  <meyering@redhat.com>
27486
27487         * modules/mkdir (License): Re-license as LGPLv2+.
27488
27489 2008-04-29  Bruno Haible  <bruno@clisp.org>
27490
27491         * modules/rawmemchr (Maintainer): Set to Eric.
27492         * modules/strchrnul (Maintainer): Likewise.
27493
27494 2008-04-29  Simon Josefsson  <simon@josefsson.org>
27495
27496         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
27497         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
27498
27499         * modules/arpa_inet (arpa/inet.h): Use them.
27500
27501 2008-04-28  Eric Blake  <ebb9@byu.net>
27502
27503         Test getndelim2.
27504         * modules/getndelim2-tests: New file.
27505         * tests/test-getndelim2.c: Likewise.
27506         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
27507         stream.
27508         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
27509
27510         * MODULES.html.sh: Document new module.
27511
27512 2008-04-20  Bruno Haible  <bruno@clisp.org>
27513
27514         * lib/c-stack.c (die): Use raise.
27515         * modules/c-stack (Depends-on): Add raise.
27516
27517 2008-04-28  Bruno Haible  <bruno@clisp.org>
27518
27519         Expect rpmatch to be declared.
27520         * lib/yesno.c (rpmatch): Remove declaration.
27521
27522         Declare rpmatch.
27523         * lib/stdlib.in.h (rpmatch): New declaration.
27524         * lib/rpmatch.c: Include <stdlib.h> first.
27525         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
27526         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
27527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
27528         HAVE_RPMATCH.
27529         * modules/rpmatch (Depends-on): Add stdlib, extensions.
27530         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
27531         (Include): Set to <stdlib.h>.
27532         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
27533         HAVE_RPMATCH.
27534         * NEWS: Document the change.
27535
27536 2008-04-28  Bruno Haible  <bruno@clisp.org>
27537
27538         Change rpmatch to use nl_langinfo when appropriate.
27539         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
27540         (N_): New macro.
27541         (localized_pattern): New function/macro.
27542         (try): Remove match, nomatch arguments. Copy the pattern into safe
27543         memory before caching it.
27544         (rpmatch): Use localized_pattern. Add translator comments.
27545         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
27546         Suggested by Eric Blake.
27547         * modules/rpmatch (Depends-on): Add stdbool.
27548
27549 2008-04-28  Eric Blake  <ebb9@byu.net>
27550
27551         Add rawmemchr module, matching glibc.
27552         * modules/string (Makefile.am): New indicator.
27553         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
27554         * lib/string.in.h (rawmemchr): Declare when appropriate.
27555         * modules/rawmemchr: New file.
27556         * m4/rawmemchr.m4: Likewise.
27557         * lib/rawmemchr.c: Likewise.
27558         * modules/rawmemchr-tests: Likewise.
27559         * tests/test-rawmemchr.c: Likewise.
27560         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
27561         module.
27562         * modules/strchrnul (Depends-on): Add rawmemchr.
27563         * lib/strchrnul.c (strchrnul): Optimize a corner case.
27564
27565         Whitespace cleanup.
27566         * tests/test-strchrnul.c: Reindent.
27567         * lib/strchrnul.c: Likewise.
27568
27569         Optimize and test strchrnul.
27570         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
27571         * modules/strchrnul-tests: New file.
27572         * tests/test-strchrnul.c: Likewise.
27573
27574         Remove intprops dependency.
27575         * modules/memchr (Depends-on): Remove intprops.
27576         * modules/memrchr (Depends-on): Likewise.
27577         * modules/memchr2 (Depends-on): Likewise.
27578         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
27579         * lib/memrchr.c (__memrchr): Likewise.
27580         * lib/memrchr2.c (memchr2): Likewise.
27581         Reported by Simon Josefsson.
27582
27583 2008-04-28  Simon Josefsson  <simon@josefsson.org>
27584
27585         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
27586         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27587
27588 2008-04-28  Simon Josefsson  <simon@josefsson.org>
27589
27590         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
27591
27592         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
27593
27594         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
27595
27596         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
27597         declarations.
27598         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
27599
27600         * m4/inet_pton.m4: Don't check for header files.
27601
27602         * m4/inet_ntop.m4: Don't check for header files.
27603
27604 2008-04-28  Simon Josefsson  <simon@josefsson.org>
27605
27606         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
27607         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
27608         trigger for cygwin).
27609         Reported by Bruno Haible  <bruno@clisp.org>.
27610
27611 2008-04-28  Bruno Haible  <bruno@clisp.org>
27612
27613         * doc/posix-functions/strdup.texi: Mention mingw problem.
27614
27615 2008-04-27  Bruno Haible  <bruno@clisp.org>
27616
27617         * modules/stat-time-tests (Depends-on): Add sleep.
27618         * tests/test-stat-time.c (force_unlink): New function.
27619         (cleanup): Use it.
27620         (test_mtime): Remove the ctime related tests.
27621         (test_ctime): New function, containing the ctime related tests.
27622         (main): Call test_ctime, except on native Windows platforms.
27623
27624 2008-04-27  Bruno Haible  <bruno@clisp.org>
27625
27626         * lib/rpmatch.c (rpmatch): Add some comments.
27627         Reported by James Youngman <jay@gnu.org>.
27628
27629 2008-04-27  Bruno Haible  <bruno@clisp.org>
27630
27631         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
27632         quiet NaNs.
27633
27634 2008-04-27  Bruno Haible  <bruno@clisp.org>
27635
27636         Make test-yesno.sh work on mingw.
27637         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
27638         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
27639         (main): Set stdin to binary mode.
27640         * modules/yesno-tests (Depends-on): Add binary-io.
27641
27642 2008-04-27  Bruno Haible  <bruno@clisp.org>
27643
27644         Fix 'isfinite' on x86, x86_64, ia64 platforms.
27645         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
27646         argument that lie outside the IEEE 854 domain.
27647         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
27648         (gl_ISFINITE): Use it.
27649         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
27650
27651 2008-04-27  Bruno Haible  <bruno@clisp.org>
27652
27653         Allow local renaming in config.h.
27654         * lib/memrchr.c (memrchr): Don't undefine outside libc.
27655
27656 2008-04-27  Bruno Haible  <bruno@clisp.org>
27657
27658         * lib/memchr.c (__memchr): Change type of 'i'.
27659         * lib/memchr2.c (memchr2): Likewise.
27660
27661 2008-04-26  Eric Blake  <ebb9@byu.net>
27662         and Bruno Haible  <bruno@clisp.org>
27663
27664         Optimize and test memrchr.
27665         * modules/memrchr (Depends-on): Add intprops.
27666         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
27667         * modules/memrchr-tests: New file.
27668         * tests/test-memrchr.c: New file.
27669
27670 2008-04-26  Bruno Haible  <bruno@clisp.org>
27671
27672         Add tentative support for DragonFly BSD.
27673         * lib/stdio-impl.h: Add macros for DragonFly BSD.
27674         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
27675         fp.
27676         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
27677         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
27678         * lib/fpurge.c (fpurge): Likewise.
27679         * lib/freadable.c (freaadable): Likewise.
27680         * lib/freadahead.c (freadahead): Likewise.
27681         * lib/freading.c (freading): Likewise.
27682         * lib/freadptr.c (freadptr): Likewise.
27683         * lib/freadseek.c (freadptrinc): Likewise.
27684         * lib/fseeko.c (fseeko): Likewise.
27685         * lib/fseterr.c (fseterr): Likewise.
27686         * lib/fwritable.c (fwritable): Likewise.
27687         * lib/fwriting.c (fwriting): Likewise.
27688
27689 2008-04-26  Bruno Haible  <bruno@clisp.org>
27690
27691         * lib/stdio-impl.h: New file.
27692         * lib/fbufmode.c: Include stdio-impl.h.
27693         (fbufmode): Use fp_, remove redundant #defines.
27694         * lib/fflush.c: Include stdio-impl.h.
27695         (clear_ungetc_buffer): Remove redundant #defines.
27696         * lib/fpurge.c: Include stdio-impl.h.
27697         (fpurge): Remove redundant #defines.
27698         * lib/freadable.c: Include stdio-impl.h.
27699         (freadable): Remove redundant #defines.
27700         * lib/freadahead.c: Include stdio-impl.h.
27701         (freadahead): Remove redundant #defines.
27702         * lib/freading.c: Include stdio-impl.h.
27703         (freading): Remove redundant #defines.
27704         * lib/freadptr.c: Include stdio-impl.h.
27705         (freadptr): Remove redundant #defines.
27706         * lib/freadseek.c: Include stdio-impl.h.
27707         (freadptrinc): Remove redundant #defines.
27708         * lib/fseeko.c: Include stdio-impl.h.
27709         (rpl_fseeko): Remove redundant #defines.
27710         * lib/fseterr.c: Include stdio-impl.h.
27711         (fseterr): Remove redundant #defines.
27712         * lib/fwritable.c: Include stdio-impl.h.
27713         (fwritable: Remove redundant #defines.
27714         * lib/fwriting.c: Include stdio-impl.h.
27715         (fwriting): Remove redundant #defines.
27716         * modules/fbufmode (Files): Add lib/stdio-impl.h.
27717         * modules/fflush (Files): Likewise.
27718         * modules/fpurge (Files): Likewise.
27719         * modules/freadable (Files): Likewise.
27720         * modules/freadahead (Files): Likewise.
27721         * modules/freading (Files): Likewise.
27722         * modules/freadptr (Files): Likewise.
27723         * modules/freadseek (Files): Likewise.
27724         * modules/fseeko (Files): Likewise.
27725         * modules/fseterr (Files): Likewise.
27726         * modules/fwritable (Files): Likewise.
27727         * modules/fwriting (Files): Likewise.
27728
27729 2008-04-26  Bruno Haible  <bruno@clisp.org>
27730
27731         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
27732         restore_seek_optimization, update_fpos_cache): New functions, extracted
27733         from rpl_fflush.
27734         (rpl_fflush): Use them.
27735         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
27736         (gl_REPLACE_FFLUSH): Use it.
27737
27738 2008-04-26  Bruno Haible  <bruno@clisp.org>
27739
27740         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
27741         on Solaris.
27742         * tests/test-xstrtoimax.sh: Likewise.
27743         * tests/test-xstrtoumax.sh: Likewise.
27744         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27745
27746 2008-04-26  Bruno Haible  <bruno@clisp.org>
27747
27748         * modules/memchr-tests: New file.
27749         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
27750
27751 2008-04-26  Eric Blake  <ebb9@byu.net>
27752             Bruno Haible  <bruno@clisp.org>
27753
27754         * lib/memchr.c: Include intprops.h.
27755         (__memchr): Optimize parallel detection of matching bytes. Rename local
27756         variables. Add explanatory comments.
27757
27758 2008-04-26  Bruno Haible  <bruno@clisp.org>
27759
27760         Fix module 'memchr', broken since 2000-10-28.
27761         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
27762
27763 2008-04-26  Bruno Haible  <bruno@clisp.org>
27764
27765         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
27766         comments.
27767
27768 2008-04-25  Eric Blake  <ebb9@byu.net>
27769
27770         Use native fstatat on cygwin 1.7.0.
27771         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
27772         first.
27773
27774 2008-04-23  Eric Blake  <ebb9@byu.net>
27775
27776         Improve memchr2 performance.
27777         * lib/memchr2.c (memchr2): Further optimize parallel detection of
27778         NUL bytes.
27779         * modules/memchr2 (Depends-on): Use intprops.h.
27780
27781 2008-04-23  Simon Josefsson  <simon@josefsson.org>
27782
27783         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
27784         an inline function instead of a CPP macro.  Patch by Ben Pfaff
27785         <blp@cs.stanford.edu>.
27786
27787 2008-04-23  Simon Josefsson  <simon@josefsson.org>
27788
27789         * lib/arpa_inet.in.h: New file.
27790
27791         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
27792         (Makefile.am): Sed in substitute header file.
27793
27794         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
27795         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
27796
27797         * modules/inet_ntop (configure.ac): Use
27798         gl_ARPA_INET_MODULE_INDICATOR.
27799
27800         * modules/inet_pton (configure.ac): Use
27801         gl_ARPA_INET_MODULE_INDICATOR.
27802
27803 2008-04-22  Jim Meyering  <meyering@redhat.com>
27804
27805         * modules/verify (License): Re-license as LGPLv2+.
27806
27807 2008-04-22  Simon Josefsson  <simon@josefsson.org>
27808
27809         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
27810         parameter to void* as per POSIX standard (MinGW uses char*).
27811
27812 2008-04-21  Bruno Haible  <bruno@clisp.org>
27813
27814         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
27815         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
27816         Define to replacements if REPLACE_ISWCNTRL is 1.
27817         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
27818         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
27819         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
27820         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
27821         what it fixes.
27822         * doc/posix-functions/iswalpha.texi: Likewise.
27823         * doc/posix-functions/iswblank.texi: Likewise.
27824         * doc/posix-functions/iswcntrl.texi: Likewise.
27825         * doc/posix-functions/iswdigit.texi: Likewise.
27826         * doc/posix-functions/iswgraph.texi: Likewise.
27827         * doc/posix-functions/iswlower.texi: Likewise.
27828         * doc/posix-functions/iswprint.texi: Likewise.
27829         * doc/posix-functions/iswpunct.texi: Likewise.
27830         * doc/posix-functions/iswspace.texi: Likewise.
27831         * doc/posix-functions/iswupper.texi: Likewise.
27832         * doc/posix-functions/iswxdigit.texi: Likewise.
27833         Reported by Alain Guibert.
27834
27835 2008-04-21  Bruno Haible  <bruno@clisp.org>
27836
27837         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
27838         Patch by Alain Guibert.
27839
27840 2008-04-21  Bruno Haible  <bruno@clisp.org>
27841
27842         Fix test failures on mingw.
27843         * tests/test-xstrtol.c (print_no_progname): New function.
27844         (main): Install it in error_print_progname hook.
27845         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
27846         * tests/test-xstrtoimax.sh: Likewise.
27847         * tests/test-xstrtoumax.sh: Likewise.
27848
27849 2008-04-21  Bruno Haible  <bruno@clisp.org>
27850
27851         Fix test failure on mingw.
27852         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
27853
27854 2008-04-21  Bruno Haible  <bruno@clisp.org>
27855
27856         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
27857         Actually assign a value.
27858
27859 2008-04-20  Bruno Haible  <bruno@clisp.org>
27860
27861         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
27862         take 2.
27863         * lib/canonicalize.c (canonicalize_file_name): Elide if the
27864         'canonicalize-lgpl' module is also used.
27865         * lib/canonicalize-lgpl.c: Undo last change.
27866         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
27867
27868 2008-04-20  Bruno Haible  <bruno@clisp.org>
27869
27870         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
27871         config.h. Provide _mkdir based fallback for mingw.
27872         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
27873         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
27874         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
27875         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
27876         rather than defining mkdir in config.h.
27877         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
27878         (gl_SYS_STAT_H_DEFAULTS): New macro.
27879         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
27880         HAVE_IO_H any more.
27881         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
27882         HAVE_DECL_MKDIR and HAVE_IO_H.
27883
27884 2008-04-20  Bruno Haible  <bruno@clisp.org>
27885
27886         * lib/isapipe.c: Port to native Windows platforms.
27887
27888 2008-04-20  Bruno Haible  <bruno@clisp.org>
27889
27890         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
27891
27892 2008-04-21  Eric Blake  <ebb9@byu.net>
27893
27894         Work around preprocessors that don't handle UINTMAX_MAX.
27895         * lib/memchr2.c (memchr2): Avoid embedded #if.
27896         Reported by Alain Guibert, fix suggested by Bruno Haible.
27897
27898 2008-04-21  Simon Josefsson  <simon@josefsson.org>
27899
27900         * doc/posix-functions/strftime.texi (strftime): Explain better
27901         Windows incompatibility.  Suggested by Micah Cowan
27902         <micah@cowan.name>.
27903
27904 2008-04-20  Bruno Haible  <bruno@clisp.org>
27905
27906         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
27907         unistr/u8-mblen.
27908
27909 2008-04-20  Bruno Haible  <bruno@clisp.org>
27910
27911         Fix test failure on platforms with non-GNU iconv.
27912         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
27913         (U_TO_U8): Use it, rather than u16_to_u8.
27914         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
27915         units at the end of the input string.
27916         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
27917
27918 2008-04-20  Bruno Haible  <bruno@clisp.org>
27919
27920         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
27921         when the resulting length is 0.
27922         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
27923
27924 2008-04-20  Bruno Haible  <bruno@clisp.org>
27925
27926         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
27927         works.
27928         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
27929
27930 2008-04-20  Bruno Haible  <bruno@clisp.org>
27931
27932         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
27933         * modules/tsearch-tests (configure.ac): Test for initstate function.
27934
27935 2008-04-20  Bruno Haible  <bruno@clisp.org>
27936
27937         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
27938         for nlink_t if missing.
27939         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
27940
27941 2008-04-19  Bruno Haible  <bruno@clisp.org>
27942
27943         Work around snprintf bug on Linux libc5.
27944         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
27945         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27946         gl_SNPRINTF_SIZE1.
27947         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27948         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
27949         that test failed.
27950         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
27951         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
27952         * modules/snprintf (Files): Add m4/printf.m4.
27953         * modules/vsnprintf (Files): Likewise.
27954         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
27955         * doc/posix-functions/vsnprintf.texi: Likewise.
27956
27957 2008-04-19  Bruno Haible  <bruno@clisp.org>
27958
27959         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
27960         from 0.0058 to less than 10^-7.
27961
27962 2008-04-19  Bruno Haible  <bruno@clisp.org>
27963
27964         Fix rounding when a precision is given.
27965         * lib/vasnprintf.c (is_borderline): New function.
27966         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
27967         9...9x.
27968         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
27969         %e, %g.
27970         * tests/test-vasprintf-posix.c (test_function): Likewise.
27971         * tests/test-snprintf-posix.h (test_function): Likewise.
27972         * tests/test-sprintf-posix.h (test_function): Likewise.
27973         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
27974         * tests/test-printf-posix.h (test_function): Likewise.
27975         * tests/test-printf-posix.output: Update.
27976         Reported by John Darrington <john@darrington.wattle.id.au> via
27977         Ben Pfaff <blp@cs.stanford.edu>.
27978
27979 2008-04-18  Simon Josefsson  <simon@josefsson.org>
27980
27981         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
27982         Suggested by Bruno Haible <bruno@clisp.org>.
27983
27984 2008-04-17  Bruno Haible  <bruno@clisp.org>
27985
27986         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
27987         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
27988         implementation.
27989         Patch by Bruce Merry <bmerry@gmail.com>.
27990
27991 2008-04-17  Simon Josefsson  <simon@josefsson.org>
27992
27993         * doc/posix-functions/strftime.texi (strftime): Mention that %e
27994         doesn't work under Windows.
27995
27996 2008-04-16  Bruno Haible  <bruno@clisp.org>
27997
27998         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
27999         New macros.
28000         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
28001         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
28002         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
28003         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
28004         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
28005         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
28006         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
28007         macros.
28008         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
28009         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
28010         Northern Sotho, Uighur.
28011
28012 2008-04-16  Bruno Haible  <bruno@clisp.org>
28013
28014         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
28015         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
28016         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
28017         Reported by Daniel Bergström <daniel@octocode.com>.
28018
28019 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
28020             Bruno Haible  <bruno@clisp.org>
28021
28022         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
28023         function.
28024         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
28025         New functions, mostly extracted from gl_locale_name_default.
28026         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
28027
28028 2008-04-16  Eric Blake  <ebb9@byu.net>
28029
28030         Adjust strtod detection to catch glibc 2.7 bug.
28031         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
28032         Reported by John Gatewood Ham.
28033
28034 2008-04-16  Bruno Haible  <bruno@clisp.org>
28035
28036         Add tentative support for Linux libc5.
28037         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
28038         * lib/fpurge.c (fpurge): Likewise.
28039         * lib/freadable.c (freadable): Likewise.
28040         * lib/freadahead.c (freadahead): Likewise.
28041         * lib/freading.c (freading): Likewise.
28042         * lib/freadptr.c (freadptr): Likewise.
28043         * lib/freadseek.c (freadptrinc): Likewise.
28044         * lib/fseeko.c (rpl_fseeko): Likewise.
28045         * lib/fseterr.c (fseterr): Likewise.
28046         * lib/fwritable.c (fwritable): Likewise.
28047         * lib/fwriting.c (fwriting): Likewise.
28048         Reported by Alain Guibert <alguibert+bts@free.fr>.
28049
28050 2008-04-15  Bruno Haible  <bruno@clisp.org>
28051
28052         * modules/mathl (configure.ac): Define module indicator.
28053
28054 2008-04-15  Bruno Haible  <bruno@clisp.org>
28055
28056         * lib/logl.c (logl): Remove unused variables.
28057
28058 2008-04-15  Bruno Haible  <bruno@clisp.org>
28059
28060         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
28061         fails.
28062
28063 2008-04-15  Bruno Haible  <bruno@clisp.org>
28064
28065         * lib/trim.c (trim2): Fix argument of isspace() macro.
28066
28067 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
28068
28069         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
28070         to 0.
28071         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
28072
28073 2008-04-14  Bruno Haible  <bruno@clisp.org>
28074
28075         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
28076         AC_LANG_PROGRAM argument.
28077         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
28078         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
28079         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28080         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28081         * m4/math_h.m4 (gl_MATH_H): Likewise.
28082         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
28083         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28084         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
28085         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
28086         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28087         * m4/regex.m4 (gl_REGEX): Likewise.
28088         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
28089         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
28090         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28091         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
28092         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
28093         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28094         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28095         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28096
28097 2008-04-14  Jim Meyering  <meyering@redhat.com>
28098
28099         test-strtod: fix typos: s/abs/fabs/
28100         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
28101
28102 2008-04-13  Bruno Haible  <bruno@clisp.org>
28103
28104         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
28105         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
28106         module is also used and while not building the reloc-wrapper.
28107
28108 2008-04-13  Bruno Haible  <bruno@clisp.org>
28109
28110         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
28111
28112 2008-04-13  Bruno Haible  <bruno@clisp.org>
28113
28114         Fix AIX compilation failure introduced on 2008-04-02.
28115         * tests/test-frexp.c (exp): Undefine before redefining.
28116         * tests/test-frexpl.c (exp): Likewise.
28117
28118 2008-04-13  Bruno Haible  <bruno@clisp.org>
28119
28120         Work around a HP-UX stdio bug.
28121         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
28122         * tests/test-ftello.c (main): Likewise.
28123         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
28124         * doc/posix-functions/ftello.texi: Likewise.
28125
28126 2008-04-13  Bruno Haible  <bruno@clisp.org>
28127
28128         Make test-signbit pass on HP-UX/hppa.
28129         * tests/test-signbit.c (minus_zerol): New variable.
28130         (test_signbitl): Use it.
28131
28132 2008-04-13  Bruno Haible  <bruno@clisp.org>
28133
28134         Make truncl work on OSF/1 4.0.
28135         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
28136         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
28137         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
28138         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
28139         HAVE_DECL_TRUNCL.
28140         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
28141         HAVE_DECL_TRUNCL.
28142         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
28143
28144 2008-04-13  Bruno Haible  <bruno@clisp.org>
28145
28146         * lib/unictype.h: Remove trailing comma from enumeration definitions.
28147
28148 2008-04-13  Bruno Haible  <bruno@clisp.org>
28149
28150         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
28151         expression, so as to avoid HP-UX 11 cc compiler bug.
28152
28153 2008-04-13  Bruno Haible  <bruno@clisp.org>
28154
28155         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
28156
28157 2008-04-13  Bruno Haible  <bruno@clisp.org>
28158
28159         * lib/git-merge-changelog.c: Remove empty declaration outside of
28160         functions.
28161
28162 2008-04-13  Bruno Haible  <bruno@clisp.org>
28163
28164         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
28165
28166 2008-04-13  Bruno Haible  <bruno@clisp.org>
28167
28168         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
28169         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
28170         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
28171         also if it exists but lacks definitions of the SHUT_* macros.
28172         * modules/sys_socket (Description): Update.
28173         Reported by Elbert Pol <e.pol@chello.nl>.
28174
28175 2008-04-13  Bruno Haible  <bruno@clisp.org>
28176
28177         * lib/localcharset.c (OS2): Don't redefine if already defined.
28178         Reported by Elbert Pol <e.pol@chello.nl>.
28179
28180 2008-04-13  Bruno Haible  <bruno@clisp.org>
28181
28182         * lib/binary-io.h [__EMX__]: Include <io.h>.
28183         Reported by Elbert Pol <e.pol@chello.nl>.
28184
28185 2008-04-12  Bruno Haible  <bruno@clisp.org>
28186
28187         * lib/fpucw.h: Enable the definitions also for x86_64.
28188         Needed for NetBSD/x86_64.
28189         Reported by Thomas Klausner <tk@giga.or.at>.
28190
28191 2008-04-12  Bruno Haible  <bruno@clisp.org>
28192
28193         * tests/test-strtod.c: Include isnand.h.
28194         (main): Use isnand instead of isnan.
28195         Reported by Jim Meyering.
28196
28197 2008-04-12  Bruno Haible  <bruno@clisp.org>
28198
28199         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
28200         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
28201
28202 2008-04-12  Jim Meyering  <meyering@redhat.com>
28203
28204         * m4/math_h.m4 (gl_MATH_H): Fix typos.
28205
28206 2008-04-12  Bruno Haible  <bruno@clisp.org>
28207
28208         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
28209         Reported by Elbert Pol <e.pol@chello.nl>.
28210
28211 2008-04-12  Eric Blake  <ebb9@byu.net>
28212
28213         Work around Solaris 10 math.h bug.
28214         * m4/math_h.m4 (gl_MATH_H): Check for bug.
28215         (gl_MATH_H_DEFAULTS): Set up default.
28216         * modules/math (Makefile.am): Replace new indicators.
28217         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
28218         * tests/test-math.c (main): Test this.
28219         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
28220         * doc/posix-headers/math.texi (math.h): Mention bug.
28221         Reported by Nelson H. F. Beebe and Jim Meyering.
28222
28223 2008-04-11  Bruno Haible  <bruno@clisp.org>
28224
28225         Adapt to future versions of Apple GCC.
28226         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
28227         Reported by Peter O'Gorman <peter@pogma.com>.
28228
28229 2008-04-11  Bruno Haible  <bruno@clisp.org>
28230
28231         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
28232
28233 2008-04-11  Bruno Haible  <bruno@clisp.org>
28234
28235         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
28236
28237         * modules/getaddrinfo-tests (Makefile.am): Define
28238         test_getaddrinfo_LDADD.
28239
28240 2008-04-11  Bruno Haible  <bruno@clisp.org>
28241
28242         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
28243         (init): Fix syntax error.
28244         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
28245         is declared.
28246
28247 2008-04-11  Bruno Haible  <bruno@clisp.org>
28248
28249         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
28250         * modules/glob (Depends-on): Add stdbool.
28251
28252 2008-04-11  Bruno Haible  <bruno@clisp.org>
28253
28254         * lib/trim.c: Include <string.h>.
28255
28256 2008-04-11  Eric Blake  <ebb9@byu.net>
28257
28258         Avoid compile failure on OS/2.
28259         * lib/regex_internal.h (internal_function): Disable optimization
28260         on OS/2 (__EMX__), where it caused compiler error.
28261         Reported by Elbert Pol.
28262
28263 2008-04-11  Bruno Haible  <bruno@clisp.org>
28264
28265         Flush the standard error stream before aborting. Needed on mingw.
28266         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
28267         * tests/test-array_list.c (ASSERT): Likewise.
28268         * tests/test-array_oset.c (ASSERT): Likewise.
28269         * tests/test-avltree_list.c (ASSERT): Likewise.
28270         * tests/test-avltree_oset.c (ASSERT): Likewise.
28271         * tests/test-avltreehash_list.c (ASSERT): Likewise.
28272         * tests/test-binary-io.c (ASSERT): Likewise.
28273         * tests/test-byteswap.c (ASSERT): Likewise.
28274         * tests/test-c-ctype.c (ASSERT): Likewise.
28275         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
28276         * tests/test-c-strcasestr.c (ASSERT): Likewise.
28277         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
28278         * tests/test-c-strstr.c (ASSERT): Likewise.
28279         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
28280         * tests/test-canonicalize.c (ASSERT): Likewise.
28281         * tests/test-carray_list.c (ASSERT): Likewise.
28282         * tests/test-ceilf1.c (ASSERT): Likewise.
28283         * tests/test-ceilf2.c (ASSERT): Likewise.
28284         * tests/test-ceill.c (ASSERT): Likewise.
28285         * tests/test-count-one-bits.c (ASSERT): Likewise.
28286         * tests/test-fbufmode.c (ASSERT): Likewise.
28287         * tests/test-fflush2.c (ASSERT): Likewise.
28288         * tests/test-floorf1.c (ASSERT): Likewise.
28289         * tests/test-floorf2.c (ASSERT): Likewise.
28290         * tests/test-floorl.c (ASSERT): Likewise.
28291         * tests/test-fopen.c (ASSERT): Likewise.
28292         * tests/test-fpending.c (ASSERT): Likewise.
28293         * tests/test-fprintf-posix.c (ASSERT): Likewise.
28294         * tests/test-fpurge.c (ASSERT): Likewise.
28295         * tests/test-freadable.c (ASSERT): Likewise.
28296         * tests/test-freadahead.c (ASSERT): Likewise.
28297         * tests/test-freading.c (ASSERT): Likewise.
28298         * tests/test-freadptr.c (ASSERT): Likewise.
28299         * tests/test-freadptr2.c (ASSERT): Likewise.
28300         * tests/test-freadseek.c (ASSERT): Likewise.
28301         * tests/test-freopen.c (ASSERT): Likewise.
28302         * tests/test-frexp.c (ASSERT): Likewise.
28303         * tests/test-frexpl.c (ASSERT): Likewise.
28304         * tests/test-fseek.c (ASSERT): Likewise.
28305         * tests/test-fseeko.c (ASSERT): Likewise.
28306         * tests/test-fstrcmp.c (ASSERT): Likewise.
28307         * tests/test-ftell.c (ASSERT): Likewise.
28308         * tests/test-ftello.c (ASSERT): Likewise.
28309         * tests/test-func.c (ASSERT): Likewise.
28310         * tests/test-fwritable.c (ASSERT): Likewise.
28311         * tests/test-fwriting.c (ASSERT): Likewise.
28312         * tests/test-getdelim.c (ASSERT): Likewise.
28313         * tests/test-getline.c (ASSERT): Likewise.
28314         * tests/test-i-ring.c (ASSERT): Likewise.
28315         * tests/test-iconv-utf.c (ASSERT): Likewise.
28316         * tests/test-iconv.c (ASSERT): Likewise.
28317         * tests/test-isfinite.c (ASSERT): Likewise.
28318         * tests/test-isnand.c (ASSERT): Likewise.
28319         * tests/test-isnanf.c (ASSERT): Likewise.
28320         * tests/test-isnanl.h (ASSERT): Likewise.
28321         * tests/test-ldexpl.c (ASSERT): Likewise.
28322         * tests/test-linked_list.c (ASSERT): Likewise.
28323         * tests/test-linkedhash_list.c (ASSERT): Likewise.
28324         * tests/test-localename.c (ASSERT): Likewise.
28325         * tests/test-lseek.c (ASSERT): Likewise.
28326         * tests/test-mbscasecmp.c (ASSERT): Likewise.
28327         * tests/test-mbscasestr1.c (ASSERT): Likewise.
28328         * tests/test-mbscasestr2.c (ASSERT): Likewise.
28329         * tests/test-mbscasestr3.c (ASSERT): Likewise.
28330         * tests/test-mbscasestr4.c (ASSERT): Likewise.
28331         * tests/test-mbschr.c (ASSERT): Likewise.
28332         * tests/test-mbscspn.c (ASSERT): Likewise.
28333         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
28334         * tests/test-mbspbrk.c (ASSERT): Likewise.
28335         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
28336         * tests/test-mbsrchr.c (ASSERT): Likewise.
28337         * tests/test-mbsspn.c (ASSERT): Likewise.
28338         * tests/test-mbsstr1.c (ASSERT): Likewise.
28339         * tests/test-mbsstr2.c (ASSERT): Likewise.
28340         * tests/test-mbsstr3.c (ASSERT): Likewise.
28341         * tests/test-memchr2.c (ASSERT): Likewise.
28342         * tests/test-memmem.c (ASSERT): Likewise.
28343         * tests/test-open.c (ASSERT): Likewise.
28344         * tests/test-printf-frexp.c (ASSERT): Likewise.
28345         * tests/test-printf-frexpl.c (ASSERT): Likewise.
28346         * tests/test-printf-posix.c (ASSERT): Likewise.
28347         * tests/test-quotearg.c (ASSERT): Likewise.
28348         * tests/test-rbtree_list.c (ASSERT): Likewise.
28349         * tests/test-rbtree_oset.c (ASSERT): Likewise.
28350         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
28351         * tests/test-round1.c (ASSERT): Likewise.
28352         * tests/test-roundf1.c (ASSERT): Likewise.
28353         * tests/test-roundl.c (ASSERT): Likewise.
28354         * tests/test-signbit.c (ASSERT): Likewise.
28355         * tests/test-sleep.c (ASSERT): Likewise.
28356         * tests/test-snprintf-posix.c (ASSERT): Likewise.
28357         * tests/test-snprintf.c (ASSERT): Likewise.
28358         * tests/test-sprintf-posix.c (ASSERT): Likewise.
28359         * tests/test-stat-time.c (ASSERT): Likewise.
28360         * tests/test-strcasestr.c (ASSERT): Likewise.
28361         * tests/test-strerror.c (ASSERT): Likewise.
28362         * tests/test-striconv.c (ASSERT): Likewise.
28363         * tests/test-striconveh.c (ASSERT): Likewise.
28364         * tests/test-striconveha.c (ASSERT): Likewise.
28365         * tests/test-strsignal.c (ASSERT): Likewise.
28366         * tests/test-strstr.c (ASSERT): Likewise.
28367         * tests/test-strtod.c (ASSERT): Likewise.
28368         * tests/test-trunc1.c (ASSERT): Likewise.
28369         * tests/test-trunc2.c (ASSERT): Likewise.
28370         * tests/test-truncf1.c (ASSERT): Likewise.
28371         * tests/test-truncf2.c (ASSERT): Likewise.
28372         * tests/test-truncl.c (ASSERT): Likewise.
28373         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
28374         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
28375         * tests/test-vasnprintf.c (ASSERT): Likewise.
28376         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
28377         * tests/test-vasprintf.c (ASSERT): Likewise.
28378         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
28379         * tests/test-vprintf-posix.c (ASSERT): Likewise.
28380         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
28381         * tests/test-vsnprintf.c (ASSERT): Likewise.
28382         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
28383         * tests/test-wcwidth.c (ASSERT): Likewise.
28384         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
28385         * tests/test-xprintf-posix.c (ASSERT): Likewise.
28386         * tests/test-xvasprintf.c (ASSERT): Likewise.
28387         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
28388         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
28389         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
28390         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
28391         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
28392         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
28393         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
28394         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
28395         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
28396         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
28397         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
28398         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
28399         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
28400         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
28401         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
28402         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
28403         * tests/unictype/test-block_list.c (ASSERT): Likewise.
28404         * tests/unictype/test-block_of.c (ASSERT): Likewise.
28405         * tests/unictype/test-block_test.c (ASSERT): Likewise.
28406         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
28407         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
28408         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
28409         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
28410         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
28411         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
28412         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
28413         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
28414         * tests/unictype/test-combining.c (ASSERT): Likewise.
28415         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
28416         * tests/unictype/test-digit.c (ASSERT): Likewise.
28417         * tests/unictype/test-mirror.c (ASSERT): Likewise.
28418         * tests/unictype/test-numeric.c (ASSERT): Likewise.
28419         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
28420         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
28421         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
28422         * tests/unictype/test-scripts.c (ASSERT): Likewise.
28423         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
28424         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
28425         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
28426         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
28427         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
28428         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
28429         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
28430         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
28431         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
28432         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
28433         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
28434         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
28435         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
28436         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
28437         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
28438         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
28439         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
28440         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
28441         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
28442         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
28443         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
28444         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
28445         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
28446         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
28447         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
28448         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
28449         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
28450         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
28451         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
28452         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
28453         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
28454         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
28455         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
28456         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
28457         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
28458         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
28459         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
28460         Reported by Eric Blake.
28461
28462 2008-04-11  Bruno Haible  <bruno@clisp.org>
28463
28464         * lib/wchar.in.h: Tweak comment.
28465
28466 2008-04-11  Bruno Haible  <bruno@clisp.org>
28467
28468         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
28469         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
28470         gl_COMMON.
28471         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
28472
28473 2008-04-11  Bruno Haible  <bruno@clisp.org>
28474
28475         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
28476
28477 2008-04-11  Simon Josefsson  <simon@josefsson.org>
28478
28479         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
28480         of attempting to use non-existing /dev/*random.  Based on patch
28481         from Adam Strzelecki <ono@java.pl> in
28482         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
28483
28484 2008-04-08  Bruno Haible  <bruno@clisp.org>
28485
28486         Add tentative support for emx+gcc.
28487         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
28488         * lib/fpurge.c (fpurge): Likewise.
28489         * lib/freadable.c (freadable): Likewise.
28490         * lib/freadahead.c (freadahead): Likewise.
28491         * lib/freading.c (freading): Likewise.
28492         * lib/freadptr.c (freadptr): Likewise.
28493         * lib/freadseek.c (freadptrinc): Likewise.
28494         * lib/fseeko.c (rpl_fseeko): Likewise.
28495         * lib/fseterr.c (fseterr): Likewise.
28496         * lib/fwritable.c (fwritable): Likewise.
28497         * lib/fwriting.c (fwriting): Likewise.
28498         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
28499
28500 2008-04-09  Eric Blake  <ebb9@byu.net>
28501
28502         Avoid some autoconf warnings.
28503         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
28504         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
28505         * m4/afs.m4 (gl_AFS): Likewise.
28506         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
28507         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
28508         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28509         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
28510         (gl_INTEGER_TYPE_SUFFIX): Likewise.
28511         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
28512         (AC_CHECK_DECLS_ONCE): Likewise.
28513         Rename file...
28514         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
28515         gnulib-tool requires autoconf 2.59 or better.
28516         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
28517
28518 2008-04-08  Eric Blake  <ebb9@byu.net>
28519
28520         Use 'git describe --match' if present (added in git 1.5.5).
28521         * build-aux/git-version-gen: Limit result to tags that match 'v*'
28522         if possible.
28523
28524 2008-04-08  Bruno Haible  <bruno@clisp.org>
28525
28526         Add tentative support for OpenServer.
28527         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
28528         _ptr, _cnt.
28529         * lib/fpurge.c (fpurge): Likewise.
28530         * lib/freadable.c (freadable): Likewise.
28531         * lib/freadahead.c (freadahead): Likewise.
28532         * lib/freading.c (freading): Likewise.
28533         * lib/freadptr.c (freadptr): Likewise.
28534         * lib/freadseek.c (freadptrinc): Likewise.
28535         * lib/fseeko.c (rpl_fseeko): Likewise.
28536         * lib/fseterr.c (fseterr): Likewise.
28537         * lib/fwritable.c (fwritable): Likewise.
28538         * lib/fwriting.c (fwriting): Likewise.
28539         Reported by Roger Cornelius <rac@tenzing.org> and
28540         Brian K. White <brian@aljex.com>.
28541
28542 2008-04-06  Jim Meyering  <meyering@redhat.com>
28543
28544         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
28545
28546 2008-04-06  Bruno Haible  <bruno@clisp.org>
28547
28548         Avoid possible error with non-ASCII bytes in UTF-8 locales.
28549         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
28550         * tests/test-printf-posix.sh: Likewise.
28551         * tests/test-vfprintf-posix.sh: Likewise.
28552         * tests/test-vprintf-posix.sh: Likewise.
28553         * tests/test-xprintf-posix.sh: Likewise.
28554
28555 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28556
28557         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
28558         hide error from 'ls', needed on OS/2.
28559         Report by Elbert Pol <elbert.pol@gmail.com>.
28560
28561 2008-04-04  Eric Blake  <ebb9@byu.net>
28562
28563         Make test-fseeko.c failures meaningful.
28564         * tests/test-fseeko.c: Print line number on failure.
28565         * tests/test-fseek.c: Likewise.
28566         Reported by Nelson H. F. Beebe.
28567
28568         Improve strtod bug detection check.
28569         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
28570         required for Solaris 10.
28571         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
28572
28573 2008-04-04  Bruno Haible  <bruno@clisp.org>
28574
28575         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
28576         by m4/setenv.m4.
28577
28578 2008-04-03  Eric Blake  <ebb9@byu.net>
28579
28580         Ensure sane .version contents.
28581         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
28582         version string.
28583         * build-aux/git-version-gen: Improve documentation.
28584
28585         Make GNU make output nicer.
28586         * top/GNUmakefile [!_have-Makefile]: Add dependency on
28587         MAKECMDGOALS to enforce message for all command line targets.  Set
28588         srcdir for use in maint.mk.
28589
28590         Another maintainer tweak.
28591         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
28592         a target that regenerates version.
28593
28594 2008-04-03  Jim Meyering  <meyering@redhat.com>
28595
28596         vc-list-files: don't cause coreutils "make po-check" failure
28597         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
28598
28599 2008-04-03  Eric Blake  <ebb9@byu.net>
28600
28601         Allow VPATH usage of vc-list-files.
28602         * build-aux/vc-list-files (scriptversion): Add timestamp.
28603         (options): Add --help, --version, -C.
28604         (CVS): Support installed cvsu.
28605
28606 2008-04-02  Bruno Haible  <bruno@clisp.org>
28607
28608         Avoid some "statement with no effect" warnings from gcc.
28609         * tests/test-wctype.c (main): Explicitly ignore unused values.
28610         Reported by Jim Meyering.
28611
28612 2008-04-02  Jim Meyering  <meyering@redhat.com>
28613
28614         Avoid some warnings from "gcc -Wshadow".
28615         * tests/test-frexp.c (exp): Define to a different identifier.
28616         * tests/test-frexpl.c (exp): Likewise.
28617
28618 2008-04-03  Jim Meyering  <meyering@redhat.com>
28619
28620         bootstrap: remove dangling *.[ch] symlinks from lib
28621         * build-aux/bootstrap [dangling symlink removal]: Move find's
28622         -depth option to precede all others, to avoid a warning.
28623         Remove *.[ch] files too, and from "$source_base" (usually lib/).
28624
28625 2008-04-02  Bruno Haible  <bruno@clisp.org>
28626
28627         Avoid some warnings from "gcc -Wshadow".
28628         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
28629         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
28630         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
28631         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
28632         Reported by Jim Meyering.
28633
28634 2008-04-01  Bruno Haible  <bruno@clisp.org>
28635
28636         Fix test to work on IRIX 6.5 with cc.
28637         * tests/test-math.c (numeric_equal): New function.
28638         (main): Use it.
28639
28640 2008-04-01  Bruno Haible  <bruno@clisp.org>
28641
28642         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
28643
28644 2008-04-01  Bruno Haible  <bruno@clisp.org>
28645
28646         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
28647         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
28648         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
28649         (Depends-on): Remove math.
28650
28651         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
28652         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
28653         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
28654         (Depends-on): Remove math.
28655
28656         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
28657         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
28658         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
28659         (Depends-on): Remove math.
28660         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
28661         (Depends-on): Remove math.
28662
28663         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
28664         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
28665         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
28666         (Depends-on): Remove math.
28667         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
28668         (Depends-on): Remove math.
28669
28670         * tests/test-round1.c: Include nan.h.
28671         (main): Use NaNd instead of NAN.
28672         * modules/round-tests (Files): Add tests/nan.h.
28673
28674         * tests/test-trunc1.c: Include nan.h.
28675         (main): Use NaNd instead of NAN.
28676         * modules/trunc-tests (Files): Add tests/nan.h.
28677
28678         * tests/test-roundf1.c: Include nan.h.
28679         (main): Use NaNf instead of NAN.
28680         * modules/roundf-tests (Files): Add tests/nan.h.
28681
28682         * tests/test-truncf1.c: Include nan.h.
28683         (main): Use NaNf instead of NAN.
28684         * modules/truncf-tests (Files): Add tests/nan.h.
28685
28686         * tests/test-ceilf1.c: Include nan.h.
28687         (main): Use NaNf instead of NAN.
28688         * modules/ceilf-tests (Files): Add tests/nan.h.
28689
28690         * tests/test-floorf1.c: Include nan.h.
28691         (main): Use NaNf instead of NAN.
28692         * modules/floorf-tests (Files): Add tests/nan.h.
28693
28694         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
28695         (main): Use NaNf instead of NAN.
28696         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
28697
28698         * tests/test-isnand.c: Include nan.h instead of <math.h>.
28699         (main): Use NaNd instead of NAN.
28700         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
28701
28702         * tests/test-frexp.c: Include nan.h.
28703         (main): Use NaNd instead of NAN.
28704         * modules/frexp-tests (Files): Add tests/nan.h.
28705
28706         * lib/isnan.c: Don't include <math.h>.
28707         (FUNC): Don't use NAN macro.
28708         * modules/isnand-nolibm (Depends-on): Remove math.
28709         * modules/isnanf-nolibm (Depends-on): Remove math.
28710         * modules/isnanl (Depends-on): Remove math.
28711         * modules/isnanl-nolibm (Depends-on): Remove math.
28712
28713         * tests/nan.h: New file.
28714
28715 2008-04-01  Eric Blake  <ebb9@byu.net>
28716
28717         Fix typos.
28718         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
28719         values to be the right type.
28720
28721         For now, cater to gnulib strtod inaccuracies.
28722         * tests/test-strtod.c (main): Allow 1-ulp error on expected
28723         fractional results.  While not as nice from a QoI perspective, it
28724         is a quicker patch than correctly implementing decimal to binary
28725         rounding.
28726
28727 2008-03-31  Eric Blake  <ebb9@byu.net>
28728
28729         Guarantee a definition of NAN.
28730         * lib/math.in.h (NAN): Define if missing.
28731         * tests/test-math.c (main): Test it.
28732         * doc/posix-headers/math.texi (math.h): Document this.
28733         * lib/isnan.c (rpl_isnand): Use it.
28734         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
28735         * tests/test-floorf1.c (NaN): Likewise.
28736         * tests/test-frexp.c (NaN): Likewise.
28737         * tests/test-isnand.c (NaN): Likewise.
28738         * tests/test-isnanf.c (NaN): Likewise.
28739         * tests/test-round1.c (NaN): Likewise.
28740         * tests/test-roundf1.c (NaN): Likewise.
28741         * tests/test-snprintf-posix.h (NaN): Likewise.
28742         * tests/test-sprintf-posix.h (NaN): Likewise.
28743         * tests/test-trunc1.c (NaN): Likewise.
28744         * tests/test-truncf1.c (NaN): Likewise.
28745         * tests/test-vasnprintf-posix.c (NaN): Likewise.
28746         * tests/test-vasprintf-posix.c (NaN): Likewise.
28747         * modules/isnand-nolibm (Depends-on): Add math.
28748         * modules/isnanf-nolibm (Depends-on): Likewise.
28749         * modules/isnanl (Depends-on): Likewise.
28750         * modules/isnanl-nolibm (Depends-on): Likewise.
28751         * modules/snprintf-posix-tests (Depends-on): Likewise.
28752         * modules/sprintf-posix-tests (Depends-on): Likewise.
28753         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
28754         * modules/vsprintf-posix-tests (Depends-on): Likewise.
28755         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
28756         * modules/vasprintf-posix-tests (Depends-on): Likewise.
28757
28758 2008-03-31  Bruno Haible  <bruno@clisp.org>
28759
28760         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
28761         * doc/posix-functions/strtod.texi: Likewise.
28762
28763 2008-03-31  Bruno Haible  <bruno@clisp.org>
28764
28765         * tests/test-strtod.c (main): Don't use C99 syntax.
28766
28767 2008-03-31  Bruno Haible  <bruno@clisp.org>
28768
28769         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
28770         Reported by Eric Blake.
28771
28772 2008-03-31  Jim Meyering  <meyering@redhat.com>
28773
28774         Don't compare actual signbit return values.
28775         * tests/test-strtod.c (main): Rather, compare only their
28776         zero/non-zero nature.
28777
28778 2008-03-31  Eric Blake  <ebb9@byu.net>
28779
28780         More strtod documentation.
28781         * doc/posix-functions/strtod.texi (strtod): Interpret more test
28782         failures as distinct bugs.
28783
28784 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
28785
28786         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
28787         Problem reported by Erik Benada in
28788         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
28789
28790 2008-03-30  Bruno Haible  <bruno@clisp.org>
28791
28792         * tests/test-strtod.c: Add comments about which assertion fails on which
28793         platform.
28794         * doc/posix-functions/strtod.texi: Add info about many more platforms.
28795
28796 2008-03-30  Eric Blake  <ebb9@byu.net>
28797
28798         Test signbit behavior on zeros.
28799         * tests/test-signbit.c (test_signbitf): Add tests for zero.
28800         (test_signbitd, test_signbitl): Likewise.
28801
28802         More strtod touchups.
28803         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
28804         sign of negative underflow, for now.  Use .5, not .1.
28805         * doc/posix-functions/strtod.texi (strtod): Mention these
28806         limitations.
28807         Reported by Jim Meyering.
28808
28809 2008-03-30  Bruno Haible  <bruno@clisp.org>
28810
28811         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
28812         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
28813
28814 2008-03-30  Bruno Haible  <bruno@clisp.org>
28815
28816         Avoid failure when attempting to return empty iconv results on some
28817         platforms.
28818         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
28819         allocation, don't report ENOMEM when the resulting string is empty.
28820
28821 2008-03-30  Bruno Haible  <bruno@clisp.org>
28822
28823         Fix buffer overrun.
28824         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
28825         Don't consider the width for tmp_length. Check count against tmp_length
28826         before doing the padding. Ensure enough allocation during padding.
28827
28828 2008-03-30  Eric Blake  <ebb9@byu.net>
28829
28830         strtod touchups.
28831         * lib/strtod.c (strtod): Avoid compiler warnings.
28832         Reported by Jim Meyering.
28833
28834 2008-03-30  Bruno Haible  <bruno@clisp.org>
28835
28836         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
28837         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
28838         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
28839         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
28840         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
28841         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
28842         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
28843         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
28844
28845         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
28846         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
28847         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
28848         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
28849         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
28850         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
28851         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
28852         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
28853
28854         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
28855         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
28856         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
28857         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
28858         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
28859         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
28860         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
28861         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
28862
28863         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
28864         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
28865
28866         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
28867         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
28868
28869         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
28870         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
28871
28872         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
28873         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
28874         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
28875
28876         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
28877         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
28878         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
28879
28880         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
28881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
28882         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
28883
28884         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
28885         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
28886         * modules/vasprintf (Depends-on): Add EOVERFLOW.
28887
28888         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
28889         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
28890         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
28891         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
28892         (Depends-on): Add EOVERFLOW.
28893         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
28894         (Depends-on): Add EOVERFLOW.
28895         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
28896         (Depends-on): Add EOVERFLOW.
28897         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
28898         (Depends-on): Add EOVERFLOW.
28899         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
28900         (Depends-on): Add EOVERFLOW.
28901         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
28902         (Depends-on): Add EOVERFLOW.
28903         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
28904         (Depends-on): Add EOVERFLOW.
28905         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
28906         (Depends-on): Add EOVERFLOW.
28907
28908         * lib/sprintf.c (EOVERFLOW): Remove fallback.
28909         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
28910         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
28911
28912         * lib/snprintf.c (EOVERFLOW): Remove fallback.
28913         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
28914         * modules/snprintf (Depends-on): Add EOVERFLOW.
28915
28916         * lib/poll.c (EOVERFLOW): Remove fallback.
28917         * modules/poll (Depends-on): Add EOVERFLOW.
28918
28919         * lib/getugroups.c (EOVERFLOW): Remove fallback.
28920         * modules/getugroups (Depends-on): Add EOVERFLOW.
28921
28922         * lib/getdelim.c (EOVERFLOW): Remove fallback.
28923         * modules/getdelim (Depends-on): Add EOVERFLOW.
28924
28925         * lib/ftell.c (EOVERFLOW): Remove fallback.
28926         * modules/ftell (Depends-on): Add EOVERFLOW.
28927
28928         * lib/fprintf.c (EOVERFLOW): Remove fallback.
28929         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
28930         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
28931
28932         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
28933
28934         * modules/EOVERFLOW-tests: New file.
28935         * tests/test-EOVERFLOW.c: New file.
28936
28937         * modules/EOVERFLOW: New file.
28938         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
28939
28940 2008-03-30  Bruno Haible  <bruno@clisp.org>
28941
28942         Fix bug introduced on 2007-06-10.
28943         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
28944         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
28945
28946 2008-03-30  Bruno Haible  <bruno@clisp.org>
28947
28948         Improve freadseek's efficiency after ungetc.
28949         * lib/freadseek.c: Include freadahead.h.
28950         (freadptrinc): New function, extracted from freadseek.
28951         (freadseek): Use it in a loop. Use freadahead to determine the number
28952         of loop iterations.
28953         * modules/freadseek (Depends-on): Add freadahead.
28954         (configure.ac): Require AC_C_INLINE.
28955
28956 2008-03-30  Bruno Haible  <bruno@clisp.org>
28957
28958         * lib/freadseek.c (freadseek): Don't ignore the return value of
28959         freadptr.
28960
28961 2008-03-29  Eric Blake  <ebb9@byu.net>
28962
28963         Add hex float support.
28964         * modules/strtod (Depends-on): Add c-ctype.
28965         (Link): Mention POW_LIB.
28966         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
28967         whitespace between 'e' and exponent.
28968         * tests/test-strtod.c (main): Enable hex float tests.
28969         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
28970         now provides.
28971
28972         Document various strtod bugs, with some fixes.
28973         * doc/posix-functions/strtod.texi (strtod): Document bugs with
28974         "-0x", "inf", "nan", and hex constants.
28975         * doc/posix-functions/atof.texi (atof): Likewise.
28976         * modules/stdlib (Makefile.am): Support strtod.
28977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
28978         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
28979         detect additional strtod bugs.
28980         * lib/stdlib.in.h (rpl_strtod): Add declarations.
28981         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
28982         bool where appropriate.  Parse 'inf' and 'nan'.
28983         * tests/test-strtod.c: New file.
28984         * modules/strtod (Depends-on): Add stdbool, stdlib.
28985         (configure.ac): Turn on module indicator.
28986         * modules/strtod-tests: New module.
28987
28988 2008-03-29  Eric Blake  <ebb9@byu.net>
28989
28990         Fix ftell on mingw.
28991         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
28992         * modules/ftell-tests (Depends-on): Add binary-io.
28993         * modules/ftello-tests (Depends-on): Likewise.
28994         * tests/test-ftell.c (main): Enhance test to cover behavior after
28995         ungetc.  Enforce binary mode.
28996         * tests/test-ftello.c (main): Likewise.
28997
28998         Pass test-freadseek on cygwin.
28999         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
29000         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
29001         ungetc buffer.
29002
29003         * tests/test-fflush2.c (main): Fix typo.
29004
29005 2008-03-29  Bruno Haible  <bruno@clisp.org>
29006
29007         * tests/test-fflush2.c (main): Temporarily disable the contents of
29008         this test.
29009         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
29010         Reported by Eric Blake.
29011
29012 2008-03-28  Simon Josefsson  <simon@josefsson.org>
29013
29014         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
29015         (GC_SHA224_DIGEST_SIZE): Add.
29016
29017         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
29018         (gc_hash_digest_length): Likewise.
29019         (gc_hash_buffer): Likewise.
29020
29021 2008-03-25  Bruno Haible  <bruno@clisp.org>
29022
29023         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
29024         detail which gettext release to use.
29025         Reported by Simon Josefsson.
29026
29027 2008-03-26  Jim Meyering  <meyering@redhat.com>
29028
29029         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
29030         * modules/gnumakefile (clean-GNUmakefile): Also, use
29031         test ... && ... || : syntax rather than if-then ... fi.
29032
29033         gnumakefile: Don't double-quote-expand $(VPATH) value.
29034         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
29035
29036 2008-03-24  Eric Blake  <ebb9@byu.net>
29037
29038         Alter GNUmakefile to install into top directory.
29039         * modules/maintainer-makefile: Split, and add dependency...
29040         * modules/gnumakefile: to this new module.
29041         * build-aux/GNUmakefile: Move...
29042         * top/GNUmakefile: ...here.
29043         * build-aux/maint.mk: Move...
29044         * top/maint.mk: ...here.
29045         * MODULES.html.sh (Support for maintaining...): Document new
29046         module.
29047
29048 2008-03-23  Bruno Haible  <bruno@clisp.org>
29049
29050         * gnulib-tool: New options --vc-files, --no-vc-files.
29051         (func_usage): Document them.
29052         (vc_files): New variable.
29053         (func_import): Consider vc_files.
29054         (func_create_testdir): Set vc_files to empty.
29055         Suggested by Jim Meyering and Karl Berry.
29056
29057 2008-03-23  Bruno Haible  <bruno@clisp.org>
29058
29059         Fix regex compilation error on HP-UX 11.
29060         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
29061         * modules/regex (Files): Add m4/mbstate_t.m4.
29062         Reported by Ton Voon <ton.voon@altinity.com>.
29063
29064 2008-03-23  Bruno Haible  <bruno@clisp.org>
29065
29066         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
29067
29068 2008-03-23  Eric Blake  <ebb9@byu.net>
29069             Bruno Haible  <bruno@clisp.org>
29070
29071         Install files from top/ in the destination directory.
29072         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
29073         augmentation also for the files from top/.
29074         (func_import, func_create_testdir): Rewrite file names:
29075         top/filename -> filename.
29076
29077 2008-03-23  Bruno Haible  <bruno@clisp.org>
29078
29079         Tweak "gnulib --version" output.
29080         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
29081
29082 2008-03-23  Bruno Haible  <bruno@clisp.org>
29083
29084         Tweak "gnulib --version" output.
29085         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
29086         rather than contents of ChangeLog, when possible.
29087
29088 2008-03-21  Eric Blake  <ebb9@byu.net>
29089
29090         More --version tweaks.
29091         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
29092         date of last ChangeLog entry.
29093
29094 2008-03-21  Jim Meyering  <meyering@redhat.com>
29095
29096         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
29097
29098 2008-03-20  Eric Blake  <ebb9@byu.net>
29099
29100         VPATH fix.
29101         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
29102
29103 2008-03-20  Simon Josefsson  <simon@josefsson.org>
29104
29105         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
29106         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
29107
29108 2008-03-20  Eric Blake  <ebb9@byu.net>
29109
29110         Sync GNUmakefile with coreutils.
29111         * build-aux/GNUmakefile (have-Makefile): Rename...
29112         (_have-Makefile): ...to this, for namespace consideration.
29113         (GNUmakefile.cfg): Include, if present.
29114         (_autoreconf): Define a default.
29115         (_is-dist-target): New rule for rebuilds to pick up intra-release
29116         version.
29117         (maint-cfg.mk): Rename...
29118         (cfg.mk): ...to this.
29119
29120 2008-03-18  Jim Meyering  <meyering@redhat.com>
29121
29122         New script and module: mktempd
29123         * MODULES.html.sh (maint+release support): Add mktempd.
29124         * build-aux/mktempd: New file.
29125         * modules/mktempd: New file.
29126
29127 2008-03-15  Jim Meyering  <meyering@redhat.com>
29128
29129         Undo last change.
29130         * lib/sha1.c, lib/md5.c: 63 != ~63.
29131         Reported by Andreas Schwab.
29132
29133         sha1.c, md5.c: Hoist a redundant expression.
29134         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
29135         "ctx->buflen" only once, before calling *_process_block.
29136         * lib/md5.c (md5_process_bytes): Likewise.
29137
29138 2008-03-14  Eric Blake  <ebb9@byu.net>
29139
29140         Bump copyright year in files generated by gnulib-tool.
29141         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
29142         gnulib-tool, rather than hard-coding it.
29143
29144         Fix 'gnulib-tool --version' output to work with git.
29145         * gnulib-tool (func_gnulib_dir): New function, extracted from...
29146         (startup): ...here.
29147         (func_version): Use it to invoke git-version-gen, rather than
29148         relying on CVS keyword expansion.  Modernize wording.
29149         (cvsdatestamp, last_checkin_date, version): Kill unused
29150         variables.
29151
29152 2008-03-12  Jim Meyering  <meyering@redhat.com>
29153
29154         Recognize optional cast of the argument to free.
29155         * build-aux/useless-if-before-free: Update regexps.
29156
29157         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
29158
29159 2008-03-11  Bruno Haible  <bruno@clisp.org>
29160
29161         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
29162         by a single package.
29163         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
29164         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
29165         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
29166         Reported by Sam Steingold <sds@gnu.org>.
29167
29168 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29169
29170         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
29171         repositories.
29172
29173 2008-03-11  Bruno Haible  <bruno@clisp.org>
29174
29175         Avoid conflicts between local macro definitions.
29176         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29177         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
29178
29179 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
29180             Bruno Haible  <bruno@clisp.org>
29181
29182         Make va_copy work with some version of xlc on AIX 5.1.
29183         * lib/stdarg.in.h: New file.
29184         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
29185         On AIX, use a <stdarg.h> file substitute.
29186         * modules/stdarg (Files): Add lib/stdarg.in.h.
29187         (Depends-on): Add include_next.
29188         (Makefile.am): Build a stdarg.h substitute if requested.
29189         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
29190
29191 2008-03-10  Bruno Haible  <bruno@clisp.org>
29192
29193         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
29194         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29195         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
29196
29197 2008-03-10  Bruno Haible  <bruno@clisp.org>
29198
29199         * modules/stdlib (Depends-on): Add include_next, remove
29200         absolute-header.
29201
29202 2008-03-09  Bruno Haible  <bruno@clisp.org>
29203
29204         * lib/freadahead.h (freadahead): Document more precisely.
29205         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
29206         the sum of both buffer sizes.
29207         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
29208         * NEWS: Document the change.
29209
29210 2008-03-09  Bruno Haible  <bruno@clisp.org>
29211
29212         Extend freadptr to return also the buffer size.
29213         * lib/freadptr.h (freadptr): Add sizep argument.
29214         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
29215         (freadptr): Add sizep argument. Determine buffer size like freadahead
29216         does.
29217         * tests/test-freadptr.c: Don't include freadahead.h.
29218         (main): Adapt for new calling convention of freadptr.
29219         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
29220         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
29221         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
29222         tests/test-freadptr2.sh.
29223         (Depends): Remove freadahead.
29224         (TESTS): Add test-freadptr2.sh.
29225         (check_PROGRAMS): Add test-freadptr2.
29226
29227 2008-03-09  Bruno Haible  <bruno@clisp.org>
29228
29229         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
29230         Report and solution by Simon Josefsson.
29231
29232 2008-03-06  Bruno Haible  <bruno@clisp.org>
29233
29234         Make fflush after ungetc work on BSD platforms.
29235         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
29236         * tests/test-fflush2.c: New file.
29237         * tests/test-fflush2.sh: New file.
29238         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
29239         tests/test-fflush2.c.
29240         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
29241         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
29242
29243 2008-03-06  Eric Blake  <ebb9@byu.net>
29244
29245         Likewise for ftello.
29246         * modules/ftello (Dependencies): Add extensions.
29247         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
29248
29249 2008-03-06  Bruno Haible  <bruno@clisp.org>
29250
29251         * modules/fseeko (Dependencies): Add extensions.
29252         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
29253         Needed on glibc systems.
29254
29255 2008-03-06  Bruno Haible  <bruno@clisp.org>
29256
29257         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
29258         email address.
29259         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29260
29261 2008-03-06  Bruno Haible  <bruno@clisp.org>
29262
29263         * users.txt: Add libgnupdf.
29264
29265 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29266
29267         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
29268         (Header File Substitutes, Function Substitutes,
29269         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
29270         (Build robot for gnulib): Fix typo.
29271
29272 2008-03-06  Bruno Haible  <bruno@clisp.org>
29273
29274         * doc/gnulib-tool.texi (VCS Issues): Small updates.
29275         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29276
29277 2008-03-06  Bruno Haible  <bruno@clisp.org>
29278
29279         * doc/func.texi: New file, extracted from doc/gnulib.texi.
29280         * doc/gnulib.texi: Include it.
29281
29282 2008-03-06  Simon Josefsson  <simon@josefsson.org>
29283
29284         * modules/func (License): Change license to unlimited; there was
29285         no LGPL parts in the module anyway.
29286
29287 2008-03-06  Simon Josefsson  <simon@josefsson.org>
29288
29289         * modules/__func__: Renamed to modules/func.
29290         * modules/__func__-tests: Renamed to modules/func-tests.
29291         * tests/test-__func__.c: Renamed to tests/test-func.c.
29292         * m4/__func__.m4: Renamed to m4/func.m4.
29293         * doc/gnulib.texi (__func__): Section renamed to func.
29294         Suggested by Eric Blake <ebb9@byu.net>.
29295
29296 2008-03-06  Simon Josefsson  <simon@josefsson.org>
29297
29298         * doc/gnulib.texi (__func__): Use C99 terminology when talking
29299         about __func__.  Make example self-contained.  Suggested by Eric
29300         Blake <ebb9@byu.net>.
29301
29302         * tests/test-__func__.c (main): Avoid extraneous () around __func.
29303         Suggested by Eric Blake <ebb9@byu.net>.
29304
29305 2008-03-06  Simon Josefsson  <simon@josefsson.org>
29306
29307         * modules/__func__: New file.
29308         * modules/__func__-tests: New file.
29309         * tests/test-__func__.c: New file.
29310         * m4/__func__.m4: New file.
29311         * doc/gnulib.texi (__func__): Document __func__ module.
29312
29313 2008-03-05  Simon Josefsson  <simon@josefsson.org>
29314
29315         * modules/byteswap (License): Re-license as LGPLv2+.
29316
29317 2008-03-05  Simon Josefsson  <simon@josefsson.org>
29318
29319         * doc/Makefile: Add pdf target.
29320
29321 2008-03-05  Simon Josefsson  <simon@josefsson.org>
29322
29323         * modules/inline (License): Use 'unlimited', since there are only
29324         *.m4 files in this module.
29325
29326 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
29327             Bruno Haible  <bruno@clisp.org>
29328
29329         Add support for HP C 7.1 on OpenVMS 8.3.
29330         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
29331
29332 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
29333
29334         Update VMS specifics.
29335         * lib/getopt.c [VMS]: Remove include of unixlib.h.
29336
29337 2008-03-02  Jim Meyering  <meyering@redhat.com>
29338
29339         Remove the last dependency on the "free" module.
29340         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
29341         Reported by Bob Proulx.
29342
29343         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
29344
29345         Remove useless "if" tests before free.  Deprecate "free" module.
29346         * doc/posix-functions/free.texi: Mention that this
29347         module is no longer useful.
29348         * modules/free (Notice): Say this module is obsolete.
29349         * modules/readutmp (Depends-on): Remove free.
29350         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
29351         * lib/putenv.c (putenv): Likewise.
29352         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
29353         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
29354         * tests/test-c-strcasestr.c (main): Likewise.
29355         * tests/test-c-strstr.c (main): Likewise.
29356         * tests/test-mbscasestr1.c (main): Likewise.
29357         * tests/test-mbscasestr2.c (main): Likewise.
29358         * tests/test-mbsstr1.c (main): Likewise.
29359         * tests/test-mbsstr2.c (main): Likewise.
29360         * tests/test-memmem.c (main): Likewise.
29361         * tests/test-strcasestr.c (main): Likewise.
29362         * tests/test-striconv.c (main): Likewise.
29363         * tests/test-striconveh.c (main): Likewise.
29364         * tests/test-striconveha.c (main): Likewise.
29365         * tests/test-strstr.c (main): Likewise.
29366
29367         * build-aux/git-version-gen: Adjust a comment and the Usage string.
29368
29369         bootstrap: sync from coreutils again
29370         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
29371
29372 2008-03-01  Jim Meyering  <meyering@redhat.com>
29373
29374         bootstrap: sync from coreutils
29375         * build-aux/bootstrap (update_po_files): Copy a .po file into place
29376         also when the target doesn't exist.
29377
29378 2008-03-01  Eric Blake  <ebb9@byu.net>
29379
29380         Fix bugs in last patch.
29381         * lib/memchr2.c (memchr2): Fix typo.
29382         * tests/test-memchr2.c: Test previous bug, and don't use GNU
29383         extension.
29384         Reported by Bruce Korb.
29385
29386         New module 'memchr2'.
29387         * modules/memchr2: New file.
29388         * modules/memchr2-tests: Likewise.
29389         * lib/memchr2.h: Likewise.
29390         * lib/memchr2.c: Likewise, based on memchr.c.
29391         * tests/test-memchr2.c: New test.
29392         * MODULES.html.sh (String handling): Add memchr2.
29393
29394 2008-02-29  Bruno Haible  <bruno@clisp.org>
29395
29396         * modules/freadseek-tests: New file.
29397         * tests/test-freadseek.sh: New file.
29398         * tests/test-freadseek.c: New file.
29399
29400         New module 'freadseek'.
29401         * modules/freadseek: New file.
29402         * lib/freadseek.h: New file.
29403         * lib/freadseek.c: New file.
29404         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
29405
29406 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
29407
29408         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
29409         wydawca.
29410
29411         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
29412         program_invocation_name and program_invocation_short_name are
29413         present.
29414
29415 2008-02-28  Bruno Haible  <bruno@clisp.org>
29416
29417         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
29418         * tests/test-freadptr.sh: Also test non-seekable stdin.
29419
29420 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
29421
29422         * build-aux/bootstrap (source_base, m4_base)
29423         (doc_base, tests_base): New variables.
29424         (gnulib_tool_options): Do not hardcode base directories, use
29425         the above variables instead.
29426
29427 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
29428
29429         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
29430
29431 2008-02-28  Bruno Haible  <bruno@clisp.org>
29432
29433         * modules/freadptr-tests: New file.
29434         * tests/test-freadptr.sh: New file.
29435         * tests/test-freadptr.c: New file.
29436
29437         New module 'freadptr'.
29438         * modules/freadptr: New file.
29439         * lib/freadptr.h: New file.
29440         * lib/freadptr.c: New file.
29441         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
29442
29443 2008-02-26  Karl Berry  <karl@freefriends.org>
29444
29445         Sync from Libtool:
29446         * libltdl/argz.c (argz_add, argz_count): New functions.
29447         * libltdl/argz.in.h: Declare them.
29448         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
29449
29450 2008-02-22  Bruno Haible  <bruno@clisp.org>
29451
29452         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
29453         is a pointer type.  Needed for HP-UX 10.
29454         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
29455         * doc/posix-functions/gmtime_r.texi: Likewise.
29456         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
29457
29458 2008-02-24  Bruno Haible  <bruno@clisp.org>
29459
29460         * modules/environ-tests: New file.
29461         * tests/test-environ.c: New file.
29462
29463         New module 'environ'.
29464         * modules/environ: New file.
29465         * lib/unistd.in.h (environ): New declaration.
29466         * m4/environ.m4: New file.
29467         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
29468         after use.
29469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
29470         HAVE_DECL_ENVIRON.
29471         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
29472         HAVE_DECL_ENVIRON.
29473         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
29474         wrong claim that 'environ' is missing on some systems.
29475         * modules/execute (Depends-on): Add environ.
29476         * lib/execute.c (environ): Remove fallback declaration.
29477         * modules/pipe (Depends-on): Add environ.
29478         * lib/pipe.c (environ): Remove fallback declaration.
29479         * modules/setenv (Depends-on): Add environ.
29480         * lib/setenv.c (environ): Remove fallback declaration.
29481         * modules/unsetenv (Depends-on): Add environ.
29482         * lib/unsetenv.c (environ): Remove fallback declaration.
29483         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
29484         m4/environ.m4.
29485         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
29486         (gl_PREREQ_UNSETENV): Likewise.
29487
29488 2008-02-24  Bruno Haible  <bruno@clisp.org>
29489
29490         * doc/posix-functions/environ.texi: Document the MacOS X problem.
29491
29492 2008-02-20  Bob Proulx  <bob@proulx.com>
29493
29494         Enable use of older two part flavor 'git describe'.
29495         * build-aux/git-version-gen: If using the older two part flavor of
29496         git version then recreate the third part now present in the
29497         newer three part flavor of git describe.
29498
29499 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
29500
29501         * lib/fts.c (fts_build): Typo correction to comment.
29502
29503 2008-02-17  Bruno Haible  <bruno@clisp.org>
29504
29505         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
29506         generating no-op conflicts.
29507
29508 2008-02-17  Bruno Haible  <bruno@clisp.org>
29509
29510         Speed up by 10%.
29511         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
29512         result_entries, rather than an index-based loop.
29513
29514 2008-02-17  Bruno Haible  <bruno@clisp.org>
29515
29516         Speed up by 25%.
29517         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
29518         'hashcode_cached'.
29519         (entry_create): New function.
29520         (entry_hashcode): Use the cached hashcode if possible.
29521         (read_changelog_file, try_split_merged_entry): Use entry_create.
29522
29523 2008-02-17  Bruno Haible  <bruno@clisp.org>
29524
29525         Speed up from O(n^2) to O(n) for long ChangeLog files.
29526         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
29527         (read_changelog_file): Change implementation of entries_reversed list
29528         to rbtreehash.
29529         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
29530
29531 2008-02-17  Bruno Haible  <bruno@clisp.org>
29532
29533         New option --split-merged-entry.
29534         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
29535         (find_paragraph_end, try_split_merged_entry): New functions.
29536         (long_options): Add option --split-merged-entry.
29537         (usage): Document option --split-merged-entry.
29538         (main): Implement option --split-merged-entry.
29539         Reported by Eric Blake.
29540
29541 2008-02-17  Bruno Haible  <bruno@clisp.org>
29542
29543         * lib/git-merge-changelog.c: Include c-strstr.h.
29544         (main): Support the "git pull --rebase" situation.
29545         * modules/git-merge-changelog (Depends-on): Add c-strstr.
29546         Reported by Eric Blake.
29547
29548 2008-02-16  Eric Blake  <ebb9@byu.net>
29549
29550         Avoid doubling \ in common case of "c-maybe" quoting style.
29551         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
29552         eliding outer quotes.
29553         * lib/quotearg.h: Document this.
29554         * tests/test-quotearg.c (result_strings, inputs, results_g)
29555         (flag_results, locale_results): Test it by adding a new string to
29556         each test group.
29557         (compare_strings): Test new string.
29558
29559 2008-02-13  Eric Blake  <ebb9@byu.net>
29560
29561         Avoid trigraph quoting in default output.
29562         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
29563         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
29564         unless explicitly requested.
29565         * tests/test-quotearg.c (flag_results, main): Add additional tests.
29566
29567 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
29568
29569         Don't rely on signed integer overflowing to negative value.
29570         * lib/getugroups.c (getugroups): Include <limits.h>.
29571         Instead, compare against INT_MAX, and increment only if the test passes.
29572
29573 2008-02-13  Jim Meyering  <meyering@redhat.com>
29574         and Eric Blake  <ebb9@byu.net>
29575
29576         Avoid shadowing warning and compile errors on Linux.
29577         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
29578         forwarding macros on Linux.
29579         (dcgettext): Define a stub, for Linux.
29580         (results_g, main): Avoid warnings.
29581
29582 2008-02-12  Eric Blake  <ebb9@byu.net>
29583
29584         Silence warning in last patch.
29585         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
29586
29587         Quotearg part 4: add tests, fix c-maybe colon quoting.
29588         * lib/quotearg.h: Improve documentation.
29589         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
29590         escapes when adding outer quotes.  When quoting trigraphs, use
29591         valid C notation.  When quoting NUL, omit extra characters if next
29592         character is not digit.  Alter prototype.
29593         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
29594         callers.
29595         * modules/quotearg-tests: New module.
29596         * tests/test-quotearg.c: New test.
29597
29598 2008-02-07  Eric Blake  <ebb9@byu.net>
29599
29600         Quotearg part 3: add flag to control outer quote elision.
29601         * lib/quotearg.h (c_maybe_quoting_style): New style.
29602         (enum quoting_flags): Better documentation of flags.
29603         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
29604         c-maybe style.
29605         (quotearg_buffer_restyled): Handle new flag to elide outer
29606         quotes.
29607
29608         Quotearg part 2: add flag that can control NUL elision.
29609         * lib/quotearg.h (set_quoting_flags): New prototype.
29610         * lib/quotearg.c (struct quoting_options): Add flag field.
29611         (set_quoting_flags): New function.
29612         (quotearg_buffer_restyled): Add flags parameter.
29613         (quotearg_alloc_mem): Set the flag if length cannot be returned.
29614         (quotearg_n_options): Set the flag, since length cannot be
29615         returned.
29616         (quoting_options_from_style): Default flags correctly.
29617
29618         Quotearg part 1: more wrappers, restore quotearg_char state.
29619         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
29620         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
29621         (quotearg_colon_mem): New wrappers.
29622         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
29623         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
29624         functions.
29625         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
29626         (quotearg_colon_mem): New functions.
29627
29628 2008-02-11  Bruno Haible  <bruno@clisp.org>
29629
29630         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
29631         library in the current directory: it does not work with parallel make.
29632         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29633
29634 2008-02-11  Bruno Haible  <bruno@clisp.org>
29635
29636         * .gitattributes: New file.
29637
29638 2008-02-11  Jim Meyering  <meyering@redhat.com>
29639
29640         useless-if-before-free: Fix reversed exit values.
29641         * build-aux/useless-if-before-free: Use correct values
29642         for EXIT_MATCH and EXIT_NO_MATCH.
29643
29644         * build-aux/useless-if-before-free: Close stdout carefully.
29645
29646 2008-02-10  Bruno Haible  <bruno@clisp.org>
29647
29648         New module 'git-merge-changelog'.
29649         * modules/git-merge-changelog: New file.
29650         * lib/git-merge-changelog.c: New file.
29651
29652 2008-02-10  Jim Meyering  <meyering@redhat.com>
29653
29654         useless-if-before-free: New option: --list (-l).
29655
29656         useless-if-before-free: Don't exit immediately upon open failure.
29657         * build-aux/useless-if-before-free: Exit 2 for errors.
29658         Upon failure to open a file, don't exit immediately.
29659         Rather, just warn and continue with any remaining files.
29660
29661 2008-02-10  Bruno Haible  <bruno@clisp.org>
29662
29663         New abstract list operation 'node_set_value'.
29664         * lib/gl_list.h (gl_list_node_set_value): New function.
29665         (struct gl_list_implementation): New field node_set_value.
29666         * lib/gl_list.c (gl_list_node_set_value): New function.
29667         * lib/gl_array_list.c (gl_array_node_set_value): New function.
29668         (gl_array_list_implementation): Update.
29669         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
29670         (gl_carray_list_implementation): Update.
29671         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
29672         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
29673         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
29674         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
29675         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
29676         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
29677         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
29678         Update.
29679         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
29680         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
29681         (gl_sublist_list_implementation): Update.
29682
29683 2008-02-10  Bruno Haible  <bruno@clisp.org>
29684
29685         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
29686         Needed when ELEMENT is #defined to 'some_type *'.
29687
29688 2008-02-10  Jim Meyering  <meyering@redhat.com>
29689
29690         New script and module: useless-if-before-free
29691         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
29692         * build-aux/useless-if-before-free: New file.
29693         * modules/useless-if-before-free: New file.
29694
29695         * build-aux/gitlog-to-changelog: Use committer date, not author date.
29696
29697         xstrtol_error: Fix typo.
29698         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
29699         s/exit_failure/exit_status/.
29700
29701 2008-02-09  Jim Meyering  <meyering@redhat.com>
29702
29703         New script and module: gitlog-to-changelog
29704         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
29705         * modules/gitlog-to-changelog: New file.
29706         * build-aux/gitlog-to-changelog: New file.
29707
29708 2008-02-08  Jim Meyering  <meyering@redhat.com>
29709
29710         Avoid two "parameter unused" warnings.
29711         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
29712         Mark "st" as used.
29713
29714         Use "git COMMAND", not "git-COMMAND".
29715         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
29716         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
29717         * build-aux/git-version-gen: Use "git status", not "git-status".
29718
29719 2008-02-07  Bruno Haible  <bruno@clisp.org>
29720
29721         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
29722         Avoids a crash on Windows Vista.
29723         Reported by Adam Strzelecki <ono@java.pl> via
29724         Simon Josefsson <simon@josefsson.org>.
29725
29726 2008-02-06  Bruno Haible  <bruno@clisp.org>
29727
29728         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
29729         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
29730         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
29731         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
29732         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
29733         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29734         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
29735         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
29736         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29737         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29738         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29739         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29740         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29741         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29742         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29743         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
29744         left-adjust flag.
29745         * tests/test-snprintf-posix.h (test_function): Likewise.
29746         * tests/test-sprintf-posix.h (test_function): Likewise.
29747         * tests/test-vasprintf-posix.c (test_function): Likewise.
29748         * doc/posix-functions/fprintf.texi: Update.
29749         * doc/posix-functions/printf.texi: Update.
29750         * doc/posix-functions/snprintf.texi: Update.
29751         * doc/posix-functions/sprintf.texi: Update.
29752         * doc/posix-functions/vfprintf.texi: Update.
29753         * doc/posix-functions/vprintf.texi: Update.
29754         * doc/posix-functions/vsnprintf.texi: Update.
29755         * doc/posix-functions/vsprintf.texi: Update.
29756         Reported by Peter Fales <psfales@alcatel-lucent.com>.
29757
29758 2008-02-06  Bruno Haible  <bruno@clisp.org>
29759
29760         Fix bug introduced on 2008-01-26.
29761         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
29762
29763 2008-02-06  Bruno Haible  <bruno@clisp.org>
29764
29765         Fix bug introduced on 2007-06-10.
29766         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
29767         !NEED_PRINTF_FLAG_ZERO.
29768
29769 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
29770
29771         getloadavg: use libperfstat on AIX5
29772         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
29773
29774 2008-02-03  Bruno Haible  <bruno@clisp.org>
29775
29776         * lib/diffseq.h: Add comments about required #includes.
29777         Reported by Michael Biggs <gnulib@doubleplum.net>.
29778
29779 2008-02-01  Bruno Haible  <bruno@clisp.org>
29780
29781         * users.txt: Add gnuit.
29782
29783 2008-01-31  Bruno Haible  <bruno@clisp.org>
29784
29785         * lib/md4.c (set_uint32): Mark as inline.
29786         * lib/md5.c (set_uint32): Likewise.
29787         * lib/sha1.c (set_uint32): Likewise.
29788         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
29789         * m4/md5.m4 (gl_MD5): Likewise.
29790         * m4/sha1.m4 (gl_SHA1): Likewise.
29791
29792 2008-01-31  Jim Meyering  <meyering@redhat.com>
29793
29794         Use "sizeof VAR", rather than a literal "4".
29795         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
29796         * lib/md4.c (md4_read_ctx): Likewise.
29797         * lib/sha1.c (sha1_read_ctx): Likewise.
29798
29799 2008-01-31  Simon Josefsson  <simon@josefsson.org>
29800
29801         * tests/test-sha1.c: New file, based on test-md5.c.
29802
29803         * modules/crypto/sha1-tests: New file.
29804
29805 2008-01-31  Simon Josefsson  <simon@josefsson.org>
29806
29807         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
29808
29809 2008-01-31  Jim Meyering  <meyering@redhat.com>
29810
29811         Prefer "sizeof v" over the equivalent "4".
29812         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
29813         * lib/md5.c (set_uint32): Likewise.
29814         * lib/sha1.c (set_uint32): Likewise.
29815
29816 2008-01-31  Simon Josefsson  <simon@josefsson.org>
29817
29818         * lib/sha1.c (set_uint32): Mark function as static.
29819
29820 2008-01-31  Simon Josefsson  <simon@josefsson.org>
29821
29822         md2: clarify comments to say that alignment is not required.
29823         * lib/md2.h: Remove warning about alignment in comment.
29824         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
29825         never been required.
29826
29827 2008-01-31  Simon Josefsson  <simon@josefsson.org>
29828
29829         md4: adapt alignment constraint fix from sha1.
29830         * lib/md4.c (set_uint32): New function, from sha1.c
29831         (md4_read_ctx): Use it.
29832         (md4_finish_ctx): Doc fix.
29833         * lib/md4.h: Doc fix.
29834
29835 2008-01-31  Simon Josefsson  <simon@josefsson.org>
29836
29837         md5: adapt alignment constraint fix from sha1.
29838         * lib/md5.c (set_uint32): New function, from sha1.c
29839         (md5_read_ctx): Use it.
29840         (md5_finish_ctx): Doc fix.
29841         * lib/md5.h: Doc fix.
29842
29843 2008-01-30  Peter Palfrader  <weasel@debian.org>
29844
29845         sha1: remove the result buffer alignment constraint
29846         * lib/sha1.c (set_uint32): New function.
29847         (sha1_read_ctx): Rewrite to remove the result buffer alignment
29848         constraint.
29849         (sha1_finish_ctx): Remove comment warning about alignment constraint.
29850         * lib/sha1.h: Likewise.
29851
29852 2008-01-30  Andreas Schwab  <schwab@suse.de>
29853             Bruno Haible  <bruno@clisp.org>
29854
29855         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
29856         correct definition of LDBL_MIN_EXP.
29857
29858 2008-01-30  Karl Berry  <karl@gnu.org>
29859
29860         * config/srclist-update: try to preserve x bit on updates.
29861         * config/srclistvars.sh: update for karl.
29862
29863 2008-01-29  Jim Meyering  <meyering@redhat.com>
29864
29865         vasnprintf.c: Avoid warning about unused label
29866         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
29867         "overflow" label definition and associated code with the
29868         same cpp condition that guards the sole use of that label.
29869
29870 2008-01-26  Bruno Haible  <bruno@clisp.org>
29871
29872         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
29873         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
29874         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
29875         * lib/isnanl-nolibm.h (isnanl): Likewise.
29876         Reported by Paul Eggert <eggert@cs.ucla.edu>.
29877
29878 2008-01-26  Bruno Haible  <bruno@clisp.org>
29879
29880         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
29881         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
29882
29883 2008-01-26  Bruno Haible  <bruno@clisp.org>
29884
29885         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
29886         GCC >= 4.0 built-in.
29887         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
29888
29889 2008-01-26  Bruno Haible  <bruno@clisp.org>
29890
29891         Rename isnan, applicable to 'double' only, to isnand.
29892         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
29893         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
29894         (configure.ac): Update.
29895         (Include): Replace "isnan.h" with "isnand.h".
29896         * m4/isnand.m4: Renamed from m4/isnan.m4.
29897         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
29898         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
29899         instead of isnan.c.
29900         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
29901         instead of HAVE_ISNAN_IN_LIBC.
29902         (isnand): Renamed from isnan.
29903         * lib/isnand.c: New file.
29904         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
29905         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
29906         (Makefile.am): Update.
29907         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
29908         Include isnand.h instead of isnan.h.
29909         (main): Test isnand instead of isnan.
29910         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
29911         isnan-nolibm.
29912         * modules/frexp (Depends-on): Likewise.
29913         * modules/frexp-tests (Depends-on): Likewise.
29914         * modules/frexp-nolibm (Depends-on): Likewise.
29915         * modules/frexp-nolibm-tests (Depends-on): Likewise.
29916         * modules/isfinite (Depends-on): Likewise.
29917         * modules/round-tests (Depends-on): Likewise.
29918         * modules/signbit (Depends-on): Likewise.
29919         * modules/signbit-tests (Depends-on): Likewise.
29920         * modules/snprintf-posix (Depends-on): Likewise.
29921         * modules/sprintf-posix (Depends-on): Likewise.
29922         * modules/trunc-tests (Depends-on): Likewise.
29923         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29924         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29925         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29926         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29927         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29928         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29929         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29930         * modules/vasnprintf-posix (Depends-on): Likewise.
29931         * modules/vasprintf-posix (Depends-on): Likewise.
29932         * modules/vfprintf-posix (Depends-on): Likewise.
29933         * modules/vsnprintf-posix (Depends-on): Likewise.
29934         * modules/vsprintf-posix (Depends-on): Likewise.
29935         * lib/frexp.c: Include isnand.h instead of isnan.h.
29936         (ISNAN): Set to isnand instead of isnan.
29937         * lib/isfinite.c: Include isnand.h instead of isnan.h.
29938         (gl_isfinited): Use isnand instead of isnan.
29939         * lib/signbitd.c: Include isnand.h instead of isnan.h.
29940         (gl_signbitd): Use isnand instead of isnan.
29941         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
29942         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
29943         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
29944         (main): Use isnand instead of isnan.
29945         * tests/test-round1.c: Include isnand.h.
29946         (main): Use isnand instead of isnan.
29947         * tests/test-round2.c: Include isnand.h instead of isnan.h.
29948         (ISNAN): Set to isnand instead of isnan.
29949         * tests/test-trunc1.c: Include isnand.h.
29950         (main): Use isnand instead of isnan.
29951         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
29952         (equal): Use isnand instead of isnan.
29953         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
29954         isnand-nolibm.
29955         * NEWS: Mention the change.
29956
29957 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
29958             Bruno Haible  <bruno@clisp.org>
29959
29960         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
29961         the GCC builtins for signbits are present and set
29962         REPLACE_SIGNBIT_USING_GCC if so.
29963         * lib/math.in.h (signbit): Define using GCC builtins if
29964         REPLACE_SIGNBIT_USING_GCC is set.
29965         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
29966         REPLACE_SIGNBIT_USING_GCC.
29967         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
29968
29969 2008-01-25  Jim Meyering  <meyering@redhat.com>
29970
29971         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
29972         * lib/poll.c: Include <config.h>, not "config.h".
29973         * tests/test-getaddrinfo.c: Likewise.
29974
29975 2008-01-25  Simon Josefsson  <simon@josefsson.org>
29976
29977         * modules/sockets-tests: New file.
29978
29979 2008-01-24  Simon Josefsson  <simon@josefsson.org>
29980
29981         * modules/sockets: New module, can be used to call WSA_Startup and
29982         WSA_Cleanup when needed.
29983
29984         * lib/sockets.h, lib/sockets.c: New files.
29985
29986         * m4/sockets.m4: New file.
29987
29988         * tests/test-sockets.c: New file.
29989
29990 2008-01-19  Bruno Haible  <bruno@clisp.org>
29991
29992         * doc/posix-headers: Renamed from doc/headers.
29993         * doc/posix-functions: Renamed from doc/functions.
29994         * doc/gnulib.texi: Update.
29995
29996 2008-01-19  Bruno Haible  <bruno@clisp.org>
29997
29998         * doc/glibc-functions/strcasestr.texi: Include contents of
29999         doc/functions/strcasestr.texi, fixing the list of platforms.
30000         * doc/functions/strcasestr.texi: Remove file.
30001
30002 2008-01-19  Bruno Haible  <bruno@clisp.org>
30003
30004         * doc/glibc-functions/memmem.texi: Include contents of
30005         doc/functions/memmem.texi.
30006         * doc/functions/memmem.texi: Remove file.
30007
30008 2008-01-18  Bruno Haible  <bruno@clisp.org>
30009
30010         * doc/glibc-functions/*.texi: New files.
30011         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
30012         to use the new files.
30013
30014 2008-01-17  Bruno Haible  <bruno@clisp.org>
30015
30016         * tests/test-gethostname.c (main): Fix printf statement.
30017
30018 2008-01-17  Simon Josefsson  <simon@josefsson.org>
30019
30020         * modules/gethostname-tests: New file.
30021
30022         * tests/test-gethostname.c: New file.
30023
30024 2008-01-17  Simon Josefsson  <simon@josefsson.org>
30025
30026         * lib/gethostname.c: Include string.h unconditionally, strncpy is
30027         used by the UNAME case.  Reported by Bruno Haible
30028         <bruno@clisp.org>.
30029
30030 2008-01-17  Eric Blake  <ebb9@byu.net>
30031
30032         Convert c-strcasestr to be more efficient.
30033         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
30034         (Depends-on): Add c-strcase, remove malloca, strnlen.
30035         * tests/test-c-strcasestr.c (main): Enhance test.
30036         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
30037
30038 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
30039
30040         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
30041         Use it in creating po/Makevars.
30042
30043 2008-01-15  Simon Josefsson  <simon@josefsson.org>
30044
30045         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
30046         Applications that requires it should initialize libgcrypt
30047         manually.
30048
30049 2008-01-16  Simon Josefsson  <simon@josefsson.org>
30050
30051         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
30052
30053 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
30054
30055         Fix problem with getdate on mingw32 reported by Simon Josefsson
30056         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
30057         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
30058         tzname", when deciding whether to declare tzname.
30059         * lib/strftime.c (tzname): Likewise.
30060
30061 2008-01-15  Bruno Haible  <bruno@clisp.org>
30062
30063         Work around a MacOS X 10.5 bug in frexpl().
30064         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
30065         * doc/functions/frexpl.texi: Document the bug.
30066         Reported by Elias Pipping <pipping@gentoo.org>.
30067
30068 2008-01-14  Eric Blake  <ebb9@byu.net>
30069
30070         Touch up previous patch.
30071         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
30072         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
30073
30074         Convert strcasestr module to use Two-Way algorithm.
30075         * modules/strcasestr-simple: New module, based on the old
30076         strcasestr, but with Two-Way rather than KMP.
30077         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
30078         * lib/string.in.h (rpl_strcasestr): Declare.
30079         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
30080         performance.
30081         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
30082         * modules/string (Makefile.am): Support strcasestr.
30083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
30084         * modules/strcasestr-tests (Depends-on): Check for alarm.
30085         * tests/test-strcasestr.c: Augment test.
30086         * lib/str-two-way.h: Clean up stray macro.
30087         * NEWS: Document new module.
30088         * MODULES.html.sh (string handling): Likewise.
30089         * doc/functions/strcasestr.texi: New file.
30090         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
30091         here, since it is not a POSIX function.
30092
30093 2008-01-14  Colin Watson  <cjwatson@debian.org>
30094             Bruno Haible  <bruno@clisp.org>
30095
30096         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
30097         works fine; if not, set REPLACE_STRSIGNAL.
30098         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
30099         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30100         REPLACE_STRSIGNAL.
30101         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
30102         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
30103         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
30104
30105 2008-01-14  Bruno Haible  <bruno@clisp.org>
30106
30107         * modules/strsignal (Include): Change to <string.h>.
30108
30109 2008-01-14  Colin Watson  <cjwatson@debian.org>
30110
30111         * modules/argp (Notice): Add a notice recommending to change
30112         XGETTEXT_OPTIONS.
30113         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
30114
30115 2008-01-13  Colin Watson  <cjwatson@debian.org>
30116
30117         * modules/strsignal-tests: New file.
30118         * tests/test-strsignal.c: New file.
30119
30120         * lib/strsignal.c: New file, from glibc with modifications.
30121         * lib/siglist.h: New file, from glibc with modifications.
30122         * lib/string.in.h (strsignal): New declaration.
30123         * m4/strsignal.m4: New file.
30124         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30125         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
30126         * modules/strsignal: New file.
30127         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
30128         HAVE_DECL_STRSIGNAL.
30129
30130 2008-01-13  Bruno Haible  <bruno@clisp.org>
30131
30132         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
30133         locale encoding is not ASCII. Needed for OpenBSD 4.0.
30134         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
30135         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30136
30137 2008-01-13  Bruno Haible  <bruno@clisp.org>
30138
30139         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
30140         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
30141         * lib/argp.h (__attribute__): Likewise.
30142         * lib/c-stack.c (__attribute__): Likewise.
30143         * lib/error.h (__attribute__): Likewise.
30144         * lib/fts.c (__attribute__): Likewise.
30145         * lib/openat.h (__attribute__): Likewise.
30146         * lib/stdio.in.h (__attribute__): Likewise.
30147         * lib/string.in.h (__attribute__): Likewise.
30148         * lib/utimens.c (__attribute__): Likewise.
30149         * lib/vasnprintf.h (__attribute__): Likewise.
30150         * lib/xalloc.h (__attribute__): Likewise.
30151         * lib/xprintf.h (__attribute__): Likewise.
30152         * lib/xstrtol.h (__attribute__): Likewise.
30153         * lib/xvasprintf.h (__attribute__): Likewise.
30154
30155 2008-01-12  Bruno Haible  <bruno@clisp.org>
30156
30157         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
30158         * doc/glibc-headers/a.out.texi: New file.
30159         * doc/glibc-headers/aliases.texi: New file.
30160         * doc/glibc-headers/alloca.texi: New file.
30161         * doc/glibc-headers/ar.texi: New file.
30162         * doc/glibc-headers/argp.texi: New file.
30163         * doc/glibc-headers/argz.texi: New file.
30164         * doc/glibc-headers/byteswap.texi: New file.
30165         * doc/glibc-headers/crypt.texi: New file.
30166         * doc/glibc-headers/endian.texi: New file.
30167         * doc/glibc-headers/envz.texi: New file.
30168         * doc/glibc-headers/err.texi: New file.
30169         * doc/glibc-headers/error.texi: New file.
30170         * doc/glibc-headers/execinfo.texi: New file.
30171         * doc/glibc-headers/fpu_control.texi: New file.
30172         * doc/glibc-headers/fstab.texi: New file.
30173         * doc/glibc-headers/fts.texi: New file.
30174         * doc/glibc-headers/getopt.texi: New file.
30175         * doc/glibc-headers/ieee754.texi: New file.
30176         * doc/glibc-headers/ifaddrs.texi: New file.
30177         * doc/glibc-headers/libintl.texi: New file.
30178         * doc/glibc-headers/mcheck.texi: New file.
30179         * doc/glibc-headers/mntent.texi: New file.
30180         * doc/glibc-headers/obstack.texi: New file.
30181         * doc/glibc-headers/paths.texi: New file.
30182         * doc/glibc-headers/printf.texi: New file.
30183         * doc/glibc-headers/pty.texi: New file.
30184         * doc/glibc-headers/resolv.texi: New file.
30185         * doc/glibc-headers/shadow.texi: New file.
30186         * doc/glibc-headers/sysexits.texi: New file.
30187         * doc/glibc-headers/ttyent.texi: New file.
30188
30189 2008-01-12  Jim Meyering  <meyering@redhat.com>
30190
30191         announce-gen: emit Gnulib's git-based version string.
30192         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
30193         New option --gnulib-version=V, where V is expected to be
30194         the output of running git describe in the gnulib directory.
30195         (get_tool_versions): Request feedback on xdelta.  I suspect it's
30196         not useful, and plan to stop publishing an xdelta file with each
30197         coreutils release.
30198
30199         * build-aux/announce-gen: Also check for lzma-compressed files.
30200
30201 2008-01-11  Bruno Haible  <bruno@clisp.org>
30202
30203         * tests/test-memmem.c (main): Increase maximum allowed time.
30204         * tests/test-strstr.c (main): Likewise.
30205
30206 2008-01-11  Bruno Haible  <bruno@clisp.org>
30207
30208         * doc/functions/memmem.texi: Add more precisions about platforms.
30209         * doc/functions/strstr.texi: Likewise.
30210
30211 2008-01-10  Eric Blake  <ebb9@byu.net>
30212
30213         * m4/strstr.m4: Delete cruft from copy-n-paste.
30214         Reported by Bruno Haible.
30215
30216 2008-01-10  Bruno Haible  <bruno@clisp.org>
30217
30218         Make c-strstr rely on strstr.
30219         * lib/c-strstr.c: Don't include str-kmp.h.
30220         (c_strstr): Define in terms of strstr.
30221         * modules/c-strstr (Files): Remove lib/str-kmp.h.
30222         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
30223
30224 2008-01-10  Bruno Haible  <bruno@clisp.org>
30225
30226         * doc/gnulib.texi (String Functions in C Locale): New section.
30227         * doc/c-ctype.texi: New file.
30228         * doc/c-strcase.texi: New file.
30229         * doc/c-strcaseeq.texi: New file.
30230         * doc/c-strcasestr.texi: New file.
30231         * doc/c-strstr.texi: New file.
30232         * doc/c-strtod.texi: New file.
30233         * doc/c-strtold.texi: New file.
30234
30235 2008-01-10  Eric Blake  <ebb9@byu.net>
30236
30237         * lib/relocatable.h: Fix a comment.
30238
30239 2008-01-10  Eric Blake  <ebb9@byu.net>
30240
30241         Share two-way algorithm.
30242         * lib/str-two-way.h: New file, merged from...
30243         * lib/memmem.c: ...here...
30244         * lib/strstr.c: ...and here.
30245         * modules/memmem (Files): Use it.
30246         * modules/strstr (Files): Likewise.
30247
30248         Avoid quadratic strstr implementations.
30249         * lib/strstr.c: New file.
30250         * m4/strstr.m4: Likewise.
30251         * modules/strstr: Likewise.
30252         * modules/strstr-tests: Likewise.
30253         * tests/test-strstr.c: Likewise.
30254         * lib/string.in.h (rpl_strstr): Declare.
30255         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
30256         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
30257         * modules/string (Makefile.am): Likewise.
30258         * MODULES.html.sh (string handling): Mention new module.
30259         * doc/functions/strstr.texi (strstr): Document the bug.
30260
30261 2008-01-10  Bruno Haible  <bruno@clisp.org>
30262
30263         * lib/relocatable.h (relocate): State whether result is freshly
30264         allocated or not.
30265         * lib/relocatable.c (relocate): Return a freshly allocated string
30266         instead of a pointer to a privately held string.
30267         Reported by Sylvain Beucler <beuc@gnu.org>.
30268
30269 2008-01-10  Colin Watson  <cjwatson@debian.org>
30270
30271         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
30272         s/S_ISNLK/S_ISLNK/.
30273
30274 2008-01-09  Bruno Haible  <bruno@clisp.org>
30275
30276         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
30277         and other files.
30278         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
30279         if it's only a guess.
30280         * modules/memmem: Simplify by depending on memmem-simple.
30281
30282 2008-01-09  Bruno Haible  <bruno@clisp.org>
30283
30284         Work around OpenBSD 4.0 tdelete() bug.
30285         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
30286         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
30287         macros and don't redefine the enum values.
30288         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
30289         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
30290         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
30291
30292 2008-01-09  Bruno Haible  <bruno@clisp.org>
30293
30294         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
30295         (main): Don't perform the tests if setlocale did not install a UTF-8
30296         locale. Needed on OpenBSD 4.0.
30297         * modules/wcwidth-tests (Depends-on): Add localcharset.
30298
30299 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
30300
30301         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
30302         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
30303         * NEWS: announce this.
30304         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
30305
30306 2008-01-09  Simon Josefsson  <simon@josefsson.org>
30307         and Eric Blake  <ebb9@byu.net>
30308
30309         Add memmem-simple module.
30310         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
30311         (gl_FUNC_MEMMEM): Separate performance from presence checks.
30312         * modules/memmem-simple: New file.
30313         * modules/memmem (Description): Tweak.
30314         * MODULES.html.sh (string handling): Mention new module.
30315         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
30316         addressed by memmem-simple.
30317         * NEWS: Document the difference.
30318
30319 2008-01-09  Eric Blake  <ebb9@byu.net>
30320
30321         Give gcc some memmem optimization hints.
30322         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
30323         (strcasestr): Declare as pure.
30324         * modules/memmem (Maintainer): Claim my implementation.
30325
30326 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30327
30328         Support AIX 6.1 and higher.
30329         * build-aux/config.libpath: Likewise.
30330         * build-aux/config.rpath: Likewise.
30331
30332 2008-01-08  Jim Meyering  <meyering@redhat.com>
30333             Bruno Haible  <bruno@clisp.org>
30334
30335         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
30336         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
30337         Reported by Peter Fales in
30338         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
30339
30340 2008-01-08  Bruno Haible  <bruno@clisp.org>
30341
30342         * modules/unictype/category-of (Depends-on): Add
30343         unictype/category-none.
30344         * modules/unictype/category-and-tests (Depends-on): Add
30345         unictype/category-{L,N,Lu,Nd}.
30346         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
30347         * modules/unictype/category-or-tests (Depends-on): Add
30348         unictype/category-{L,N}.
30349         * modules/unictype/category-name-tests (Depends-on): Add
30350         unictype/category-{Z,Nl}.
30351         Reported by Simon Josefsson.
30352
30353 2008-01-08  Bruno Haible  <bruno@clisp.org>
30354
30355         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
30356         convention better.
30357         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
30358         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
30359         Reported by Peter Miller <millerp@canb.auug.org.au>.
30360
30361 2008-01-08  Eric Blake  <ebb9@byu.net>
30362
30363         Rewrite memmem to guarantee linear complexity without malloc.
30364         * lib/memmem.c (memmem): Use Two-Way rather than
30365         Knuth-Morris-Pratt, to allow O(1) space usage.
30366         (critical_factorization, two_way_short_needle)
30367         (two_way_long_needle): New functions.
30368         (knuth_morris_pratt): Delete.
30369         * modules/memmem (Depends-on): No longer need malloca or stdbool.
30370         Add stdint.
30371         * tests/test-memmem.c (main): Add tests for periodic needle and
30372         sublinear performance.
30373         * doc/functions/memmem.texi (memmem): Document other deficiencies
30374         in cygwin and older glibc.
30375
30376 2008-01-08  Bruno Haible  <bruno@clisp.org>
30377
30378         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
30379         augmentation.
30380
30381 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
30382
30383         Add a configure time option: --disable-acl.
30384         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
30385         AC_ARG_ENABLE(acl).
30386
30387 2008-01-06  Simon Josefsson  <simon@josefsson.org>
30388
30389         * tests/test-localename.c: Don't include obsolete "setenv.h".
30390
30391         * modules/localename-tests (Depends-on): Need unsetenv.
30392
30393 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30394
30395         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
30396
30397 2008-01-06  Colin Watson  <cjwatson@debian.org>
30398
30399         * users.txt: Add man-db.
30400
30401 2008-01-07  Bruno Haible  <bruno@clisp.org>
30402
30403         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
30404         previous section name.
30405
30406 2008-01-07  Bruno Haible  <bruno@clisp.org>
30407
30408         * lib/progname.c (set_program_name): Don't strip off a leading
30409         "lt-" prefix outside a .libs directory.
30410         Suggested by Paul Eggert.
30411
30412 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
30413             Bruno Haible  <bruno@clisp.org>
30414
30415         Improve memory cleanup in 'relocatable' module.
30416         * lib/relocatable.h (compute_curr_prefix): Change return type to
30417         'char *'.
30418         * lib/relocatable.c (compute_curr_prefix): Change return type to
30419         'char *'. Free curr_installdir after use.
30420         (relocate): Free curr_prefix_better after use.
30421         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
30422
30423 2008-01-01  Bruno Haible  <bruno@clisp.org>
30424
30425         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
30426         failure on older glibc systems.
30427         Reported by Peter Fales <psfales@alcatel-lucent.com>.
30428
30429 2008-01-05  Eric Blake  <ebb9@byu.net>
30430
30431         Avoid quadratic system memmem.
30432         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
30433         Reported by Ralf Wildenhues.
30434
30435         Fix memmem test for mingw.
30436         * modules/memmem-tests (configure.ac): Check for alarm.
30437         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
30438         it.
30439         * doc/functions/memmem.texi: New file.
30440         * doc/gnulib.texi (Function Substitutes): Add memmem.
30441         Reported by Bruno Haible.
30442
30443 2008-01-04  Bruno Haible  <bruno@clisp.org>
30444
30445         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
30446         Require gl_HEADER_STRINGS_H_DEFAULTS, not
30447         gl_HEADER_STRING_H_DEFAULTS.
30448
30449 2008-01-04  Eric Blake  <ebb9@byu.net>
30450
30451         Shorten duration of memmem test.
30452         * tests/test-memmem.c (main): Use alarm to declare failure if test
30453         is taking too long.
30454         Reported by Ralf Wildenhues.
30455
30456 2007-12-21  Simon Josefsson  <simon@josefsson.org>
30457
30458         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
30459         string, needed by strerror.
30460
30461 2008-01-03  Colin Watson  <cjwatson@debian.org>
30462             Bruno Haible  <bruno@clisp.org>
30463
30464         * doc/gnulib-tool.texi (Localization): New section.
30465
30466 2008-01-02  Bruno Haible  <bruno@clisp.org>
30467
30468         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
30469         variables to 'unsigned char *' type.
30470         Reported by Paul Eggert.
30471
30472 2008-01-02  Jim Meyering  <jim@meyering.net>
30473
30474         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
30475
30476 2007-12-31  Jim Meyering  <jim@meyering.net>
30477
30478         Avoid use of private FTS type name.
30479         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
30480
30481 2007-12-30  Karl Berry  <karl@gnu.org>
30482
30483         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
30484         work around defect in Texinfo and/or the standalone Info browser.
30485
30486 2007-12-30  Bruno Haible  <bruno@clisp.org>
30487
30488         Unify 5 copies of the KMP code.
30489         * lib/str-kmp.h: New file.
30490         * lib/c-strcasestr.c: Include str-kmp.h.
30491         (knuth_morris_pratt): Remove function.
30492         (c_strcasestr): Update.
30493         * lib/c-strstr.c: Include str-kmp.h.
30494         (knuth_morris_pratt): Remove function.
30495         (c_strcasestr): Update.
30496         * lib/mbscasestr.c: Include str-kmp.h.
30497         (knuth_morris_pratt_unibyte): Remove function.
30498         * lib/mbsstr.c: Include str-kmp.h.
30499         (knuth_morris_pratt_unibyte): Remove function.
30500         * lib/strcasestr.c: Include str-kmp.h.
30501         (knuth_morris_pratt): Remove function.
30502         (strcasestr): Update.
30503         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
30504         * modules/c-strstr (Files): Likewise.
30505         * modules/mbscasestr (Files): Likewise.
30506         * modules/mbsstr (Files): Likewise.
30507         * modules/strcasestr (Files): Likewise.
30508         Suggested by Paul Eggert.
30509
30510 2007-12-30  Bruno Haible  <bruno@clisp.org>
30511
30512         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
30513         defined.
30514
30515 2007-12-30  Bruno Haible  <bruno@clisp.org>
30516
30517         * lib/xmalloca.h: Include xalloc.h.
30518         (xnmalloca): New macro.
30519
30520 2007-12-30  Bruno Haible  <bruno@clisp.org>
30521
30522         * lib/malloca.h (nmalloca): New macro.
30523         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
30524         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
30525         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
30526         knuth_morris_pratt_multibyte): Likewise.
30527         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
30528         knuth_morris_pratt_multibyte): Likewise.
30529         * lib/memmem.c (knuth_morris_pratt): Likewise.
30530         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
30531
30532 2007-12-25  Bruno Haible  <bruno@clisp.org>
30533
30534         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
30535         * lib/glob.c: Don't include openat.h.
30536         (link_exists2_p): Add back the code that deals with the
30537         !GLOB_ALTDIRFUNC case.
30538         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
30539         let it do the filename concatenation.
30540         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
30541         * modules/glob (Depends-on): Remove openat.
30542
30543 2007-12-31  Bruno Haible  <bruno@clisp.org>
30544
30545         * modules/dirfd (License): Change to LGPLv2+.
30546         Approved by Jim Meyering.
30547
30548 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
30549
30550         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
30551         when multiplying M by sizeof (size_t).
30552
30553 2007-12-10  Martin Lambers  <marlam@marlam.de>
30554
30555         Override getpagesize on mingw.
30556         * lib/getpagesize.c: New file.
30557         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
30558         * modules/getpagesize (Files): Add lib/getpagesize.c.
30559         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
30560         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30561         REPLACE_GETPAGESIZE.
30562         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
30563
30564 2007-12-25  Bruno Haible  <bruno@clisp.org>
30565
30566         * modules/localcharset (Notice): New field.
30567         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
30568         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
30569
30570 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
30571             Bruno Haible  <bruno@clisp.org>
30572
30573         Avoid using the syntax symbol() in formatted documentation.
30574         * MODULES.html.sh (func_module): When replacing symbol() with a
30575         hyperlink, remove the parentheses. Show an error if some remain.
30576         Recognize and render the '...' syntax.
30577         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
30578         Rework. Add paragraph about GCC's inlining.
30579         * doc/alloca.texi: Likewise.
30580         * doc/error.texi: Remove parentheses from symbol reference.
30581         * doc/gnulib-intro.texi: Likewise.
30582         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
30583         * modules/fnmatch (Description): Reword to say "the ... function".
30584         * modules/full-read (Description): Likewise.
30585         * modules/full-write (Description): Likewise.
30586         * modules/safe-read (Description): Likewise.
30587         * modules/safe-write (Description): Likewise.
30588         * modules/strchrnul (Description): Likewise.
30589         * modules/trim (Description): Likewise.
30590         * modules/error (Description): Remove parentheses from symbol
30591         references.
30592         * modules/verror (Description): Likewise.
30593         Reported by Karl Berry.
30594
30595 2007-12-25  Bruno Haible  <bruno@clisp.org>
30596
30597         Fixup after 2007-10-16 commit.
30598         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
30599
30600 2007-12-24  Bruno Haible  <bruno@clisp.org>
30601
30602         Make --enable-relocatable work with DESTDIR.
30603         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
30604         to compute installdir from destprog.
30605         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
30606         also set the RELOC_DESTDIR variable.
30607         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
30608
30609 2007-12-24  Bruno Haible  <bruno@clisp.org>
30610
30611         Fix link error due to xalloc_die().
30612         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
30613         of xreadlink.
30614         * lib/relocwrapper.c: Update comments.
30615         * build-aux/install-reloc: Remove xreadlink.c from file list.
30616         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
30617         xreadlink.c.
30618         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
30619
30620 2007-12-24  Bruno Haible  <bruno@clisp.org>
30621
30622         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
30623         * lib/setenv.h: Remove file.
30624         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
30625         lib/setenv.h.
30626         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
30627         (Depends-on): Add stdlib.
30628         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
30629         gl_FUNC_UNSETENV.
30630         (Include): Replace setenv.h with <stdlib.h>.
30631         * modules/unsetenv: New file.
30632         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
30633         * lib/unsetenv.c: Include <stdlib.h> first.
30634         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
30635         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
30636         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
30637         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
30638         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
30639         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
30640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
30641         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
30642         * doc/functions/unsetenv.texi: Update.
30643         * modules/xsetenv (Depends-on): Add unsetenv.
30644         * modules/getdate (Depends-on): Likewise.
30645         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
30646         * lib/xsetenv.c: Don't include setenv.h.
30647         * lib/getdate.y: Likewise.
30648         * lib/relocwrapper.c: Likewise.
30649         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
30650         (Depends-on): Add stdlib.
30651         * NEWS: Mention the changes.
30652         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
30653
30654 2007-12-23  Bruno Haible  <bruno@clisp.org>
30655
30656         * lib/memmem.c (memmem): Use lowercase variable names. Tab
30657         indentation.
30658
30659 2007-12-23  Bruno Haible  <bruno@clisp.org>
30660
30661         * lib/c-strcasestr.c: Add more comments.
30662         * lib/c-strstr.c: Likewise.
30663         * lib/mbscasestr.c: Likewise.
30664         * lib/mbsstr.c: Likewise.
30665         * lib/strcasestr.c: Likewise.
30666         * lib/memmem.c: Likewise.
30667
30668 2007-12-23  Bruno Haible  <bruno@clisp.org>
30669
30670         * tests/test-memmem.c: Include <string.h> first.
30671
30672 2007-12-22  Bruno Haible  <bruno@clisp.org>
30673
30674         * gnulib-tool (func_create_testdir): Change $auxdir while generating
30675         the contents of $testsbase.
30676         Reported by Ralf Wildenhues.
30677
30678 2007-12-22  Bruno Haible  <bruno@clisp.org>
30679
30680         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
30681         two variables local_ldadd_before, local_ldadd_last.
30682
30683 2007-12-20  Eric Blake  <ebb9@byu.net>
30684
30685         Work around circular library issue when cross-compiling.
30686         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
30687         that progname.o does not need to pull in rpl_memcmp.
30688
30689 2007-12-19  Eric Blake  <ebb9@byu.net>
30690
30691         Fix memmem to avoid O(n^2) worst-case complexity.
30692         * lib/memmem.c (knuth_morris_pratt): New function.
30693         (memmem): Use it if first few naive iterations fail.
30694         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
30695         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
30696         * modules/memchr (License): Likewise.
30697         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
30698         malloca.
30699         * tests/test-memmem.c: Rewrite, borrowing ideas from
30700         test-mbsstr1.c; the old version wouldn't even compile!
30701         * modules/memmem-tests: New file.
30702         * lib/string.in.h (rpl_memmem): Add declaration.
30703         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
30704         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
30705         REPLACE_MEMMEM.
30706
30707 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
30708
30709         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
30710         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
30711         before any system include files, and undef after them all.  This
30712         should fix a problem on VMS reported by John E. Malmberg in
30713         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
30714
30715 2007-12-17  Eric Blake  <ebb9@byu.net>
30716
30717         Revert addition of verify, for BSD/OS.
30718         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
30719         can't handle large files, for the sake of obsolete platforms.
30720         * modules/fseeko (Depends-on): Remove verify.
30721         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
30722         * doc/functions/ftello.texi (ftello): Likewise.
30723         * doc/functions/fgetpos.texi (fgetpos): Likewise.
30724         Reported by Larry Jones.
30725
30726 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
30727
30728         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
30729         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
30730
30731 2007-12-17  Jim Meyering  <meyering@redhat.com>
30732
30733         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
30734         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
30735         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
30736         * modules/getcwd (Depends-on): Add openat.
30737         Reported by Petr Salinger.
30738
30739 2007-12-17  Bruno Haible  <bruno@clisp.org>
30740
30741         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
30742         avoid a segmentation fault of the configure test on x86_64 systems.
30743
30744 2007-12-15  Jim Meyering  <meyering@redhat.com>
30745
30746         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
30747
30748 2007-12-13  Eric Blake  <ebb9@byu.net>
30749
30750         Another fseek test.
30751         * tests/test-fseek.c (main): Also test ungetc handling.
30752         * tests/test-fseeko.c (main): Likewise.
30753         * modules/fseeko (Depends-on): Add verify.
30754         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
30755         large.
30756         Reported by Larry Jones.
30757
30758         Fix fseeko on mingw.
30759         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
30760         seek.
30761
30762         Beef up fseek tests.
30763         * tests/test-fseek.c (main): Also test eof handling.
30764         * tests/test-fseeko.c (main): Likewise.
30765         Reported by Larry Jones.
30766
30767 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
30768
30769         Fix fseeko on BSD-based platforms.
30770         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
30771         successful seek.
30772
30773 2007-12-12  Eric Blake  <ebb9@byu.net>
30774
30775         Allow circular dependency of separate libtests.a
30776         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
30777         when use_libtests.
30778
30779 2007-12-11  Eric Blake  <ebb9@byu.net>
30780
30781         Fix bug with -0.0L in previous patch.
30782         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
30783         * tests/test-isnan.c (main): Also test on zeroes.
30784         * tests/test-isnanf.c (main): Likewise.
30785         * tests/test-isnanl.h (main): Likewise.
30786
30787         Detect pseudo-denormals on x86 even when cross-compiling.
30788         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
30789         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
30790         invalid bit patterns that happen to satisfy ==.
30791
30792         Avoid link failures with separate libtests.a.
30793         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
30794         last, to satisfy circular dependencies.
30795
30796 2007-12-11  Eric Blake  <ebb9@byu.net>
30797         and Bruno Haible  <bruno@clisp.org>
30798
30799         Fix OpenBSD 4.0 <float.h> handling of long double.
30800         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
30801         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
30802         * doc/headers/float.texi (float.h): Document OpenBSD bug.
30803
30804 2007-12-11  Jim Meyering  <meyering@redhat.com>
30805
30806         * users.txt: Add libvirt.
30807
30808         Support versions of autoconf prior to 2.59c.
30809         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
30810         if it is not already defined.
30811
30812 2007-12-09  Bruno Haible  <bruno@clisp.org>
30813
30814         Let 'gnulib-tool --import' collect sources needed for the tests in
30815         tests/ rather than in lib/.
30816         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
30817         argument. If true, add rules to generate libtests.a, and put libtests.a
30818         into $(LDADD). Consider source files in subdirectories and set
30819         uses_subdirs.
30820         (func_emit_initmacro_start, func_emit_initmacro_end,
30821         func_emit_initmacro_done): Pass all arguments explicitly.
30822         (func_import): Determine two module lists main_modules,
30823         testsrelated_modules. Determine use_libtests. Determine two variables
30824         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
30825         instead of just sed_transform_lib_file. Determine two variables
30826         main_files and testsrelated_files. Compute 'files' as the union of
30827         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
30828         func_add_or_update. In the generated gnulib-comp.m4, collect the
30829         object files for tests/ in different variables than those for lib/.
30830         Substitute LIBTESTS_LIBDEPS.
30831         (func_create_testdir): Combine the uses_subdirs results from
30832         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
30833
30834 2007-12-09  Bruno Haible  <bruno@clisp.org>
30835
30836         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
30837         the build-aux directory.
30838
30839 2007-12-09  Bruno Haible  <bruno@clisp.org>
30840
30841         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
30842         introduced on 2006-09-09.
30843
30844 2007-12-07  Jim Meyering  <meyering@redhat.com>
30845
30846         Let these macros work also with autoconf-2.59.
30847         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
30848         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
30849         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
30850
30851 2007-12-06  Jim Meyering  <meyering@redhat.com>
30852
30853         Avoid a configure-time syntax error in gl_FUNC_ACL.
30854         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
30855         function in each branch, before testing the cache variable.
30856
30857 2007-12-04  Eric Blake  <ebb9@byu.net>
30858
30859         Make scripts executable.
30860         * build-aux/config.guess: Add execute permissions.
30861         * build-aux/config.sub: Likewise.
30862         * build-aux/gendocs.sh: Likewise.
30863
30864         Fix frexp on mingw.
30865         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
30866         cross-compiling.
30867         * doc/functions/frexp.texi (frexp): Document the bug.
30868
30869         Make cygwin fseeko check more reliable.
30870         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
30871         version numbers, rather than unrelated feature check.
30872         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
30873         * doc/functions/ftello.texi (ftello): Likewise.
30874         Reported by Bruno Haible.
30875
30876         * m4/strerror.m4: Bump version number.
30877
30878 2007-12-03  Bruno Haible  <bruno@clisp.org>
30879
30880         * doc/functions/mprotect.texi: Mention the mingw problem.
30881
30882 2007-12-03  Eric Blake  <ebb9@byu.net>
30883
30884         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
30885         REPLACE_STRERROR is initialized before this macro.
30886
30887 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
30888
30889         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
30890         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
30891         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
30892         put -lsec in even for programs other than 'ls'.  This fixes a problem
30893         for gettext reported by Bruno Haible in
30894         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
30895         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
30896         Add support for Solaris 10.  This isn't efficient, but should get the
30897         job done for now.
30898
30899 2007-12-03  James Youngman  <jay@gnu.org>
30900
30901         * doc/regexprops-generic.texi: change "an close-group" to "a
30902         close-group" and "illegal" to "not allowed".
30903
30904 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30905
30906         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
30907         pr_byname.h. Needed for the rare case when the maintainer has done
30908         "make maintainer-clean" in the source directory and then attempts a
30909         build outside the source directory.
30910         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
30911         scripts_byname.h.
30912
30913 2007-12-02  Martin Lambers <marlam@marlam.de>
30914             Bruno Haible  <bruno@clisp.org>
30915
30916         * lib/getpagesize.h: Remove file.
30917         * lib/unistd.in.h: Include declaration of getpagesize here.
30918         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
30919         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
30920         HAVE_SYS_PARAM_H.
30921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
30922         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
30923         * modules/getpagesize (Files): Remove lib/getpagesize.h.
30924         (Depends-on): Add unistd.
30925         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30926         (Include): Use <unistd.h> instead of getpagesize.h.
30927         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
30928         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
30929         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
30930         gl_GETPAGESIZE invocation, already handled by module dependency.
30931         * lib/pagealign_alloc.c: Don't include getpagesize.h.
30932
30933 2007-12-02  Bruno Haible  <bruno@clisp.org>
30934
30935         * modules/strings-tests: New file.
30936         * tests/test-strings.c: New file.
30937
30938         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
30939         * lib/strings.in.h: New file.
30940         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
30941         * m4/strings_h.m4: New file.
30942         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
30943         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
30944         * modules/strings: New file.
30945         * modules/string (Makefile.am): Update.
30946         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
30947         Reported by Karl Berry.
30948
30949 2007-12-01  Eric Blake  <ebb9@byu.net>
30950
30951         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
30952         accomodate fix in cygwin 1.5.25.
30953
30954 2007-12-01  Jim Meyering  <meyering@redhat.com>
30955
30956         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
30957         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
30958         that would inhibit utf8-optimization of a regexp containing line-
30959         or buffer-anchors, e.g., `^', `$'.
30960
30961 2007-11-30  Bruno Haible  <bruno@clisp.org>
30962
30963         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
30964         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
30965         glthread_recursive_lock_init.
30966         * lib/lock.c (glthread_recursive_lock_init)
30967         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
30968         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
30969
30970 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
30971
30972         New function qset_acl, like set_acl but with syscall semantics.
30973         * lib/acl.h (qset_acl): New decl.
30974         * lib/acl.c (qset_acl): New function.
30975         (set_acl): Use new function.  Use more-consistent diagnostics.
30976
30977 2007-11-28  Jim Meyering  <meyering@redhat.com>
30978
30979         * modules/physmem (License): Change from GPL to LGPLv2+.
30980
30981 2007-11-26  Bruno Haible  <bruno@clisp.org>
30982
30983         * lib/vasnprintf.c (decode_long_double): Don't abort if the
30984         'long double' type has excess precision.
30985         Reported by Jim Meyering in
30986         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
30987
30988 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30989
30990         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
30991         Sync from <http://gnu.org/licenses>.
30992         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
30993         with license text from same location.
30994         * doc/maintain.texi, doc/standards.texi:  Sync from
30995         <http://savannah.gnu.org/projects/gnustandards>.
30996
30997 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
30998         and Jim Meyering  <meyering@redhat.com>
30999
31000         Adjust getdate' grammar to accept a slightly more regular language.
31001         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
31002         Before, the former was rejected.
31003         * lib/getdate.y (digits_to_date_time): New function, factored
31004         out of ...
31005         (number): ...here.  Just call digits_to_date_time.
31006         (hybrid): New non-terminal to handle an <unsigned number,
31007         signed relative offset> sequence consistently.
31008
31009 2007-11-18  Jim Meyering  <meyering@redhat.com>
31010
31011         Pull my changes from coreutils:
31012         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
31013         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
31014         use of $gnulib_tool_option_extras, so that it's separated from the
31015         preceding argument.
31016
31017         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
31018         * build-aux/bootstrap (cp_mark_as_generated): Create any required
31019         parent destination directories before copying a file into place.
31020
31021 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
31022
31023         bootstrap: work also with 4-argument variant of AC_INIT
31024         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
31025
31026 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
31027
31028         Port test-getaddrinfo to Solaris.
31029         Problem reported by Bruno Haible in
31030         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
31031         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
31032         explanation of setting 'hints'.
31033         Don't reject an implementation merely because it returns EAI_SERVICE.
31034         (EAI_SERVICE): Define to 0 if not defined.
31035
31036 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
31037
31038         The license of gnu-make and posix-shell is now "GPLed build tool".
31039         * modules/gnu-make (License): Likewise.
31040         * modules/posix-shell (License): Likewise.
31041
31042         New module posix-shell, for determining a POSIX shell
31043         or perhaps something that is close enough to a POSIX shell.
31044         * m4/posix-shell.m4: New file.
31045         * modules/posix-shell: New file.
31046
31047         * MODULES.html.sh: Mention new module.
31048
31049         New module gnu-make, for determining whether we're using GNU Make.
31050         * m4/gnu-make.m4: New file.
31051         * modules/gnu-make: New file.
31052         * MODULES.html.sh: Mention new module.
31053
31054 2007-11-14  Jim Meyering  <meyering@redhat.com>
31055
31056         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
31057         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
31058         use this macro to create a function _definition_.
31059         Remove useless "#undef ARGMATCH_DIE".
31060
31061 2007-11-14  Bruno Haible  <bruno@clisp.org>
31062
31063         * lib/config.charset: Update for OpenBSD 4.1.
31064         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
31065
31066 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
31067
31068         Document 64-bit #if problems in stdint.texi.
31069         * doc/headers/stdint.texi (stdint.h): Mention problems with
31070         64-bit-#if, and how to work around them.
31071
31072         Don't insist on 'long long int' support in the preprocessor.  It
31073         breaks too many things.  For example, PRIdMAX still uses a 'long
31074         long int' format with the latest Sun compiler, even though
31075         HAVE_LONG_LONG_INT isn't defined due to that compiler's
31076         preprocessor problem.  This causes the latest coreutils to dump
31077         core on Solaris 10 sparc with the Sun C compiler.
31078         Instead, fix the 2007-10-16 problem in a different way, by evaluating
31079         the troublesome expressions at configure-time, not at #if-time.
31080         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
31081         preprocessor.
31082         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
31083         compile-time C checks, done at 'configure'-time.
31084         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
31085         * modules/inttypes (Makefile): Substitute the new symbols that
31086         gl_INTTYPES_H now generates.
31087         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
31088
31089 2007-11-12  Bruno Haible  <bruno@clisp.org>
31090
31091         Tests for Unicode character classification functions.
31092
31093         * modules/unictype/bidicategory-byname-tests: New file.
31094         * modules/unictype/bidicategory-name-tests: New file.
31095         * modules/unictype/bidicategory-of-tests: New file.
31096         * modules/unictype/bidicategory-test-tests: New file.
31097         * modules/unictype/block-list-tests: New file.
31098         * modules/unictype/block-of-tests: New file.
31099         * modules/unictype/block-test-tests: New file.
31100         * modules/unictype/category-C-tests: New file.
31101         * modules/unictype/category-Cc-tests: New file.
31102         * modules/unictype/category-Cf-tests: New file.
31103         * modules/unictype/category-Cn-tests: New file.
31104         * modules/unictype/category-Co-tests: New file.
31105         * modules/unictype/category-Cs-tests: New file.
31106         * modules/unictype/category-L-tests: New file.
31107         * modules/unictype/category-Ll-tests: New file.
31108         * modules/unictype/category-Lm-tests: New file.
31109         * modules/unictype/category-Lo-tests: New file.
31110         * modules/unictype/category-Lt-tests: New file.
31111         * modules/unictype/category-Lu-tests: New file.
31112         * modules/unictype/category-M-tests: New file.
31113         * modules/unictype/category-Mc-tests: New file.
31114         * modules/unictype/category-Me-tests: New file.
31115         * modules/unictype/category-Mn-tests: New file.
31116         * modules/unictype/category-N-tests: New file.
31117         * modules/unictype/category-Nd-tests: New file.
31118         * modules/unictype/category-Nl-tests: New file.
31119         * modules/unictype/category-No-tests: New file.
31120         * modules/unictype/category-P-tests: New file.
31121         * modules/unictype/category-Pc-tests: New file.
31122         * modules/unictype/category-Pd-tests: New file.
31123         * modules/unictype/category-Pe-tests: New file.
31124         * modules/unictype/category-Pf-tests: New file.
31125         * modules/unictype/category-Pi-tests: New file.
31126         * modules/unictype/category-Po-tests: New file.
31127         * modules/unictype/category-Ps-tests: New file.
31128         * modules/unictype/category-S-tests: New file.
31129         * modules/unictype/category-Sc-tests: New file.
31130         * modules/unictype/category-Sk-tests: New file.
31131         * modules/unictype/category-Sm-tests: New file.
31132         * modules/unictype/category-So-tests: New file.
31133         * modules/unictype/category-Z-tests: New file.
31134         * modules/unictype/category-Zl-tests: New file.
31135         * modules/unictype/category-Zp-tests: New file.
31136         * modules/unictype/category-Zs-tests: New file.
31137         * modules/unictype/category-and-not-tests: New file.
31138         * modules/unictype/category-and-tests: New file.
31139         * modules/unictype/category-byname-tests: New file.
31140         * modules/unictype/category-name-tests: New file.
31141         * modules/unictype/category-none-tests: New file.
31142         * modules/unictype/category-of-tests: New file.
31143         * modules/unictype/category-or-tests: New file.
31144         * modules/unictype/category-test-withtable-tests: New file.
31145         * modules/unictype/combining-class-tests: New file.
31146         * modules/unictype/ctype-alnum-tests: New file.
31147         * modules/unictype/ctype-alpha-tests: New file.
31148         * modules/unictype/ctype-blank-tests: New file.
31149         * modules/unictype/ctype-cntrl-tests: New file.
31150         * modules/unictype/ctype-digit-tests: New file.
31151         * modules/unictype/ctype-graph-tests: New file.
31152         * modules/unictype/ctype-lower-tests: New file.
31153         * modules/unictype/ctype-print-tests: New file.
31154         * modules/unictype/ctype-punct-tests: New file.
31155         * modules/unictype/ctype-space-tests: New file.
31156         * modules/unictype/ctype-upper-tests: New file.
31157         * modules/unictype/ctype-xdigit-tests: New file.
31158         * modules/unictype/decimal-digit-tests: New file.
31159         * modules/unictype/digit-tests: New file.
31160         * modules/unictype/mirror-tests: New file.
31161         * modules/unictype/numeric-tests: New file.
31162         * modules/unictype/property-alphabetic-tests: New file.
31163         * modules/unictype/property-ascii-hex-digit-tests: New file.
31164         * modules/unictype/property-bidi-arabic-digit-tests: New file.
31165         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
31166         * modules/unictype/property-bidi-block-separator-tests: New file.
31167         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
31168         * modules/unictype/property-bidi-common-separator-tests: New file.
31169         * modules/unictype/property-bidi-control-tests: New file.
31170         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
31171         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
31172         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
31173         * modules/unictype/property-bidi-european-digit-tests: New file.
31174         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
31175         * modules/unictype/property-bidi-left-to-right-tests: New file.
31176         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
31177         * modules/unictype/property-bidi-other-neutral-tests: New file.
31178         * modules/unictype/property-bidi-pdf-tests: New file.
31179         * modules/unictype/property-bidi-segment-separator-tests: New file.
31180         * modules/unictype/property-bidi-whitespace-tests: New file.
31181         * modules/unictype/property-byname-tests: New file.
31182         * modules/unictype/property-combining-tests: New file.
31183         * modules/unictype/property-composite-tests: New file.
31184         * modules/unictype/property-currency-symbol-tests: New file.
31185         * modules/unictype/property-dash-tests: New file.
31186         * modules/unictype/property-decimal-digit-tests: New file.
31187         * modules/unictype/property-default-ignorable-code-point-tests: New file.
31188         * modules/unictype/property-deprecated-tests: New file.
31189         * modules/unictype/property-diacritic-tests: New file.
31190         * modules/unictype/property-extender-tests: New file.
31191         * modules/unictype/property-format-control-tests: New file.
31192         * modules/unictype/property-grapheme-base-tests: New file.
31193         * modules/unictype/property-grapheme-extend-tests: New file.
31194         * modules/unictype/property-grapheme-link-tests: New file.
31195         * modules/unictype/property-hex-digit-tests: New file.
31196         * modules/unictype/property-hyphen-tests: New file.
31197         * modules/unictype/property-id-continue-tests: New file.
31198         * modules/unictype/property-id-start-tests: New file.
31199         * modules/unictype/property-ideographic-tests: New file.
31200         * modules/unictype/property-ids-binary-operator-tests: New file.
31201         * modules/unictype/property-ids-trinary-operator-tests: New file.
31202         * modules/unictype/property-ignorable-control-tests: New file.
31203         * modules/unictype/property-iso-control-tests: New file.
31204         * modules/unictype/property-join-control-tests: New file.
31205         * modules/unictype/property-left-of-pair-tests: New file.
31206         * modules/unictype/property-line-separator-tests: New file.
31207         * modules/unictype/property-logical-order-exception-tests: New file.
31208         * modules/unictype/property-lowercase-tests: New file.
31209         * modules/unictype/property-math-tests: New file.
31210         * modules/unictype/property-non-break-tests: New file.
31211         * modules/unictype/property-not-a-character-tests: New file.
31212         * modules/unictype/property-numeric-tests: New file.
31213         * modules/unictype/property-other-alphabetic-tests: New file.
31214         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
31215         * modules/unictype/property-other-grapheme-extend-tests: New file.
31216         * modules/unictype/property-other-id-continue-tests: New file.
31217         * modules/unictype/property-other-id-start-tests: New file.
31218         * modules/unictype/property-other-lowercase-tests: New file.
31219         * modules/unictype/property-other-math-tests: New file.
31220         * modules/unictype/property-other-uppercase-tests: New file.
31221         * modules/unictype/property-paired-punctuation-tests: New file.
31222         * modules/unictype/property-paragraph-separator-tests: New file.
31223         * modules/unictype/property-pattern-syntax-tests: New file.
31224         * modules/unictype/property-pattern-white-space-tests: New file.
31225         * modules/unictype/property-private-use-tests: New file.
31226         * modules/unictype/property-punctuation-tests: New file.
31227         * modules/unictype/property-quotation-mark-tests: New file.
31228         * modules/unictype/property-radical-tests: New file.
31229         * modules/unictype/property-sentence-terminal-tests: New file.
31230         * modules/unictype/property-soft-dotted-tests: New file.
31231         * modules/unictype/property-space-tests: New file.
31232         * modules/unictype/property-terminal-punctuation-tests: New file.
31233         * modules/unictype/property-test-tests: New file.
31234         * modules/unictype/property-titlecase-tests: New file.
31235         * modules/unictype/property-unassigned-code-value-tests: New file.
31236         * modules/unictype/property-unified-ideograph-tests: New file.
31237         * modules/unictype/property-uppercase-tests: New file.
31238         * modules/unictype/property-variation-selector-tests: New file.
31239         * modules/unictype/property-white-space-tests: New file.
31240         * modules/unictype/property-xid-continue-tests: New file.
31241         * modules/unictype/property-xid-start-tests: New file.
31242         * modules/unictype/property-zero-width-tests: New file.
31243         * modules/unictype/scripts-tests: New file.
31244         * modules/unictype/syntax-c-ident-tests: New file.
31245         * modules/unictype/syntax-c-whitespace-tests: New file.
31246         * modules/unictype/syntax-java-ident-tests: New file.
31247         * modules/unictype/syntax-java-whitespace-tests: New file.
31248         * tests/unictype/test-bidi_byname.c: New file.
31249         * tests/unictype/test-bidi_name.c: New file.
31250         * tests/unictype/test-bidi_of.c: New file.
31251         * tests/unictype/test-bidi_test.c: New file.
31252         * tests/unictype/test-block_list.c: New file.
31253         * tests/unictype/test-block_of.c: New file.
31254         * tests/unictype/test-block_test.c: New file.
31255         * tests/unictype/test-categ_and.c: New file.
31256         * tests/unictype/test-categ_and_not.c: New file.
31257         * tests/unictype/test-categ_byname.c: New file.
31258         * tests/unictype/test-categ_name.c: New file.
31259         * tests/unictype/test-categ_none.c: New file.
31260         * tests/unictype/test-categ_of.c: New file.
31261         * tests/unictype/test-categ_or.c: New file.
31262         * tests/unictype/test-categ_test_withtable.c: New file.
31263         * tests/unictype/test-combining.c: New file.
31264         * tests/unictype/test-decdigit.c: New file.
31265         * tests/unictype/test-digit.c: New file.
31266         * tests/unictype/test-mirror.c: New file.
31267         * tests/unictype/test-numeric.c: New file.
31268         * tests/unictype/test-pr_byname.c: New file.
31269         * tests/unictype/test-pr_test.c: New file.
31270         * tests/unictype/test-predicate-part1.h: New file.
31271         * tests/unictype/test-predicate-part2.h: New file.
31272         * tests/unictype/test-scripts.c: New file.
31273         * tests/unictype/test-sy_c_ident.c: New file.
31274         * tests/unictype/test-sy_java_ident.c: New file.
31275
31276         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
31277         for Unicode 5.0.0.
31278         * tests/unictype/test-categ_Cc.c: Likewise.
31279         * tests/unictype/test-categ_Cf.c: Likewise.
31280         * tests/unictype/test-categ_Cn.c: Likewise.
31281         * tests/unictype/test-categ_Co.c: Likewise.
31282         * tests/unictype/test-categ_Cs.c: Likewise.
31283         * tests/unictype/test-categ_L.c: Likewise.
31284         * tests/unictype/test-categ_Ll.c: Likewise.
31285         * tests/unictype/test-categ_Lm.c: Likewise.
31286         * tests/unictype/test-categ_Lo.c: Likewise.
31287         * tests/unictype/test-categ_Lt.c: Likewise.
31288         * tests/unictype/test-categ_Lu.c: Likewise.
31289         * tests/unictype/test-categ_M.c: Likewise.
31290         * tests/unictype/test-categ_Mc.c: Likewise.
31291         * tests/unictype/test-categ_Me.c: Likewise.
31292         * tests/unictype/test-categ_Mn.c: Likewise.
31293         * tests/unictype/test-categ_N.c: Likewise.
31294         * tests/unictype/test-categ_Nd.c: Likewise.
31295         * tests/unictype/test-categ_Nl.c: Likewise.
31296         * tests/unictype/test-categ_No.c: Likewise.
31297         * tests/unictype/test-categ_P.c: Likewise.
31298         * tests/unictype/test-categ_Pc.c: Likewise.
31299         * tests/unictype/test-categ_Pd.c: Likewise.
31300         * tests/unictype/test-categ_Pe.c: Likewise.
31301         * tests/unictype/test-categ_Pf.c: Likewise.
31302         * tests/unictype/test-categ_Pi.c: Likewise.
31303         * tests/unictype/test-categ_Po.c: Likewise.
31304         * tests/unictype/test-categ_Ps.c: Likewise.
31305         * tests/unictype/test-categ_S.c: Likewise.
31306         * tests/unictype/test-categ_Sc.c: Likewise.
31307         * tests/unictype/test-categ_Sk.c: Likewise.
31308         * tests/unictype/test-categ_Sm.c: Likewise.
31309         * tests/unictype/test-categ_So.c: Likewise.
31310         * tests/unictype/test-categ_Z.c: Likewise.
31311         * tests/unictype/test-categ_Zl.c: Likewise.
31312         * tests/unictype/test-categ_Zp.c: Likewise.
31313         * tests/unictype/test-categ_Zs.c: Likewise.
31314         * tests/unictype/test-ctype_alnum.c: Likewise.
31315         * tests/unictype/test-ctype_alpha.c: Likewise.
31316         * tests/unictype/test-ctype_blank.c: Likewise.
31317         * tests/unictype/test-ctype_cntrl.c: Likewise.
31318         * tests/unictype/test-ctype_digit.c: Likewise.
31319         * tests/unictype/test-ctype_graph.c: Likewise.
31320         * tests/unictype/test-ctype_lower.c: Likewise.
31321         * tests/unictype/test-ctype_print.c: Likewise.
31322         * tests/unictype/test-ctype_punct.c: Likewise.
31323         * tests/unictype/test-ctype_space.c: Likewise.
31324         * tests/unictype/test-ctype_upper.c: Likewise.
31325         * tests/unictype/test-ctype_xdigit.c: Likewise.
31326         * tests/unictype/test-decdigit.h: Likewise.
31327         * tests/unictype/test-digit.h: Likewise.
31328         * tests/unictype/test-numeric.h: Likewise.
31329         * tests/unictype/test-pr_alphabetic.c: Likewise.
31330         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
31331         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
31332         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
31333         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
31334         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
31335         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
31336         * tests/unictype/test-pr_bidi_control.c: Likewise.
31337         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
31338         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
31339         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
31340         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
31341         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
31342         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
31343         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
31344         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
31345         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
31346         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
31347         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
31348         * tests/unictype/test-pr_combining.c: Likewise.
31349         * tests/unictype/test-pr_composite.c: Likewise.
31350         * tests/unictype/test-pr_currency_symbol.c: Likewise.
31351         * tests/unictype/test-pr_dash.c: Likewise.
31352         * tests/unictype/test-pr_decimal_digit.c: Likewise.
31353         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
31354         * tests/unictype/test-pr_deprecated.c: Likewise.
31355         * tests/unictype/test-pr_diacritic.c: Likewise.
31356         * tests/unictype/test-pr_extender.c: Likewise.
31357         * tests/unictype/test-pr_format_control.c: Likewise.
31358         * tests/unictype/test-pr_grapheme_base.c: Likewise.
31359         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
31360         * tests/unictype/test-pr_grapheme_link.c: Likewise.
31361         * tests/unictype/test-pr_hex_digit.c: Likewise.
31362         * tests/unictype/test-pr_hyphen.c: Likewise.
31363         * tests/unictype/test-pr_id_continue.c: Likewise.
31364         * tests/unictype/test-pr_id_start.c: Likewise.
31365         * tests/unictype/test-pr_ideographic.c: Likewise.
31366         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
31367         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
31368         * tests/unictype/test-pr_ignorable_control.c: Likewise.
31369         * tests/unictype/test-pr_iso_control.c: Likewise.
31370         * tests/unictype/test-pr_join_control.c: Likewise.
31371         * tests/unictype/test-pr_left_of_pair.c: Likewise.
31372         * tests/unictype/test-pr_line_separator.c: Likewise.
31373         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
31374         * tests/unictype/test-pr_lowercase.c: Likewise.
31375         * tests/unictype/test-pr_math.c: Likewise.
31376         * tests/unictype/test-pr_non_break.c: Likewise.
31377         * tests/unictype/test-pr_not_a_character.c: Likewise.
31378         * tests/unictype/test-pr_numeric.c: Likewise.
31379         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
31380         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
31381         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
31382         * tests/unictype/test-pr_other_id_continue.c: Likewise.
31383         * tests/unictype/test-pr_other_id_start.c: Likewise.
31384         * tests/unictype/test-pr_other_lowercase.c: Likewise.
31385         * tests/unictype/test-pr_other_math.c: Likewise.
31386         * tests/unictype/test-pr_other_uppercase.c: Likewise.
31387         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
31388         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
31389         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
31390         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
31391         * tests/unictype/test-pr_private_use.c: Likewise.
31392         * tests/unictype/test-pr_punctuation.c: Likewise.
31393         * tests/unictype/test-pr_quotation_mark.c: Likewise.
31394         * tests/unictype/test-pr_radical.c: Likewise.
31395         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
31396         * tests/unictype/test-pr_soft_dotted.c: Likewise.
31397         * tests/unictype/test-pr_space.c: Likewise.
31398         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
31399         * tests/unictype/test-pr_titlecase.c: Likewise.
31400         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
31401         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
31402         * tests/unictype/test-pr_uppercase.c: Likewise.
31403         * tests/unictype/test-pr_variation_selector.c: Likewise.
31404         * tests/unictype/test-pr_white_space.c: Likewise.
31405         * tests/unictype/test-pr_xid_continue.c: Likewise.
31406         * tests/unictype/test-pr_xid_start.c: Likewise.
31407         * tests/unictype/test-pr_zero_width.c: Likewise.
31408         * tests/unictype/test-sy_c_whitespace.c: Likewise.
31409         * tests/unictype/test-sy_java_whitespace.c: Likewise.
31410
31411 2007-11-12  Bruno Haible  <bruno@clisp.org>
31412
31413         Unicode character classification functions.
31414         * lib/unictype.h: New file.
31415         * modules/unictype/base: New file.
31416         * modules/unictype/category-L: New file.
31417         * modules/unictype/category-Lu: New file.
31418         * modules/unictype/category-Ll: New file.
31419         * modules/unictype/category-Lt: New file.
31420         * modules/unictype/category-Lm: New file.
31421         * modules/unictype/category-Lo: New file.
31422         * modules/unictype/category-M: New file.
31423         * modules/unictype/category-Mn: New file.
31424         * modules/unictype/category-Mc: New file.
31425         * modules/unictype/category-Me: New file.
31426         * modules/unictype/category-N: New file.
31427         * modules/unictype/category-Nd: New file.
31428         * modules/unictype/category-Nl: New file.
31429         * modules/unictype/category-No: New file.
31430         * modules/unictype/category-P: New file.
31431         * modules/unictype/category-Pc: New file.
31432         * modules/unictype/category-Pd: New file.
31433         * modules/unictype/category-Ps: New file.
31434         * modules/unictype/category-Pe: New file.
31435         * modules/unictype/category-Pi: New file.
31436         * modules/unictype/category-Pf: New file.
31437         * modules/unictype/category-Po: New file.
31438         * modules/unictype/category-S: New file.
31439         * modules/unictype/category-Sm: New file.
31440         * modules/unictype/category-Sc: New file.
31441         * modules/unictype/category-Sk: New file.
31442         * modules/unictype/category-So: New file.
31443         * modules/unictype/category-Z: New file.
31444         * modules/unictype/category-Zs: New file.
31445         * modules/unictype/category-Zl: New file.
31446         * modules/unictype/category-Zp: New file.
31447         * modules/unictype/category-C: New file.
31448         * modules/unictype/category-Cc: New file.
31449         * modules/unictype/category-Cf: New file.
31450         * modules/unictype/category-Cs: New file.
31451         * modules/unictype/category-Co: New file.
31452         * modules/unictype/category-Cn: New file.
31453         * modules/unictype/category-or: New file.
31454         * modules/unictype/category-of: New file.
31455         * modules/unictype/category-test: New file.
31456         * modules/unictype/category-test-withtable: New file.
31457         * modules/unictype/category-byname: New file.
31458         * modules/unictype/category-none: New file.
31459         * modules/unictype/category-and: New file.
31460         * modules/unictype/category-and-not: New file.
31461         * modules/unictype/category-name: New file.
31462         * modules/unictype/combining-class: New file.
31463         * modules/unictype/category-all: New file.
31464         * modules/unictype/bidicategory-all: New file.
31465         * modules/unictype/bidicategory-byname: New file.
31466         * modules/unictype/bidicategory-name: New file.
31467         * modules/unictype/bidicategory-of: New file.
31468         * modules/unictype/bidicategory-test: New file.
31469         * modules/unictype/decimal-digit: New file.
31470         * modules/unictype/digit: New file.
31471         * modules/unictype/numeric: New file.
31472         * modules/unictype/mirror: New file.
31473         * modules/unictype/property-white-space: New file.
31474         * modules/unictype/property-alphabetic: New file.
31475         * modules/unictype/property-other-alphabetic: New file.
31476         * modules/unictype/property-not-a-character: New file.
31477         * modules/unictype/property-default-ignorable-code-point: New file.
31478         * modules/unictype/property-other-default-ignorable-code-point: New
31479         file.
31480         * modules/unictype/property-deprecated: New file.
31481         * modules/unictype/property-logical-order-exception: New file.
31482         * modules/unictype/property-variation-selector: New file.
31483         * modules/unictype/property-private-use: New file.
31484         * modules/unictype/property-unassigned-code-value: New file.
31485         * modules/unictype/property-uppercase: New file.
31486         * modules/unictype/property-other-uppercase: New file.
31487         * modules/unictype/property-lowercase: New file.
31488         * modules/unictype/property-other-lowercase: New file.
31489         * modules/unictype/property-titlecase: New file.
31490         * modules/unictype/property-soft-dotted: New file.
31491         * modules/unictype/property-id-start: New file.
31492         * modules/unictype/property-other-id-start: New file.
31493         * modules/unictype/property-id-continue: New file.
31494         * modules/unictype/property-other-id-continue: New file.
31495         * modules/unictype/property-xid-start: New file.
31496         * modules/unictype/property-xid-continue: New file.
31497         * modules/unictype/property-pattern-white-space: New file.
31498         * modules/unictype/property-pattern-syntax: New file.
31499         * modules/unictype/property-join-control: New file.
31500         * modules/unictype/property-grapheme-base: New file.
31501         * modules/unictype/property-grapheme-extend: New file.
31502         * modules/unictype/property-other-grapheme-extend: New file.
31503         * modules/unictype/property-grapheme-link: New file.
31504         * modules/unictype/property-bidi-control: New file.
31505         * modules/unictype/property-bidi-left-to-right: New file.
31506         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
31507         * modules/unictype/property-bidi-arabic-right-to-left: New file.
31508         * modules/unictype/property-bidi-european-digit: New file.
31509         * modules/unictype/property-bidi-eur-num-separator: New file.
31510         * modules/unictype/property-bidi-eur-num-terminator: New file.
31511         * modules/unictype/property-bidi-arabic-digit: New file.
31512         * modules/unictype/property-bidi-common-separator: New file.
31513         * modules/unictype/property-bidi-block-separator: New file.
31514         * modules/unictype/property-bidi-segment-separator: New file.
31515         * modules/unictype/property-bidi-whitespace: New file.
31516         * modules/unictype/property-bidi-non-spacing-mark: New file.
31517         * modules/unictype/property-bidi-boundary-neutral: New file.
31518         * modules/unictype/property-bidi-pdf: New file.
31519         * modules/unictype/property-bidi-embedding-or-override: New file.
31520         * modules/unictype/property-bidi-other-neutral: New file.
31521         * modules/unictype/property-hex-digit: New file.
31522         * modules/unictype/property-ascii-hex-digit: New file.
31523         * modules/unictype/property-ideographic: New file.
31524         * modules/unictype/property-unified-ideograph: New file.
31525         * modules/unictype/property-radical: New file.
31526         * modules/unictype/property-ids-binary-operator: New file.
31527         * modules/unictype/property-ids-trinary-operator: New file.
31528         * modules/unictype/property-zero-width: New file.
31529         * modules/unictype/property-space: New file.
31530         * modules/unictype/property-non-break: New file.
31531         * modules/unictype/property-iso-control: New file.
31532         * modules/unictype/property-format-control: New file.
31533         * modules/unictype/property-dash: New file.
31534         * modules/unictype/property-hyphen: New file.
31535         * modules/unictype/property-punctuation: New file.
31536         * modules/unictype/property-line-separator: New file.
31537         * modules/unictype/property-paragraph-separator: New file.
31538         * modules/unictype/property-quotation-mark: New file.
31539         * modules/unictype/property-sentence-terminal: New file.
31540         * modules/unictype/property-terminal-punctuation: New file.
31541         * modules/unictype/property-currency-symbol: New file.
31542         * modules/unictype/property-math: New file.
31543         * modules/unictype/property-other-math: New file.
31544         * modules/unictype/property-paired-punctuation: New file.
31545         * modules/unictype/property-left-of-pair: New file.
31546         * modules/unictype/property-combining: New file.
31547         * modules/unictype/property-composite: New file.
31548         * modules/unictype/property-decimal-digit: New file.
31549         * modules/unictype/property-numeric: New file.
31550         * modules/unictype/property-diacritic: New file.
31551         * modules/unictype/property-extender: New file.
31552         * modules/unictype/property-ignorable-control: New file.
31553         * modules/unictype/property-test: New file.
31554         * modules/unictype/property-byname: New file.
31555         * modules/unictype/property-all: New file.
31556         * modules/unictype/scripts: New file.
31557         * modules/unictype/scripts-all: New file.
31558         * modules/unictype/block-of: New file.
31559         * modules/unictype/block-test: New file.
31560         * modules/unictype/block-list: New file.
31561         * modules/unictype/block-all: New file.
31562         * modules/unictype/syntax-c-whitespace: New file.
31563         * modules/unictype/syntax-java-whitespace: New file.
31564         * modules/unictype/syntax-c-ident: New file.
31565         * modules/unictype/syntax-java-ident: New file.
31566         * modules/unictype/ctype-alnum: New file.
31567         * modules/unictype/ctype-alpha: New file.
31568         * modules/unictype/ctype-cntrl: New file.
31569         * modules/unictype/ctype-digit: New file.
31570         * modules/unictype/ctype-graph: New file.
31571         * modules/unictype/ctype-lower: New file.
31572         * modules/unictype/ctype-print: New file.
31573         * modules/unictype/ctype-punct: New file.
31574         * modules/unictype/ctype-space: New file.
31575         * modules/unictype/ctype-upper: New file.
31576         * modules/unictype/ctype-xdigit: New file.
31577         * modules/unictype/ctype-blank: New file.
31578         * lib/unictype/bidi_byname.c: New file.
31579         * lib/unictype/bidi_name.c: New file.
31580         * lib/unictype/bidi_of.c: New file.
31581         * lib/unictype/bidi_test.c: New file.
31582         * lib/unictype/bitmap.h: New file.
31583         * lib/unictype/block_test.c: New file.
31584         * lib/unictype/blocks.c: New file.
31585         * lib/unictype/categ_C.c: New file.
31586         * lib/unictype/categ_Cc.c: New file.
31587         * lib/unictype/categ_Cf.c: New file.
31588         * lib/unictype/categ_Cn.c: New file.
31589         * lib/unictype/categ_Co.c: New file.
31590         * lib/unictype/categ_Cs.c: New file.
31591         * lib/unictype/categ_L.c: New file.
31592         * lib/unictype/categ_Ll.c: New file.
31593         * lib/unictype/categ_Lm.c: New file.
31594         * lib/unictype/categ_Lo.c: New file.
31595         * lib/unictype/categ_Lt.c: New file.
31596         * lib/unictype/categ_Lu.c: New file.
31597         * lib/unictype/categ_M.c: New file.
31598         * lib/unictype/categ_Mc.c: New file.
31599         * lib/unictype/categ_Me.c: New file.
31600         * lib/unictype/categ_Mn.c: New file.
31601         * lib/unictype/categ_N.c: New file.
31602         * lib/unictype/categ_Nd.c: New file.
31603         * lib/unictype/categ_Nl.c: New file.
31604         * lib/unictype/categ_No.c: New file.
31605         * lib/unictype/categ_P.c: New file.
31606         * lib/unictype/categ_Pc.c: New file.
31607         * lib/unictype/categ_Pd.c: New file.
31608         * lib/unictype/categ_Pe.c: New file.
31609         * lib/unictype/categ_Pf.c: New file.
31610         * lib/unictype/categ_Pi.c: New file.
31611         * lib/unictype/categ_Po.c: New file.
31612         * lib/unictype/categ_Ps.c: New file.
31613         * lib/unictype/categ_S.c: New file.
31614         * lib/unictype/categ_Sc.c: New file.
31615         * lib/unictype/categ_Sk.c: New file.
31616         * lib/unictype/categ_Sm.c: New file.
31617         * lib/unictype/categ_So.c: New file.
31618         * lib/unictype/categ_Z.c: New file.
31619         * lib/unictype/categ_Zl.c: New file.
31620         * lib/unictype/categ_Zp.c: New file.
31621         * lib/unictype/categ_Zs.c: New file.
31622         * lib/unictype/categ_and.c: New file.
31623         * lib/unictype/categ_and_not.c: New file.
31624         * lib/unictype/categ_byname.c: New file.
31625         * lib/unictype/categ_name.c: New file.
31626         * lib/unictype/categ_none.c: New file.
31627         * lib/unictype/categ_of.c: New file.
31628         * lib/unictype/categ_or.c: New file.
31629         * lib/unictype/categ_test.c: New file.
31630         * lib/unictype/combining.c: New file.
31631         * lib/unictype/ctype_alnum.c: New file.
31632         * lib/unictype/ctype_alpha.c: New file.
31633         * lib/unictype/ctype_blank.c: New file.
31634         * lib/unictype/ctype_cntrl.c: New file.
31635         * lib/unictype/ctype_digit.c: New file.
31636         * lib/unictype/ctype_graph.c: New file.
31637         * lib/unictype/ctype_lower.c: New file.
31638         * lib/unictype/ctype_print.c: New file.
31639         * lib/unictype/ctype_punct.c: New file.
31640         * lib/unictype/ctype_space.c: New file.
31641         * lib/unictype/ctype_upper.c: New file.
31642         * lib/unictype/ctype_xdigit.c: New file.
31643         * lib/unictype/decdigit.c: New file.
31644         * lib/unictype/digit.c: New file.
31645         * lib/unictype/identsyntaxmap.h: New file.
31646         * lib/unictype/mirror.c: New file.
31647         * lib/unictype/numeric.c: New file.
31648         * lib/unictype/pr_alphabetic.c: New file.
31649         * lib/unictype/pr_ascii_hex_digit.c: New file.
31650         * lib/unictype/pr_bidi_arabic_digit.c: New file.
31651         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
31652         * lib/unictype/pr_bidi_block_separator.c: New file.
31653         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
31654         * lib/unictype/pr_bidi_common_separator.c: New file.
31655         * lib/unictype/pr_bidi_control.c: New file.
31656         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
31657         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
31658         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
31659         * lib/unictype/pr_bidi_european_digit.c: New file.
31660         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
31661         * lib/unictype/pr_bidi_left_to_right.c: New file.
31662         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
31663         * lib/unictype/pr_bidi_other_neutral.c: New file.
31664         * lib/unictype/pr_bidi_pdf.c: New file.
31665         * lib/unictype/pr_bidi_segment_separator.c: New file.
31666         * lib/unictype/pr_bidi_whitespace.c: New file.
31667         * lib/unictype/pr_byname.c: New file.
31668         * lib/unictype/pr_byname.gperf: New file.
31669         * lib/unictype/pr_combining.c: New file.
31670         * lib/unictype/pr_composite.c: New file.
31671         * lib/unictype/pr_currency_symbol.c: New file.
31672         * lib/unictype/pr_dash.c: New file.
31673         * lib/unictype/pr_decimal_digit.c: New file.
31674         * lib/unictype/pr_default_ignorable_code_point.c: New file.
31675         * lib/unictype/pr_deprecated.c: New file.
31676         * lib/unictype/pr_diacritic.c: New file.
31677         * lib/unictype/pr_extender.c: New file.
31678         * lib/unictype/pr_format_control.c: New file.
31679         * lib/unictype/pr_grapheme_base.c: New file.
31680         * lib/unictype/pr_grapheme_extend.c: New file.
31681         * lib/unictype/pr_grapheme_link.c: New file.
31682         * lib/unictype/pr_hex_digit.c: New file.
31683         * lib/unictype/pr_hyphen.c: New file.
31684         * lib/unictype/pr_id_continue.c: New file.
31685         * lib/unictype/pr_id_start.c: New file.
31686         * lib/unictype/pr_ideographic.c: New file.
31687         * lib/unictype/pr_ids_binary_operator.c: New file.
31688         * lib/unictype/pr_ids_trinary_operator.c: New file.
31689         * lib/unictype/pr_ignorable_control.c: New file.
31690         * lib/unictype/pr_iso_control.c: New file.
31691         * lib/unictype/pr_join_control.c: New file.
31692         * lib/unictype/pr_left_of_pair.c: New file.
31693         * lib/unictype/pr_line_separator.c: New file.
31694         * lib/unictype/pr_logical_order_exception.c: New file.
31695         * lib/unictype/pr_lowercase.c: New file.
31696         * lib/unictype/pr_math.c: New file.
31697         * lib/unictype/pr_non_break.c: New file.
31698         * lib/unictype/pr_not_a_character.c: New file.
31699         * lib/unictype/pr_numeric.c: New file.
31700         * lib/unictype/pr_other_alphabetic.c: New file.
31701         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
31702         * lib/unictype/pr_other_grapheme_extend.c: New file.
31703         * lib/unictype/pr_other_id_continue.c: New file.
31704         * lib/unictype/pr_other_id_start.c: New file.
31705         * lib/unictype/pr_other_lowercase.c: New file.
31706         * lib/unictype/pr_other_math.c: New file.
31707         * lib/unictype/pr_other_uppercase.c: New file.
31708         * lib/unictype/pr_paired_punctuation.c: New file.
31709         * lib/unictype/pr_paragraph_separator.c: New file.
31710         * lib/unictype/pr_pattern_syntax.c: New file.
31711         * lib/unictype/pr_pattern_white_space.c: New file.
31712         * lib/unictype/pr_private_use.c: New file.
31713         * lib/unictype/pr_punctuation.c: New file.
31714         * lib/unictype/pr_quotation_mark.c: New file.
31715         * lib/unictype/pr_radical.c: New file.
31716         * lib/unictype/pr_sentence_terminal.c: New file.
31717         * lib/unictype/pr_soft_dotted.c: New file.
31718         * lib/unictype/pr_space.c: New file.
31719         * lib/unictype/pr_terminal_punctuation.c: New file.
31720         * lib/unictype/pr_test.c: New file.
31721         * lib/unictype/pr_titlecase.c: New file.
31722         * lib/unictype/pr_unassigned_code_value.c: New file.
31723         * lib/unictype/pr_unified_ideograph.c: New file.
31724         * lib/unictype/pr_uppercase.c: New file.
31725         * lib/unictype/pr_variation_selector.c: New file.
31726         * lib/unictype/pr_white_space.c: New file.
31727         * lib/unictype/pr_xid_continue.c: New file.
31728         * lib/unictype/pr_xid_start.c: New file.
31729         * lib/unictype/pr_zero_width.c: New file.
31730         * lib/unictype/scripts.c: New file.
31731         * lib/unictype/sy_c_ident.c: New file.
31732         * lib/unictype/sy_c_whitespace.c: New file.
31733         * lib/unictype/sy_java_ident.c: New file.
31734         * lib/unictype/sy_java_whitespace.c: New file.
31735
31736         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
31737         Unicode 5.0.0.
31738         * lib/unictype/blocks.h: Likewise.
31739         * lib/unictype/categ_C.h: Likewise.
31740         * lib/unictype/categ_Cc.h: Likewise.
31741         * lib/unictype/categ_Cf.h: Likewise.
31742         * lib/unictype/categ_Cn.h: Likewise.
31743         * lib/unictype/categ_Co.h: Likewise.
31744         * lib/unictype/categ_Cs.h: Likewise.
31745         * lib/unictype/categ_L.h: Likewise.
31746         * lib/unictype/categ_Ll.h: Likewise.
31747         * lib/unictype/categ_Lm.h: Likewise.
31748         * lib/unictype/categ_Lo.h: Likewise.
31749         * lib/unictype/categ_Lt.h: Likewise.
31750         * lib/unictype/categ_Lu.h: Likewise.
31751         * lib/unictype/categ_M.h: Likewise.
31752         * lib/unictype/categ_Mc.h: Likewise.
31753         * lib/unictype/categ_Me.h: Likewise.
31754         * lib/unictype/categ_Mn.h: Likewise.
31755         * lib/unictype/categ_N.h: Likewise.
31756         * lib/unictype/categ_Nd.h: Likewise.
31757         * lib/unictype/categ_Nl.h: Likewise.
31758         * lib/unictype/categ_No.h: Likewise.
31759         * lib/unictype/categ_P.h: Likewise.
31760         * lib/unictype/categ_Pc.h: Likewise.
31761         * lib/unictype/categ_Pd.h: Likewise.
31762         * lib/unictype/categ_Pe.h: Likewise.
31763         * lib/unictype/categ_Pf.h: Likewise.
31764         * lib/unictype/categ_Pi.h: Likewise.
31765         * lib/unictype/categ_Po.h: Likewise.
31766         * lib/unictype/categ_Ps.h: Likewise.
31767         * lib/unictype/categ_S.h: Likewise.
31768         * lib/unictype/categ_Sc.h: Likewise.
31769         * lib/unictype/categ_Sk.h: Likewise.
31770         * lib/unictype/categ_Sm.h: Likewise.
31771         * lib/unictype/categ_So.h: Likewise.
31772         * lib/unictype/categ_Z.h: Likewise.
31773         * lib/unictype/categ_Zl.h: Likewise.
31774         * lib/unictype/categ_Zp.h: Likewise.
31775         * lib/unictype/categ_Zs.h: Likewise.
31776         * lib/unictype/categ_of.h: Likewise.
31777         * lib/unictype/combining.h: Likewise.
31778         * lib/unictype/ctype_alnum.h: Likewise.
31779         * lib/unictype/ctype_alpha.h: Likewise.
31780         * lib/unictype/ctype_blank.h: Likewise.
31781         * lib/unictype/ctype_cntrl.h: Likewise.
31782         * lib/unictype/ctype_digit.h: Likewise.
31783         * lib/unictype/ctype_graph.h: Likewise.
31784         * lib/unictype/ctype_lower.h: Likewise.
31785         * lib/unictype/ctype_print.h: Likewise.
31786         * lib/unictype/ctype_punct.h: Likewise.
31787         * lib/unictype/ctype_space.h: Likewise.
31788         * lib/unictype/ctype_upper.h: Likewise.
31789         * lib/unictype/ctype_xdigit.h: Likewise.
31790         * lib/unictype/decdigit.h: Likewise.
31791         * lib/unictype/digit.h: Likewise.
31792         * lib/unictype/mirror.h: Likewise.
31793         * lib/unictype/numeric.h: Likewise.
31794         * lib/unictype/pr_alphabetic.h: Likewise.
31795         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
31796         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
31797         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
31798         * lib/unictype/pr_bidi_block_separator.h: Likewise.
31799         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
31800         * lib/unictype/pr_bidi_common_separator.h: Likewise.
31801         * lib/unictype/pr_bidi_control.h: Likewise.
31802         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
31803         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
31804         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
31805         * lib/unictype/pr_bidi_european_digit.h: Likewise.
31806         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
31807         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
31808         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
31809         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
31810         * lib/unictype/pr_bidi_pdf.h: Likewise.
31811         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
31812         * lib/unictype/pr_bidi_whitespace.h: Likewise.
31813         * lib/unictype/pr_combining.h: Likewise.
31814         * lib/unictype/pr_composite.h: Likewise.
31815         * lib/unictype/pr_currency_symbol.h: Likewise.
31816         * lib/unictype/pr_dash.h: Likewise.
31817         * lib/unictype/pr_decimal_digit.h: Likewise.
31818         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
31819         * lib/unictype/pr_deprecated.h: Likewise.
31820         * lib/unictype/pr_diacritic.h: Likewise.
31821         * lib/unictype/pr_extender.h: Likewise.
31822         * lib/unictype/pr_format_control.h: Likewise.
31823         * lib/unictype/pr_grapheme_base.h: Likewise.
31824         * lib/unictype/pr_grapheme_extend.h: Likewise.
31825         * lib/unictype/pr_grapheme_link.h: Likewise.
31826         * lib/unictype/pr_hex_digit.h: Likewise.
31827         * lib/unictype/pr_hyphen.h: Likewise.
31828         * lib/unictype/pr_id_continue.h: Likewise.
31829         * lib/unictype/pr_id_start.h: Likewise.
31830         * lib/unictype/pr_ideographic.h: Likewise.
31831         * lib/unictype/pr_ids_binary_operator.h: Likewise.
31832         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
31833         * lib/unictype/pr_ignorable_control.h: Likewise.
31834         * lib/unictype/pr_iso_control.h: Likewise.
31835         * lib/unictype/pr_join_control.h: Likewise.
31836         * lib/unictype/pr_left_of_pair.h: Likewise.
31837         * lib/unictype/pr_line_separator.h: Likewise.
31838         * lib/unictype/pr_logical_order_exception.h: Likewise.
31839         * lib/unictype/pr_lowercase.h: Likewise.
31840         * lib/unictype/pr_math.h: Likewise.
31841         * lib/unictype/pr_non_break.h: Likewise.
31842         * lib/unictype/pr_not_a_character.h: Likewise.
31843         * lib/unictype/pr_numeric.h: Likewise.
31844         * lib/unictype/pr_other_alphabetic.h: Likewise.
31845         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
31846         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
31847         * lib/unictype/pr_other_id_continue.h: Likewise.
31848         * lib/unictype/pr_other_id_start.h: Likewise.
31849         * lib/unictype/pr_other_lowercase.h: Likewise.
31850         * lib/unictype/pr_other_math.h: Likewise.
31851         * lib/unictype/pr_other_uppercase.h: Likewise.
31852         * lib/unictype/pr_paired_punctuation.h: Likewise.
31853         * lib/unictype/pr_paragraph_separator.h: Likewise.
31854         * lib/unictype/pr_pattern_syntax.h: Likewise.
31855         * lib/unictype/pr_pattern_white_space.h: Likewise.
31856         * lib/unictype/pr_private_use.h: Likewise.
31857         * lib/unictype/pr_punctuation.h: Likewise.
31858         * lib/unictype/pr_quotation_mark.h: Likewise.
31859         * lib/unictype/pr_radical.h: Likewise.
31860         * lib/unictype/pr_sentence_terminal.h: Likewise.
31861         * lib/unictype/pr_soft_dotted.h: Likewise.
31862         * lib/unictype/pr_space.h: Likewise.
31863         * lib/unictype/pr_terminal_punctuation.h: Likewise.
31864         * lib/unictype/pr_titlecase.h: Likewise.
31865         * lib/unictype/pr_unassigned_code_value.h: Likewise.
31866         * lib/unictype/pr_unified_ideograph.h: Likewise.
31867         * lib/unictype/pr_uppercase.h: Likewise.
31868         * lib/unictype/pr_variation_selector.h: Likewise.
31869         * lib/unictype/pr_white_space.h: Likewise.
31870         * lib/unictype/pr_xid_continue.h: Likewise.
31871         * lib/unictype/pr_xid_start.h: Likewise.
31872         * lib/unictype/pr_zero_width.h: Likewise.
31873         * lib/unictype/scripts.h: Likewise.
31874         * lib/unictype/scripts_byname.gperf: Likewise.
31875         * lib/unictype/sy_c_ident.h: Likewise.
31876         * lib/unictype/sy_c_whitespace.h: Likewise.
31877         * lib/unictype/sy_java_ident.h: Likewise.
31878         * lib/unictype/sy_java_whitespace.h: Likewise.
31879
31880         * lib/unictype/Makefile: New file.
31881         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
31882         glibc.
31883         * lib/unictype/3level.h: New file, copied from glibc.
31884         * lib/unictype/3levelbit.h: New file.
31885
31886 2007-11-11  Bruno Haible  <bruno@clisp.org>
31887
31888         * modules/gperf: New file.
31889         * modules/iconv_open (Depends-on): Add it.
31890         (Makefile.am): Remove the GPERF definition.
31891
31892 2007-11-11  Bruno Haible  <bruno@clisp.org>
31893
31894         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
31895         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
31896
31897 2007-11-11  Bruno Haible  <bruno@clisp.org>
31898
31899         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
31900         (usage): Remove function.
31901
31902 2007-11-11  Bruno Haible  <bruno@clisp.org>
31903
31904         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
31905         gl_FUNC_CEILF_LIBS.
31906         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
31907         gl_FUNC_CEIL_LIBS.
31908         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
31909         gl_FUNC_CEILL_LIBS.
31910         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
31911         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
31912         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
31913
31914 2007-11-11  Bruno Haible  <bruno@clisp.org>
31915
31916         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
31917         roundf were declared but do not exist on functions.
31918         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
31919         roundl were declared but do not exist on functions.
31920         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
31921         HAVE_FLOORL_AND_CEILL, respectively.
31922         Needed for Sun C on Solaris 10.
31923
31924 2007-11-11  Bruno Haible  <bruno@clisp.org>
31925
31926         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
31927         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
31928         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
31929         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
31930         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
31931         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
31932         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
31933         HAVE_DECL_ROUNDF.
31934         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
31935         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
31936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
31937         of HAVE_DECL_ROUND*.
31938         * modules/math (Makefile.am): Update.
31939
31940 2007-11-10  Bruno Haible  <bruno@clisp.org>
31941
31942         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
31943         ptrdiff_t as m4/intl.m4.
31944
31945 2007-11-10  Jim Meyering  <meyering@redhat.com>
31946
31947         Avoid link failure for the argmatch test.
31948         * tests/test-argmatch.c (usage): Define function to avoid a link
31949         failure: argmatch_die requires a usage function.
31950
31951 2007-11-09  Bruno Haible  <bruno@clisp.org>
31952
31953         * doc/functions/snprintf.texi: Mention BeOS deficiency.
31954         * doc/functions/vsnprintf.texi: Likewise.
31955         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
31956         with a size argument < 2.
31957
31958 2007-11-09  Bruno Haible  <bruno@clisp.org>
31959
31960         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
31961         buffer. Fixes an inefficiency introduced on 2007-11-03.
31962
31963 2007-11-09  Bruno Haible  <bruno@clisp.org>
31964
31965         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
31966         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
31967
31968 2007-11-08  Jim Meyering  <meyering@redhat.com>
31969
31970         Change cache variable name prefix "jm_" to "gl_" everywhere.
31971         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
31972         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
31973         * m4/uptime.m4: s/gl_/jm_/
31974
31975 2007-11-07  Bruno Haible  <bruno@clisp.org>
31976
31977         Update to GNU gettext 0.17.
31978         * m4/intl.m4: Update to GNU gettext 0.17.
31979         * m4/po.m4: Likewise.
31980         * modules/gettext (Files): Remove m4/ulonglong.m4.
31981         (configure.ac): Require gettext infrastructure from version 0.17.
31982
31983 2007-11-06  Bruno Haible  <bruno@clisp.org>
31984
31985         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
31986         symbolic values are not defined in a public header.
31987         * lib/freadable.c (freadable) [QNX]: Likewise.
31988         * lib/freadahead.c (freadahead) [QNX]: Likewise.
31989         * lib/freading.c (freading) [QNX]: Likewise.
31990         * lib/fseterr.c (fseterr) [QNX]: Likewise.
31991         * lib/fwritable.c (fwritable) [QNX]: Likewise.
31992         * lib/fwriting.c (fwriting) [QNX]: Likewise.
31993         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
31994         Reported by Alain Magloire.
31995
31996         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
31997
31998 2007-11-05  Bruno Haible  <bruno@clisp.org>
31999
32000         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
32001         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
32002         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
32003         Reported by Eric Blake.
32004
32005 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32006             Bruno Haible  <bruno@clisp.org>
32007
32008         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
32009         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
32010         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
32011         (malloc): Undefine also before including <stdlib.h>.
32012         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
32013         Needed on OSF/1 4.0.
32014
32015 2007-11-05  Jim Meyering  <meyering@redhat.com>
32016
32017         git-version-gen: sync from coreutils.
32018         * build-aux/git-version-gen: Add comments.
32019         Change the first '-' to '.' in the snapshot version string,
32020         e.g., 6.9-377-08144 -> 6.9.377-08144
32021         Remove first parameter.
32022         Don't declare a version "-dirty" merely because a time
32023         stamp has changed.
32024
32025 2007-11-04  Bruno Haible  <bruno@clisp.org>
32026
32027         * lib/lock.h: Protect all macro definitions containing an 'if'
32028         statement through a "do { ... } while (0)".
32029         * lib/tls.h: Likewise.
32030
32031 2007-11-04  Bruno Haible  <bruno@clisp.org>
32032
32033         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
32034
32035 2007-11-04  Bruno Haible  <bruno@clisp.org>
32036
32037         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
32038         * modules/fprintf-posix (Depends-on): Add nocrash.
32039         * modules/snprintf-posix (Depends-on): Likewise.
32040         * modules/sprintf-posix (Depends-on): Likewise.
32041         * modules/vasnprintf-posix (Depends-on): Likewise.
32042         * modules/vasprintf-posix (Depends-on): Likewise.
32043         * modules/vfprintf-posix (Depends-on): Likewise.
32044         * modules/vsnprintf-posix (Depends-on): Likewise.
32045         * modules/vsprintf-posix (Depends-on): Likewise.
32046         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32047         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32048         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32049         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32050         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32051         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32052         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32053
32054 2007-11-04  Bruno Haible  <bruno@clisp.org>
32055
32056         * modules/nocrash: New file.
32057         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
32058         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
32059
32060 2007-11-04  Bruno Haible  <bruno@clisp.org>
32061
32062         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
32063         precision handling.
32064         * tests/test-vasprintf-posix.c (test_function): Likewise.
32065         * tests/test-snprintf-posix.h (test_function): Likewise.
32066         * tests/test-sprintf-posix.h (test_function): Likewise.
32067
32068         Fix *printf behaviour for large precisions on mingw and BeOS.
32069         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
32070         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
32071         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
32072         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32073         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32074         gl_PRINTF_PRECISION and test its result. Invoke
32075         gl_PREREQ_VASNPRINTF_PRECISION.
32076         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32077         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32078         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32079         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32080         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32081         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32082         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32083         * doc/functions/fprintf.texi: Update.
32084         * doc/functions/printf.texi: Update.
32085         * doc/functions/snprintf.texi: Update.
32086         * doc/functions/sprintf.texi: Update.
32087         * doc/functions/vfprintf.texi: Update.
32088         * doc/functions/vprintf.texi: Update.
32089         * doc/functions/vsnprintf.texi: Update.
32090         * doc/functions/vsprintf.texi: Update.
32091
32092 2007-11-04  Bruno Haible  <bruno@clisp.org>
32093
32094         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
32095
32096 2007-11-04  Bruno Haible  <bruno@clisp.org>
32097
32098         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
32099         Reported by Sylvain Beucler <beuc@gnu.org>.
32100
32101 2007-11-03  Bruno Haible  <bruno@clisp.org>
32102
32103         * tests/test-fprintf-posix2.sh: New file.
32104         * tests/test-fprintf-posix2.c: New file.
32105         * modules/fprintf-posix-tests (Files): Add them.
32106         (TESTS): Add test-fprintf-posix2.sh.
32107         (configure.ac): Check for getrlimit and setrlimit.
32108         (check_PROGRAMS): Add test-fprintf-posix2.
32109
32110         * tests/test-printf-posix2.sh: New file.
32111         * tests/test-printf-posix2.c: New file.
32112         * modules/printf-posix-tests (Files): Add them.
32113         (TESTS): Add test-printf-posix2.sh.
32114         (configure.ac): Check for getrlimit and setrlimit.
32115         (check_PROGRAMS): Add test-printf-posix2.
32116
32117         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
32118         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
32119         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
32120         (decode_double): New function, copied from decode_long_double.
32121         (scale10_round_decimal_decoded): New function, extracted from
32122         scale10_round_decimal_long_double.
32123         (scale10_round_decimal_long_double): Use it.
32124         (scale10_round_decimal_double): New function.
32125         (floorlog10): New function.
32126         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
32127         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
32128         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32129         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32130         gl_PRINTF_ENOMEM and test its result. Invoke
32131         gl_PREREQ_VASNPRINTF_ENOMEM.
32132         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32133         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32134         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32135         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32136         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32137         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32138         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32139         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
32140         * modules/snprintf-posix (Depends-on): Likewise.
32141         * modules/sprintf-posix (Depends-on): Likewise.
32142         * modules/vasnprintf-posix (Depends-on): Likewise.
32143         * modules/vasprintf-posix (Depends-on): Likewise.
32144         * modules/vfprintf-posix (Depends-on): Likewise.
32145         * modules/vsnprintf-posix (Depends-on): Likewise.
32146         * modules/vsprintf-posix (Depends-on): Likewise.
32147         * doc/functions/fprintf.texi: Update.
32148         * doc/functions/printf.texi: Update.
32149         * doc/functions/snprintf.texi: Update.
32150         * doc/functions/sprintf.texi: Update.
32151         * doc/functions/vfprintf.texi: Update.
32152         * doc/functions/vprintf.texi: Update.
32153         * doc/functions/vsnprintf.texi: Update.
32154         * doc/functions/vsprintf.texi: Update.
32155
32156 2007-11-03  Bruno Haible  <bruno@clisp.org>
32157
32158         * modules/frexp-nolibm-tests: New file.
32159
32160         * modules/frexp-nolibm: New file.
32161         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
32162
32163 2007-11-03  Bruno Haible  <bruno@clisp.org>
32164
32165         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
32166         value is C99 compliant.
32167         Needed for OSF/1 5.1.
32168
32169 2007-11-03  Bruno Haible  <bruno@clisp.org>
32170
32171         Fix out-of-memory handling of vasnprintf.
32172         * lib/printf-parse.c: Include <errno.h>.
32173         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
32174         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
32175         is already set.
32176
32177 2007-11-02  Eric Blake  <ebb9@byu.net>
32178
32179         Fix tests on cygwin.
32180         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
32181
32182 2007-11-01  Bruno Haible  <bruno@clisp.org>
32183
32184         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
32185         warning.
32186         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
32187         needed for POSIX compatibility.
32188
32189 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
32190
32191         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
32192         for compatibility with GNU.
32193
32194 2007-11-01  Bruno Haible  <bruno@clisp.org>
32195
32196         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
32197         (putenv): Renamed from rpl_putenv. Change argument type from
32198         'const char *' to 'char *'.
32199         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
32200         of defining putenv in config.h, just set REPLACE_PUTENV.
32201         * modules/putenv (Depends-on): Add stdlib.
32202         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32203         (Include): Use <stdlib.h>.
32204         * lib/stdlib.in.h (putenv): New declaration.
32205         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
32206         REPLACE_PUTENV.
32207         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
32208         REPLACE_PUTENV.
32209         Needed for MacOS X 10.5.0.
32210         Reported by Peter O'Gorman <peter@pogma.com>.
32211
32212 2007-11-01  Jim Meyering  <meyering@redhat.com>
32213
32214         Treat an empty date string exactly like "0".
32215         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
32216         if the remaining date string (to be parsed) is empty, use "0".
32217         Reported by Mischa Molhoek and discussed in this thread:
32218         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
32219
32220 2007-10-31  Bruno Haible  <bruno@clisp.org>
32221
32222         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
32223         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
32224         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
32225         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
32226         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
32227         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
32228
32229 2007-10-31  Bruno Haible  <bruno@clisp.org>
32230
32231         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
32232         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
32233         (AC_TYPE_LONG_LONG_INT): Use it.
32234         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
32235         it as well.
32236         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
32237         to m4/longlong.m4.
32238         * modules/stdint (Files): Remove m4/ulonglong.m4.
32239         * modules/strtoull (Files): Use m4/longlong.m4 instead of
32240         m4/ulonglong.m4.
32241         * modules/strtoumax (Files): Likewise.
32242
32243 2007-10-30  Bruno Haible  <bruno@clisp.org>
32244
32245         * modules/xvasprintf-posix: New file.
32246         Suggested by Eric Blake.
32247
32248 2007-10-30  Bruno Haible  <bruno@clisp.org>
32249
32250         * modules/xprintf-posix-tests: New file.
32251         * tests/test-xprintf-posix.sh: New file.
32252         * tests/test-xprintf-posix.c: New file.
32253         * tests/test-xfprintf-posix.c: New file.
32254
32255         * modules/xprintf-posix: New file.
32256
32257 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32258
32259         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
32260         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
32261         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
32262
32263 2007-10-29  Bruno Haible  <bruno@clisp.org>
32264
32265         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
32266         contain the special marker '_cv_'.
32267         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
32268         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
32269         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
32270         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
32271         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
32272         Reported by Ralf Wildenhues.
32273
32274 2007-10-29  Bruno Haible  <bruno@clisp.org>
32275
32276         * gnulib-tool (func_import): When --lgpl is not specified, set
32277         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
32278         GPLv3.
32279         Reported by Simon Josefsson.
32280
32281 2007-10-28  Bruno Haible  <bruno@clisp.org>
32282
32283         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
32284         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
32285         HAVE_DECL_ISFINITE.
32286         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
32287         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
32288         HAVE_DECL_ISFINITE.
32289
32290 2007-10-28  Bruno Haible  <bruno@clisp.org>
32291
32292         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
32293         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
32294
32295 2007-10-28  Bruno Haible  <bruno@clisp.org>
32296
32297         Fix link errors with Sun C 5.0 on Solaris 10.
32298         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
32299         function is declared but not present in the compiler's libm.
32300         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32301         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
32302         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
32303         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
32304         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
32305         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
32306         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
32307         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
32308         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
32309         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
32310         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
32311         HAVE_DECL_FLOORL.
32312
32313 2007-10-28  Bruno Haible  <bruno@clisp.org>
32314
32315         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
32316         gl_FUNC_FLOORL. Cache the result.
32317         (gl_FUNC_FLOORL): Use it.
32318         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
32319         gl_FUNC_CEILL. Cache the result.
32320         (gl_FUNC_CEILL): Use it.
32321
32322         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
32323         gl_FUNC_FLOOR. Cache the result.
32324         (gl_FUNC_FLOOR): Use it.
32325         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
32326         gl_FUNC_CEIL. Cache the result.
32327         (gl_FUNC_CEIL): Use it.
32328
32329         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
32330         gl_FUNC_FLOORF. Cache the result.
32331         (gl_FUNC_FLOORF): Use it.
32332         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
32333         gl_FUNC_CEILF. Cache the result.
32334         (gl_FUNC_CEILF): Use it.
32335
32336 2007-10-28  Bruno Haible  <bruno@clisp.org>
32337
32338         * gnulib-tool: Allow specifying the LGPL version number through
32339         --lgpl=2 or --lgpl=3.
32340         (func_usage): Document --lgpl with argument.
32341         Handle --lgpl=... arguments.
32342         (func_import): Recognize also gl_LGPL calls with an argument. When
32343         --lgpl=2 is used and the module's license is just LGPL, report an
32344         error. Set sed_transform_lib_file according to the lgpl variable. In
32345         the generated files, use --lgpl or gl_LGPL invocations with argument,
32346         if necessary.
32347         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
32348         an LGPv2+ license.
32349         * doc/gnulib-tool.texi (Modified imports): Update explanation of
32350         gl_LGPL macro.
32351
32352 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32353             Bruno Haible  <bruno@clisp.org>
32354
32355         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
32356         (u16_uctomb_aux): Likewise.
32357         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
32358         !HAVE_INLINE.
32359         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
32360
32361 2007-10-28  Bruno Haible  <bruno@clisp.org>
32362
32363         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
32364         Invoke AM_GETTEXT_OPTION if it exists.
32365         * modules/vasprintf: Likewise.
32366         * modules/verror: Likewise.
32367         * modules/xprintf: Likewise.
32368         * modules/xvasprintf: Likewise.
32369
32370 2007-10-27  Ben Pfaff  <blp@gnu.org>
32371
32372         * lib/math.in.h: Define isfinite macro and prototypes for
32373         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
32374         implementations.
32375         * m4/math_h.m4: New substitutions for isfinite module.
32376         * lib/isfinite.c: New file.
32377         * m4/isfinite.m4: New file.
32378         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
32379         * modules/isfinite: New file.
32380         * modules/isfinite-tests: New file.
32381         * tests/tests-isfinite.c: New file.
32382         * doc/functions/isfinite.texi: Mention isfinite module.
32383         * MODULES.html.sh: Mention new module.
32384
32385 2007-10-27  Ben Pfaff  <blp@gnu.org>
32386
32387         Ralf Wildenhues reported that Tru64 4.0D declares the round
32388         functions but does not have definitions.
32389         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
32390         cannot be found in any library, set the output variable to
32391         "missing" instead of "".
32392         * m4/round.m4: Also use our substitute if we cannot find round in
32393         any library, even if it is declared.
32394         * m4/roundf.m4: Likewise for roundf.
32395         * m4/roundl.m4: Likewise for roundl.
32396         * lib/math.in.h: Undefine roundf, round, roundl before defining
32397         their replacements, to allow for hypothetical systems where these
32398         may be defined as macros but not available in libraries.
32399
32400 2007-10-27  Bruno Haible  <bruno@clisp.org>
32401
32402         * doc/gnulib.texi: Invoke @firstparagraphindent.
32403         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
32404         changes in gnulib.
32405         (Source changes): New section.
32406
32407 2007-10-26  Bruno Haible  <bruno@clisp.org>
32408
32409         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
32410         borrowed from autoconf.
32411
32412 2007-10-26  Bruno Haible  <bruno@clisp.org>
32413
32414         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
32415         strerror returned the empty string. Needed on HP-UX 11.00.
32416
32417 2007-10-24  Micah Cowan  <micah@cowan.name>
32418
32419         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
32420         * build-aux/bootstrap: Remove support for now-unnecessary option,
32421         --cvs-user, and envvars CVS_USER, CVS_RSH.
32422
32423 2007-10-24  Jim Meyering  <meyering@redhat.com>
32424
32425         Avoid diagnostics from sha1sum when there is no cached checksum.
32426         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
32427         if the po.s1 file hasn't been created yet.
32428
32429         * build-aux/bootstrap: Sync from coreutils:
32430         2007-10-24  Jim Meyering  <meyering@redhat.com>
32431         Get gnulib from the git repository, not from an obsolete cvs one.
32432         * build-aux/bootstrap: Suggestion from Micah Cowan.
32433         2007-10-04  Jim Meyering  <jim@meyering.net>
32434         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
32435         (update_po_files): Work also when there are no .po files in po/.
32436
32437 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32438
32439         * README: Append ".git" to git and cg examples.
32440         Problem reported by Benoit Sigoure.
32441
32442 2007-10-23  Micah Cowan  <micah@cowan.name>
32443
32444         * users.txt: Add wget.
32445
32446 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32447
32448         Fix linking of some unistdio tests on FreeBSD.
32449         * modules/unistdio/u16-vsnprintf-tests
32450         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
32451         * modules/unistdio/u16-vsprintf-tests
32452         (test_u16_vsnprintf1_LDADD): Likewise.
32453         * modules/unistdio/u32-vsnprintf-tests
32454         (test_u32_vsnprintf1_LDADD): Likewise.
32455         * modules/unistdio/u32-vsprintf-tests
32456         (test_u32_vsprintf1_LDADD): Likewise.
32457         * modules/unistdio/u8-vsnprintf-tests
32458         (test_u8_vsnprintf1_LDADD): Likewise.
32459         * modules/unistdio/u8-vsprintf-tests
32460         (test_u8_vsprintf1_LDADD): Likewise.
32461         * modules/unistdio/ulc-vsnprintf-tests
32462         (test_ulc_vsnprintf1_LDADD): Likewise.
32463         * modules/unistdio/ulc-vsprintf-tests
32464         (test_ulc_vsprintf1_LDADD): Likewise.
32465
32466         Fix linking of some uniconv tests on FreeBSD.
32467         * modules/uniconv/u16-conv-from-enc-tests
32468         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
32469         * modules/uniconv/u16-conv-to-enc-tests
32470         (test_u16_conv_to_enc_LDADD): Likewise.
32471         * modules/uniconv/u16-strconv-from-enc-tests
32472         (test_u16_strconv_from_enc_LDADD): Likewise.
32473         * modules/uniconv/u16-strconv-to-enc-tests
32474         (test_u16_strconv_to_enc_LDADD): Likewise.
32475         * modules/uniconv/u32-conv-from-enc-tests
32476         (test_u32_conv_from_enc_LDADD): Likewise.
32477         * modules/uniconv/u32-conv-to-enc-tests
32478         (test_u32_conv_to_enc_LDADD): Likewise.
32479         * modules/uniconv/u32-strconv-from-enc-tests
32480         (test_u32_strconv_from_enc_LDADD): Likewise.
32481         * modules/uniconv/u32-strconv-to-enc-tests
32482         (test_u32_strconv_to_enc_LDADD): Likewise.
32483         * modules/uniconv/u8-conv-from-enc-tests
32484         (test_u8_conv_from_enc_LDADD): Likewise.
32485         * modules/uniconv/u8-conv-to-enc-tests
32486         (test_u8_conv_to_enc_LDADD): Likewise.
32487         * modules/uniconv/u8-strconv-from-enc-tests
32488         (test_u8_strconv_from_enc_LDADD): Likewise.
32489         * modules/uniconv/u8-strconv-to-enc-tests
32490         (test_u8_strconv_to_enc_LDADD): Likewise.
32491
32492 2007-10-22  Bruno Haible  <bruno@clisp.org>
32493
32494         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
32495         size.
32496
32497 2007-10-22  Eric Blake  <ebb9@byu.net>
32498
32499         Tweak x*printf documentation.
32500         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
32501         variable name and comments.
32502         Suggested by Bruno Haible.
32503
32504 2007-10-22  Bruno Haible  <bruno@clisp.org>
32505
32506         * lib/acl.c (copy_acl): Fix file name in comment.
32507
32508 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
32509
32510         Fix Tru64 problem with stdbool.h.
32511         * lib/stdbool.in.h (false, true):
32512         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
32513         Don't declare as an enum in this situation; it runs afoul of Tru64.
32514         Problem reported by Steven M. Schweda in
32515         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
32516
32517 2007-10-22  Eric Blake  <ebb9@byu.net>
32518
32519         Also wrap vf?printf.
32520         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
32521         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
32522         (xvprintf, xvfprintf): New functions.
32523
32524 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32525
32526         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
32527         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
32528
32529         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
32530         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
32531
32532 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
32533
32534         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
32535         by Bruno Haible.
32536
32537 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32538
32539         * lib/getloadavg.c
32540         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
32541         Undef `sys' after including sys/table.h, for Tru64 4.0D.
32542
32543         * tests/test-i-ring.c: Work for C89.
32544
32545 2007-10-22  Bruno Haible  <bruno@clisp.org>
32546
32547         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
32548         -1u, in preprocessor expression, so that we don't test for the bug
32549         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
32550         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
32551
32552 2007-10-22  Eric Blake  <ebb9@byu.net>
32553
32554         * tests/test-yesno.sh: Silence stderr during test.
32555
32556 2007-10-22  Simon Josefsson  <simon@josefsson.org>
32557
32558         * modules/crypto/gc-camellia: New file.
32559
32560         * m4/gc-camellia.m4: New file.
32561
32562         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
32563
32564         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
32565
32566 2007-10-22  Simon Josefsson  <simon@josefsson.org>
32567
32568         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
32569         --help to stdout.  Reported by sms@antinode.org (Steven
32570         M. Schweda).
32571
32572 2007-10-22  Simon Josefsson  <simon@josefsson.org>
32573
32574         * users.txt: Fix link to libksba.
32575
32576 2007-10-21  Ben Pfaff  <blp@gnu.org>
32577
32578         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
32579         round.c roundf implementation that depends on floorf and ceilf to
32580         be tested unconditionally.
32581
32582 2007-10-21  Ben Pfaff  <blp@gnu.org>
32583
32584         * m4/check-libm-func.m4: Removed.
32585         * m4/check-math-lib.m4: New file.
32586         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
32587         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
32588         definition and lack of AC_LIBOBJ([roundf]).
32589         * m4/roundl.m4: Ditto, and similarly for roundl.
32590         * modules/round: Reference new m4 file.
32591         * modules/roundf: Ditto.
32592         * modules/roundl: Ditto.
32593         * tests/test-round2.c (main): Use ROUND instead of round.
32594         Bug report from Bruno Haible.
32595
32596 2007-10-21  Bruno Haible  <bruno@clisp.org>
32597
32598         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
32599         context.
32600
32601 2007-10-21  Bruno Haible  <bruno@clisp.org>
32602
32603         * tests/test-wcwidth.c (main): Allow negative result for some control
32604         characters.
32605
32606         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
32607         Needed on OSF/1 5.1.
32608
32609 2007-10-21  Bruno Haible  <bruno@clisp.org>
32610
32611         * tests/test-floorf1.c: Include isnanf.h.
32612         (main): Use isnanf() instead of isnan().
32613         * tests/test-ceilf1.c: Include isnanf.h.
32614         (main): Use isnanf() instead of isnan().
32615         * tests/test-truncf1.c: Include isnanf.h.
32616         (main): Use isnanf() instead of isnan().
32617         * tests/test-roundf1.c: Include isnanf.h.
32618         (main): Use isnanf() instead of isnan().
32619
32620 2007-10-21  Eric Blake  <ebb9@byu.net>
32621
32622         * users.txt: Update URL for m4.
32623
32624 2007-10-21  Bruno Haible  <bruno@clisp.org>
32625
32626         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
32627
32628 2007-10-21  Bruno Haible  <bruno@clisp.org>
32629
32630         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
32631         Git's management files if the CVS files are not present.
32632
32633 2007-10-20  Bruno Haible  <bruno@clisp.org>
32634
32635         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
32636         gcc-3.4.x.
32637
32638 2007-10-20  Ben Pfaff  <blp@gnu.org>
32639
32640         * lib/math.in.h: Declare round, roundf, roundl if we are providing
32641         implementations.
32642         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
32643         * lib/round.c: New file.
32644         * lib/roundf.c: New file.
32645         * lib/roundl.c: New file.
32646         * m4/round.m4: New file.
32647         * m4/roundf.m4: New file.
32648         * m4/roundl.m4: New file.
32649         * m4/check-libm-func-m4: New file.
32650         * modules/math: Replace round, roundf, roundl related @VARS@ in
32651         math.in.h.
32652         * modules/round: New file.
32653         * modules/round-tests: New file.
32654         * modules/roundf: New file.
32655         * modules/roundf-tests: New file.
32656         * modules/roundl: New file.
32657         * modules/roundl-tests: New file.
32658         * tests/test-round1.c: New file.
32659         * tests/test-round2.c: New file.
32660         * tests/test-roundf1.c: New file.
32661         * tests/test-roundf2.c: New file.
32662         * tests/test-roundl.c: New file.
32663         * doc/functions/round.texi: Mention round module.
32664         * doc/functions/roundf.texi: Mention roundf module.
32665         * doc/functions/roundl.texi: Mention roundl module.
32666         * MODULES.html.sh: Mention new modules.
32667         Thanks to Bruno Haible for suggestions.
32668
32669 2007-10-20  Jim Meyering  <meyering@redhat.com>
32670
32671         * lib/xprintf.c: Include <config.h> unconditionally.
32672
32673         Change xprintf's license to GPL.
32674         * modules/xprintf (License): s/LGPL/GPL/, since this module
32675         depends on modules (exit and exitfail) which are GPL.
32676         Suggestion from Bruno Haible.
32677
32678         xprintf fixes.
32679         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
32680         Use a clearer diagnostic.
32681         Patch from Bruno Haible.
32682
32683 2007-10-20  Bruno Haible  <bruno@clisp.org>
32684
32685         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
32686         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
32687         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32688
32689 2007-10-20  Bruno Haible  <bruno@clisp.org>
32690
32691         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
32692         precision in the comparison result > x - 1 or similar.
32693         * tests/test-ceilf2.c (correct_result_p): Likewise.
32694         * tests/test-truncf2.c (correct_result_p): Likewise.
32695         * tests/test-trunc2.c (correct_result_p): Likewise.
32696         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32697
32698 2007-10-20  Bruno Haible  <bruno@clisp.org>
32699
32700         * modules/ceil: New file.
32701         * m4/ceil.m4: New file.
32702         * doc/functions/ceil.texi: Mention the 'ceil' module.
32703
32704 2007-10-20  Bruno Haible  <bruno@clisp.org>
32705
32706         * modules/floor: New file.
32707         * m4/floor.m4: New file.
32708         * doc/functions/floor.texi: Mention the 'floor' module.
32709
32710 2007-10-20  Bruno Haible  <bruno@clisp.org>
32711
32712         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
32713         of %a.
32714         * modules/floorf-tests (Depends-on): Likewise.
32715         * modules/truncf-tests (Depends-on): Likewise.
32716         * modules/trunc-tests (Depends-on): Likewise.
32717         Reported by Ben Pfaff.
32718
32719 2007-10-19  Jim Meyering  <meyering@redhat.com>
32720
32721         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
32722         Don't bother testing specific errno values.  Just test ferror.
32723
32724         New module: xprintf
32725         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
32726
32727 2007-10-19  Bruno Haible  <bruno@clisp.org>
32728
32729         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
32730         syntax.
32731         * modules/javaexec (Makefile.am): Likewise.
32732         * modules/relocatable-prog (Makefile.am): Likewise.
32733         Suggested by Jim Meyering.
32734
32735 2007-10-18  Bruno Haible  <bruno@clisp.org>
32736
32737         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
32738         Reported by Jim Meyering.
32739
32740 2007-10-18  Eric Blake  <ebb9@byu.net>
32741
32742         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
32743
32744 2007-10-18  Bruno Haible  <bruno@clisp.org>
32745
32746         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
32747         the format string into writable memory. Needed in Fortify conditions.
32748
32749 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
32750             Bruno Haible  <bruno@clisp.org>
32751
32752         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
32753         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
32754         * modules/trim (Depends-on): Add mbchar.
32755         (configure.ac): Add gl_FUNC_MBRTOWC.
32756         (Makefile.am): Augment lib_SOURCES.
32757
32758 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
32759
32760         Modify glob.c to use fstatat and dirfd, to simplify it.
32761         Suggested by Eric Blake.
32762         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
32763         Don't include <stdbool.h>; not used.
32764         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
32765         (link_exists_p): Simplify implementation, since we can now assume
32766         dirfd and fstatat.
32767         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
32768
32769 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32770
32771         * gnulib-tool (func_get_dependencies): Fix sed script to
32772         match only tests.
32773
32774 2007-10-17  Bruno Haible  <bruno@clisp.org>
32775
32776         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
32777         allow locale names without encoding suffix.
32778         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
32779         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
32780
32781 2007-10-16  Bruno Haible  <bruno@clisp.org>
32782
32783         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
32784         * lib/getgroups.c (getgroups): Likewise.
32785         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
32786
32787 2007-10-16  Bruno Haible  <bruno@clisp.org>
32788
32789         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
32790         * modules/malloc-posix (License): Likewise.
32791         * modules/realloc-posix (License): Likewise.
32792         * modules/calloc-posix (License): Likewise.
32793         * modules/intprops (License): Change from GPL to LGPL, with
32794         Paul Eggert's approval.
32795
32796 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
32797
32798         Merge glibc changes into lib/glob.c.
32799
32800         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
32801         2007-10-15 04:59:03 UTC.  Here are the changes:
32802
32803         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
32804
32805         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
32806
32807         * lib/glob.c: Add some branch prediction throughout.
32808
32809         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
32810
32811         [BZ #5103]
32812         * lib/glob.c (glob): Recognize patterns starting \/.
32813
32814         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
32815
32816         [BZ #3996]
32817         * lib/glob.c (attribute_hidden): Define if not defined.
32818         (glob): Unescape dirname, filename or username when needed and not
32819         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
32820         is NULL.  Handle unescaped [ in pattern without closing ].
32821         Don't pass GLOB_CHECK down to recursive glob for directories.
32822         (__glob_pattern_type): New function.
32823         (__glob_pattern_p): Implement using __glob_pattern_type.
32824         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
32825         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
32826         Remove unreachable code.
32827
32828         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
32829
32830         * lib/glob.c (glob_in_dir): Add some comments and asserts to
32831         explain why there are no leaks.
32832
32833         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
32834
32835         [BZ #3253]
32836         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
32837         time, rather allocate increasingly bigger arrays of pointers, if
32838         possible with alloca, if too large with malloc.
32839
32840 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
32841
32842         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
32843         Problem reported by H.Merijn Brand in
32844         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
32845         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
32846         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
32847
32848 2007-10-15  Bruno Haible  <bruno@clisp.org>
32849
32850         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
32851         with explicit rpl_ prefix.
32852         * lib/fopen.c (fopen): Likewise.
32853         * lib/freopen.c (freopen): Likewise.
32854         * lib/iconv.c (iconv): Likewise.
32855         * lib/iconv_close.c (iconv_close): Likewise.
32856
32857 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32858
32859         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
32860
32861 2007-10-15  Bruno Haible  <bruno@clisp.org>
32862
32863         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
32864         <stddef.h> instead of <stdlib.h> since we only need NULL.
32865         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32866
32867 2007-10-15  Bruno Haible  <bruno@clisp.org>
32868
32869         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
32870         Replace paragraph talking about LIBOBJS.
32871         Reported by Colin Watson <cjwatson@debian.org>.
32872
32873 2007-10-15  Bruno Haible  <bruno@clisp.org>
32874
32875         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
32876         <stdlib.h> before using NULL.
32877
32878 2007-10-15  Simon Josefsson  <simon@josefsson.org>
32879
32880         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
32881         Reported by Albert Chin <china@thewrittenword.com>.
32882
32883 2007-10-14  Bruno Haible  <bruno@clisp.org>
32884
32885         * modules/iconv_open-utf-tests: New file.
32886         * tests/test-iconv-utf.c: New file.
32887
32888         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
32889         * modules/iconv_open-utf: New file.
32890         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
32891         (iconv, iconv_close): New declarations.
32892         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
32893         be defined.
32894         (iconv_open): Add special handling of conversion between UTF-8 and
32895         UTF-{16,32}{BE,LE}.
32896         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
32897         * lib/iconv_close.c: New file.
32898         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
32899         gl_FUNC_ICONV_OPEN.
32900         (gl_FUNC_ICONV_OPEN): Use it.
32901         (gl_FUNC_ICONV_OPEN_UTF): New macro.
32902         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
32903         and REPLACE_ICONV_UTF.
32904         * modules/iconv_open (Depends-on): Add c-strcase.
32905         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
32906         ICONV_CONST.
32907         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
32908
32909 2007-10-13  Albert Chin  <china@thewrittenword.com>
32910             Bruno Haible  <bruno@clisp.org>
32911
32912         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
32913         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
32914
32915 2007-10-13  Bruno Haible  <bruno@clisp.org>
32916
32917         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
32918         defined, use the ISO C99 inline semantics.
32919         * lib/argp.h (ARGP_EI): Likewise.
32920
32921 2007-10-13  Bruno Haible  <bruno@clisp.org>
32922
32923         Handle 'inline' change in gcc 4.3.0.
32924         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
32925         argp_fmtstream_write, argp_fmtstream_set_lmargin,
32926         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
32927         argp_fmtstream_point): Disable 'extern' declaration if the function
32928         definition is going to be provided inline.
32929         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
32930         semantics, not the ISO C99 inline semantics.
32931         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
32932         'extern' declaration if the function definition is going to be provided
32933         inline.
32934         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
32935         the GNU C inline semantics, not the ISO C99 inline semantics. With
32936         GCC 4.2, avoid a warning.
32937
32938 2007-10-13  Bruno Haible  <bruno@clisp.org>
32939
32940         * lib/freading.h (freading): Enable the use of __freading for
32941         glibc >= 2.7.
32942         * lib/freading.c (freading): Likewise.
32943
32944 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
32945
32946         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
32947         "warning: C99 inline functions are not supported; using GNU89".
32948
32949 2007-10-12  Bruno Haible  <bruno@clisp.org>
32950
32951         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
32952         of 2.
32953         * tests/test-ceilf2.c: New file.
32954         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
32955
32956         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
32957         * modules/ceilf-tests: Update.
32958
32959 2007-10-12  Bruno Haible  <bruno@clisp.org>
32960
32961         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
32962         of 2.
32963         * tests/test-floorf2.c: New file.
32964         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
32965
32966         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
32967         * modules/floorf-tests: Update.
32968
32969 2007-10-12  Bruno Haible  <bruno@clisp.org>
32970
32971         * tests/test-trunc2.c: New file.
32972         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
32973
32974         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
32975         * modules/trunc-tests: Update.
32976
32977 2007-10-12  Bruno Haible  <bruno@clisp.org>
32978
32979         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
32980         of 2.
32981         * tests/test-truncf2.c: New file.
32982         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
32983
32984         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
32985         * modules/truncf-tests: Update.
32986
32987 2007-10-11  Eric Blake  <ebb9@byu.net>
32988
32989         Don't claim strerror is broken on Interix.
32990         * doc/functions/strerror.texi (strerror): Known broken systems are
32991         now Solaris 8, and not Interix.
32992         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
32993         Interix on cross-compile.
32994         Reported by Martin Koeppe in
32995         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
32996
32997 2007-10-11  Bruno Haible  <bruno@clisp.org>
32998
32999         * modules/i-ring-tests: New file.
33000         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
33001         instead of assert.
33002
33003 2007-10-11  Bruno Haible  <bruno@clisp.org>
33004
33005         * modules/filenamecat-tests: New file.
33006         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
33007         * lib/filenamecat.c: Remove test code.
33008
33009 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
33010
33011         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
33012
33013         * lib/strerror.c: Include <string.h> always, to test interface,
33014         and to remove the need for the dummy.
33015         Include intprops.h to compute width instead of doing it ourselves
33016         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
33017         (strerror): Define it to return NULL if there's no system strerror.
33018         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
33019         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
33020         ancient pre-strerror Unix systems well any more.  Saying "unknown
33021         system error" is enough.
33022         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
33023         simpler strerror.c implementation.
33024         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
33025         Simplify the tests to reflect the simpler strerror implementation.
33026         * modules/strerror (Depends-on): Add intprops.
33027
33028 2007-10-09  Eric Blake  <ebb9@byu.net>
33029
33030         Silence test-fpending.
33031         * modules/fpending-tests (Files): Add wrapper script.
33032         * tests/test-fpending.sh: New file.
33033
33034 2007-10-09  Bruno Haible  <bruno@clisp.org>
33035
33036         * MODULES.html.sh (func_module): Don't create a hyperlink for
33037         function names like 'printf_frexp'.
33038         (Misc): Add crc, memxor.
33039         (Characteristics of floating types): New section.
33040         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
33041         isnanf-nolibm, signbit, trunc, truncf, truncl.
33042         (Enhancements for ISO C 99 functions): New subsection Input/output.
33043         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
33044         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
33045         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
33046         (Compatibility checks for POSIX:2001 functions): Add clock-time.
33047         (Enhancements for POSIX:2001 functions): Add chdir-long.
33048         (File system functions): Add areadlink, chdir-safer, read-file.
33049         Remove cycle-check.
33050         (File system as inode set): New section.
33051         (Date and time): Add gethrxtime.
33052         (Multithreading): Add openmp.
33053         (Internationalization functions): Add localename.
33054         (Unicode string functions): Add unistr/u*-mbsnlen.
33055         (Support for maintaining and releasing projects): Add git-version-gen.
33056         (Lone files): Remove directories.
33057
33058 2007-10-08  Ben Pfaff  <blp@gnu.org>
33059
33060         * lib/xmalloca.h: Fix typo in comment.
33061
33062 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
33063
33064         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
33065         when avoiding problems with integer overflow.  Use a portable test
33066         instead.
33067
33068 2007-10-08  Simon Josefsson  <simon@josefsson.org>
33069
33070         * modules/dummy (License): Change to LGPLv2+.
33071         * modules/float (License): Likewise
33072         * modules/realloc (License): Likewise
33073         * modules/stdlib (License): Likewise
33074
33075 2007-10-07  Bruno Haible  <bruno@clisp.org>
33076
33077         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
33078         * floor.c (TWO_MANT_DIG): Likewise.
33079         * ceil.c (TWO_MANT_DIG): Likewise.
33080         Reported by Ben Pfaff.
33081
33082 2007-10-07  Bruno Haible  <bruno@clisp.org>
33083
33084         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
33085         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
33086         * lib/frexp.c (FUNC): Likewise.
33087         * lib/printf-frexp.h (printf_frexp): Likewise.
33088         * lib/printf-frexpl.h (printf_frexpl): Likewise.
33089         * lib/printf-frexp.c (FUNC): Likewise.
33090         Suggested by Jim Meyering.
33091
33092 2007-10-07  Jim Meyering  <meyering@redhat.com>
33093
33094         Make xnanosleep's integer overflow test more robust.
33095         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
33096         so that gcc-4.3.0 doesn't optimize away this test for overflow.
33097
33098 2007-10-07  Bruno Haible  <bruno@clisp.org>
33099
33100         * NEWS: Mention the license change.
33101
33102         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
33103         abbreviations in the modules files.
33104
33105         Change copyright notice from GPLv2+ to GPLv3+.
33106         * README: Change copyright notice.
33107         * MODULES.html.sh: Likewise.
33108         * build-aux/bootstrap.conf: Likewise.
33109         * build-aux/config.libpath: Likewise.
33110         * build-aux/csharpcomp.sh.in: Likewise.
33111         * build-aux/csharpexec.sh.in: Likewise.
33112         * build-aux/install-reloc: Likewise.
33113         * build-aux/javacomp.sh.in: Likewise.
33114         * build-aux/javaexec.sh.in: Likewise.
33115         * build-aux/ldd.sh.in: Likewise.
33116         * build-aux/reloc-ldflags: Likewise.
33117         * build-aux/relocatable.sh.in: Likewise.
33118         * build-aux/x-to-1.in: Likewise.
33119         * check-module: Likewise.
33120         * config/srclistvars.sh: Likewise.
33121         * gnulib-tool: Likewise.
33122         * lib/acl-internal.h: Likewise.
33123         * lib/acl.c: Likewise.
33124         * lib/acl.h: Likewise.
33125         * lib/acl_entries.c: Likewise.
33126         * lib/areadlink-with-size.c: Likewise.
33127         * lib/areadlink.c: Likewise.
33128         * lib/areadlink.h: Likewise.
33129         * lib/argmatch.c: Likewise.
33130         * lib/argmatch.h: Likewise.
33131         * lib/argp-ba.c: Likewise.
33132         * lib/argp-eexst.c: Likewise.
33133         * lib/argp-fmtstream.c: Likewise.
33134         * lib/argp-fmtstream.h: Likewise.
33135         * lib/argp-fs-xinl.c: Likewise.
33136         * lib/argp-help.c: Likewise.
33137         * lib/argp-namefrob.h: Likewise.
33138         * lib/argp-parse.c: Likewise.
33139         * lib/argp-pin.c: Likewise.
33140         * lib/argp-pv.c: Likewise.
33141         * lib/argp-pvh.c: Likewise.
33142         * lib/argp-xinl.c: Likewise.
33143         * lib/argp.h: Likewise.
33144         * lib/at-func.c: Likewise.
33145         * lib/atanl.c: Likewise.
33146         * lib/backupfile.c: Likewise.
33147         * lib/backupfile.h: Likewise.
33148         * lib/basename.c: Likewise.
33149         * lib/binary-io.h: Likewise.
33150         * lib/byteswap.in.h: Likewise.
33151         * lib/c-stack.c: Likewise.
33152         * lib/c-stack.h: Likewise.
33153         * lib/c-strcasestr.c: Likewise.
33154         * lib/c-strcasestr.h: Likewise.
33155         * lib/c-strstr.c: Likewise.
33156         * lib/c-strstr.h: Likewise.
33157         * lib/c-strtod.c: Likewise.
33158         * lib/calloc.c: Likewise.
33159         * lib/canon-host.c: Likewise.
33160         * lib/canon-host.h: Likewise.
33161         * lib/canonicalize-lgpl.c: Likewise.
33162         * lib/canonicalize.c: Likewise.
33163         * lib/canonicalize.h: Likewise.
33164         * lib/ceil.c: Likewise.
33165         * lib/ceilf.c: Likewise.
33166         * lib/ceill.c: Likewise.
33167         * lib/chdir-long.c: Likewise.
33168         * lib/chdir-long.h: Likewise.
33169         * lib/chdir-safer.c: Likewise.
33170         * lib/chdir-safer.h: Likewise.
33171         * lib/chown.c: Likewise.
33172         * lib/classpath.c: Likewise.
33173         * lib/classpath.h: Likewise.
33174         * lib/clean-temp.c: Likewise.
33175         * lib/clean-temp.h: Likewise.
33176         * lib/cloexec.c: Likewise.
33177         * lib/close-stream.c: Likewise.
33178         * lib/closein.c: Likewise.
33179         * lib/closein.h: Likewise.
33180         * lib/closeout.c: Likewise.
33181         * lib/closeout.h: Likewise.
33182         * lib/concat-filename.c: Likewise.
33183         * lib/copy-file.c: Likewise.
33184         * lib/copy-file.h: Likewise.
33185         * lib/count-one-bits.h: Likewise.
33186         * lib/crc.c: Likewise.
33187         * lib/crc.h: Likewise.
33188         * lib/creat-safer.c: Likewise.
33189         * lib/csharpcomp.c: Likewise.
33190         * lib/csharpcomp.h: Likewise.
33191         * lib/csharpexec.c: Likewise.
33192         * lib/csharpexec.h: Likewise.
33193         * lib/cycle-check.c: Likewise.
33194         * lib/cycle-check.h: Likewise.
33195         * lib/diacrit.c: Likewise.
33196         * lib/diacrit.h: Likewise.
33197         * lib/diffseq.h: Likewise.
33198         * lib/dirchownmod.c: Likewise.
33199         * lib/dirent.in.h: Likewise.
33200         * lib/dirfd.c: Likewise.
33201         * lib/dirfd.h: Likewise.
33202         * lib/dirname.c: Likewise.
33203         * lib/dirname.h: Likewise.
33204         * lib/dummy.c: Likewise.
33205         * lib/dup-safer.c: Likewise.
33206         * lib/dup2.c: Likewise.
33207         * lib/eealloc.h: Likewise.
33208         * lib/error.c: Likewise.
33209         * lib/error.h: Likewise.
33210         * lib/euidaccess.c: Likewise.
33211         * lib/exclude.c: Likewise.
33212         * lib/exclude.h: Likewise.
33213         * lib/execute.c: Likewise.
33214         * lib/execute.h: Likewise.
33215         * lib/exitfail.c: Likewise.
33216         * lib/exitfail.h: Likewise.
33217         * lib/expl.c: Likewise.
33218         * lib/fatal-signal.c: Likewise.
33219         * lib/fatal-signal.h: Likewise.
33220         * lib/fbufmode.c: Likewise.
33221         * lib/fbufmode.h: Likewise.
33222         * lib/fchdir.c: Likewise.
33223         * lib/fchmodat.c: Likewise.
33224         * lib/fchownat.c: Likewise.
33225         * lib/fcntl--.h: Likewise.
33226         * lib/fcntl-safer.h: Likewise.
33227         * lib/fcntl.in.h: Likewise.
33228         * lib/fd-safer.c: Likewise.
33229         * lib/fflush.c: Likewise.
33230         * lib/file-has-acl.c: Likewise.
33231         * lib/file-set.c: Likewise.
33232         * lib/file-type.c: Likewise.
33233         * lib/file-type.h: Likewise.
33234         * lib/fileblocks.c: Likewise.
33235         * lib/filemode.c: Likewise.
33236         * lib/filemode.h: Likewise.
33237         * lib/filename.h: Likewise.
33238         * lib/filenamecat.c: Likewise.
33239         * lib/filenamecat.h: Likewise.
33240         * lib/findprog.c: Likewise.
33241         * lib/findprog.h: Likewise.
33242         * lib/float.in.h: Likewise.
33243         * lib/floor.c: Likewise.
33244         * lib/floorf.c: Likewise.
33245         * lib/floorl.c: Likewise.
33246         * lib/fopen-safer.c: Likewise.
33247         * lib/fopen.c: Likewise.
33248         * lib/fpending.c: Likewise.
33249         * lib/fpending.h: Likewise.
33250         * lib/fprintf.c: Likewise.
33251         * lib/fprintftime.h: Likewise.
33252         * lib/fpucw.h: Likewise.
33253         * lib/fpurge.c: Likewise.
33254         * lib/fpurge.h: Likewise.
33255         * lib/freadable.c: Likewise.
33256         * lib/freadable.h: Likewise.
33257         * lib/freadahead.c: Likewise.
33258         * lib/freadahead.h: Likewise.
33259         * lib/freading.c: Likewise.
33260         * lib/freading.h: Likewise.
33261         * lib/free.c: Likewise.
33262         * lib/freopen.c: Likewise.
33263         * lib/frexp.c: Likewise.
33264         * lib/frexpl.c: Likewise.
33265         * lib/fseek.c: Likewise.
33266         * lib/fseterr.c: Likewise.
33267         * lib/fseterr.h: Likewise.
33268         * lib/fstatat.c: Likewise.
33269         * lib/fstrcmp.c: Likewise.
33270         * lib/fstrcmp.h: Likewise.
33271         * lib/fsusage.c: Likewise.
33272         * lib/fsusage.h: Likewise.
33273         * lib/ftell.c: Likewise.
33274         * lib/ftello.c: Likewise.
33275         * lib/fts-cycle.c: Likewise.
33276         * lib/fts.c: Likewise.
33277         * lib/fts_.h: Likewise.
33278         * lib/full-read.c: Likewise.
33279         * lib/full-read.h: Likewise.
33280         * lib/full-write.c: Likewise.
33281         * lib/full-write.h: Likewise.
33282         * lib/fwritable.c: Likewise.
33283         * lib/fwritable.h: Likewise.
33284         * lib/fwriteerror.c: Likewise.
33285         * lib/fwriteerror.h: Likewise.
33286         * lib/fwriting.c: Likewise.
33287         * lib/fwriting.h: Likewise.
33288         * lib/gcd.c: Likewise.
33289         * lib/gcd.h: Likewise.
33290         * lib/getcwd.c: Likewise.
33291         * lib/getdate.h: Likewise.
33292         * lib/getdate.y: Likewise.
33293         * lib/getdomainname.c: Likewise.
33294         * lib/getdomainname.h: Likewise.
33295         * lib/getgroups.c: Likewise.
33296         * lib/gethostname.c: Likewise.
33297         * lib/gethrxtime.c: Likewise.
33298         * lib/gethrxtime.h: Likewise.
33299         * lib/getloadavg.c: Likewise.
33300         * lib/getndelim2.c: Likewise.
33301         * lib/getndelim2.h: Likewise.
33302         * lib/getnline.c: Likewise.
33303         * lib/getnline.h: Likewise.
33304         * lib/getopt.c: Likewise.
33305         * lib/getopt.in.h: Likewise.
33306         * lib/getopt1.c: Likewise.
33307         * lib/getopt_int.h: Likewise.
33308         * lib/getpagesize.h: Likewise.
33309         * lib/getsubopt.c: Likewise.
33310         * lib/gettime.c: Likewise.
33311         * lib/getugroups.c: Likewise.
33312         * lib/getugroups.h: Likewise.
33313         * lib/getusershell.c: Likewise.
33314         * lib/gl_anyavltree_list1.h: Likewise.
33315         * lib/gl_anyavltree_list2.h: Likewise.
33316         * lib/gl_anyhash_list1.h: Likewise.
33317         * lib/gl_anyhash_list2.h: Likewise.
33318         * lib/gl_anylinked_list1.h: Likewise.
33319         * lib/gl_anylinked_list2.h: Likewise.
33320         * lib/gl_anyrbtree_list1.h: Likewise.
33321         * lib/gl_anyrbtree_list2.h: Likewise.
33322         * lib/gl_anytree_list1.h: Likewise.
33323         * lib/gl_anytree_list2.h: Likewise.
33324         * lib/gl_anytree_oset.h: Likewise.
33325         * lib/gl_anytreehash_list1.h: Likewise.
33326         * lib/gl_anytreehash_list2.h: Likewise.
33327         * lib/gl_array_list.c: Likewise.
33328         * lib/gl_array_list.h: Likewise.
33329         * lib/gl_array_oset.c: Likewise.
33330         * lib/gl_array_oset.h: Likewise.
33331         * lib/gl_avltree_list.c: Likewise.
33332         * lib/gl_avltree_list.h: Likewise.
33333         * lib/gl_avltree_oset.c: Likewise.
33334         * lib/gl_avltree_oset.h: Likewise.
33335         * lib/gl_avltreehash_list.c: Likewise.
33336         * lib/gl_avltreehash_list.h: Likewise.
33337         * lib/gl_carray_list.c: Likewise.
33338         * lib/gl_carray_list.h: Likewise.
33339         * lib/gl_linked_list.c: Likewise.
33340         * lib/gl_linked_list.h: Likewise.
33341         * lib/gl_linkedhash_list.c: Likewise.
33342         * lib/gl_linkedhash_list.h: Likewise.
33343         * lib/gl_list.c: Likewise.
33344         * lib/gl_list.h: Likewise.
33345         * lib/gl_oset.c: Likewise.
33346         * lib/gl_oset.h: Likewise.
33347         * lib/gl_rbtree_list.c: Likewise.
33348         * lib/gl_rbtree_list.h: Likewise.
33349         * lib/gl_rbtree_oset.c: Likewise.
33350         * lib/gl_rbtree_oset.h: Likewise.
33351         * lib/gl_rbtreehash_list.c: Likewise.
33352         * lib/gl_rbtreehash_list.h: Likewise.
33353         * lib/gl_sublist.c: Likewise.
33354         * lib/gl_sublist.h: Likewise.
33355         * lib/group-member.c: Likewise.
33356         * lib/group-member.h: Likewise.
33357         * lib/hard-locale.c: Likewise.
33358         * lib/hard-locale.h: Likewise.
33359         * lib/hash-pjw.c: Likewise.
33360         * lib/hash-pjw.h: Likewise.
33361         * lib/hash-triple.c: Likewise.
33362         * lib/hash.c: Likewise.
33363         * lib/hash.h: Likewise.
33364         * lib/human.c: Likewise.
33365         * lib/human.h: Likewise.
33366         * lib/i-ring.c: Likewise.
33367         * lib/i-ring.h: Likewise.
33368         * lib/idcache.c: Likewise.
33369         * lib/imaxabs.c: Likewise.
33370         * lib/imaxdiv.c: Likewise.
33371         * lib/inet_pton.c: Likewise.
33372         * lib/inet_pton.h: Likewise.
33373         * lib/intprops.h: Likewise.
33374         * lib/inttostr.c: Likewise.
33375         * lib/inttostr.h: Likewise.
33376         * lib/inttypes.in.h: Likewise.
33377         * lib/isapipe.c: Likewise.
33378         * lib/isdir.c: Likewise.
33379         * lib/isnan.c: Likewise.
33380         * lib/isnan.h: Likewise.
33381         * lib/isnanf.c: Likewise.
33382         * lib/isnanf.h: Likewise.
33383         * lib/isnanl-nolibm.h: Likewise.
33384         * lib/isnanl.c: Likewise.
33385         * lib/isnanl.h: Likewise.
33386         * lib/javacomp.c: Likewise.
33387         * lib/javacomp.h: Likewise.
33388         * lib/javaexec.c: Likewise.
33389         * lib/javaexec.h: Likewise.
33390         * lib/javaversion.c: Likewise.
33391         * lib/javaversion.h: Likewise.
33392         * lib/javaversion.java: Likewise.
33393         * lib/lbrkprop.h: Likewise.
33394         * lib/lchmod.h: Likewise.
33395         * lib/lchown.c: Likewise.
33396         * lib/ldexpl.c: Likewise.
33397         * lib/linebreak.c: Likewise.
33398         * lib/linebreak.h: Likewise.
33399         * lib/linebuffer.c: Likewise.
33400         * lib/linebuffer.h: Likewise.
33401         * lib/locale.in.h: Likewise.
33402         * lib/logl.c: Likewise.
33403         * lib/long-options.c: Likewise.
33404         * lib/long-options.h: Likewise.
33405         * lib/lstat.c: Likewise.
33406         * lib/lstat.h: Likewise.
33407         * lib/math.in.h: Likewise.
33408         * lib/mbchar.c: Likewise.
33409         * lib/mbchar.h: Likewise.
33410         * lib/mbfile.h: Likewise.
33411         * lib/mbiter.h: Likewise.
33412         * lib/mbscasecmp.c: Likewise.
33413         * lib/mbscasestr.c: Likewise.
33414         * lib/mbschr.c: Likewise.
33415         * lib/mbscspn.c: Likewise.
33416         * lib/mbslen.c: Likewise.
33417         * lib/mbsncasecmp.c: Likewise.
33418         * lib/mbsnlen.c: Likewise.
33419         * lib/mbspbrk.c: Likewise.
33420         * lib/mbspcasecmp.c: Likewise.
33421         * lib/mbsrchr.c: Likewise.
33422         * lib/mbssep.c: Likewise.
33423         * lib/mbsspn.c: Likewise.
33424         * lib/mbsstr.c: Likewise.
33425         * lib/mbstok_r.c: Likewise.
33426         * lib/mbswidth.c: Likewise.
33427         * lib/mbswidth.h: Likewise.
33428         * lib/mbuiter.h: Likewise.
33429         * lib/memcasecmp.c: Likewise.
33430         * lib/memcasecmp.h: Likewise.
33431         * lib/memchr.c: Likewise.
33432         * lib/memcmp.c: Likewise.
33433         * lib/memcoll.c: Likewise.
33434         * lib/memcoll.h: Likewise.
33435         * lib/memcpy.c: Likewise.
33436         * lib/memrchr.c: Likewise.
33437         * lib/mkancesdirs.c: Likewise.
33438         * lib/mkdir-p.c: Likewise.
33439         * lib/mkdir-p.h: Likewise.
33440         * lib/mkdir.c: Likewise.
33441         * lib/mkdirat.c: Likewise.
33442         * lib/mkdtemp.c: Likewise.
33443         * lib/mkstemp-safer.c: Likewise.
33444         * lib/mkstemp.c: Likewise.
33445         * lib/modechange.c: Likewise.
33446         * lib/modechange.h: Likewise.
33447         * lib/mountlist.c: Likewise.
33448         * lib/mountlist.h: Likewise.
33449         * lib/mpsort.c: Likewise.
33450         * lib/nanosleep.c: Likewise.
33451         * lib/obstack.c: Likewise.
33452         * lib/obstack.h: Likewise.
33453         * lib/open-safer.c: Likewise.
33454         * lib/open.c: Likewise.
33455         * lib/openat-die.c: Likewise.
33456         * lib/openat-priv.h: Likewise.
33457         * lib/openat-proc.c: Likewise.
33458         * lib/openat.c: Likewise.
33459         * lib/openat.h: Likewise.
33460         * lib/pagealign_alloc.c: Likewise.
33461         * lib/pagealign_alloc.h: Likewise.
33462         * lib/physmem.c: Likewise.
33463         * lib/physmem.h: Likewise.
33464         * lib/pipe-safer.c: Likewise.
33465         * lib/pipe.c: Likewise.
33466         * lib/pipe.h: Likewise.
33467         * lib/posixtm.c: Likewise.
33468         * lib/posixtm.h: Likewise.
33469         * lib/posixver.c: Likewise.
33470         * lib/printf-frexp.c: Likewise.
33471         * lib/printf-frexp.h: Likewise.
33472         * lib/printf-frexpl.c: Likewise.
33473         * lib/printf-frexpl.h: Likewise.
33474         * lib/printf.c: Likewise.
33475         * lib/progname.c: Likewise.
33476         * lib/progname.h: Likewise.
33477         * lib/progreloc.c: Likewise.
33478         * lib/putenv.c: Likewise.
33479         * lib/quote.c: Likewise.
33480         * lib/quote.h: Likewise.
33481         * lib/quotearg.c: Likewise.
33482         * lib/quotearg.h: Likewise.
33483         * lib/raise.c: Likewise.
33484         * lib/readline.c: Likewise.
33485         * lib/readline.h: Likewise.
33486         * lib/readlink.c: Likewise.
33487         * lib/readtokens.c: Likewise.
33488         * lib/readtokens.h: Likewise.
33489         * lib/readtokens0.c: Likewise.
33490         * lib/readtokens0.h: Likewise.
33491         * lib/readutmp.c: Likewise.
33492         * lib/readutmp.h: Likewise.
33493         * lib/realloc.c: Likewise.
33494         * lib/relocwrapper.c: Likewise.
33495         * lib/rename-dest-slash.c: Likewise.
33496         * lib/rename.c: Likewise.
33497         * lib/rmdir.c: Likewise.
33498         * lib/rpmatch.c: Likewise.
33499         * lib/safe-read.c: Likewise.
33500         * lib/safe-read.h: Likewise.
33501         * lib/safe-write.c: Likewise.
33502         * lib/safe-write.h: Likewise.
33503         * lib/same-inode.h: Likewise.
33504         * lib/same.c: Likewise.
33505         * lib/same.h: Likewise.
33506         * lib/save-cwd.c: Likewise.
33507         * lib/save-cwd.h: Likewise.
33508         * lib/savedir.c: Likewise.
33509         * lib/savedir.h: Likewise.
33510         * lib/savewd.c: Likewise.
33511         * lib/savewd.h: Likewise.
33512         * lib/search.in.h: Likewise.
33513         * lib/setenv.c: Likewise.
33514         * lib/setenv.h: Likewise.
33515         * lib/settime.c: Likewise.
33516         * lib/sh-quote.c: Likewise.
33517         * lib/sh-quote.h: Likewise.
33518         * lib/sig2str.c: Likewise.
33519         * lib/sig2str.h: Likewise.
33520         * lib/signal.in.h: Likewise.
33521         * lib/signbitd.c: Likewise.
33522         * lib/signbitf.c: Likewise.
33523         * lib/signbitl.c: Likewise.
33524         * lib/sigprocmask.c: Likewise.
33525         * lib/sincosl.c: Likewise.
33526         * lib/sleep.c: Likewise.
33527         * lib/sprintf.c: Likewise.
33528         * lib/sqrtl.c: Likewise.
33529         * lib/stat-time.h: Likewise.
33530         * lib/stdio--.h: Likewise.
33531         * lib/stdio-safer.h: Likewise.
33532         * lib/stdlib--.h: Likewise.
33533         * lib/stdlib-safer.h: Likewise.
33534         * lib/stdlib.in.h: Likewise.
33535         * lib/stpcpy.c: Likewise.
33536         * lib/stpncpy.c: Likewise.
33537         * lib/strchrnul.c: Likewise.
33538         * lib/strcspn.c: Likewise.
33539         * lib/strerror.c: Likewise.
33540         * lib/strftime.c: Likewise.
33541         * lib/strftime.h: Likewise.
33542         * lib/striconveh.c: Likewise.
33543         * lib/striconveh.h: Likewise.
33544         * lib/striconveha.c: Likewise.
33545         * lib/striconveha.h: Likewise.
33546         * lib/stripslash.c: Likewise.
33547         * lib/strnlen1.c: Likewise.
33548         * lib/strnlen1.h: Likewise.
33549         * lib/strtod.c: Likewise.
33550         * lib/strtoimax.c: Likewise.
33551         * lib/strtok_r.c: Likewise.
33552         * lib/strtol.c: Likewise.
33553         * lib/strtoll.c: Likewise.
33554         * lib/strtoul.c: Likewise.
33555         * lib/strtoull.c: Likewise.
33556         * lib/sysexits.in.h: Likewise.
33557         * lib/tempname.c: Likewise.
33558         * lib/tempname.h: Likewise.
33559         * lib/timespec.h: Likewise.
33560         * lib/tls.c: Likewise.
33561         * lib/tls.h: Likewise.
33562         * lib/tmpdir.c: Likewise.
33563         * lib/tmpdir.h: Likewise.
33564         * lib/tmpfile-safer.c: Likewise.
33565         * lib/tmpfile.c: Likewise.
33566         * lib/trigl.c: Likewise.
33567         * lib/trigl.h: Likewise.
33568         * lib/trim.c: Likewise.
33569         * lib/trim.h: Likewise.
33570         * lib/trunc.c: Likewise.
33571         * lib/truncf.c: Likewise.
33572         * lib/truncl.c: Likewise.
33573         * lib/tsearch.c: Likewise.
33574         * lib/unicodeio.c: Likewise.
33575         * lib/unicodeio.h: Likewise.
33576         * lib/unistd--.h: Likewise.
33577         * lib/unistd-safer.h: Likewise.
33578         * lib/unistdio/ulc-fprintf.c: Likewise.
33579         * lib/unistdio/ulc-vfprintf.c: Likewise.
33580         * lib/unlinkdir.c: Likewise.
33581         * lib/unlinkdir.h: Likewise.
33582         * lib/unlocked-io.h: Likewise.
33583         * lib/unsetenv.c: Likewise.
33584         * lib/userspec.c: Likewise.
33585         * lib/utime.c: Likewise.
33586         * lib/utimecmp.c: Likewise.
33587         * lib/utimecmp.h: Likewise.
33588         * lib/utimens.c: Likewise.
33589         * lib/verify.h: Likewise.
33590         * lib/verror.c: Likewise.
33591         * lib/verror.h: Likewise.
33592         * lib/version-etc-fsf.c: Likewise.
33593         * lib/version-etc.c: Likewise.
33594         * lib/version-etc.h: Likewise.
33595         * lib/vfprintf.c: Likewise.
33596         * lib/vprintf.c: Likewise.
33597         * lib/vsprintf.c: Likewise.
33598         * lib/w32spawn.h: Likewise.
33599         * lib/wait-process.c: Likewise.
33600         * lib/wait-process.h: Likewise.
33601         * lib/wcwidth.c: Likewise.
33602         * lib/write-any-file.c: Likewise.
33603         * lib/xalloc-die.c: Likewise.
33604         * lib/xalloc.h: Likewise.
33605         * lib/xasprintf.c: Likewise.
33606         * lib/xgetcwd.c: Likewise.
33607         * lib/xgetcwd.h: Likewise.
33608         * lib/xgetdomainname.c: Likewise.
33609         * lib/xgetdomainname.h: Likewise.
33610         * lib/xgethostname.c: Likewise.
33611         * lib/xmalloc.c: Likewise.
33612         * lib/xmalloca.c: Likewise.
33613         * lib/xmalloca.h: Likewise.
33614         * lib/xmemcoll.c: Likewise.
33615         * lib/xnanosleep.c: Likewise.
33616         * lib/xreadlink.c: Likewise.
33617         * lib/xreadlink.h: Likewise.
33618         * lib/xsetenv.c: Likewise.
33619         * lib/xsetenv.h: Likewise.
33620         * lib/xstriconv.c: Likewise.
33621         * lib/xstriconv.h: Likewise.
33622         * lib/xstrndup.c: Likewise.
33623         * lib/xstrndup.h: Likewise.
33624         * lib/xstrtod.c: Likewise.
33625         * lib/xstrtod.h: Likewise.
33626         * lib/xstrtol-error.c: Likewise.
33627         * lib/xstrtol.c: Likewise.
33628         * lib/xstrtol.h: Likewise.
33629         * lib/xtime.h: Likewise.
33630         * lib/xvasprintf.c: Likewise.
33631         * lib/xvasprintf.h: Likewise.
33632         * lib/yesno.c: Likewise.
33633         * lib/yesno.h: Likewise.
33634         * posix-modules: Likewise.
33635         * tests/test-alloca-opt.c: Likewise.
33636         * tests/test-arcfour.c: Likewise.
33637         * tests/test-arctwo.c: Likewise.
33638         * tests/test-argmatch.c: Likewise.
33639         * tests/test-argp-2.sh: Likewise.
33640         * tests/test-argp.c: Likewise.
33641         * tests/test-arpa_inet.c: Likewise.
33642         * tests/test-array_list.c: Likewise.
33643         * tests/test-array_oset.c: Likewise.
33644         * tests/test-atexit.c: Likewise.
33645         * tests/test-avltree_list.c: Likewise.
33646         * tests/test-avltree_oset.c: Likewise.
33647         * tests/test-avltreehash_list.c: Likewise.
33648         * tests/test-base64.c: Likewise.
33649         * tests/test-binary-io.c: Likewise.
33650         * tests/test-byteswap.c: Likewise.
33651         * tests/test-c-ctype.c: Likewise.
33652         * tests/test-c-strcasecmp.c: Likewise.
33653         * tests/test-c-strcasestr.c: Likewise.
33654         * tests/test-c-strncasecmp.c: Likewise.
33655         * tests/test-c-strstr.c: Likewise.
33656         * tests/test-canonicalize-lgpl.c: Likewise.
33657         * tests/test-canonicalize.c: Likewise.
33658         * tests/test-carray_list.c: Likewise.
33659         * tests/test-ceilf.c: Likewise.
33660         * tests/test-ceill.c: Likewise.
33661         * tests/test-count-one-bits.c: Likewise.
33662         * tests/test-crc.c: Likewise.
33663         * tests/test-dirname.c: Likewise.
33664         * tests/test-fbufmode.c: Likewise.
33665         * tests/test-fcntl.c: Likewise.
33666         * tests/test-fflush.c: Likewise.
33667         * tests/test-floorf.c: Likewise.
33668         * tests/test-floorl.c: Likewise.
33669         * tests/test-fopen.c: Likewise.
33670         * tests/test-fprintf-posix.c: Likewise.
33671         * tests/test-fprintf-posix.h: Likewise.
33672         * tests/test-fpurge.c: Likewise.
33673         * tests/test-freadable.c: Likewise.
33674         * tests/test-freadahead.c: Likewise.
33675         * tests/test-freading.c: Likewise.
33676         * tests/test-freopen.c: Likewise.
33677         * tests/test-frexp.c: Likewise.
33678         * tests/test-frexpl.c: Likewise.
33679         * tests/test-fseek.c: Likewise.
33680         * tests/test-fseeko.c: Likewise.
33681         * tests/test-fseterr.c: Likewise.
33682         * tests/test-fstrcmp.c: Likewise.
33683         * tests/test-ftell.c: Likewise.
33684         * tests/test-ftello.c: Likewise.
33685         * tests/test-fwritable.c: Likewise.
33686         * tests/test-fwriting.c: Likewise.
33687         * tests/test-getaddrinfo.c: Likewise.
33688         * tests/test-getpass.c: Likewise.
33689         * tests/test-gettimeofday.c: Likewise.
33690         * tests/test-hmac-md5.c: Likewise.
33691         * tests/test-hmac-sha1.c: Likewise.
33692         * tests/test-iconv.c: Likewise.
33693         * tests/test-iconvme.c: Likewise.
33694         * tests/test-inttypes.c: Likewise.
33695         * tests/test-isnan.c: Likewise.
33696         * tests/test-isnanf.c: Likewise.
33697         * tests/test-isnanl-nolibm.c: Likewise.
33698         * tests/test-isnanl.c: Likewise.
33699         * tests/test-isnanl.h: Likewise.
33700         * tests/test-ldexpl.c: Likewise.
33701         * tests/test-linked_list.c: Likewise.
33702         * tests/test-linkedhash_list.c: Likewise.
33703         * tests/test-locale.c: Likewise.
33704         * tests/test-localename.c: Likewise.
33705         * tests/test-lock.c: Likewise.
33706         * tests/test-lseek.c: Likewise.
33707         * tests/test-malloca.c: Likewise.
33708         * tests/test-math.c: Likewise.
33709         * tests/test-mbscasecmp.c: Likewise.
33710         * tests/test-mbscasestr1.c: Likewise.
33711         * tests/test-mbscasestr2.c: Likewise.
33712         * tests/test-mbscasestr3.c: Likewise.
33713         * tests/test-mbscasestr4.c: Likewise.
33714         * tests/test-mbschr.c: Likewise.
33715         * tests/test-mbscspn.c: Likewise.
33716         * tests/test-mbsncasecmp.c: Likewise.
33717         * tests/test-mbspbrk.c: Likewise.
33718         * tests/test-mbspcasecmp.c: Likewise.
33719         * tests/test-mbsrchr.c: Likewise.
33720         * tests/test-mbsspn.c: Likewise.
33721         * tests/test-mbsstr1.c: Likewise.
33722         * tests/test-mbsstr2.c: Likewise.
33723         * tests/test-mbsstr3.c: Likewise.
33724         * tests/test-md5.c: Likewise.
33725         * tests/test-memmem.c: Likewise.
33726         * tests/test-netinet_in.c: Likewise.
33727         * tests/test-open.c: Likewise.
33728         * tests/test-printf-frexp.c: Likewise.
33729         * tests/test-printf-frexpl.c: Likewise.
33730         * tests/test-printf-posix.c: Likewise.
33731         * tests/test-printf-posix.h: Likewise.
33732         * tests/test-rbtree_list.c: Likewise.
33733         * tests/test-rbtree_oset.c: Likewise.
33734         * tests/test-rbtreehash_list.c: Likewise.
33735         * tests/test-read-file.c: Likewise.
33736         * tests/test-rijndael.c: Likewise.
33737         * tests/test-search.c: Likewise.
33738         * tests/test-signbit.c: Likewise.
33739         * tests/test-sleep.c: Likewise.
33740         * tests/test-snprintf-posix.c: Likewise.
33741         * tests/test-snprintf-posix.h: Likewise.
33742         * tests/test-snprintf.c: Likewise.
33743         * tests/test-sprintf-posix.c: Likewise.
33744         * tests/test-sprintf-posix.h: Likewise.
33745         * tests/test-stat-time.c: Likewise.
33746         * tests/test-stdbool.c: Likewise.
33747         * tests/test-stdint.c: Likewise.
33748         * tests/test-stdio.c: Likewise.
33749         * tests/test-stdlib.c: Likewise.
33750         * tests/test-stpncpy.c: Likewise.
33751         * tests/test-strcasestr.c: Likewise.
33752         * tests/test-striconv.c: Likewise.
33753         * tests/test-striconveh.c: Likewise.
33754         * tests/test-striconveha.c: Likewise.
33755         * tests/test-string.c: Likewise.
33756         * tests/test-sys_select.c: Likewise.
33757         * tests/test-sys_socket.c: Likewise.
33758         * tests/test-sys_stat.c: Likewise.
33759         * tests/test-sys_time.c: Likewise.
33760         * tests/test-sysexits.c: Likewise.
33761         * tests/test-time.c: Likewise.
33762         * tests/test-tls.c: Likewise.
33763         * tests/test-trunc.c: Likewise.
33764         * tests/test-truncf.c: Likewise.
33765         * tests/test-truncl.c: Likewise.
33766         * tests/test-unistd.c: Likewise.
33767         * tests/test-vasnprintf-posix.c: Likewise.
33768         * tests/test-vasnprintf-posix2.c: Likewise.
33769         * tests/test-vasnprintf.c: Likewise.
33770         * tests/test-vasprintf-posix.c: Likewise.
33771         * tests/test-vasprintf.c: Likewise.
33772         * tests/test-verify.c: Likewise.
33773         * tests/test-vfprintf-posix.c: Likewise.
33774         * tests/test-vprintf-posix.c: Likewise.
33775         * tests/test-vsnprintf-posix.c: Likewise.
33776         * tests/test-vsnprintf.c: Likewise.
33777         * tests/test-vsprintf-posix.c: Likewise.
33778         * tests/test-wchar.c: Likewise.
33779         * tests/test-wctype.c: Likewise.
33780         * tests/test-wcwidth.c: Likewise.
33781         * tests/test-xstrtol.c: Likewise.
33782         * tests/test-xvasprintf.c: Likewise.
33783         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
33784         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
33785         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
33786         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
33787         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
33788         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
33789         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
33790         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
33791         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
33792         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
33793         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
33794         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
33795         * tests/uniname/test-uninames.c: Likewise.
33796         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
33797         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
33798         * tests/unistdio/test-u16-printf1.h: Likewise.
33799         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
33800         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
33801         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
33802         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
33803         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
33804         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
33805         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
33806         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
33807         * tests/unistdio/test-u32-printf1.h: Likewise.
33808         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
33809         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
33810         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
33811         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
33812         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
33813         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
33814         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
33815         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
33816         * tests/unistdio/test-u8-printf1.h: Likewise.
33817         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
33818         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
33819         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
33820         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
33821         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
33822         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
33823         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
33824         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
33825         * tests/unistdio/test-ulc-printf1.h: Likewise.
33826         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
33827         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
33828         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
33829         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
33830         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
33831         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
33832         * tests/uniwidth/test-u16-strwidth.c: Likewise.
33833         * tests/uniwidth/test-u16-width.c: Likewise.
33834         * tests/uniwidth/test-u32-strwidth.c: Likewise.
33835         * tests/uniwidth/test-u32-width.c: Likewise.
33836         * tests/uniwidth/test-u8-strwidth.c: Likewise.
33837         * tests/uniwidth/test-u8-width.c: Likewise.
33838         * tests/uniwidth/test-uc_width.c: Likewise.
33839         * config/srclist-update: Likewise.
33840         (fixlicense): Update to GPLv3+.
33841
33842         Change copyright notice from LGPLv2.1+ to LGPLv3+.
33843         * tests/test-tsearch.c: Change copyright notice.
33844
33845         Change copyright notice from LGPLv2.0+ to LGPLv3+.
33846         * lib/c-strcaseeq.h: Change copyright notice.
33847         * lib/streq.h: Likewise.
33848         * lib/uniconv.h: Likewise.
33849         * lib/uniconv/u-conv-from-enc.h: Likewise.
33850         * lib/uniconv/u-conv-to-enc.h: Likewise.
33851         * lib/uniconv/u-strconv-from-enc.h: Likewise.
33852         * lib/uniconv/u-strconv-to-enc.h: Likewise.
33853         * lib/uniconv/u16-conv-from-enc.c: Likewise.
33854         * lib/uniconv/u16-conv-to-enc.c: Likewise.
33855         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
33856         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
33857         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
33858         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
33859         * lib/uniconv/u32-conv-from-enc.c: Likewise.
33860         * lib/uniconv/u32-conv-to-enc.c: Likewise.
33861         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
33862         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
33863         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
33864         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
33865         * lib/uniconv/u8-conv-from-enc.c: Likewise.
33866         * lib/uniconv/u8-conv-to-enc.c: Likewise.
33867         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
33868         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
33869         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
33870         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
33871         * lib/uniname.h: Likewise.
33872         * lib/uniname/uniname.c: Likewise.
33873         * lib/unistdio.h: Likewise.
33874         * lib/unistdio/u-asnprintf.h: Likewise.
33875         * lib/unistdio/u-asprintf.h: Likewise.
33876         * lib/unistdio/u-printf-args.c: Likewise.
33877         * lib/unistdio/u-printf-args.h: Likewise.
33878         * lib/unistdio/u-printf-parse.h: Likewise.
33879         * lib/unistdio/u-snprintf.h: Likewise.
33880         * lib/unistdio/u-sprintf.h: Likewise.
33881         * lib/unistdio/u-vasprintf.h: Likewise.
33882         * lib/unistdio/u-vsnprintf.h: Likewise.
33883         * lib/unistdio/u-vsprintf.h: Likewise.
33884         * lib/unistdio/u16-asnprintf.c: Likewise.
33885         * lib/unistdio/u16-asprintf.c: Likewise.
33886         * lib/unistdio/u16-printf-parse.c: Likewise.
33887         * lib/unistdio/u16-snprintf.c: Likewise.
33888         * lib/unistdio/u16-sprintf.c: Likewise.
33889         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
33890         * lib/unistdio/u16-u16-asprintf.c: Likewise.
33891         * lib/unistdio/u16-u16-snprintf.c: Likewise.
33892         * lib/unistdio/u16-u16-sprintf.c: Likewise.
33893         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
33894         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
33895         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
33896         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
33897         * lib/unistdio/u16-vasnprintf.c: Likewise.
33898         * lib/unistdio/u16-vasprintf.c: Likewise.
33899         * lib/unistdio/u16-vsnprintf.c: Likewise.
33900         * lib/unistdio/u16-vsprintf.c: Likewise.
33901         * lib/unistdio/u32-asnprintf.c: Likewise.
33902         * lib/unistdio/u32-asprintf.c: Likewise.
33903         * lib/unistdio/u32-printf-parse.c: Likewise.
33904         * lib/unistdio/u32-snprintf.c: Likewise.
33905         * lib/unistdio/u32-sprintf.c: Likewise.
33906         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
33907         * lib/unistdio/u32-u32-asprintf.c: Likewise.
33908         * lib/unistdio/u32-u32-snprintf.c: Likewise.
33909         * lib/unistdio/u32-u32-sprintf.c: Likewise.
33910         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
33911         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
33912         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
33913         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
33914         * lib/unistdio/u32-vasnprintf.c: Likewise.
33915         * lib/unistdio/u32-vasprintf.c: Likewise.
33916         * lib/unistdio/u32-vsnprintf.c: Likewise.
33917         * lib/unistdio/u32-vsprintf.c: Likewise.
33918         * lib/unistdio/u8-asnprintf.c: Likewise.
33919         * lib/unistdio/u8-asprintf.c: Likewise.
33920         * lib/unistdio/u8-printf-parse.c: Likewise.
33921         * lib/unistdio/u8-snprintf.c: Likewise.
33922         * lib/unistdio/u8-sprintf.c: Likewise.
33923         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
33924         * lib/unistdio/u8-u8-asprintf.c: Likewise.
33925         * lib/unistdio/u8-u8-snprintf.c: Likewise.
33926         * lib/unistdio/u8-u8-sprintf.c: Likewise.
33927         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
33928         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
33929         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
33930         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
33931         * lib/unistdio/u8-vasnprintf.c: Likewise.
33932         * lib/unistdio/u8-vasprintf.c: Likewise.
33933         * lib/unistdio/u8-vsnprintf.c: Likewise.
33934         * lib/unistdio/u8-vsprintf.c: Likewise.
33935         * lib/unistdio/ulc-asnprintf.c: Likewise.
33936         * lib/unistdio/ulc-asprintf.c: Likewise.
33937         * lib/unistdio/ulc-printf-parse.c: Likewise.
33938         * lib/unistdio/ulc-snprintf.c: Likewise.
33939         * lib/unistdio/ulc-sprintf.c: Likewise.
33940         * lib/unistdio/ulc-vasnprintf.c: Likewise.
33941         * lib/unistdio/ulc-vasprintf.c: Likewise.
33942         * lib/unistdio/ulc-vsnprintf.c: Likewise.
33943         * lib/unistdio/ulc-vsprintf.c: Likewise.
33944         * lib/unistr.h: Likewise.
33945         * lib/unistr/u-cpy-alloc.h: Likewise.
33946         * lib/unistr/u-cpy.h: Likewise.
33947         * lib/unistr/u-endswith.h: Likewise.
33948         * lib/unistr/u-move.h: Likewise.
33949         * lib/unistr/u-set.h: Likewise.
33950         * lib/unistr/u-startswith.h: Likewise.
33951         * lib/unistr/u-stpcpy.h: Likewise.
33952         * lib/unistr/u-stpncpy.h: Likewise.
33953         * lib/unistr/u-strcat.h: Likewise.
33954         * lib/unistr/u-strcpy.h: Likewise.
33955         * lib/unistr/u-strcspn.h: Likewise.
33956         * lib/unistr/u-strdup.h: Likewise.
33957         * lib/unistr/u-strlen.h: Likewise.
33958         * lib/unistr/u-strncat.h: Likewise.
33959         * lib/unistr/u-strncpy.h: Likewise.
33960         * lib/unistr/u-strnlen.h: Likewise.
33961         * lib/unistr/u-strpbrk.h: Likewise.
33962         * lib/unistr/u-strspn.h: Likewise.
33963         * lib/unistr/u-strstr.h: Likewise.
33964         * lib/unistr/u-strtok.h: Likewise.
33965         * lib/unistr/u16-check.c: Likewise.
33966         * lib/unistr/u16-chr.c: Likewise.
33967         * lib/unistr/u16-cmp.c: Likewise.
33968         * lib/unistr/u16-cpy-alloc.c: Likewise.
33969         * lib/unistr/u16-cpy.c: Likewise.
33970         * lib/unistr/u16-endswith.c: Likewise.
33971         * lib/unistr/u16-mblen.c: Likewise.
33972         * lib/unistr/u16-mbsnlen.c: Likewise.
33973         * lib/unistr/u16-mbtouc-aux.c: Likewise.
33974         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
33975         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
33976         * lib/unistr/u16-mbtouc.c: Likewise.
33977         * lib/unistr/u16-mbtoucr.c: Likewise.
33978         * lib/unistr/u16-move.c: Likewise.
33979         * lib/unistr/u16-next.c: Likewise.
33980         * lib/unistr/u16-prev.c: Likewise.
33981         * lib/unistr/u16-set.c: Likewise.
33982         * lib/unistr/u16-startswith.c: Likewise.
33983         * lib/unistr/u16-stpcpy.c: Likewise.
33984         * lib/unistr/u16-stpncpy.c: Likewise.
33985         * lib/unistr/u16-strcat.c: Likewise.
33986         * lib/unistr/u16-strchr.c: Likewise.
33987         * lib/unistr/u16-strcmp.c: Likewise.
33988         * lib/unistr/u16-strcpy.c: Likewise.
33989         * lib/unistr/u16-strcspn.c: Likewise.
33990         * lib/unistr/u16-strdup.c: Likewise.
33991         * lib/unistr/u16-strlen.c: Likewise.
33992         * lib/unistr/u16-strmblen.c: Likewise.
33993         * lib/unistr/u16-strmbtouc.c: Likewise.
33994         * lib/unistr/u16-strncat.c: Likewise.
33995         * lib/unistr/u16-strncmp.c: Likewise.
33996         * lib/unistr/u16-strncpy.c: Likewise.
33997         * lib/unistr/u16-strnlen.c: Likewise.
33998         * lib/unistr/u16-strpbrk.c: Likewise.
33999         * lib/unistr/u16-strrchr.c: Likewise.
34000         * lib/unistr/u16-strspn.c: Likewise.
34001         * lib/unistr/u16-strstr.c: Likewise.
34002         * lib/unistr/u16-strtok.c: Likewise.
34003         * lib/unistr/u16-to-u32.c: Likewise.
34004         * lib/unistr/u16-to-u8.c: Likewise.
34005         * lib/unistr/u16-uctomb-aux.c: Likewise.
34006         * lib/unistr/u16-uctomb.c: Likewise.
34007         * lib/unistr/u32-check.c: Likewise.
34008         * lib/unistr/u32-chr.c: Likewise.
34009         * lib/unistr/u32-cmp.c: Likewise.
34010         * lib/unistr/u32-cpy-alloc.c: Likewise.
34011         * lib/unistr/u32-cpy.c: Likewise.
34012         * lib/unistr/u32-endswith.c: Likewise.
34013         * lib/unistr/u32-mblen.c: Likewise.
34014         * lib/unistr/u32-mbsnlen.c: Likewise.
34015         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
34016         * lib/unistr/u32-mbtouc.c: Likewise.
34017         * lib/unistr/u32-mbtoucr.c: Likewise.
34018         * lib/unistr/u32-move.c: Likewise.
34019         * lib/unistr/u32-next.c: Likewise.
34020         * lib/unistr/u32-prev.c: Likewise.
34021         * lib/unistr/u32-set.c: Likewise.
34022         * lib/unistr/u32-startswith.c: Likewise.
34023         * lib/unistr/u32-stpcpy.c: Likewise.
34024         * lib/unistr/u32-stpncpy.c: Likewise.
34025         * lib/unistr/u32-strcat.c: Likewise.
34026         * lib/unistr/u32-strchr.c: Likewise.
34027         * lib/unistr/u32-strcmp.c: Likewise.
34028         * lib/unistr/u32-strcpy.c: Likewise.
34029         * lib/unistr/u32-strcspn.c: Likewise.
34030         * lib/unistr/u32-strdup.c: Likewise.
34031         * lib/unistr/u32-strlen.c: Likewise.
34032         * lib/unistr/u32-strmblen.c: Likewise.
34033         * lib/unistr/u32-strmbtouc.c: Likewise.
34034         * lib/unistr/u32-strncat.c: Likewise.
34035         * lib/unistr/u32-strncmp.c: Likewise.
34036         * lib/unistr/u32-strncpy.c: Likewise.
34037         * lib/unistr/u32-strnlen.c: Likewise.
34038         * lib/unistr/u32-strpbrk.c: Likewise.
34039         * lib/unistr/u32-strrchr.c: Likewise.
34040         * lib/unistr/u32-strspn.c: Likewise.
34041         * lib/unistr/u32-strstr.c: Likewise.
34042         * lib/unistr/u32-strtok.c: Likewise.
34043         * lib/unistr/u32-to-u16.c: Likewise.
34044         * lib/unistr/u32-to-u8.c: Likewise.
34045         * lib/unistr/u32-uctomb.c: Likewise.
34046         * lib/unistr/u8-check.c: Likewise.
34047         * lib/unistr/u8-chr.c: Likewise.
34048         * lib/unistr/u8-cmp.c: Likewise.
34049         * lib/unistr/u8-cpy-alloc.c: Likewise.
34050         * lib/unistr/u8-cpy.c: Likewise.
34051         * lib/unistr/u8-endswith.c: Likewise.
34052         * lib/unistr/u8-mblen.c: Likewise.
34053         * lib/unistr/u8-mbsnlen.c: Likewise.
34054         * lib/unistr/u8-mbtouc-aux.c: Likewise.
34055         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
34056         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
34057         * lib/unistr/u8-mbtouc.c: Likewise.
34058         * lib/unistr/u8-mbtoucr.c: Likewise.
34059         * lib/unistr/u8-move.c: Likewise.
34060         * lib/unistr/u8-next.c: Likewise.
34061         * lib/unistr/u8-prev.c: Likewise.
34062         * lib/unistr/u8-set.c: Likewise.
34063         * lib/unistr/u8-startswith.c: Likewise.
34064         * lib/unistr/u8-stpcpy.c: Likewise.
34065         * lib/unistr/u8-stpncpy.c: Likewise.
34066         * lib/unistr/u8-strcat.c: Likewise.
34067         * lib/unistr/u8-strchr.c: Likewise.
34068         * lib/unistr/u8-strcmp.c: Likewise.
34069         * lib/unistr/u8-strcpy.c: Likewise.
34070         * lib/unistr/u8-strcspn.c: Likewise.
34071         * lib/unistr/u8-strdup.c: Likewise.
34072         * lib/unistr/u8-strlen.c: Likewise.
34073         * lib/unistr/u8-strmblen.c: Likewise.
34074         * lib/unistr/u8-strmbtouc.c: Likewise.
34075         * lib/unistr/u8-strncat.c: Likewise.
34076         * lib/unistr/u8-strncmp.c: Likewise.
34077         * lib/unistr/u8-strncpy.c: Likewise.
34078         * lib/unistr/u8-strnlen.c: Likewise.
34079         * lib/unistr/u8-strpbrk.c: Likewise.
34080         * lib/unistr/u8-strrchr.c: Likewise.
34081         * lib/unistr/u8-strspn.c: Likewise.
34082         * lib/unistr/u8-strstr.c: Likewise.
34083         * lib/unistr/u8-strtok.c: Likewise.
34084         * lib/unistr/u8-to-u16.c: Likewise.
34085         * lib/unistr/u8-to-u32.c: Likewise.
34086         * lib/unistr/u8-uctomb-aux.c: Likewise.
34087         * lib/unistr/u8-uctomb.c: Likewise.
34088         * lib/unitypes.h: Likewise.
34089         * lib/uniwidth.h: Likewise.
34090         * lib/uniwidth/cjk.h: Likewise.
34091         * lib/uniwidth/u16-strwidth.c: Likewise.
34092         * lib/uniwidth/u16-width.c: Likewise.
34093         * lib/uniwidth/u32-strwidth.c: Likewise.
34094         * lib/uniwidth/u32-width.c: Likewise.
34095         * lib/uniwidth/u8-strwidth.c: Likewise.
34096         * lib/uniwidth/u8-width.c: Likewise.
34097         * lib/uniwidth/width.c: Likewise.
34098
34099 2007-10-07  Bruno Haible  <bruno@clisp.org>
34100
34101         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
34102         The file is still under LGPL (see modules/inttypes).
34103
34104 2007-10-06  Bruno Haible  <bruno@clisp.org>
34105
34106         * modules/trunc (Dependencies): Add 'extensions'.
34107         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
34108         Reported by Ben Pfaff <blp@gnu.org>.
34109
34110 2007-10-06  Bruno Haible  <bruno@clisp.org>
34111
34112         * modules/freopen-tests: New file.
34113         * tests/test-freopen.c: New file.
34114
34115         * modules/fopen-tests: New file.
34116         * tests/test-fopen.c: New file.
34117
34118         * modules/fopen: New file.
34119         * lib/fopen.c: New file.
34120         * m4/fopen.m4: New file.
34121         * modules/freopen: New file.
34122         * lib/freopen.c: New file.
34123         * m4/freopen.m4: New file.
34124         * lib/stdio.in.h (fopen, freopen): New declarations.
34125         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
34126         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
34127         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
34128         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
34129         * doc/functions/fopen.texi: Mention the 'fopen' module.
34130         * doc/functions/freopen.texi: Mention the 'freopen' module.
34131
34132 2007-10-06  Bruno Haible  <bruno@clisp.org>
34133
34134         * modules/open-tests: New file.
34135         * tests/test-open.c: New file.
34136
34137         * modules/open: New file.
34138         * lib/open.c: New file.
34139         * m4/open.m4: New file.
34140         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
34141         lib/open.c does.
34142         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
34143         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
34144         macros.
34145         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
34146         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
34147         REPLACE_OPEN.
34148         * doc/functions/open.texi: Mention the 'open' module.
34149
34150 2007-10-04  Bruno Haible  <bruno@clisp.org>
34151
34152         * modules/ceill-tests: New file.
34153         * tests/test-ceill.c: New file.
34154
34155         * modules/ceill: New file.
34156         * lib/ceill.c: Replace entire file.
34157         * m4/ceill.m4: New file.
34158         * lib/math.in.h (ceill): Replace declaration.
34159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
34160         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
34161         * doc/functions/ceill.texi: Mention the 'ceill' module.
34162         * modules/mathl (Files): Remove lib/ceill.c.
34163         (Depends-on): Add ceill.
34164
34165 2007-10-04  Bruno Haible  <bruno@clisp.org>
34166
34167         * modules/ceilf-tests: New file.
34168         * tests/test-ceilf.c: New file.
34169
34170         * modules/ceilf: New file.
34171         * lib/ceil.c: New file.
34172         * lib/ceilf.c: New file.
34173         * m4/ceilf.m4: New file.
34174         * lib/math.in.h (ceilf): New declaration.
34175         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
34176         HAVE_DECL_CEILF.
34177         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
34178         HAVE_DECL_CEILF.
34179         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
34180
34181 2007-10-04  Bruno Haible  <bruno@clisp.org>
34182
34183         * modules/floorl-tests: New file.
34184         * tests/test-floorl.c: New file.
34185
34186         * modules/floorl: New file.
34187         * lib/floorl.c: Replace entire file.
34188         * m4/floorl.m4: New file.
34189         * lib/math.in.h (floorl): Replace declaration.
34190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
34191         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
34192         * doc/functions/floorl.texi: Mention the 'floorl' module.
34193         * modules/mathl (Files): Remove lib/floorl.c.
34194         (Depends-on): Add floorl.
34195
34196 2007-10-04  Bruno Haible  <bruno@clisp.org>
34197
34198         * modules/floorf-tests: New file.
34199         * tests/test-floorf.c: New file.
34200
34201         * modules/floorf: New file.
34202         * lib/floor.c: New file.
34203         * lib/floorf.c: New file.
34204         * m4/floorf.m4: New file.
34205         * lib/math.in.h (floorf): New declaration.
34206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
34207         HAVE_DECL_FLOORF.
34208         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
34209         HAVE_DECL_FLOORF.
34210         * doc/functions/floorf.texi: Mention the 'floorf' module.
34211
34212 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
34213             Bruno Haible  <bruno@clisp.org>
34214
34215         Advertise for the Git server instead of the CVS server.
34216         * doc/gnulib-intro.texi (Steady Development): Mention the Git
34217         repository instead of the CVS one.
34218         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
34219         about all VCS systems generically.
34220         * doc/gnulib.texi (Introduction): Capitalize `Git'.
34221
34222 2007-10-04  Bruno Haible  <bruno@clisp.org>
34223
34224         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
34225         means.
34226         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
34227
34228 2007-10-04  Bruno Haible  <bruno@clisp.org>
34229
34230         * modules/truncl-tests: New file.
34231         * tests/test-truncl.c: New file.
34232
34233         * modules/truncl: New file.
34234         * lib/truncl.c: New file.
34235         * m4/truncl.m4: New file.
34236         * lib/math.in.h (truncl): New declaration.
34237         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
34238         HAVE_DECL_TRUNCL.
34239         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
34240         HAVE_DECL_TRUNCL.
34241         * doc/functions/truncl.texi: Mention the 'truncl' module.
34242
34243 2007-10-04  Bruno Haible  <bruno@clisp.org>
34244
34245         * modules/truncf-tests: New file.
34246         * tests/test-truncf.c: New file.
34247
34248         * modules/truncf: New file.
34249         * lib/trunc.c: Make paramerizable through USE_* macros.
34250         * lib/truncf.c: New file.
34251         * m4/truncf.m4: New file.
34252         * lib/math.in.h (truncf): New declaration.
34253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
34254         HAVE_DECL_TRUNCF.
34255         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
34256         HAVE_DECL_TRUNCF.
34257         * doc/functions/truncf.texi: Mention the 'truncf' module.
34258
34259 2007-10-03  Bruno Haible  <bruno@clisp.org>
34260
34261         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
34262         augmentation also for tests modules.
34263         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
34264         * modules/atexit-tests (Makefile.am): Likewise.
34265         * modules/binary-io-tests (Makefile.am): Likewise.
34266         * modules/c-strcase-tests (Makefile.am): Likewise.
34267         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
34268         * modules/canonicalize-tests (Makefile.am): Likewise.
34269         * modules/closein-tests (Makefile.am): Likewise.
34270         * modules/fprintf-posix-tests (Makefile.am): Likewise.
34271         * modules/freadahead-tests (Makefile.am): Likewise.
34272         * modules/fseek-tests (Makefile.am): Likewise.
34273         * modules/fseeko-tests (Makefile.am): Likewise.
34274         * modules/ftell-tests (Makefile.am): Likewise.
34275         * modules/ftello-tests (Makefile.am): Likewise.
34276         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
34277         * modules/isnanl-tests (Makefile.am): Likewise.
34278         * modules/lseek-tests (Makefile.am): Likewise.
34279         * modules/mbscasecmp-tests (Makefile.am): Likewise.
34280         * modules/mbscasestr-tests (Makefile.am): Likewise.
34281         * modules/mbschr-tests (Makefile.am): Likewise.
34282         * modules/mbscspn-tests (Makefile.am): Likewise.
34283         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
34284         * modules/mbspbrk-tests (Makefile.am): Likewise.
34285         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
34286         * modules/mbsrchr-tests (Makefile.am): Likewise.
34287         * modules/mbsspn-tests (Makefile.am): Likewise.
34288         * modules/mbsstr-tests (Makefile.am): Likewise.
34289         * modules/printf-posix-tests (Makefile.am): Likewise.
34290         * modules/snprintf-posix-tests (Makefile.am): Likewise.
34291         * modules/sprintf-posix-tests (Makefile.am): Likewise.
34292         * modules/tsearch-tests (Makefile.am): Likewise.
34293         * modules/uniname/uniname-tests (Makefile.am): Likewise.
34294         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
34295         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
34296         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
34297         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
34298         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
34299         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
34300         * modules/vprintf-posix-tests (Makefile.am): Likewise.
34301         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
34302         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
34303         * modules/xstrtoimax-tests (Makefile.am): Likewise.
34304         * modules/xstrtol-tests (Makefile.am): Likewise.
34305         * modules/xstrtoumax-tests (Makefile.am): Likewise.
34306         * modules/yesno-tests (Makefile.am): Likewise.
34307
34308 2007-10-03  Bruno Haible  <bruno@clisp.org>
34309
34310         * modules/trunc-tests: New file.
34311         * tests/test-trunc.c: New file.
34312
34313         * modules/trunc: New file.
34314         * lib/trunc.c: New file.
34315         * m4/trunc.m4: New file.
34316         * lib/math.in.h (trunc): New declaration.
34317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
34318         HAVE_DECL_TRUNC.
34319         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
34320         HAVE_DECL_TRUNC.
34321         * doc/functions/trunc.texi: Mention the 'trunc' module.
34322
34323 2007-10-03  Bruno Haible  <bruno@clisp.org>
34324
34325         * tests/test-fpending.c: New file, mostly copied
34326         from coreutils/lib/t-fpending.c.
34327         * modules/fpending-tests: New file.
34328
34329 2007-10-03  Bruno Haible  <bruno@clisp.org>
34330
34331         Port the stdio extensions to QNX (untested).
34332         * lib/fseterr.c (fseterr): Add support for QNX.
34333         * lib/fbufmode.c (fbufmode): Likewise.
34334         * lib/freadable.c (freadable): Likewise.
34335         * lib/fwritable.c (fwritable): Likewise.
34336         * lib/freading.c (freading): Likewise.
34337         * lib/fwriting.c (fwriting): Likewise.
34338         * lib/freadahead.c (freadahed): Likewise.
34339         * lib/fpurge.c (fpurge): Likewise.
34340         * lib/fseeko.c (rpl_fseeko): Likewise.
34341
34342 2007-10-03  Bruno Haible  <bruno@clisp.org>
34343             Jim Meyering  <jim@meyering.net>
34344             Eric Blake  <ebb9@byu.net>
34345
34346         * doc/relocatable.texi: Use @command instead of @program.
34347
34348 2007-10-02  Jim Meyering  <jim@meyering.net>
34349
34350         Perform one more "_.h" -> ".in.h" substitution.
34351         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
34352         instead of unistd_.h here, too.
34353
34354 2007-10-01  Bruno Haible  <bruno@clisp.org>
34355
34356         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
34357         Needed for the alloca-opt module.
34358
34359 2007-09-30  Bruno Haible  <bruno@clisp.org>
34360
34361         * lib/alloca.in.h: Renamed from lib/alloca_.h.
34362         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
34363         alloca_.h.
34364         * lib/argz.in.h: Renamed from lib/argz_.h.
34365         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
34366         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
34367         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
34368         byteswap_.h.
34369         * lib/dirent.in.h: Renamed from lib/dirent_.h.
34370         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
34371         dirent_.h.
34372         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
34373         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
34374         fcntl_.h.
34375         * lib/float.in.h: Renamed from lib/float_.h.
34376         * modules/float (Files, Makefile.am): Use float.in.h instead of
34377         float_.h.
34378         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
34379         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
34380         fnmatch_.h.
34381         * lib/getopt.in.h: Renamed from lib/getopt_.h.
34382         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
34383         getopt_.h.
34384         * lib/glob.in.h: Renamed from lib/glob_.h.
34385         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
34386         * lib/iconv.in.h: Renamed from lib/iconv_.h.
34387         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
34388         iconv_.h.
34389         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
34390         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
34391         inttypes_.h.
34392         * lib/locale.in.h: Renamed from lib/locale_.h.
34393         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
34394         locale_.h.
34395         * lib/math.in.h: Renamed from lib/math_.h.
34396         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
34397         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
34398         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
34399         of netinet_in_.h. Add dependency.
34400         * lib/poll.in.h: Renamed from lib/poll_.h.
34401         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
34402         * lib/search.in.h: Renamed from lib/search_.h.
34403         * modules/search (Files, Makefile.am): Use search.in.h instead of
34404         search_.h.
34405         * lib/signal.in.h: Renamed from lib/signal_.h.
34406         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
34407         _signal.h.
34408         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
34409         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
34410         stdbool_.h.
34411         * lib/stdint.in.h: Renamed from lib/stdint_.h.
34412         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
34413         stdint_.h.
34414         * lib/stdio.in.h: Renamed from lib/stdio_.h.
34415         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
34416         stdio_.h.
34417         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
34418         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
34419         stdlib_.h.
34420         * lib/string.in.h: Renamed from lib/string_.h.
34421         * modules/string (Files, Makefile.am): Use string.in.h instead of
34422         string_.h.
34423         * doc/gnulib-tool.texi (Initial import): Update.
34424         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
34425         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
34426         of sys_select_.h. Add dependency.
34427         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
34428         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
34429         of sys_socket_.h.
34430         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
34431         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
34432         sys_stat_.h.
34433         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
34434         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
34435         sys_time_.h.
34436         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
34437         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
34438         sysexits_.h.
34439         * lib/time.in.h: Renamed from lib/time_.h.
34440         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
34441         * lib/unistd.in.h: Renamed from lib/unistd_.h.
34442         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
34443         unistd_.h.
34444         * lib/wchar.in.h: Renamed from lib/wchar_.h.
34445         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
34446         wchar_.h.
34447         * lib/wctype.in.h: Renamed from lib/wctype_.h.
34448         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
34449         wctype_.h.
34450         * build-aux/bootstrap (slurp): Update.
34451         * lib/.cppi-disable: Update.
34452
34453 2007-09-30  Bruno Haible  <bruno@clisp.org>
34454
34455         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
34456         Needed on BeOS.
34457
34458 2007-09-30  Bruno Haible  <bruno@clisp.org>
34459
34460         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
34461
34462 2007-09-29  Bruno Haible  <bruno@clisp.org>
34463
34464         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
34465
34466 2007-09-29  Bruno Haible  <bruno@clisp.org>
34467
34468         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
34469         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
34470         * build-aux/install-reloc: Compile also areadlink.c.
34471         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
34472
34473 2007-09-29  Bruno Haible  <bruno@clisp.org>
34474
34475         * gnulib-tool (func_emit_initmacro_done): Indentation.
34476
34477 2007-09-29  Bruno Haible  <bruno@clisp.org>
34478
34479         * README: Add CVS checkout update instructions.
34480         Info from Bob Proulx <bob@proulx.com>.
34481
34482 2007-09-28  Eric Blake  <ebb9@byu.net>
34483
34484         Provide move-if-change.
34485         * build-aux/move-if-change: New file, based on best practice
34486         rather than any canonical upstream location.
34487
34488 2007-09-28  Jim Meyering  <jim@meyering.net>
34489
34490         Fix canonicalize loop-detection corner case.
34491         Do not attempt to stat the symlink values stored via seen_triple.
34492         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
34493         on linux-2.6.18, (but not 2.6.22).
34494         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
34495         triple_compare.  The former compares dev,ino,filename, while the latter
34496         would actually stat dirname(filename) when dev and ino were equal.
34497         * lib/hash-triple.c: Install <string.h>.
34498         (STREQ): Define.
34499         (triple_compare_ino_str): New function.
34500         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
34501
34502 2007-09-28  Eric Blake  <ebb9@byu.net>
34503
34504         Enforce that AC_REPLACE_FUNCS files exist.
34505         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
34506         override check for typos.
34507
34508         Fix test-closein on Solaris 10.
34509         * tests/test-closein.c (main): Don't assume stdin can be inherited
34510         closed on all systems.
34511         * tests/test-closein.sh: Likewise.
34512         Reported by Piotr Tarnowski.
34513
34514 2007-09-28  Jim Meyering  <jim@meyering.net>
34515
34516         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
34517
34518 2007-09-27  Jim Meyering  <jim@meyering.net>
34519
34520         canonicalize: Avoid a false-positive cycle failure.
34521         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
34522         Sort.  Remove cycle-check.
34523         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
34524         not cycle-check.h.
34525         (seen_triple): New function.
34526         (canonicalize_filename_mode): Use it instead of cycle-check.
34527         * tests/test-canonicalize.c: Add a test for this bug.
34528         * tests/test-canonicalize.sh: Set up and run the test.
34529
34530         New module, file-set, from coreutils.
34531         * modules/file-set: Define it.
34532         * lib/file-set.c, lib/file-set.h: Implement.
34533
34534         New module, hash-triple, from coreutils.
34535         * modules/hash-triple: Define it.
34536         * lib/hash-triple.c, lib/hash-triple.h: Implement.
34537
34538 2007-09-25  Eric Blake  <ebb9@byu.net>
34539
34540         Fix strerror on Interix.
34541         * lib/string_.h (strerror): Declare replacement.
34542         * doc/functions/strerror.texi (strerror): Document the Interix
34543         shortcoming.
34544         * modules/string (Makefile.am): Support new hooks.
34545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
34546         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
34547         gl_FUNC_STRERROR_SEPARATE.
34548         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
34549         * lib/strerror.c (rpl_strerror): Provide replacement.
34550         * modules/strerror (Depends-on): Add string.
34551         (configure.ac): Detect use of module.
34552         * tests/test-strerror.c: New file.
34553         * modules/strerror-tests: New test module.
34554         * modules/argp (Depends-on): Add strerror.
34555         * modules/error (Depends-on): Likewise.
34556         Reported by Martin Koeppe.
34557
34558 2007-09-24  Bruno Haible  <bruno@clisp.org>
34559
34560         * README: Update git instructions.
34561
34562 2007-09-24  Eric Blake  <ebb9@byu.net>
34563
34564         Revert fpending breakage from 2007-09-08.
34565         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
34566         __fpending.c.
34567
34568 2007-09-24  Jim Meyering  <jim@meyering.net>
34569
34570         filenamecat.c: Add a test.
34571         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
34572         showing how the function works when DIR is the empty string.
34573
34574 2007-09-21  Simon Josefsson  <simon@josefsson.org>
34575
34576         * tests/test-canonicalize.sh: Turn on executable bit.
34577
34578 2007-09-19  Eric Blake  <ebb9@byu.net>
34579
34580         * README: Update CVS instructions.
34581
34582 2007-09-18  Bruno Haible  <bruno@clisp.org>
34583
34584         * modules/areadlink: New file.
34585         * lib/areadlink.h (areadlink): New declaration.
34586         * lib/areadlink.c: New file, based on lib/xreadlink.c.
34587
34588 2007-09-17  Jim Meyering  <jim@meyering.net>
34589
34590         * lib/savewd.c (ESTALE) [!defined]: Define.
34591         Reported to be required on Interix by Martin Koeppe.
34592
34593 2007-09-17  Bruno Haible  <bruno@clisp.org>
34594
34595         * gnulib-tool (func_version): Use $version.
34596
34597 2007-09-16  Bruno Haible  <bruno@clisp.org>
34598
34599         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
34600         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
34601         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
34602         Reported by Greg Schafer <gschafer@zip.com.au>.
34603
34604 2007-09-15  Bruno Haible  <bruno@clisp.org>
34605
34606         * gnulib-tool (sed): Try a little harder to make bash understand the
34607         alias.
34608         Reported by Bruce Korb <bruce.korb@gmail.com>.
34609
34610 2007-09-13  Eric Blake  <ebb9@byu.net>
34611
34612         * ChangeLog: Remove conflict markers.
34613
34614 2007-09-13  Simon Josefsson  <simon@josefsson.org>
34615
34616         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
34617         Reported by Bruno Haible <bruno@clisp.org>.
34618
34619 2007-09-12  Bruno Haible  <bruno@clisp.org>
34620
34621         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
34622         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
34623         is not defined.
34624
34625 2007-09-12  Eric Blake  <ebb9@byu.net>
34626
34627         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
34628         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
34629         Autoconf definition.
34630         * modules/euidaccess (Depends-on): Add extensions, for
34631         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
34632         * modules/fnmatch (Depends-on): Likewise.
34633         * modules/getaddrinfo (Depends-on): Likewise.
34634         * modules/getdelim (Depends-on): Likewise.
34635         * modules/getline (Depends-on): Likewise.
34636         * modules/getsubopt (Depends-on): Likewise.
34637         * modules/gettext (Depends-on): Likewise.
34638         * modules/group-member (Depends-on): Likewise.
34639         * modules/mbchar (Depends-on): Likewise.
34640         * modules/memmem (Depends-on): Likewise.
34641         * modules/mempcpy (Depends-on): Likewise.
34642         * modules/memrchr (Depends-on): Likewise.
34643         * modules/pagealign_alloc (Depends-on): Likewise.
34644         * modules/readutmp (Depends-on): Likewise.
34645         * modules/stpcpy (Depends-on): Likewise.
34646         * modules/stpncpy (Depends-on): Likewise.
34647         * modules/strchrnul (Depends-on): Likewise.
34648         * modules/strndup (Depends-on): Likewise.
34649         * modules/strsep (Depends-on): Likewise.
34650         * modules/strverscmp (Depends-on): Likewise.
34651         * modules/vasprintf (Depends-on): Likewise.
34652         * modules/wcwidth (Depends-on): Likewise.
34653         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
34654         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
34655         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
34656         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
34657         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
34658         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
34659         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
34660         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
34661         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
34662         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
34663         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
34664         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
34665         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
34666         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
34667         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
34668         * m4/readutmp.m4 (gl_READUTMP): Likewise.
34669         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34670         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
34671         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
34672         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
34673         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
34674         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
34675         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
34676         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
34677         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
34678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
34679         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
34680         so that lock.m4 can be used in gettext without extensions module.
34681
34682 2007-09-11  Bruno Haible  <bruno@clisp.org>
34683
34684         * m4/isc-posix.m4: Remove file.
34685         Suggested by Eric Blake.
34686
34687 2007-09-11  Eric Blake  <ebb9@byu.net>
34688
34689         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
34690
34691 2007-09-10  Bruno Haible  <bruno@clisp.org>
34692
34693         * posix-modules: Fix typo in error message.
34694         Reported by Matt <mkraai@beckman.com>.
34695
34696 2007-09-09  Bruno Haible  <bruno@clisp.org>
34697
34698         * doc/functions/getdelim.texi: Update list of platforms lacking the
34699         function.
34700         * doc/functions/getline.texi: Likewise.
34701
34702 2007-09-09  Jim Meyering  <jim@meyering.net>
34703
34704         * lib/hash.c (hash_initialize): Detect calloc failure.
34705         Reported by Bruno Haible.
34706
34707 2007-09-09  Bruno Haible  <bruno@clisp.org>
34708
34709         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
34710         malloc or realloc fails.
34711
34712 2007-09-09  Bruno Haible  <bruno@clisp.org>
34713
34714         * modules/getcwd (Depends-on): Add malloc-posix.
34715         * modules/glob (Depends-on): Likewise.
34716         * modules/putenv (Depends-on): Likewise.
34717         * modules/strdup (Depends-on): Likewise.
34718         * modules/getdelim (Depends-on): Add realloc-posix.
34719         * modules/read-file (Depends-on): Likewise.
34720
34721 2007-09-09  Bruno Haible  <bruno@clisp.org>
34722
34723         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
34724         (gl_FUNC_MALLOC_POSIX): Require it.
34725         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
34726         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
34727         * modules/realloc (Files): Add m4/malloc.m4.
34728         * modules/calloc (Files): Likewise.
34729
34730 2007-09-09  Bruno Haible  <bruno@clisp.org>
34731
34732         * modules/malloc-posix: New file.
34733         * modules/malloc (Depends-on): Add malloc-posix.
34734         * lib/malloc.c: Include errno.h.
34735         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
34736         and a POSIX-compatible malloc into a single function. Set ENOMEM
34737         when returning NULL.
34738         * m4/malloc.m4: New file.
34739         * doc/functions/malloc.texi: Mention the malloc-posix module.
34740         * lib/stdlib_.h (malloc): New declaration.
34741         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
34742         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
34743         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
34744         and HAVE_MALLOC_POSIX.
34745
34746 2007-09-09  Bruno Haible  <bruno@clisp.org>
34747
34748         * modules/realloc-posix: New file.
34749         * modules/realloc (Depends-on): Add realloc-posix.
34750         * lib/realloc.c: Include errno.h.
34751         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
34752         and a POSIX-compatible realloc into a single function. Set ENOMEM
34753         when returning NULL.
34754         * m4/realloc.m4: New file.
34755         * doc/functions/realloc.texi: Mention the realloc-posix module.
34756         * lib/stdlib_.h (realloc): New declaration.
34757         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
34758         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
34759         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
34760         and HAVE_REALLOC_POSIX.
34761
34762 2007-09-09  Bruno Haible  <bruno@clisp.org>
34763
34764         * modules/calloc-posix: New file.
34765         * modules/calloc (Depends-on): Add calloc-posix.
34766         * lib/calloc.c: Include errno.h.
34767         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
34768         and a POSIX-compatible calloc into a single function. Set ENOMEM
34769         when returning NULL.
34770         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
34771         * doc/functions/calloc.texi: Mention the calloc-posix module.
34772         * lib/stdlib_.h (calloc): New declaration.
34773         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
34774         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
34775         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
34776         and HAVE_CALLOC_POSIX.
34777
34778 2007-09-09  Bruno Haible  <bruno@clisp.org>
34779
34780         Allow for modules to show an arbitrary notice.
34781         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
34782         * gnulib-tool: New option --extract-notice.
34783         (func_usage): Document it.
34784         (sed_extract_prog): Update.
34785         (func_get_notice): New function.
34786         (func_modules_notice): New function.
34787         (func_import, func_create_testdir): Invoke it.
34788         Suggested by Jim Meyering.
34789
34790 2007-09-09  Bruno Haible  <bruno@clisp.org>
34791
34792         * gnulib-tool: New options --verbose, --quiet.
34793         (func_usage): Document them.
34794         (verbose): New variable.
34795         (func_execute_command): New function.
34796         (func_import): Don't show the module list and the file list if
34797         $verbose < 0.
34798         (func_create_testdir): Likewise. Use func_execute_command.
34799         (func_create_megatestdir): Use func_execute_command.
34800
34801 2007-09-08  Bruno Haible  <bruno@clisp.org>
34802
34803         * gnulib-tool (func_import): Prefer rsync over wget when available,
34804         for fetching the PO files.
34805
34806 2007-09-08  Bruno Haible  <bruno@clisp.org>
34807
34808         * posix-modules: New file. Portions copied from gnulib-tool.
34809         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
34810
34811 2007-09-08  Jim Meyering  <jim@meyering.net>
34812
34813         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
34814         * lib/fpending.h: Rename from __fpending.h.
34815         * lib/fpending.c: Rename from __fpending.c.
34816         Include "fpending.h", not "__fpending.h".
34817         * lib/__fpending.h, lib/__fpending.c: Remove files.
34818         * modules/fpending (Files): Reflect new file names.
34819         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
34820
34821 2007-09-08  Bruno Haible  <bruno@clisp.org>
34822
34823         * m4/inttypes-h.m4: Remove stub file.
34824
34825 2007-09-07  Simon Josefsson  <simon@josefsson.org>
34826
34827         * doc/headers/stdint.texi: Discuss #include_next issue.
34828
34829 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
34830
34831         * build-aux/bootstrap: Remove obsolete comment about wget --help.
34832
34833 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34834
34835         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
34836         in variable name.
34837
34838 2007-09-03  Jim Meyering  <jim@meyering.net>
34839
34840         New module: git-version-gen.
34841         * modules/git-version-gen: New file.
34842
34843         Import changes from coreutils for bootstrap script.
34844
34845         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
34846
34847         bootstrap: uses rsync to download the .po files
34848         * build-aux/bootstrap (po_download_command_format): New global.
34849         (download_po_files): Use rsync.
34850         (update_po_files): Don't remove .po files after download,
34851         so future rsync runs can take advantage of the copies.
34852
34853         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
34854
34855         Solve the unnecessary-.po-file-regeneration problem once and for all.
34856         * build-aux/bootstrap (download_po_files): New function, renamed from
34857         get_translations.  Now, downloads, but doesn't update LINGUAS.
34858         (update_po_files): New function.
34859
34860         bootstrap: Ignore more.
34861         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
34862         uniwidth to e.g., lib/.gitignore.
34863         (slurp): Handle the sys_stat_.h -> sys mapping, too.
34864
34865         * build-aux/bootstrap: New setting: vc_ignore.
34866         (insert_sorted_if_absent): Create $file if absent.
34867         Adapt to new, possibly empty, list: $vc_ignore.
34868
34869         bootstrap: generate more ignorable names
34870         * build-aux/bootstrap (slurp): When generating ignorable names,
34871         also map .sin to .sed, .gperf to .c, and .y to .c.
34872
34873 2007-09-03  Jim Meyering  <jim@meyering.net>
34874
34875         * build-aux/git-version-gen: New file, from coreutils.  For details, see
34876         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
34877
34878 2007-09-02  Bruno Haible  <bruno@clisp.org>
34879
34880         Fix mis-recognition of 'mcs' on QNX 6.
34881         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
34882         output contains the string "Mono".
34883         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
34884         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
34885
34886 2007-09-01  Bruno Haible  <bruno@clisp.org>
34887
34888         Fix collision between uniwidth/* and linebreak modules.
34889         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
34890         u32_width): Remove declarations.
34891         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
34892         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
34893         streq3, streq2, streq1, streq0): Remove functions.
34894         (STREQ): Remove macro.
34895         (is_cjk_encoding): Remove function.
34896         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
34897         (uc_width, u8_width, u16_width, u32_width): Remove functions.
34898         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
34899         * NEWS: Document the change.
34900
34901 2007-09-01  Bruno Haible  <bruno@clisp.org>
34902
34903         * lib/streq.h: Add double-inclusion guard.
34904
34905 2007-09-01  Karl Berry  <karl@gnu.org>
34906
34907         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
34908
34909 2007-08-28  Jim Meyering  <jim@meyering.net>
34910
34911         Rename mreadlink_with_size to areadlink_with_size.
34912         * NEWS: Document the change.
34913         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
34914         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
34915         * lib/mreadlink.h: Rename this to...
34916         * lib/areadlink.h: ...this.
34917         * modules/mreadlink-with-size: Rename this to...
34918         * modules/areadlink-with-size: ...this.
34919         * lib/canonicalize.c: Reflect the renaming.
34920         * modules/canonicalize: Likewise.
34921
34922 2007-08-26  Bruno Haible  <bruno@clisp.org>
34923
34924         * gnulib-tool (func_import): When deciding which files to remove,
34925         consider also dangling symbolic links.
34926         Reported by Eric Blake.
34927
34928 2007-08-26  Bruno Haible  <bruno@clisp.org>
34929
34930         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
34931
34932 2007-08-23  Simon Josefsson  <simon@josefsson.org>
34933
34934         * lib/readline.c: Don't include getline.h, the prototype is now
34935         found in stdio.h.
34936
34937 2007-08-23  Jim Meyering  <jim@meyering.net>
34938
34939         Getdelim touchup.
34940         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
34941         around the funlockfile call, since funlockfile never sets errno.
34942         Don't set errno upon failed realloc.
34943
34944 2007-08-22  Eric Blake  <ebb9@byu.net>
34945
34946         Getline touchups.
34947         * lib/getdelim.c (getdelim): Revert regression that required *n to
34948         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
34949         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
34950         getdelim, rather than whether implementation is missing.
34951         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
34952         * lib/stdio_.h (getline): Also declare if replacement is
34953         required.
34954         * doc/functions/getdelim.texi: New file.
34955         * doc/functions/getline.texi: Likewise.
34956         * doc/gnulib.texi (Function Substitutes): Add new files.
34957         Reported by Bruno Haible.
34958
34959 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
34960
34961         * users.txt: Add Guile.
34962
34963 2007-08-22  Eric Blake  <ebb9@byu.net>
34964
34965         * tests/test-getdelim.c (main): Use remove, not unlink.
34966         * tests/test-getline.c (main): Likewise.
34967
34968         Move getline and getdelim into stdio.h, per POSIX 200x.
34969         * modules/getline (Files): Remove getline.h.
34970         (Depends-on): Add stdio.
34971         (configure.ac): Add module indicator.
34972         * modules/getdelim (Files): Remove getdelim.h.
34973         (Depends-on): Add stdio.
34974         (configure.ac): Add module indicator.
34975         * modules/stdio (Makefile.am): Work with new indicators.
34976         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
34977         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
34978         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
34979         * lib/getdelim.h: Delete.
34980         * lib/getline.h: Delete.
34981         * lib/stdio_.h (getdelim, getline): Declare.
34982         * modules/getdelim-tests: New module.
34983         * modules/getline-tests: Likewise.
34984         * tests/test-getdelim.c: New file.
34985         * tests/test-getline.c: Likewise.
34986         * NEWS: Document the change.
34987         * lib/getline.c: Update choice of header.
34988         * lib/csharpcomp.c: Likewise.
34989         * lib/getpass.c: Likewise.
34990         * lib/javacomp.c: Likewise.
34991         * lib/javaversion.c: Likewise.
34992         * lib/yesno.c: Likewise.
34993         * lib/getdelim.c: Likewise.
34994         (getdelim): Set errno on failure, and avoid memory leak.
34995
34996 2007-08-19  Bruno Haible  <bruno@clisp.org>
34997
34998         * modules/closein (Depends-on): Add freadahead.
34999         * lib/closein.c: Include freadahead.h.
35000         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
35001         is zero.
35002
35003 2007-08-19  Bruno Haible  <bruno@clisp.org>
35004
35005         * modules/freadahead-tests: New file.
35006         * tests/test-freadahead.sh: New file.
35007         * tests/test-freadahead.c: New file.
35008
35009         * modules/freadahead: New file.
35010         * lib/freadahead.h: New file.
35011         * lib/freadahead.c: New file.
35012         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
35013         fbufmode, fpurge, freadable, fwritable.
35014
35015 2007-08-19  Eric Blake  <ebb9@byu.net>
35016
35017         Test yesno in combination with closein.
35018         * lib/yesno.c (yesno): Document use of stdin.
35019         * modules/yesno-tests (Files): New module.
35020         * tests/test-yesno.c (main): New file.
35021         * tests/test-yesno.sh: Likewise.
35022
35023 2007-08-19  Bruno Haible  <bruno@clisp.org>
35024
35025         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
35026         * lib/fseeko.c (rpl_fseeko): Likewise.
35027         * lib/fseterr.c (fseterr): Likewise.
35028
35029 2007-08-19  Bruno Haible  <bruno@clisp.org>
35030
35031         * tests/test-lseek.c (main): Disable a test for BeOS.
35032         * doc/functions/lseek.texi: Document the BeOS bug.
35033
35034 2007-08-19  Bruno Haible  <bruno@clisp.org>
35035             Eric Blake  <ebb9@byu.net>
35036
35037         * lib/lseek.c: Include <sys/stat.h>.
35038         (rpl_lseek): Add workaround code also for Unix platforms.
35039         Needed for BeOS.
35040         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
35041         * doc/functions/lseek.texi: Document BeOS definiency.
35042
35043 2007-08-18  Bruno Haible  <bruno@clisp.org>
35044
35045         * modules/fstrcmp-tests: New file.
35046         * tests/test-fstrcmp.c: New file.
35047
35048 2007-08-18  Bruno Haible  <bruno@clisp.org>
35049
35050         * modules/fstrcmp: New file, from GNU gettext with modifications.
35051         * lib/fstrcmp.h: New file, from GNU gettext.
35052         * lib/fstrcmp.c: New file, from GNU gettext.
35053         * MODULES.html.sh (String handling): Add fstrcmp.
35054
35055 2007-08-18  Bruno Haible  <bruno@clisp.org>
35056
35057         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
35058         'bool'.
35059         (diag, compareseq): Remove const from the ctxt argument.
35060         (USE_HEURISTIC): Undefine at the end.
35061
35062 2007-08-18  Jim Meyering  <jim@meyering.net>
35063
35064         New file: lib/idcache.h
35065         * NEWS: Mention the addition.
35066         * modules/idcache (Files): Add lib/idcache.h
35067         * lib/idcache.c: Include "idcache.h".
35068         Don't include <sys/types.h>.
35069         Add a FIXME comment.
35070         Move file-scoped "static" declarations to the top.
35071         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
35072
35073 2007-08-17  Bruno Haible  <bruno@clisp.org>
35074         and Paul Eggert  <eggert@cs.ucla.edu>
35075
35076         * MODULES.html.sh: Add diffseq.
35077         * modules/diffseq: New file.
35078         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
35079         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
35080
35081 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35082
35083         Import changes from coreutils for bootstrap script.
35084
35085         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
35086
35087         * build-aux/bootstrap (slurp): Work even in environments where
35088         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
35089         current code does not slurp files whose names start with ".", and
35090         this looks like it might be a troublesome area.
35091
35092         2007-07-11  Jim Meyering  <jim@meyering.net>
35093
35094         If there's a GPL vN copyright comment, require that N == 3.
35095
35096         2007-07-08  Jim Meyering  <jim@meyering.net>
35097
35098         Run the coreutils-specific code only if tests/Makefile.am.in exists.
35099         * build-aux/bootstrap (mam_template): Move definition out of loop.
35100
35101         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
35102
35103         * build-aux/bootstrap (symlink_to_dir): Rename function from
35104         symlink_to_gnulib.  Add a directory parameter.  Update all
35105         callers.
35106         (cp_mark_as_generated): Also check for -- and link to -- files in
35107         gl/.
35108
35109         2007-07-08  Jim Meyering  <jim@meyering.net>
35110
35111         Adapt to deeper hierarchy in gnulib.
35112         * build-aux/bootstrap (symlink_to_dir): If the destination
35113         directory doesn't exist, create it. This is required at least for
35114         "lib/uniwidth/cjk.h".
35115
35116         2007-05-15  Jim Meyering  <jim@meyering.net>
35117
35118         * build-aux/bootstrap: Now that generated Makefile.am files
35119         are no longer under version control, they must be created at
35120         bootstrap time.
35121
35122 2007-08-14  Ben Pfaff  <blp@gnu.org>
35123
35124         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
35125
35126 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
35127
35128         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
35129         given the changes below.
35130         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
35131         even on hosts that have padding bits beyond the supported 64.
35132
35133 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35134
35135         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
35136         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
35137         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
35138         depends on it.
35139         (xstrtol_error): Remove.
35140         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
35141         but with a different signature.
35142         (ATTRIBUTE_NORETURN, __attribute__): New macros.
35143         * lib/xstrtol-error.c: Include exitfail.h.
35144         (xstrtol_fatal): New function, with a different signature from the
35145         old xstrtol_error, so that the caller need not worry about passing
35146         in an exit status, or about storage management of the option argument.
35147         (xstrtol_error): Now a static function.  Redo signature to
35148         implement xstrtol_fatal.  Output the correct number of hyphens in
35149         front of the option so that the caller need not worry about
35150         storage management.
35151         (N_): New macro.
35152         (_): Remove; not used now.
35153         * modules/xstrtol: Depend on getopt.
35154         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
35155         of old STRTOL_FATAL_ERROR macro.
35156         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
35157         of test program.
35158         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
35159         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
35160
35161 2007-08-08  Eric Blake  <ebb9@byu.net>
35162
35163         * lib/xstrtol-error.c: Add missing include.
35164
35165         Move xstrtol messages into gnulib domain, when --pobase is used.
35166         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
35167         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
35168         * modules/xstrtol (Files): Distribute new file.
35169         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
35170         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
35171         * tests/test-xstrtol.c: ...into new file.
35172         * tests/test-xstrtoul.c: Also test xstrtoul.
35173         * tests/test-xstrtoimax.c: Also test xstrtoimax.
35174         * tests/test-xstrtoumax.c: Also test xstrtoumax.
35175         * tests/test-xstrtol.sh: Drive the tests.
35176         * tests/test-xstrtoimax.sh: Likewise.
35177         * tests/test-xstrtoumax.sh: Likewise.
35178         * modules/xstrtol-tests: New module.
35179         * modules/xstrtoimax-tests: Likewise.
35180         * modules/xstrtoumax-tests: Likewise.
35181
35182 2007-08-08  Jim Meyering  <jim@meyering.net>
35183
35184         New function: mfile_name_concat.
35185         * lib/filenamecat.c (mfile_name_concat): New function, just like
35186         file_name_concat, but return NULL upon failure rather than exiting
35187         with a diagnostic.
35188         * lib/filenamecat.h: Declare it.
35189
35190 2007-08-07  Bruno Haible  <bruno@clisp.org>
35191
35192         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
35193         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
35194         warning from gcc.
35195         Reported by Eric Blake.
35196
35197 2007-08-07  Simon Josefsson  <simon@josefsson.org>
35198
35199         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
35200         * modules/crypto/arcfour (License): Likewise.
35201         * modules/crypto/des-tests (License): Likewise.
35202         * modules/crypto/gc-arctwo-tests (License): Likewise.
35203         * modules/crypto/gc-des-tests (License): Likewise.
35204         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
35205         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
35206         * modules/crypto/gc-md2-tests (License): Likewise.
35207         * modules/crypto/gc-md4-tests (License): Likewise.
35208         * modules/crypto/gc-md5-tests (License): Likewise.
35209         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
35210         * modules/crypto/gc-rijndael-tests (License): Likewise.
35211         * modules/crypto/gc-sha1-tests (License): Likewise.
35212         * modules/crypto/gc-tests (License): Likewise.
35213         * modules/crypto/hmac-md5 (License): Likewise.
35214         * modules/crypto/hmac-sha1 (License): Likewise.
35215         * modules/crypto/md2-tests (License): Likewise.
35216         * modules/crypto/md4-tests (License): Likewise.
35217         * modules/crypto/md5 (License): Likewise.
35218         * modules/crypto/rijndael (License): Likewise.
35219         * modules/crypto/sha1 (License): Likewise.
35220         * modules/memxor (License): Likewise.
35221
35222 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
35223         and Bruno Haible  <bruno@clisp.org>
35224
35225         * NEWS: Describe interface changes to human, xstrtol.
35226         * lib/human.h: Include <xstrtol.h>.
35227         (human_options): Return enum strtol_error, not int.  Remove
35228         bool arg; take int * instead.
35229         * lib/human.c: Don't include "gettext.h".
35230         (_): Remove; no longer used.
35231         Don't include <xstrtol.h>, since human.h does it.
35232         (human_options): Adjust to abovementioned interface changes.
35233         Do not report error to stderr; that's now the caller's
35234         responsibility.
35235         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
35236         interface change.
35237         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
35238         Str, Argument_type_string.  All uses changed.  Put " argument"
35239         in diagnostics to make them clearer.  Change wording of suffix
35240         message for clarity.
35241         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
35242         Argument_type_string.
35243         (STRTOL_FATAL_WARN): Remove; no longer used.
35244         * modules/human (Depends-on): Remove gettext-h.
35245
35246 2007-08-06  Simon Josefsson  <simon@josefsson.org>
35247
35248         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
35249
35250 2007-07-31  Bruno Haible  <bruno@clisp.org>
35251
35252         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
35253         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
35254         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
35255
35256 2007-07-31  Bruno Haible  <bruno@clisp.org>
35257
35258         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
35259         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
35260
35261 2007-07-30  Bruno Haible  <bruno@clisp.org>
35262
35263         * modules/base64 (License): Use the synonymous term "LGPLv2+".
35264         * modules/c-ctype (License): Likewise.
35265         * modules/c-strcase (License): Likewise.
35266         * modules/check-version (License): Likewise.
35267         * modules/iconv (License): Likewise.
35268         * modules/iconv_open (License): Likewise.
35269         * modules/read-file (License): Likewise.
35270         * modules/striconv (License): Likewise.
35271         * modules/strverscmp (License): Likewise.
35272         * modules/vasprintf (License): Likewise.
35273         * modules/crypto/des (License): Likewise.
35274         * modules/crypto/gc (License): Likewise.
35275         * modules/crypto/gc-arcfour (License): Likewise.
35276         * modules/crypto/gc-arctwo (License): Likewise.
35277         * modules/crypto/gc-des (License): Likewise.
35278         * modules/crypto/gc-hmac-md5 (License): Likewise.
35279         * modules/crypto/gc-hmac-sha1 (License): Likewise.
35280         * modules/crypto/gc-md2 (License): Likewise.
35281         * modules/crypto/gc-md4 (License): Likewise.
35282         * modules/crypto/gc-md5 (License): Likewise.
35283         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
35284         * modules/crypto/gc-random (License): Likewise.
35285         * modules/crypto/gc-rijndael (License): Likewise.
35286         * modules/crypto/gc-sha1 (License): Likewise.
35287         * modules/crypto/md2 (License): Likewise.
35288         * modules/crypto/md4 (License): Likewise.
35289
35290 2007-07-30  Jim Meyering  <jim@meyering.net>
35291
35292         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
35293         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
35294         it has valid stat data.  This bug would cause du not to count the
35295         sizes of inaccessible directories.
35296         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
35297         in <http://bugzilla.redhat.com/250077>.
35298
35299 2007-07-25  Peter O'Gorman  <peter@pogma.com>
35300             Bruno Haible  <bruno@clisp.org>
35301
35302         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
35303         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
35304         #include_next, gives a diagnostic about it, but reports no error in
35305         the exit code.
35306         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
35307
35308 2007-07-24  Ben Pfaff  <blp@gnu.org>
35309
35310         Improve name: "count-one-bits" is better than "popcount".
35311         * MODULES.html.sh: Update name.
35312         * lib/popcount.h: Renamed lib/count-one-bits.h.
35313         (popcount): Renamed count_one_bits.
35314         (popcountl): Renamed count_one_bits_l.
35315         (popcountll): Renamed count_one_bits_ll.
35316         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
35317         * modules/popcount: Renamed module/count-one-bits.
35318         * modules/popcount-tests: Renamed module/count-one-bits-tests.
35319         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
35320
35321 2007-07-23  Ben Pfaff  <blp@gnu.org>
35322
35323         * lib/popcount.h (popcount32): Reduce size of constants, to allow
35324         better code generation, and add U to large constants to avoid
35325         warnings, in non-GCC case.
35326         Suggested by Bruno Haible.
35327
35328 2007-07-23  Ben Pfaff  <blp@gnu.org>
35329
35330         * lib/popcount.h: Use verify_true instead of if...abort.
35331         * modules/popcount: Depend on verify module.
35332         Suggested by Jim Meyering.
35333
35334 2007-07-23  Bruno Haible  <bruno@clisp.org>
35335
35336         * gnulib-tool (func_import): Create a .cvsignore file also when the
35337         directory is not yet in CVS but the toplevel directory is. When
35338         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
35339         Reported by Karl Berry.
35340
35341 2007-07-22  Ben Pfaff  <blp@gnu.org>
35342
35343         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
35344         case.
35345         Suggested by Eric Blake.
35346
35347 2007-07-22  Ben Pfaff  <blp@gnu.org>
35348
35349         New module: popcount.
35350         * MODULES.html.sh: Add popcount.
35351         * modules/popcount: New file.
35352         * modules/popcount-tests: New file.
35353         * tests/test-popcount.c: New file.
35354         * lib/popcount.h: New file.
35355         * m4/popcount.m4: New file.
35356
35357 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
35358
35359         * build-aux/announce-gen: Update to GPLv3.
35360
35361         * build-aux/config.guess: Update from config.
35362
35363 2007-07-21  Bruno Haible  <bruno@clisp.org>
35364
35365         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
35366         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
35367
35368 2007-07-20  Jim Meyering  <jim@meyering.net>
35369
35370         * check-module: Diagnose a self-dependency.
35371
35372 2007-07-19  Bruno Haible  <bruno@clisp.org>
35373
35374         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
35375         empty.
35376         Reported by Eric Blake.
35377
35378 2007-07-18  Bruno Haible  <bruno@clisp.org>
35379
35380         * gnulib-tool: New options --po-base, --po-domain.
35381         (func_usage): Document them.
35382         (pobase, po_domain): New variables.
35383         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
35384         DEFAULT_TEXT_DOMAIN.
35385         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
35386         (func_import): Consider pobase and po_domain. Create a po/ directory.
35387         (func_create_testdir): Set pobase and po_domain to empty.
35388         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
35389         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
35390
35391 2007-07-18  Bruno Haible  <bruno@clisp.org>
35392
35393         * gnulib-tool (func_get_automake_snippet): Synthesize also an
35394         EXTRA_DIST augmentation for files in build-aux/.
35395
35396 2007-07-16  Bruno Haible  <bruno@clisp.org>
35397
35398         * modules/lseek (License): Use the synonymous term "LGPLv2+".
35399         * modules/getdelim (License): Likewise.
35400
35401 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35402
35403         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
35404         * modules/d-type (License): Likewise.
35405         * modules/extensions (License): Likewise.
35406         * modules/fnmatch (License): Likewise.
35407         * modules/fseeko (License): Likewise.
35408         * modules/getaddrinfo (License): Likewise.
35409         * modules/getline (License): Likewise.
35410         * modules/getlogin_r (License): Likewise.
35411         * modules/getpass (License): Likewise.
35412         * modules/gettimeofday (License): Likewise.
35413         * modules/glob (License): Likewise.
35414         * modules/inet_ntop (License): Likewise.
35415         * modules/malloc (License): Likewise.
35416         * modules/malloca (License): Likewise.
35417         * modules/memmem (License): Likewise.
35418         * modules/mempcpy (License): Likewise.
35419         * modules/memset (License): Likewise.
35420         * modules/minmax (License): Likewise.
35421         * modules/mktime (License): Likewise.
35422         * modules/netinet_in (License): Likewise.
35423         * modules/pathmax (License): Likewise.
35424         * modules/poll (License): Likewise.
35425         * modules/regex (License): Likewise.
35426         * modules/snprintf (License): Likewise.
35427         * modules/stdbool (License): Likewise.
35428         * modules/stdint (License): Likewise.
35429         * modules/stdio (License): Likewise.
35430         * modules/strcase (License): Likewise.
35431         * modules/strcasestr (License): Likewise.
35432         * modules/strdup (License): Likewise.
35433         * modules/string (License): Likewise.
35434         * modules/strndup (License): Likewise.
35435         * modules/strnlen (License): Likewise.
35436         * modules/strpbrk (License): Likewise.
35437         * modules/strptime (License): Likewise.
35438         * modules/strsep (License): Likewise.
35439         * modules/sys_select (License): Likewise.
35440         * modules/sys_socket (License): Likewise.
35441         * modules/sys_stat (License): Likewise.
35442         * modules/sys_time (License): Likewise.
35443         * modules/time (License): Likewise.
35444         * modules/time_r (License): Likewise.
35445         * modules/timegm (License): Likewise.
35446         * modules/unistd (License): Likewise.
35447         * modules/vsnprintf (License): Likewise.
35448         * modules/wctype (License): Likewise.
35449
35450 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35451
35452         * modules/argz (License): LGPLv2+.
35453
35454 2007-07-15  Karl Berry  <karl@gnu.org>
35455
35456         * doc/gnulib.texi: revise node structure per new fdl.texi.
35457
35458 2007-07-14  Bruno Haible  <bruno@clisp.org>
35459
35460         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
35461         the output file.
35462         * lib/uniname/uninames.h: Regenerated.
35463
35464 2007-07-14  Karl Berry  <karl@gnu.org>
35465
35466         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
35467         omitting sectioning and index commands.
35468
35469 2007-07-13  Bruno Haible  <bruno@clisp.org>
35470
35471         New gnulib-tool option --more-symlinks.
35472         * gnulib-tool (func_usage): Document --more-symlinks.
35473         (do_copyrights): New variable.
35474         Recognize option --more-symlinks.
35475         (func_import): Don't add a copyright notice transform to
35476         sed_transform_lib_file if do_copyrights is empty.
35477
35478 2007-07-13  Bruno Haible  <bruno@clisp.org>
35479
35480         * lib/vasnprintf.c (decimal_point_char): Define also if
35481         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
35482         && !NEED_PRINTF_DIRECTIVE_A.
35483         Reported by Clemens Koller <clemens.koller@anagramm.de> via
35484         Gary V. Vaughan <gary@gnu.org>.
35485
35486 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
35487
35488         * lib/inttypes_.h: Undo previous change, since it was fixed
35489         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
35490
35491 2007-07-13  Bruno Haible  <bruno@clisp.org>
35492
35493         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
35494         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
35495
35496 2007-07-13  Jim Meyering  <jim@meyering.net>
35497
35498         df: Don't fail for Tru64's "file-on-file mount".
35499         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
35500         so we fall through and use statfs instead.  Details here:
35501         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
35502         Reported by Albert Chin.
35503
35504 2007-07-13  Bruno Haible  <bruno@clisp.org>
35505
35506         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
35507         * modules/configmake (License): Likewise.
35508         * modules/gettext (License): Likewise.
35509         * modules/gettext-h (License): Likewise.
35510         * modules/include_next (License): Likewise.
35511         * modules/link-warning (License): Likewise.
35512         * modules/localcharset (License): Likewise.
35513         * modules/localename (License): Likewise.
35514         * modules/lock (License): Likewise.
35515         * modules/relocatable-lib-lgpl (License): Likewise.
35516         * modules/size_max (License): Likewise.
35517         * modules/vasnprintf (License): Likewise.
35518         * modules/wchar (License): Likewise.
35519         * modules/xsize (License): Likewise.
35520
35521 2007-07-13  Bruno Haible  <bruno@clisp.org>
35522
35523         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
35524         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
35525
35526 2007-07-12  Bruno Haible  <bruno@clisp.org>
35527
35528         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
35529         in the modules files.
35530
35531 2007-07-11  Karl Berry  <karl@gnu.org>
35532
35533         * MODULES.html.sh (func_module): use
35534          sed -e '\|^'"${includefile}"'$|d'
35535          instead of /.../d, to avoid errors on $includefile's containing /.
35536
35537 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
35538
35539         * gnulib-tool (func_import): Avoid duplication of --avoid
35540         statements
35541         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
35542         names to `_' in variable names.
35543
35544 2007-07-10  Eric Blake  <ebb9@byu.net>
35545
35546         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
35547         * NEWS: Document this change.
35548
35549 2007-07-08  Bruno Haible  <bruno@clisp.org>
35550
35551         Update to Unicode 5.0.
35552         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
35553         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
35554         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
35555         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
35556         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
35557         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
35558         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
35559         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
35560         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
35561         U+10A3F, U+1D242..U+1D244.
35562         (nonspacing_table_ind): Update.
35563         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
35564         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
35565
35566 2007-07-08  Bruno Haible  <bruno@clisp.org>
35567
35568         Update to Unicode 5.0.
35569         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
35570         code transform. Extend the name index field of unicode_name_to_code and
35571         unicode_code_to_name from 16 to 24 bits.
35572         * lib/uniname/uniname.c (unicode_character_name,
35573         unicode_name_character): Add the range 0x12xxx to the code transform.
35574         * lib/uniname/uninames.h: Regenerated.
35575         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
35576
35577 2007-07-07  Bruno Haible  <bruno@clisp.org>
35578
35579         * modules/wcwidth-tests: New file.
35580         * tests/test-wcwidth.c: New file.
35581
35582         Work around MacOS X wcwidth() bug.
35583         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
35584         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
35585         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
35586         original wcwidth in non-UTF-8 locales.
35587         * modules/wcwidth (Depends-on): Add localcharset, streq,
35588         uniwidth/width.
35589         * doc/functions/wcwidth.texi: Update.
35590
35591 2007-07-07  Bruno Haible  <bruno@clisp.org>
35592
35593         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
35594         (wcwidth): New declaration.
35595         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
35596         macros.
35597         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
35598         here. Prepare for creating <wchar.h> unconditionally.
35599         * modules/wchar (Depends-on): Add link-warning.
35600         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
35601         REPLACE_WCWIDTH, and GL_LINK_WARNING.
35602         * lib/wcwidth.h: Remove file.
35603         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
35604         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
35605         * modules/wcwidth (Files): Remove lib/wcwidth.h.
35606         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
35607         (Include): Replace wcwidth.h with <wchar.h>.
35608         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
35609         * lib/mbchar.h: Don't include wcwidth.h.
35610         * lib/mbswidth.c: Likewise.
35611         * NEWS: Mention the change.
35612
35613 2007-07-07  Bruno Haible  <bruno@clisp.org>
35614
35615         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
35616         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
35617         definition with an external declaration.
35618         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
35619         defined as a function. Remove AC_C_INLINE requirement.
35620         * modules/wcwidth (Files): Add lib/wcwidth.c.
35621         (Makefile.am): Remove redundant statement.
35622
35623 2007-07-07  Bruno Haible  <bruno@clisp.org>
35624
35625         * MODULES.html.sh (Unicode string functions): Add the new modules.
35626
35627         * tests/uniwidth/test-u32-strwidth.c: New file.
35628         * modules/uniwidth/u32-strwidth-tests: New file.
35629
35630         * lib/uniwidth/u32-strwidth.c: New file.
35631         * modules/uniwidth/u32-strwidth: New file.
35632
35633         * tests/uniwidth/test-u16-strwidth.c: New file.
35634         * modules/uniwidth/u16-strwidth-tests: New file.
35635
35636         * lib/uniwidth/u16-strwidth.c: New file.
35637         * modules/uniwidth/u16-strwidth: New file.
35638
35639         * tests/uniwidth/test-u8-strwidth.c: New file.
35640         * modules/uniwidth/u8-strwidth-tests: New file.
35641
35642         * lib/uniwidth/u8-strwidth.c: New file.
35643         * modules/uniwidth/u8-strwidth: New file.
35644
35645         * tests/uniwidth/test-u32-width.c: New file.
35646         * modules/uniwidth/u32-width-tests: New file.
35647
35648         * lib/uniwidth/u32-width.c: New file.
35649         * modules/uniwidth/u32-width: New file.
35650
35651         * tests/uniwidth/test-u16-width.c: New file.
35652         * modules/uniwidth/u16-width-tests: New file.
35653
35654         * lib/uniwidth/u16-width.c: New file.
35655         * modules/uniwidth/u16-width: New file.
35656
35657         * tests/uniwidth/test-u8-width.c: New file.
35658         * modules/uniwidth/u8-width-tests: New file.
35659
35660         * lib/uniwidth/u8-width.c: New file.
35661         * modules/uniwidth/u8-width: New file.
35662
35663         * tests/uniwidth/test-uc_width.c: New file.
35664         * modules/uniwidth/width-tests: New file.
35665
35666         * lib/uniwidth/width.c: New file, from GNU libiconv.
35667         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
35668         * modules/uniwidth/width: New file.
35669
35670         * lib/uniwidth.h: New file, from GNU libiconv.
35671         * modules/uniwidth/base: New file.
35672
35673 2007-07-07  Bruno Haible  <bruno@clisp.org>
35674
35675         * lib/uniname.h: New file, from GNU gettext.
35676         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
35677         * lib/uniname/uninames.h: New file, from GNU gettext.
35678         * lib/uniname/uniname.c: New file, from GNU gettext.
35679         * tests/uniname/test-uninames.sh: New file.
35680         * tests/uniname/test-uninames.c: New file, from GNU gettext.
35681         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
35682         * modules/uniname/base: New file.
35683         * modules/uniname/uniname: New file.
35684         * modules/uniname/uniname-tests: New file.
35685         * MODULES.html.sh (Unicode string functions): Add the new modules.
35686
35687 2007-07-06  Bruno Haible  <bruno@clisp.org>
35688
35689         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
35690
35691 2007-07-06  Bruno Haible  <bruno@clisp.org>
35692
35693         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
35694         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
35695         includes <cygwin/sys_time.h> which includes <sys/select.h> which
35696         include <sys/time.h>.
35697         Reported by Eric Blake.
35698
35699 2007-07-06  Eric Blake  <ebb9@byu.net>
35700
35701         Fix testing canonicalize on cygwin.
35702         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
35703         Revert patch from 2007-06-19.
35704         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
35705         canonicalize module is also in use.
35706         * tests/test-canonicalize.c: New file.
35707         * tests/test-canonicalize.sh: Likewise.
35708         * modules/canonicalize-tests: Likewise.
35709
35710 2007-07-06  Jim Meyering  <jim@meyering.net>
35711
35712         * lib/getugroups.c (getugroups): Detect getgrent failure.
35713         Adjust comment to reflect reality: this function may return -1.
35714
35715 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
35716
35717         * build-aux/bootstrap (TP_URL,get_translations): Update to use
35718         the new TP address.
35719         (usage): Fix typo
35720         (gnulib_mk): New variable.
35721
35722 2007-07-05  Jim Meyering  <jim@meyering.net>
35723
35724         Don't let endgrent clobber errno, no matter how improbable.
35725         * lib/getugroups.c (getugroups): Save and restore errno around
35726         endgrent call.
35727
35728         Close the group DB even when failing with 2^31 or more members.
35729         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
35730
35731 2007-07-04  Jim Meyering  <jim@meyering.net>
35732
35733         * lib/getugroups.h: New file.
35734         * lib/getugroups.c: Include "getugroups.h".
35735         Remove uses of "register" keyword.
35736         Move local variable, "cp", down into scope where used.
35737         Give "username" parameter the "const" attribute.
35738         * modules/getugroups (Files): Add lib/getugroups.h
35739
35740 2007-07-04  Karl Berry  <karl@gnu.org>
35741
35742         * MODULES.html.sh (func_all_modules): Complete rename of
35743         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
35744
35745 2007-07-02  Bruno Haible  <bruno@clisp.org>
35746
35747         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
35748         mode, when inttypes.h comes from gnulib.
35749         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
35750
35751 2007-07-02  Simon Josefsson  <simon@josefsson.org>
35752
35753         * NEWS: Mention lgpl module name change.
35754
35755         * modules/lgpl-2.1: Renamed from lgpl.
35756
35757         * NEWS: Mention gpl module name change.
35758
35759         * modules/gpl-3.0: New file, based on gpl-2.0.
35760
35761         * modules/gpl-2.0: Renamed from gpl.
35762
35763         * modules/gpl: Fix filename, doc/gpl.texi is now found at
35764         doc/gpl-2.0.texi.
35765
35766 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
35767
35768         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
35769         #define __STDC_LIMIT_MACROS temporarily while including
35770         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
35771         Problem reported by Joel E. Denny in
35772         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
35773
35774 2007-07-01  Bruno Haible  <bruno@clisp.org>
35775
35776         * lib/unistdio.h: New file.
35777         * lib/unistdio/u-asnprintf.h: New file.
35778         * lib/unistdio/u-asprintf.h: New file.
35779         * lib/unistdio/u-printf-args.c: New file.
35780         * lib/unistdio/u-printf-args.h: New file.
35781         * lib/unistdio/u-printf-parse.h: New file.
35782         * lib/unistdio/u-snprintf.h: New file.
35783         * lib/unistdio/u-sprintf.h: New file.
35784         * lib/unistdio/u-vasprintf.h: New file.
35785         * lib/unistdio/u-vsnprintf.h: New file.
35786         * lib/unistdio/u-vsprintf.h: New file.
35787         * lib/unistdio/ulc-asnprintf.c: New file.
35788         * lib/unistdio/ulc-asprintf.c: New file.
35789         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
35790         * lib/unistdio/ulc-printf-parse.c: New file.
35791         * lib/unistdio/ulc-snprintf.c: New file.
35792         * lib/unistdio/ulc-sprintf.c: New file.
35793         * lib/unistdio/ulc-vasnprintf.c: New file.
35794         * lib/unistdio/ulc-vasprintf.c: New file.
35795         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
35796         * lib/unistdio/ulc-vsnprintf.c: New file.
35797         * lib/unistdio/ulc-vsprintf.c: New file.
35798         * lib/unistdio/u8-asnprintf.c: New file.
35799         * lib/unistdio/u8-asprintf.c: New file.
35800         * lib/unistdio/u8-printf-parse.c: New file.
35801         * lib/unistdio/u8-snprintf.c: New file.
35802         * lib/unistdio/u8-sprintf.c: New file.
35803         * lib/unistdio/u8-vasnprintf.c: New file.
35804         * lib/unistdio/u8-vasprintf.c: New file.
35805         * lib/unistdio/u8-vsnprintf.c: New file.
35806         * lib/unistdio/u8-vsprintf.c: New file.
35807         * lib/unistdio/u8-u8-asnprintf.c: New file.
35808         * lib/unistdio/u8-u8-asprintf.c: New file.
35809         * lib/unistdio/u8-u8-snprintf.c: New file.
35810         * lib/unistdio/u8-u8-sprintf.c: New file.
35811         * lib/unistdio/u8-u8-vasnprintf.c: New file.
35812         * lib/unistdio/u8-u8-vasprintf.c: New file.
35813         * lib/unistdio/u8-u8-vsnprintf.c: New file.
35814         * lib/unistdio/u8-u8-vsprintf.c: New file.
35815         * lib/unistdio/u16-asnprintf.c: New file.
35816         * lib/unistdio/u16-asprintf.c: New file.
35817         * lib/unistdio/u16-printf-parse.c: New file.
35818         * lib/unistdio/u16-snprintf.c: New file.
35819         * lib/unistdio/u16-sprintf.c: New file.
35820         * lib/unistdio/u16-vasnprintf.c: New file.
35821         * lib/unistdio/u16-vasprintf.c: New file.
35822         * lib/unistdio/u16-vsnprintf.c: New file.
35823         * lib/unistdio/u16-vsprintf.c: New file.
35824         * lib/unistdio/u16-u16-asnprintf.c: New file.
35825         * lib/unistdio/u16-u16-asprintf.c: New file.
35826         * lib/unistdio/u16-u16-snprintf.c: New file.
35827         * lib/unistdio/u16-u16-sprintf.c: New file.
35828         * lib/unistdio/u16-u16-vasnprintf.c: New file.
35829         * lib/unistdio/u16-u16-vasprintf.c: New file.
35830         * lib/unistdio/u16-u16-vsnprintf.c: New file.
35831         * lib/unistdio/u16-u16-vsprintf.c: New file.
35832         * lib/unistdio/u32-asnprintf.c: New file.
35833         * lib/unistdio/u32-asprintf.c: New file.
35834         * lib/unistdio/u32-printf-parse.c: New file.
35835         * lib/unistdio/u32-snprintf.c: New file.
35836         * lib/unistdio/u32-sprintf.c: New file.
35837         * lib/unistdio/u32-vasnprintf.c: New file.
35838         * lib/unistdio/u32-vasprintf.c: New file.
35839         * lib/unistdio/u32-vsnprintf.c: New file.
35840         * lib/unistdio/u32-vsprintf.c: New file.
35841         * lib/unistdio/u32-u32-asnprintf.c: New file.
35842         * lib/unistdio/u32-u32-asprintf.c: New file.
35843         * lib/unistdio/u32-u32-snprintf.c: New file.
35844         * lib/unistdio/u32-u32-sprintf.c: New file.
35845         * lib/unistdio/u32-u32-vasnprintf.c: New file.
35846         * lib/unistdio/u32-u32-vasprintf.c: New file.
35847         * lib/unistdio/u32-u32-vsnprintf.c: New file.
35848         * lib/unistdio/u32-u32-vsprintf.c: New file.
35849         * tests/unistdio/test-ulc-asnprintf1.c: New file.
35850         * tests/unistdio/test-ulc-asnprintf1.h: New file.
35851         * tests/unistdio/test-ulc-printf1.h: New file.
35852         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
35853         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
35854         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
35855         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
35856         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
35857         * tests/unistdio/test-ulc-vasprintf1.c: New file.
35858         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
35859         * tests/unistdio/test-ulc-vsprintf1.c: New file.
35860         * tests/unistdio/test-u8-asnprintf1.c: New file.
35861         * tests/unistdio/test-u8-asnprintf1.h: New file.
35862         * tests/unistdio/test-u8-printf1.h: New file.
35863         * tests/unistdio/test-u8-vasnprintf1.c: New file.
35864         * tests/unistdio/test-u8-vasnprintf2.c: New file.
35865         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
35866         * tests/unistdio/test-u8-vasnprintf3.c: New file.
35867         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
35868         * tests/unistdio/test-u8-vasprintf1.c: New file.
35869         * tests/unistdio/test-u8-vsnprintf1.c: New file.
35870         * tests/unistdio/test-u8-vsprintf1.c: New file.
35871         * tests/unistdio/test-u16-asnprintf1.c: New file.
35872         * tests/unistdio/test-u16-asnprintf1.h: New file.
35873         * tests/unistdio/test-u16-printf1.h: New file.
35874         * tests/unistdio/test-u16-vasnprintf1.c: New file.
35875         * tests/unistdio/test-u16-vasnprintf2.c: New file.
35876         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
35877         * tests/unistdio/test-u16-vasnprintf3.c: New file.
35878         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
35879         * tests/unistdio/test-u16-vasprintf1.c: New file.
35880         * tests/unistdio/test-u16-vsnprintf1.c: New file.
35881         * tests/unistdio/test-u16-vsprintf1.c: New file.
35882         * tests/unistdio/test-u32-asnprintf1.c: New file.
35883         * tests/unistdio/test-u32-asnprintf1.h: New file.
35884         * tests/unistdio/test-u32-printf1.h: New file.
35885         * tests/unistdio/test-u32-vasnprintf1.c: New file.
35886         * tests/unistdio/test-u32-vasnprintf2.c: New file.
35887         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
35888         * tests/unistdio/test-u32-vasnprintf3.c: New file.
35889         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
35890         * tests/unistdio/test-u32-vasprintf1.c: New file.
35891         * tests/unistdio/test-u32-vsnprintf1.c: New file.
35892         * tests/unistdio/test-u32-vsprintf1.c: New file.
35893         * modules/unistdio/base: New file.
35894         * modules/unistdio/u-printf-args: New file.
35895         * modules/unistdio/ulc-asnprintf: New file.
35896         * modules/unistdio/ulc-asprintf: New file.
35897         * modules/unistdio/ulc-fprintf: New file.
35898         * modules/unistdio/ulc-printf-parse: New file.
35899         * modules/unistdio/ulc-snprintf: New file.
35900         * modules/unistdio/ulc-sprintf: New file.
35901         * modules/unistdio/ulc-vasnprintf: New file.
35902         * modules/unistdio/ulc-vasprintf: New file.
35903         * modules/unistdio/ulc-vfprintf: New file.
35904         * modules/unistdio/ulc-vsnprintf: New file.
35905         * modules/unistdio/ulc-vsprintf: New file.
35906         * modules/unistdio/u8-asnprintf: New file.
35907         * modules/unistdio/u8-asprintf: New file.
35908         * modules/unistdio/u8-printf-parse: New file.
35909         * modules/unistdio/u8-snprintf: New file.
35910         * modules/unistdio/u8-sprintf: New file.
35911         * modules/unistdio/u8-vasnprintf: New file.
35912         * modules/unistdio/u8-vasprintf: New file.
35913         * modules/unistdio/u8-vsnprintf: New file.
35914         * modules/unistdio/u8-vsprintf: New file.
35915         * modules/unistdio/u8-u8-asnprintf: New file.
35916         * modules/unistdio/u8-u8-asprintf: New file.
35917         * modules/unistdio/u8-u8-snprintf: New file.
35918         * modules/unistdio/u8-u8-sprintf: New file.
35919         * modules/unistdio/u8-u8-vasnprintf: New file.
35920         * modules/unistdio/u8-u8-vasprintf: New file.
35921         * modules/unistdio/u8-u8-vsnprintf: New file.
35922         * modules/unistdio/u8-u8-vsprintf: New file.
35923         * modules/unistdio/u16-asnprintf: New file.
35924         * modules/unistdio/u16-asprintf: New file.
35925         * modules/unistdio/u16-printf-parse: New file.
35926         * modules/unistdio/u16-snprintf: New file.
35927         * modules/unistdio/u16-sprintf: New file.
35928         * modules/unistdio/u16-vasnprintf: New file.
35929         * modules/unistdio/u16-vasprintf: New file.
35930         * modules/unistdio/u16-vsnprintf: New file.
35931         * modules/unistdio/u16-vsprintf: New file.
35932         * modules/unistdio/u16-u16-asnprintf: New file.
35933         * modules/unistdio/u16-u16-asprintf: New file.
35934         * modules/unistdio/u16-u16-snprintf: New file.
35935         * modules/unistdio/u16-u16-sprintf: New file.
35936         * modules/unistdio/u16-u16-vasnprintf: New file.
35937         * modules/unistdio/u16-u16-vasprintf: New file.
35938         * modules/unistdio/u16-u16-vsnprintf: New file.
35939         * modules/unistdio/u16-u16-vsprintf: New file.
35940         * modules/unistdio/u32-asnprintf: New file.
35941         * modules/unistdio/u32-asprintf: New file.
35942         * modules/unistdio/u32-printf-parse: New file.
35943         * modules/unistdio/u32-snprintf: New file.
35944         * modules/unistdio/u32-sprintf: New file.
35945         * modules/unistdio/u32-vasnprintf: New file.
35946         * modules/unistdio/u32-vasprintf: New file.
35947         * modules/unistdio/u32-vsnprintf: New file.
35948         * modules/unistdio/u32-vsprintf: New file.
35949         * modules/unistdio/u32-u32-asnprintf: New file.
35950         * modules/unistdio/u32-u32-asprintf: New file.
35951         * modules/unistdio/u32-u32-snprintf: New file.
35952         * modules/unistdio/u32-u32-sprintf: New file.
35953         * modules/unistdio/u32-u32-vasnprintf: New file.
35954         * modules/unistdio/u32-u32-vasprintf: New file.
35955         * modules/unistdio/u32-u32-vsnprintf: New file.
35956         * modules/unistdio/u32-u32-vsprintf: New file.
35957         * modules/unistdio/ulc-asnprintf-tests: New file.
35958         * modules/unistdio/ulc-vasnprintf-tests: New file.
35959         * modules/unistdio/ulc-vasprintf-tests: New file.
35960         * modules/unistdio/ulc-vsnprintf-tests: New file.
35961         * modules/unistdio/ulc-vsprintf-tests: New file.
35962         * modules/unistdio/u8-asnprintf-tests: New file.
35963         * modules/unistdio/u8-vasnprintf-tests: New file.
35964         * modules/unistdio/u8-vasprintf-tests: New file.
35965         * modules/unistdio/u8-vsnprintf-tests: New file.
35966         * modules/unistdio/u8-vsprintf-tests: New file.
35967         * modules/unistdio/u16-asnprintf-tests: New file.
35968         * modules/unistdio/u16-vasnprintf-tests: New file.
35969         * modules/unistdio/u16-vasprintf-tests: New file.
35970         * modules/unistdio/u16-vsnprintf-tests: New file.
35971         * modules/unistdio/u16-vsprintf-tests: New file.
35972         * modules/unistdio/u32-asnprintf-tests: New file.
35973         * modules/unistdio/u32-vasnprintf-tests: New file.
35974         * modules/unistdio/u32-vasprintf-tests: New file.
35975         * modules/unistdio/u32-vsnprintf-tests: New file.
35976         * modules/unistdio/u32-vsprintf-tests: New file.
35977         * MODULES.html.sh (Unicode string functions): Add the new modules.
35978
35979 2007-07-01  Bruno Haible  <bruno@clisp.org>
35980
35981         * lib/sprintf.c (sprintf): Limit the available length estimation,
35982         to avoid address wraparound.
35983         * lib/vsprintf.c (vsprintf): Likewise.
35984         * modules/sprintf-posix (Dependencies): Add stdint.
35985         * modules/vsprintf-posix (Dependencies): Likewise.
35986
35987 2007-07-01  Bruno Haible  <bruno@clisp.org>
35988
35989         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
35990         Windows PATH as well. Conservative double-quoting. Comments.
35991
35992 2007-07-01  Bruno Haible  <bruno@clisp.org>
35993             Eric Blake  <ebb9@byu.net>
35994             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35995
35996         * gnulib-tool (self_abspathname): Fix algorithm to cope with
35997         empty components in $PATH, denoting '.'.
35998
35999 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36000
36001         * gnulib-tool: Fix indentation.
36002         (func_create_megatestdir): Likewise.
36003         Report by Bruno Haible.
36004
36005 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36006
36007         Sync from Automake.
36008         * build-aux/gnupload: Fix shell portability issues with for loops.
36009         Report by Karl Berry.
36010
36011 2007-06-29  Simon Josefsson  <simon@josefsson.org>
36012
36013         * build-aux/maint.mk (POURL): Use translationproject.org.
36014
36015 2007-06-27  Simon Josefsson  <simon@josefsson.org>
36016             Bruno Haible  <bruno@clisp.org>
36017
36018         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
36019         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
36020         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
36021         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
36022         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
36023
36024 2007-06-27  Bruno Haible  <bruno@clisp.org>
36025
36026         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
36027         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
36028
36029 2007-06-26  Karl Berry  <karl@gnu.org>
36030
36031         * MODULES.html.sh: remove xreadlink-with-size.
36032
36033 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36034
36035         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
36036         method that I hope also handles the double-include problem noted
36037         by Bruno Haible in
36038         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
36039
36040 2007-06-23  Bruno Haible  <bruno@clisp.org>
36041
36042         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36043         Don't let the 'mostlyclean' target fail if the last subdirectory could
36044         not be removed.
36045         Reported by Karl Berry.
36046
36047 2007-06-23  Bruno Haible  <bruno@clisp.org>
36048
36049         * gnulib-tool (echo): Add a speedier workaround for ksh.
36050         * tests/test-echo.sh: Likewise.
36051
36052 2007-06-23  Bruno Haible  <bruno@clisp.org>
36053
36054         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
36055         * tests/test-echo.sh: Likewise.
36056
36057 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36058
36059         * gnulib-tool (IFS): Initialize early, so we don't set it to
36060         empty later.
36061         (self_abspathname): Rewrite algorithm to set it, reindent.
36062         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
36063         (func_create_megatestdir): Merge some sed scripts.
36064
36065 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36066
36067         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
36068         exposed by Sun Studio 11 cc on Solaris 8.
36069
36070 2007-06-22  Bruno Haible  <bruno@clisp.org>
36071
36072         * gnulib-tool (echo): Ensure the echo primitive does not interpret
36073         backslashes.
36074         * tests/test-echo.sh: New file.
36075
36076 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36077
36078         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
36079         simplify `sed_replace_build_aux' scripts, they are portable but
36080         echoing them with `echo' is not.
36081         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
36082
36083 2007-06-21  Karl Berry  <karl@gnu.org>
36084
36085         * config/srclist.txt: guess we can't handle the licenses via
36086         srclist at the moment.
36087
36088 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
36089
36090         * MODULES.html.sh: Add include_next.
36091         * modules/include_next: New file.
36092
36093 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
36094
36095         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
36096         INCLUDE_NEXT.
36097         (gl_CHECK_NEXT_HEADERS): New macro.
36098         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
36099         the obsolescent gl_ABSOLUTE_HEADER.
36100         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
36101         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
36102         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36103         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36104         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
36105         * m4/math_h.m4 (gl_MATH_H): Likewise.
36106         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
36107         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36108         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
36109         * m4/stdint.m4 (gl_STDINT_H): Likewise.
36110         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
36111         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
36112         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
36113         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36114         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
36115         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
36116         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36117         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
36118         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
36119         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
36120         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36121         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
36122         * m4/inttypes.m4 (gl_INTTYPES_H): Define
36123         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
36124         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
36125         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
36126         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
36127         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
36128         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
36129         * lib/float_.h: Likewise.
36130         * lib/inttypes_.h: Likewise.
36131         * lib/math_.h: Likewise.
36132         * lib/search_.h: Likewise.
36133         * lib/signal_.h: Likewise.
36134         * lib/stdint_.h: Likewise.
36135         * lib/stdio_.h: Likewise.
36136         * lib/stdlib_.h: Likewise.
36137         * lib/string_.h: Likewise.
36138         * lib/sys_stat_.h: Likewise.
36139         * lib/sys_time_.h: Likewise.
36140         * lib/time_.h: Likewise.
36141         * lib/unistd_.h: Likewise.
36142         * lib/wchar_.h: Likewise.
36143         * lib/wctype_.h: Likewise.
36144         * lib/dirent_.h: Likewise.
36145         * lib/iconv_.h: Likewise.
36146         * lib/locale_.h: Likewise.
36147         * lib/netinet_in_.h: Likewise.
36148         * lib/sys_select_.h: Likewise.
36149         * lib/sys_socket_.h: Likewise.
36150         * lib/sysexits_.h: Likewise.
36151         * modules/fcntl (Depends-on): Depend on include_next, not
36152         absolute_header.
36153         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
36154         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
36155         * modules/fchdir: Likewise.
36156         * modules/float: Likewise.
36157         * modules/iconv_open: Likewise.
36158         * modules/inttypes: Likewise.
36159         * modules/locale: Likewise.
36160         * modules/math: Likewise.
36161         * modules/netinet_in: Likewise.
36162         * modules/search: Likewise.
36163         * modules/signal: Likewise.
36164         * modules/stdint: Likewise.
36165         * modules/stdio: Likewise.
36166         * modules/stdlib: Likewise.
36167         * modules/string: Likewise.
36168         * modules/sys_select: Likewise.
36169         * modules/sys_socket: Likewise.
36170         * modules/sys_stat: Likewise.
36171         * modules/sys_time: Likewise.
36172         * modules/sysexits: Likewise.
36173         * modules/time: Likewise.
36174         * modules/unistd: Likewise.
36175         * modules/wchar: Likewise.
36176         * modules/wctype: Likewise.
36177         * modules/sys_stat: Change maintainer to "all".
36178         * modules/unistd: Likewise.
36179
36180 2007-06-20  Karl Berry  <karl@gnu.org>
36181
36182         * config/srclist.txt: track www changes in license files.
36183
36184 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
36185
36186         * build-aux/bootstrap: Remove stray dot.
36187         Make sure build_aux settings are honored when linking
36188         gnulib_extra_files.
36189
36190 2007-06-19  Eric Blake  <ebb9@byu.net>
36191
36192         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
36193         Allow compilation on cygwin.
36194
36195 2007-06-19  Jim Meyering  <jim@meyering.net>
36196
36197         xreadlink-with-size: Remove module.  No longer used.
36198         Ex-callers now use xreadlink or mreadlink-with-size.
36199         * modules/xreadlink-with-size: Remove module.
36200         * lib/xreadlink-with-size.c: Remove file.
36201         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
36202         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
36203         just before the function definition *is* accurate.
36204
36205         Eliminate one way canonicalize_filename_mode could exit.
36206         * lib/canonicalize.c (canonicalize_filename_mode):
36207         Use mreadlink_with_size, not xreadlink_with_size.
36208
36209 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
36210
36211         Detect porting problems to FreeBSD/arm, which has time_t wider than
36212         long int.  Original problem reported for GNU diff by Xin Li in
36213         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
36214         * modules/getdate (Depends-on): Add intprops, verify.
36215         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
36216         is an integer type no wider than long int.
36217
36218 2007-06-18  Jim Meyering  <jim@meyering.net>
36219
36220         New module: mreadlink-with-size.
36221         * MODULES.html.sh: Add mreadlink-with-size.
36222         * modules/mreadlink-with-size: New module
36223         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
36224         not xreadlink-with-size.
36225         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
36226
36227 2007-06-16  Bruno Haible  <bruno@clisp.org>
36228
36229         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
36230         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
36231         Reported by Gary V. Vaughan <gary@gnu.org>.
36232
36233 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
36234
36235         Revamp lchown so that it lives in unistd.h where it belongs.
36236         * lib/lchown.h: Remove.
36237         * lib/dirchownmod.c: Don't include lib/lchown.h.
36238         * lib/fchownat.c: Likewise.
36239         * lib/openat.c: Likewise.
36240         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
36241         does not follow symlinks.
36242         (EOPNOTSUPP): Define if not defined.
36243         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
36244         is defined to 0.
36245         (lchown): New decl.
36246         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
36247         Do not check for lchown decl.
36248         Set REPLACE_LCHOWN.
36249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
36250         REPLACE_LCHOWN.
36251         * modules/chown: Make it clear it follows symlinks.
36252         * modules/lchown: Make it clear it doesn't follow symlinks.
36253         (Files): Remove lib/lchown.h
36254         (Depends-on): Add unistd.
36255         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
36256         (Include): Include <unistd.h>, not "lchown.h".
36257         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
36258         REPLACE_LCHOWN.
36259
36260 2007-06-15  Jim Meyering  <jim@meyering.net>
36261
36262         Change license (GPL to LGPL) of fsusage and dependents.
36263         * modules/fsusage (License): Change to LGPL.
36264         * modules/full-read (License): Likewise.
36265         * modules/full-write (License): Likewise.
36266         * modules/safe-read (License): Likewise.
36267         * modules/safe-write (License): Likewise.
36268
36269 2007-06-14  Ben Pfaff  <blp@gnu.org>
36270
36271         Missing part of allocsa -> malloca transition.
36272         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
36273         gl_MALLOCA.
36274
36275 2007-06-12  Bruno Haible  <bruno@clisp.org>
36276
36277         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
36278         to ia64, x86_64, i386.
36279         Reported by Eric Blake.
36280
36281 2007-06-12  Bruno Haible  <bruno@clisp.org>
36282
36283         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
36284         cross-compiling to x86_64.
36285
36286 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
36287
36288         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
36289         glitch reported by Ralf Wildenhues in
36290         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
36291
36292         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
36293         Vin Shelton.
36294
36295 2007-06-11  Bruno Haible  <bruno@clisp.org>
36296
36297         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
36298         replacement string.
36299         Reported by Eric Blake.
36300
36301 2007-06-10  Bruno Haible  <bruno@clisp.org>
36302
36303         Prepare vasnprintf code for use with Unicode strings.
36304         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
36305         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
36306         TYPE_U32_STRING.
36307         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
36308         a_u32_string variants.
36309         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
36310         * lib/printf-args.c: Don't include config.h and the specification
36311         header if PRINTF_FETCHARGS is already defined.
36312         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
36313         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
36314         TYPE_U16_STRING, TYPE_U32_STRING.
36315         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
36316         u16_directive, u16_directives, u32_directive, u32_directives): New
36317         types.
36318         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
36319         New declarations.
36320         * lib/printf-parse.c: Don't include config.h and the specification
36321         header if PRINTF_PARSE is already defined. Eliminate the set of
36322         parameters for WIDE_CHAR_VERSION; the user of this file must provide
36323         them now. Include c-ctype.h.
36324         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
36325         directive and CHAR_T_ONLY_ASCII.
36326         * lib/vasnprintf.c: Don't include config.h and the specification header
36327         if VASNPRINTF is already defined.
36328         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
36329         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
36330         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
36331         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
36332         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
36333         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
36334         code accordingly.
36335         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
36336         pad_ourselves also in this case, with the 'c' and 's' directives, and
36337         with a different notion of "width".
36338         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
36339
36340 2007-06-10  Bruno Haible  <bruno@clisp.org>
36341
36342         * modules/unistr/u32-mbsnlen: New file.
36343         * lib/unistr/u32-mbsnlen.c: New file.
36344
36345         * modules/unistr/u16-mbsnlen: New file.
36346         * lib/unistr/u16-mbsnlen.c: New file.
36347
36348         * modules/unistr/u8-mbsnlen: New file.
36349         * lib/unistr/u8-mbsnlen.c: New file.
36350
36351         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
36352         declarations.
36353
36354 2007-06-10  Bruno Haible  <bruno@clisp.org>
36355
36356         * lib/string_.h (mbsnlen): New declaration.
36357         * lib/mbsnlen.c: New file.
36358         * m4/mbsnlen.m4: New file.
36359         * modules/mbsnlen: New file.
36360         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
36361         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
36362         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
36363
36364 2007-06-10  Bruno Haible  <bruno@clisp.org>
36365
36366         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
36367
36368 2007-06-10  Bruno Haible  <bruno@clisp.org>
36369
36370         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
36371         * lib/mbuiter.h: Likewise.
36372
36373 2007-06-10  Bruno Haible  <bruno@clisp.org>
36374
36375         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
36376         declaration.
36377
36378 2007-06-10  Karl Berry  <karl@gnu.org>
36379
36380         * config/srclist.txt: remove gettext entries, Bruno prefers
36381         to update individually.
36382
36383 2007-06-10  Bruno Haible  <bruno@clisp.org>
36384
36385         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
36386         'maxlen'. Ensure only length + width bytes are allocated, not
36387         length + 1 + width.
36388
36389 2007-06-09  Bruno Haible  <bruno@clisp.org>
36390
36391         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
36392         (CHAR_T): Remove macro.
36393         (VASNPRINTF): Update.
36394
36395 2007-06-09  Bruno Haible  <bruno@clisp.org>
36396
36397         * MODULES.html.sh (Unicode string functions): Add the new modules.
36398
36399         * modules/uniconv/u32-conv-to-enc: New file.
36400         * lib/uniconv/u32-conv-to-enc.c: New file.
36401         * modules/uniconv/u32-conv-to-enc-tests: New file.
36402         * tests/uniconv/test-u32-conv-to-enc.c: New file.
36403
36404         * modules/uniconv/u16-conv-to-enc: New file.
36405         * lib/uniconv/u16-conv-to-enc.c: New file.
36406         * lib/uniconv/u-conv-to-enc.h: New file.
36407         * modules/uniconv/u16-conv-to-enc-tests: New file.
36408         * tests/uniconv/test-u16-conv-to-enc.c: New file.
36409
36410         * modules/uniconv/u8-conv-to-enc: New file.
36411         * lib/uniconv/u8-conv-to-enc.c: New file.
36412         * modules/uniconv/u8-conv-to-enc-tests: New file.
36413         * tests/uniconv/test-u8-conv-to-enc.c: New file.
36414
36415         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
36416         u32_conv_to_encoding): New declarations.
36417
36418 2007-06-09  Bruno Haible  <bruno@clisp.org>
36419
36420         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
36421
36422 2007-06-09  Bruno Haible  <bruno@clisp.org>
36423
36424         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
36425         * modules/malloca: Renamed from modules/allocsa, updated.
36426         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
36427         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
36428         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
36429         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
36430         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
36431         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
36432         * modules/xmalloca: Renamed from modules/xallocsa, updated.
36433         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
36434         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
36435         * modules/c-strcasestr (Depends-on): Update.
36436         * lib/c-strcasestr.c: Update.
36437         * modules/c-strstr (Depends-on): Update.
36438         * lib/c-strstr.c: Update.
36439         * modules/canonicalize-lgpl (Depends-on): Update.
36440         * lib/canonicalize-lgpl.c: Update.
36441         * modules/clean-temp (Depends-on): Update.
36442         * lib/clean-temp.c: Update.
36443         * modules/csharpcomp (Depends-on): Update.
36444         * lib/csharpcomp.c: Update.
36445         * modules/csharpexec (Depends-on): Update.
36446         * lib/csharpexec.c: Update.
36447         * modules/javacomp (Depends-on): Update.
36448         * lib/javacomp.c: Update.
36449         * modules/javaexec (Depends-on): Update.
36450         * lib/javaexec.c: Update.
36451         * modules/mbscasestr (Depends-on): Update.
36452         * lib/mbscasestr.c: Update.
36453         * modules/mbsstr (Depends-on): Update.
36454         * lib/mbsstr.c: Update.
36455         * modules/setenv (Depends-on): Update.
36456         * lib/setenv.c: Update.
36457         * modules/strcasestr (Depends-on): Update.
36458         * lib/strcasestr.c: Update.
36459         * modules/striconveha (Depends-on): Update.
36460         * lib/striconveha.c: Update.
36461         * modules/relocatable-prog-wrapper (Files): Update.
36462         * lib/relocwrapper.c: Update.
36463         * build-aux/install-reloc: Update.
36464         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
36465
36466 2007-06-08  Bruno Haible  <bruno@clisp.org>
36467
36468         Port to uClibc.
36469         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
36470         * lib/fpurge.c (fpurge): Likewise.
36471         * lib/freading.c (freading): Likewise.
36472         * lib/fseeko.c (rpl_fseeko): Likewise.
36473         * lib/fseterr.c (fseterr): Likewise.
36474         * lib/fwriting.c (fwriting): Likewise.
36475         * tests/test-fflush.c (main): Avoid a failure on uClibc.
36476
36477 2007-06-08  Bruno Haible  <bruno@clisp.org>
36478
36479         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
36480         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
36481         * modules/gettext (Files): Add m4/intlmacosx.m4.
36482
36483 2007-06-07  Bruno Haible  <bruno@clisp.org>
36484
36485         * modules/localename-tests: New file.
36486         * tests/test-localename.c: New file.
36487
36488         New module 'localename'.
36489         * lib/localename.h: New file.
36490         * lib/localename.c: New file, from GNU gettext.
36491         * m4/localename.m4: New file.
36492         * modules/localename: New file.
36493
36494 2007-06-07  Bruno Haible  <bruno@clisp.org>
36495
36496         Work around the lack of <wchar.h> on some builds of uClibc.
36497         * doc/headers/wchar.texi: Update.
36498         * lib/wchar_.h: Include <wchar.h> only if it exists.
36499         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
36500         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
36501         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
36502         doesn't exist.
36503         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
36504         * modules/mbfile (Depends-on): Add wchar.
36505         * modules/mbiter (Depends-on): Likewise.
36506         * modules/mbuiter (Depends-on): Likewise.
36507         Reported by Simon Josefsson.
36508
36509 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
36510
36511         Work around problem reported by Steven M. Schweda in
36512         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
36513         Tru64 5.1B with the Compaq compiler environment installed declares
36514         an 'isblank' function but does not define it in the C library.
36515         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
36516         * lib/regex_internal.h (isblank): Likewise.
36517         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
36518         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36519
36520 2007-06-05  Bruno Haible  <bruno@clisp.org>
36521
36522         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
36523         ia64.
36524         * modules/printf-safe: New file.
36525         * modules/fprintf-posix (Depends-on): Add printf-safe.
36526         * modules/printf-posix (Depends-on): Likewise.
36527         * modules/snprintf-posix (Depends-on): Likewise.
36528         * modules/sprintf-posix (Depends-on): Likewise.
36529         * modules/vasnprintf-posix (Depends-on): Likewise.
36530         * modules/vasprintf-posix (Depends-on): Likewise.
36531         * modules/vfprintf-posix (Depends-on): Likewise.
36532         * modules/vprintf-posix (Depends-on): Likewise.
36533         * modules/vsnprintf-posix (Depends-on): Likewise.
36534         * modules/vsprintf-posix (Depends-on): Likewise.
36535         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
36536         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
36537         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
36538         "no" on i386, x86_64, ia64.
36539         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
36540         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
36541         on i386, x86_64, ia64.
36542         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
36543         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
36544         on i386, x86_64, ia64.
36545         * tests/test-vasnprintf-posix.c: Include float.h.
36546         (LDBL80_WORDS): New macro.
36547         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
36548         on i386, x86_64, ia64.
36549         * tests/test-vasprintf-posix.c: Include float.h.
36550         (LDBL80_WORDS): New macro.
36551         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
36552         on i386, x86_64, ia64.
36553         * tests/test-snprintf-posix.c: Include float.h.
36554         * tests/test-sprintf-posix.c: Likewise.
36555         * tests/test-vsnprintf-posix.c: Likewise.
36556         * tests/test-vsprintf-posix.c: Likewise.
36557
36558 2007-06-05  Bruno Haible  <bruno@clisp.org>
36559
36560         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
36561         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
36562         non-IEEE numbers on i386, x86_64, ia64.
36563         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
36564         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
36565         * tests/test-isnanl.h: Include float.h.
36566         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
36567
36568 2007-06-05  Bruno Haible  <bruno@clisp.org>
36569
36570         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
36571         also the %a / %A. Handle the %a / %A code before this extra handling.
36572
36573 2007-06-05  Bruno Haible  <bruno@clisp.org>
36574
36575         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
36576         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
36577
36578 2007-06-05  Bruno Haible  <bruno@clisp.org>
36579
36580         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
36581         typo in variable name.
36582
36583 2007-06-05  Eric Blake  <ebb9@byu.net>
36584
36585         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
36586         Reported by Simon Josefsson.
36587
36588 2007-06-04  Bruno Haible  <bruno@clisp.org>
36589
36590         Avoid test failures on some PowerPC platforms.
36591         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
36592         Define differently for PowerPC.
36593         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
36594         Reported by Gary V. Vaughan <gary@gnu.org>.
36595
36596 2007-06-02  Bruno Haible  <bruno@clisp.org>
36597
36598         Fix test-stdint failure on FreeBSD/ia64.
36599         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
36600         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
36601         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
36602         * doc/headers/stdint.texi: Update.
36603
36604 2007-06-01  Bruno Haible  <bruno@clisp.org>
36605
36606         * tests/test-binary-io.c (main): Pass a third argument to open().
36607         Reported by Gary V. Vaughan <gary@gnu.org>.
36608
36609 2007-06-01  Bruno Haible  <bruno@clisp.org>
36610
36611         * doc/functions/frexpl.texi: Update for mingw.
36612
36613 2007-06-01  Bruno Haible  <bruno@clisp.org>
36614
36615         * tests/test-lseek.c (main): Disable test of errno for invalid third
36616         argument.
36617         * doc/functions/lseek.texi: Update.
36618         Reported by Gary V. Vaughan <gary@gnu.org>.
36619
36620 2007-05-28  Bruno Haible  <bruno@clisp.org>
36621
36622         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
36623
36624 2007-05-31  Eric Blake  <ebb9@byu.net>
36625
36626         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
36627         cross compiling.
36628
36629 2007-05-30  Eric Blake  <ebb9@byu.net>
36630         and Bruno Haible  <bruno@clisp.org>
36631
36632         Work around mingw test failures exposed by m4-1.4.9b.
36633         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
36634         * tests/test-unistd.c: Disable uid_t and git_t tests for the
36635         moment.
36636
36637 2007-05-30  Bruno Haible  <bruno@clisp.org>
36638
36639         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
36640         assuming that they are closed. Needed on HP-UX 11.
36641
36642 2007-05-29  Bruno Haible  <bruno@clisp.org>
36643
36644         Fix a problem with #include_next.
36645         * lib/dirent_.h: Split the double-inclusion guard.
36646         * lib/fcntl_.h: Likewise.
36647         * lib/float_.h: Likewise.
36648         * lib/iconv_.h: Likewise.
36649         * lib/inttypes_.h: Likewise.
36650         * lib/locale_.h: Likewise.
36651         * lib/math_.h: Likewise.
36652         * lib/netinet_in_.h: Likewise.
36653         * lib/search_.h: Likewise.
36654         * lib/signal_.h: Likewise.
36655         * lib/stdint_.h: Likewise.
36656         * lib/stdio_.h: Likewise.
36657         * lib/stdlib_.h: Likewise.
36658         * lib/string_.h: Likewise.
36659         * lib/sys_select_.h: Likewise.
36660         * lib/sys_socket_.h: Likewise.
36661         * lib/sys_stat_.h: Likewise.
36662         * lib/sys_time_.h: Likewise.
36663         * lib/sysexits_.h: Likewise.
36664         * lib/time_.h: Likewise.
36665         * lib/unistd_.h: Likewise.
36666         * lib/wchar_.h: Likewise.
36667         * lib/wctype_.h: Likewise.
36668
36669 2007-05-29  Bruno Haible  <bruno@clisp.org>
36670
36671         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
36672         for the moment.
36673
36674 2007-05-29  Bruno Haible  <bruno@clisp.org>
36675
36676         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
36677         invocation.
36678         Reported by Eric Blake.
36679
36680 2007-05-29  Bruno Haible  <bruno@clisp.org>
36681
36682         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
36683         compiling case.
36684
36685 2007-05-29  Eric Blake  <ebb9@byu.net>
36686             Bruno Haible  <bruno@clisp.org>
36687
36688         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
36689         cross compiles.
36690
36691 2007-05-28  Eric Blake  <ebb9@byu.net>
36692
36693         * modules/closein-tests (test_closein_LDADD): Support test on
36694         cygwin with libtool.
36695
36696 2007-05-28  Bruno Haible  <bruno@clisp.org>
36697
36698         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
36699         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
36700         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
36701         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
36702         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
36703         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
36704         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
36705         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
36706         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
36707
36708 2007-05-28  Eric Blake  <ebb9@byu.net>
36709
36710         Unconditionally include <config.h> in unit tests.
36711         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
36712         * tests/test-allocsa.c, tests/test-arcfour.c,
36713         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
36714         tests/test-array_list.c, tests/test-array_oset.c,
36715         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
36716         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
36717         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
36718         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
36719         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
36720         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
36721         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
36722         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
36723         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
36724         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
36725         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
36726         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
36727         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
36728         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
36729         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
36730         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
36731         test-md5.c, test-memmem.c, test-printf-posix.c,
36732         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
36733         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
36734         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
36735         test-strcasestr.c, test-striconv.c, test-striconveh.c,
36736         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
36737         test-vasnprintf-posix2.c, test-vasnprintf.c,
36738         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
36739         test-vfprintf-posix.c, test-vprintf-posix.c,
36740         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
36741         test-xvasprintf.c: Likewise.
36742
36743 2007-05-28  Bruno Haible  <bruno@clisp.org>
36744
36745         * gnulib-tool (func_import): Remember the --with-tests command-line
36746         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
36747         Reported by Eric Blake.
36748
36749 2007-05-28  Bruno Haible  <bruno@clisp.org>
36750
36751         * modules/ftell-tests: New file.
36752         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
36753         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
36754
36755         * lib/ftell.c: New file.
36756         * modules/ftell: New file.
36757         * m4/ftell.m4: New file.
36758         * doc/functions/ftell.texi: Update.
36759         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
36760         REPLACE_FTELL.
36761         * lib/stdio_.h (rpl_ftell): New declaration.
36762         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
36763         REPLACE_FTELL.
36764
36765 2007-05-28  Eric Blake  <ebb9@byu.net>
36766
36767         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
36768
36769 2007-05-28  Bruno Haible  <bruno@clisp.org>
36770
36771         * modules/fseek-tests: New file.
36772         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
36773         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
36774
36775         * lib/fseek.c: New file.
36776         * modules/fseek: New file.
36777         * m4/fseek.m4: New file.
36778         * doc/functions/fseek.texi: Update.
36779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
36780         REPLACE_FSEEK.
36781         * lib/stdio_.h (rpl_fseek): New declaration.
36782         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
36783         REPLACE_FSEEK.
36784
36785 2007-05-28  Bruno Haible  <bruno@clisp.org>
36786
36787         * lib/stdio_.h (fflush): More comments.
36788
36789 2007-05-28  Bruno Haible  <bruno@clisp.org>
36790
36791         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
36792         runtime test.
36793
36794 2007-05-28  Eric Blake  <ebb9@byu.net>
36795
36796         Improve lseek module.
36797         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
36798         * lib/unistd_.h (lseek): Scale back link warning message.
36799         * tests/test-lseek.c: Beef up test.
36800         * tests/test-lseek.sh: Exercise more facets of lseek.
36801         Reported by Bruno Haible.
36802
36803 2007-05-28  Bruno Haible  <bruno@clisp.org>
36804
36805         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
36806         to define.
36807
36808 2007-05-27  Bruno Haible  <bruno@clisp.org>
36809
36810         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
36811
36812 2007-05-27  Bruno Haible  <bruno@clisp.org>
36813
36814         * modules/openmp: New file.
36815         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
36816         Noah Misch.
36817
36818 2007-05-26  Bruno Haible  <bruno@clisp.org>
36819
36820         * modules/chdir-long (Depends-on): Add fchdir.
36821         * modules/chdir-safer (Depends-on): Likewise.
36822         * modules/fts (Depends-on): Likewise.
36823         * modules/fts-lgpl (Depends-on): Likewise.
36824         * modules/openat (Depends-on): Likewise.
36825         * modules/savewd (Depends-on): Likewise.
36826
36827 2007-05-24  Eric Blake  <ebb9@byu.net>
36828
36829         Fix lseek on mingw.
36830         * modules/lseek: New module.
36831         * m4/lseek.m4: New file.
36832         * lib/lseek.c: New file.
36833         * modules/lseek-tests: New file.
36834         * tests/test-lseek.c: New file.
36835         * tests/test-lseek.sh: New file.
36836         * MODULES.html.sh: Document lseek module.
36837         * modules/fflush (Depends-on): Add lseek, fseeko.
36838         * modules/fseeko (Depends-on): Likewise.
36839         * modules/ftello (Depends-on): Likewise.
36840         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
36841         broken.
36842         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
36843         broken.
36844         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
36845         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
36846         * lib/ftello.c (rpl_ftello): Likewise.
36847         * tests/test-fseeko.c (main): Test this.
36848         * tests/test-fseeko.sh: Likewise.
36849         * tests/test-ftello.c (main): Likewise.
36850         * tests/test-ftello.sh: Likewise.
36851         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
36852         implies replacing fseek.
36853         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
36854         HAVE_FTELLO.
36855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
36856         * modules/unistd (Makefile.am): Likewise.
36857         * lib/unistd_.h (lseek): Declare a replacement.
36858         * doc/functions/lseek.texi (lseek): Document this fix.
36859         * doc/functions/fseek.texi (fseek): Likewise.
36860         * doc/functions/ftell.texi (ftell): Likewise.
36861
36862 2007-05-24  Bruno Haible  <bruno@clisp.org>
36863
36864         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
36865         in the printed representation of a NaN.
36866         * tests/test-vasprintf-posix.c (test_function): Likewise.
36867         * tests/test-snprintf-posix.h (test_function): Likewise.
36868         * tests/test-sprintf-posix.h (test_function): Likewise.
36869         Reported by Eric Blake.
36870
36871 2007-05-23  Eric Blake  <ebb9@byu.net>
36872
36873         Fix fseeko/ftello on cygwin 1.5.24.
36874         * doc/functions/fseeko.texi (fseeko): Document the fix.
36875         * doc/functions/ftello.texi (ftello): Document the fix.
36876         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
36877         * doc/functions/stdout.text (stdout): New file.
36878         * doc/functions/stderr.text (stderr): New file.
36879         * doc/gnulib.texi (Function Substitutes): Use new files.
36880         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
36881         prior to 1.7.0.
36882         * tests/test-ftello.c (main): Likewise for ftello.
36883         * tests/test-fseeko.sh: New file.
36884         * tests/test-ftello.sh: New file.
36885         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
36886         with seekable stdin.
36887         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
36888         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
36889         (gl_REPLACE_FSEEKO): New macro.
36890         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
36891         * modules/fseeko (Files): Distribute fseeko.c.
36892         * modules/ftello (Files): Distribute ftello.c.
36893         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
36894         mode.
36895         * lib/ftello.c (rpl_ftello): New file.
36896         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
36897         fseeko, ftello.
36898         (gl_STDIN_LARGE_OFFSET): New macro.
36899         * modules/stdio (Makefile.am): Perform the replacement.
36900         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
36901
36902 2007-05-23  Bruno Haible  <bruno@clisp.org>
36903
36904         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
36905         GNULIB_POSIXCHECK is defined.
36906
36907 2007-05-21  Bruno Haible  <bruno@clisp.org>
36908
36909         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
36910         Check also the output for NaN arguments. When cross-compiling, guess
36911         no on IRIX.
36912         * lib/vasnprintf.c: Update comments.
36913         * tests/test-vasnprintf-posix.c (strisnan): New function.
36914         (test_function): Use it.
36915         * tests/test-vasprintf-posix.c (strisnan): New function.
36916         (test_function): Use it.
36917         * tests/test-snprintf-posix.h (strisnan): New function.
36918         (test_function): Use it.
36919         * tests/test-sprintf-posix.h (strisnan): New function.
36920         (test_function): Use it.
36921         Reported by Eric Blake.
36922
36923 2007-05-20  Bruno Haible  <bruno@clisp.org>
36924
36925         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
36926         numbers that fails on BeOS.
36927         * doc/functions/frexpl.texi: Update.
36928
36929 2007-05-20  Jim Meyering  <jim@meyering.net>
36930
36931         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
36932         forced upon us by glibc-2.6.
36933
36934 2007-05-20  Bruno Haible  <bruno@clisp.org>
36935
36936         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
36937         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
36938         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
36939         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
36940         NEED_PRINTF_INFINITE.
36941         (is_infinitel): New function.
36942         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
36943         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
36944         gl_PREREQ_VASNPRINTF_INFINITE.
36945         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
36946         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36947         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
36948         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
36949         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
36950         gl_PREREQ_VASNPRINTF_INFINITE.
36951         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36952         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36953         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36954         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36955         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36956         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36957         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36958         * doc/functions/fprintf.texi: Update.
36959         * doc/functions/printf.texi: Update.
36960         * doc/functions/snprintf.texi: Update.
36961         * doc/functions/sprintf.texi: Update.
36962         * doc/functions/vfprintf.texi: Update.
36963         * doc/functions/vprintf.texi: Update.
36964         * doc/functions/vsnprintf.texi: Update.
36965         * doc/functions/vsprintf.texi: Update.
36966
36967 2007-05-20  Bruno Haible  <bruno@clisp.org>
36968
36969         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
36970         was not found in libc.
36971         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
36972
36973 2007-05-20  Bruno Haible  <bruno@clisp.org>
36974
36975         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
36976         printed as "-nan" instead of "nan".
36977         * tests/test-vasprintf-posix.c (test_function): Likewise.
36978         * tests/test-snprintf-posix.h (test_function): Likewise.
36979         * tests/test-sprintf-posix.h (test_function): Likewise.
36980         Needed for HP-UX 11.
36981
36982 2007-05-20  Jim Meyering  <jim@meyering.net>
36983
36984         Fix buggy test for the fchownat-deref bug.
36985         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
36986         symlink required for the run-test.  Without it, this test would
36987         always declare that fchownat doesn't work, and client code would
36988         unnecessarily use the replacement function with fixed libc.
36989         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
36990         Reported by Greg Schafer.
36991
36992 2007-05-19  Bruno Haible  <bruno@clisp.org>
36993
36994         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
36995         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
36996         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
36997         Needed for IRIX 6.5 and Solaris 2.5.1.
36998
36999 2007-05-19  Bruno Haible  <bruno@clisp.org>
37000
37001         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
37002         (test_function): Skip tests involving -0.0 on platforms where
37003         -0.0 = 0.0.
37004         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
37005         (test_function): Skip tests involving -0.0 on platforms where
37006         -0.0 = 0.0.
37007         * tests/test-snprintf-posix.h (have_minus_zero): New function.
37008         (test_function): Skip tests involving -0.0 on platforms where
37009         -0.0 = 0.0.
37010         * tests/test-sprintf-posix.h (have_minus_zero): New function.
37011         (test_function): Skip tests involving -0.0 on platforms where
37012         -0.0 = 0.0.
37013         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
37014         tests.
37015         * tests/test-printf-posix.h (test_function): Likewise.
37016         * tests/test-printf-posix.output: Remove all -0.0 related results.
37017         Needed for IRIX 6.5.
37018
37019 2007-05-19  Bruno Haible  <bruno@clisp.org>
37020
37021         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
37022         printed as "nan0x7fffffff" instead of "nan".
37023         * tests/test-vasprintf-posix.c (test_function): Likewise.
37024         * tests/test-snprintf-posix.h (test_function): Likewise.
37025         * tests/test-sprintf-posix.h (test_function): Likewise.
37026         * tests/test-fprintf-posix.h (NaN): Remove macro.
37027         (test_function): Remove all NaN related tests.
37028         * tests/test-printf-posix.h (NaN): Remove macro.
37029         (test_function): Remove all NaN related tests.
37030         * tests/test-printf-posix.output: Remove all NaN related results.
37031         Needed for IRIX 6.5.
37032
37033 2007-05-19  Bruno Haible  <bruno@clisp.org>
37034
37035         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
37036         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
37037
37038 2007-05-19  Bruno Haible  <bruno@clisp.org>
37039
37040         * lib/float_.h: New file.
37041         * m4/float_h.m4: New file.
37042         * modules/float: New file.
37043         * modules/isnanl (Dependencies): Add float.
37044         * modules/isnanl-nolibm (Dependencies): Likewise.
37045         * modules/mathl (Dependencies): Likewise.
37046         * modules/printf-frexpl (Dependencies): Likewise.
37047         * modules/signbit (Dependencies): Likewise.
37048         * modules/vasnprintf (Dependencies): Likewise.
37049         * doc/headers/float.texi: Update.
37050
37051 2007-05-19  Jim Meyering  <jim@meyering.net>
37052
37053         * lib/utimens.c (gl_futimens): Rename from futimens,
37054         now that glibc-2.6 declares futimens.
37055         * lib/utimens.h: Likewise.
37056
37057 2007-05-19  Bruno Haible  <bruno@clisp.org>
37058
37059         Avoid test failures on mingw.
37060         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
37061         * tests/test-printf-posix.sh: Likewise.
37062         * tests/test-vfprintf-posix.sh: Likewise.
37063         * tests/test-vprintf-posix.sh: Likewise.
37064
37065 2007-05-19  Bruno Haible  <bruno@clisp.org>
37066
37067         Fix *printf result for NaN, Inf, -0.0 on mingw.
37068         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
37069         * lib/vasnprintf.c: Include math.h and isnan.h.
37070         (is_infinite_or_zero): New function.
37071         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
37072         values in the %f, %F, %e, %E, %g, %G directives.
37073         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
37074         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37075         gl_PRINTF_INFINITE and test its result. Invoke
37076         gl_PREREQ_VASNPRINTF_INFINITE.
37077         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37078         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37079         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37080         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37081         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37082         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37083         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37084         * doc/functions/fprintf.texi: Update.
37085         * doc/functions/printf.texi: Update.
37086         * doc/functions/snprintf.texi: Update.
37087         * doc/functions/sprintf.texi: Update.
37088         * doc/functions/vfprintf.texi: Update.
37089         * doc/functions/vprintf.texi: Update.
37090         * doc/functions/vsnprintf.texi: Update.
37091         * doc/functions/vsprintf.texi: Update.
37092
37093 2007-05-19  Bruno Haible  <bruno@clisp.org>
37094
37095         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
37096         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
37097         Instead of multiplying with 10^k, set extra_zeroes to k.
37098         (scale10_round_long_double): Remove function.
37099
37100 2007-05-18  Bruno Haible  <bruno@clisp.org>
37101
37102         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
37103         introduced on 2007-05-06.
37104
37105 2007-05-18  Bruno Haible  <bruno@clisp.org>
37106
37107         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
37108         %g directives.
37109         * tests/test-vasprintf-posix.c (test_function): Likewise.
37110         * tests/test-snprintf-posix.h (test_function): Likewise.
37111         * tests/test-sprintf-posix.h (test_function): Likewise.
37112
37113 2007-05-18  Bruno Haible  <bruno@clisp.org>
37114
37115         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
37116         (strmatch): New function.
37117         (test_function): Test the %f directive on numbers of various exponents.
37118         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
37119         (strmatch): New function.
37120         (test_function): Test the %f directive on numbers of various exponents.
37121         * tests/test-snprintf-posix.h (strmatch): New function.
37122         (test_function): Test the %f directive on numbers of various exponents.
37123         * tests/test-sprintf-posix.h (strmatch): New function.
37124         (test_function): Test the %f directive on numbers of various exponents.
37125         * tests/test-snprintf-posix.c (SIZEOF): New macro.
37126         * tests/test-sprintf-posix.c (SIZEOF): New macro.
37127         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
37128         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
37129
37130 2007-05-18  Bruno Haible  <bruno@clisp.org>
37131
37132         Add support for 'long double' number output.
37133         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
37134         * lib/vasnprintf.c: Include math.h and float+.h.
37135         (mp_limb_t): New type.
37136         (GMP_LIMB_BITS): New macro.
37137         (mp_twolimb_t): New type.
37138         (GMP_TWOLIMB_BITS): New macro.
37139         (mpn_t): New type.
37140         (multiply, divide, convert_to_decimal, decode_long_double,
37141         scale10_round_long_double, scale10_round_decimal_long_double,
37142         floorlog10l): New functions.
37143         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
37144         for the %f, %F, %e, %E, %g, %G directives.
37145         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
37146         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37147         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
37148         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
37149         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37150         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37151         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37152         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37153         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37154         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37155         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37156         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
37157         * modules/snprintf-posix (Depends-on): Likewise.
37158         * modules/sprintf-posix (Depends-on): Likewise.
37159         * modules/vasnprintf-posix (Depends-on): Likewise.
37160         * modules/vasprintf-posix (Depends-on): Likewise.
37161         * modules/vfprintf-posix (Depends-on): Likewise.
37162         * modules/vsnprintf-posix (Depends-on): Likewise.
37163         * modules/vsprintf-posix (Depends-on): Likewise.
37164         * modules/vasnprintf (Files): Add lib/float+.h.
37165         * doc/functions/fprintf.texi: Update.
37166         * doc/functions/printf.texi: Update.
37167         * doc/functions/snprintf.texi: Update.
37168         * doc/functions/sprintf.texi: Update.
37169         * doc/functions/vfprintf.texi: Update.
37170         * doc/functions/vprintf.texi: Update.
37171         * doc/functions/vsnprintf.texi: Update.
37172         * doc/functions/vsprintf.texi: Update.
37173
37174 2007-05-18  Bruno Haible  <bruno@clisp.org>
37175
37176         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
37177
37178 2007-05-18  Bruno Haible  <bruno@clisp.org>
37179
37180         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
37181         for printing 64-bit integers. Needed for mingw.
37182
37183 2007-05-18  Bruno Haible  <bruno@clisp.org>
37184
37185         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
37186         gl_FUNC_FREXPL_WORKS.
37187         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
37188
37189 2007-05-18  Bruno Haible  <bruno@clisp.org>
37190
37191         * modules/frexpl-nolibm-tests: New file.
37192
37193         * modules/frexpl-nolibm: New file.
37194         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
37195
37196 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
37197
37198         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
37199         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
37200         GCC 4.2, which otherwise issues a lot of warnings.
37201         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
37202         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
37203         Likewise.
37204         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
37205         * modules/iconv_open (iconv.h): Likewise.
37206         * modules/locale (locale.h): Likewise.
37207         * modules/netinet_in (netinet/in.h): Likewise.
37208         * modules/sys_select (sys_select.h): Likewise.
37209         * modules/sys_socket (sys/socket.h): Likewise.
37210         * modules/sys_stat (sys/stat.h): Likewise.
37211         * modules/sysexits (sysexits.h): Likewise.
37212         * modules/unistd (unistd.h): Likewise.
37213
37214 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37215
37216         * modules/closein-tests (Makefile.am): Distribute
37217         `test-closein.sh'.
37218
37219 2007-05-17  Bruno Haible  <bruno@clisp.org>
37220
37221         * tests/test-printf-posix.output: Renamed from
37222         tests/test-fprintf-posix.out.
37223         * modules/fprintf-posix-tests: Update.
37224         * modules/printf-posix-tests: Update.
37225         * modules/vfprintf-posix-tests: Update.
37226         * modules/vprintf-posix-tests: Update.
37227         * tests/test-fprintf-posix.sh: Update.
37228         * tests/test-printf-posix.sh: Update.
37229         * tests/test-vfprintf-posix.sh: Update.
37230         * tests/test-vprintf-posix.sh: Update.
37231         Reported by Ralf Wildenhues.
37232
37233 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
37234
37235         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
37236         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
37237         GCC 4.2, which otherwise issues a lot of warnings.
37238         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
37239         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
37240         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
37241         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
37242         it should no longer be needed.
37243         * lib/string_.h: Likewise.
37244         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
37245         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
37246         * modules/inttypes (inttypes.h): Likewise.
37247         * modules/math (math.h): Likewise.
37248         * modules/search (search.h): Likewise.
37249         * modules/signal (signal.h): Likewise.
37250         * modules/stdint (stdint.h): Likewise.
37251         * modules/stdio (stdio.h): Likewise.
37252         * modules/stdlib (stdlib.h): Likewise.
37253         * modules/string (string.h): Likewise.
37254         * modules/sys_time (sys/time.h): Likewise.
37255         * modules/time (time.h): Likewise.
37256         * modules/wchar (wchar.h): Likewise.
37257         * modules/wctype (wtype.h): Likewise.
37258
37259 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
37260
37261         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
37262
37263 2007-05-13  Bruno Haible  <bruno@clisp.org>
37264
37265         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
37266         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
37267         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
37268         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
37269         (gl_PREREQ_STRTOK_R): Don't require it here.
37270
37271 2007-05-13  Bruno Haible  <bruno@clisp.org>
37272
37273         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
37274         when used in C++ mode.
37275
37276 2007-05-12  Bruno Haible  <bruno@clisp.org>
37277
37278         * lib/linebuffer.h: Tweak doc.
37279         * lib/linebuffer.c: Likewise.
37280
37281 2007-05-12  James Youngman  <jay@gnu.org>
37282
37283         * lib/linebuffer.c (readlinebuffer_delim): New function,
37284         like readlinebuffer, but use a caller-specified delimiter.
37285         (readlinebuffer): Just call readlinebuffer_delim with '\n'
37286         as the delimiter.
37287         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
37288
37289 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
37290
37291         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
37292         * modules/openat (Files): Remove openat-die.c.
37293         (Depends-on): Add openat-die.
37294         * modules/openat-die: New module.
37295
37296 2007-05-06  Bruno Haible  <bruno@clisp.org>
37297
37298         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
37299         Update with info about Cygwin.
37300         * doc/functions/fprintf.texi: Update.
37301         * doc/functions/printf.texi: Update.
37302         * doc/functions/snprintf.texi: Update.
37303         * doc/functions/sprintf.texi: Update.
37304         * doc/functions/vfprintf.texi: Update.
37305         * doc/functions/vprintf.texi: Update.
37306         * doc/functions/vsnprintf.texi: Update.
37307         * doc/functions/vsprintf.texi: Update.
37308         Reported by Eric Blake.
37309
37310 2007-05-06  Bruno Haible  <bruno@clisp.org>
37311
37312         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
37313         padding ourselves for the floating-point directives.
37314         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
37315         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
37316         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
37317         gl_PRINTF_FLAG_ZERO and test its result. Invoke
37318         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
37319         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37320         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
37321         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37322         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37323         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37324         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37325         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37326         * tests/test-snprintf-posix.h (test_function): Also check the width
37327         and some flags in the %f directive.
37328         * tests/test-sprintf-posix.h (test_function): Likewise.
37329         * tests/test-vasnprintf-posix.c (test_function): Likewise.
37330         * tests/test-vasprintf-posix.c (test_function): Likewise.
37331         * doc/functions/fprintf.texi: Update.
37332         * doc/functions/printf.texi: Update.
37333         * doc/functions/snprintf.texi: Update.
37334         * doc/functions/sprintf.texi: Update.
37335         * doc/functions/vfprintf.texi: Update.
37336         * doc/functions/vprintf.texi: Update.
37337         * doc/functions/vsnprintf.texi: Update.
37338         * doc/functions/vsprintf.texi: Update.
37339
37340 2007-05-06  Bruno Haible  <bruno@clisp.org>
37341
37342         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
37343         pass the ' flag character to sprintf or snprintf.
37344         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
37345         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
37346         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
37347         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
37348         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
37349         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37350         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
37351         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37352         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37353         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37354         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37355         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37356         * tests/test-snprintf-posix.h (test_function): Also check the grouping
37357         flag.
37358         * tests/test-sprintf-posix.h (test_function): Likewise.
37359         * tests/test-vasnprintf-posix.c (test_function): Likewise.
37360         * tests/test-vasprintf-posix.c (test_function): Likewise.
37361         * doc/functions/fprintf.texi: Update.
37362         * doc/functions/printf.texi: Update.
37363         * doc/functions/snprintf.texi: Update.
37364         * doc/functions/sprintf.texi: Update.
37365         * doc/functions/vfprintf.texi: Update.
37366         * doc/functions/vprintf.texi: Update.
37367         * doc/functions/vsnprintf.texi: Update.
37368         * doc/functions/vsprintf.texi: Update.
37369
37370 2007-05-01  Bruno Haible  <bruno@clisp.org>
37371
37372         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
37373
37374 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
37375
37376         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
37377         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
37378
37379 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
37380
37381         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
37382         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
37383         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
37384
37385 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
37386
37387         * lib/argp-help.c (struct hol_entry): New member `ord'.
37388         (HOL_ENTRY_PTRCMP): Use ord for comparison
37389         (hol_sort): Initialize ord.
37390
37391 2007-05-01  Bruno Haible  <bruno@clisp.org>
37392
37393         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
37394         Reported by Eric Blake.
37395         * doc/gnulib.texi (Function Substitutes): Update.
37396
37397 2007-05-01  Bruno Haible  <bruno@clisp.org>
37398
37399         * doc/functions.texi: Remove file, now redundant through
37400         doc/functions/*.texi.
37401
37402 2007-05-01  Bruno Haible  <bruno@clisp.org>
37403
37404         * modules/argp (Depends-on): Add sleep.
37405
37406 2007-05-01  Bruno Haible  <bruno@clisp.org>
37407
37408         * modules/sleep-tests: New file.
37409         * tests/test-sleep.c: New file.
37410
37411         * modules/sleep: New file.
37412         * lib/sleep.c: New file.
37413         * m4/sleep.m4: New file.
37414         * lib/unistd_.h (sleep): New declaration.
37415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
37416         HAVE_SLEEP.
37417         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
37418         * doc/functions/sleep.texi: Document the sleep module.
37419
37420 2007-05-01  Bruno Haible  <bruno@clisp.org>
37421
37422         * lib/sigprocmask.h: Remove file.
37423         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
37424         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
37425         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
37426         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
37427         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
37428         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
37429         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
37430         HAVE_SIGSET_T as a shell variable.
37431         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
37432         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
37433         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
37434         (Depends-on): Add signal. Remove verify.
37435         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
37436         (Include): Mention <signal.h> instead of sigprocmask.h.
37437         * NEWS: Mention the change.
37438         * lib/fatal-signal.c: Don't include sigprocmask.h.
37439
37440 2007-05-01  Bruno Haible  <bruno@clisp.org>
37441
37442         * modules/signal: New file.
37443         * lib/signal_.h: New file.
37444         * m4/signal_h.m4: New file.
37445
37446 2007-05-01  Bruno Haible  <bruno@clisp.org>
37447
37448         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
37449         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
37450         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
37451         HAVE_WCTYPE_CTMP_BUG into wctype.h.
37452
37453 2007-05-01  Bruno Haible  <bruno@clisp.org>
37454
37455         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
37456         configure time.
37457         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
37458         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
37459         * modules/sys_stat (Makefile.am): Substitute their values into
37460         sys/stat.h.
37461
37462 2007-05-01  Bruno Haible  <bruno@clisp.org>
37463
37464         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
37465         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
37466         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
37467
37468 2007-05-01  Bruno Haible  <bruno@clisp.org>
37469
37470         * doc/header/assert.texi: Undo last change: don't mention the gnulib
37471         'assert' module here.
37472
37473 2007-05-01  Bruno Haible  <bruno@clisp.org>
37474
37475         * doc/functions/*.texi: New files.
37476         * doc/functions/google-ranking.txt: New file.
37477         * doc/gnulib.texi (Function Substitutes): New chapter.
37478         (ctime, inet_ntoa): Remove sections.
37479         * doc/ctime.texi: Remove file.
37480         * doc/inet_ntoa.texi: Remove file.
37481         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
37482         dependencies.
37483         (%.info): New rule, specifying a --reference-limit.
37484
37485 2007-05-01  Bruno Haible  <bruno@clisp.org>
37486
37487         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
37488
37489 2007-05-01  Bruno Haible  <bruno@clisp.org>
37490
37491         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
37492         the portability of 'mkdir' to mingw systems.
37493
37494 2007-05-01  Bruno Haible  <bruno@clisp.org>
37495
37496         * doc/headers/google-ranking.txt: New file.
37497
37498 2007-04-30  Eric Blake  <ebb9@byu.net>
37499
37500         Prefer fseeko to fseek.
37501         * modules/getpass (Depends-on): Add fseeko.
37502         * lib/getpass.c (getpass): Use fseeko, not fseek.
37503
37504 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
37505
37506         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
37507         assumes the sorting is stable, while most qsort implementations
37508         are not.  Use argument addresses to ensure they never compare as
37509         equal.
37510
37511         * tests/test-argp-2.sh (usage-indent test): Fix output
37512         (func_compare): Restore diff options
37513         * tests/test-argp.c: Restore #include "progname.h"
37514
37515 2007-04-29  Bruno Haible  <bruno@clisp.org>
37516
37517         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
37518         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
37519         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
37520         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37521         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
37522         (configure.ac): Define CHECK_SNPRINTF_POSIX.
37523         (TESTS, check_PROGRAMS): Add test-snprintf.
37524         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
37525         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
37526         (TESTS, check_PROGRAMS): Add test-vsnprintf.
37527         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
37528         assertions that fail on HP-UX, OSF/1, or IRIX.
37529         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
37530
37531 2007-04-29  Bruno Haible  <bruno@clisp.org>
37532
37533         * MODULES.html.sh (posix_functions): Remove 'contents'.
37534
37535 2007-04-29  Karl Berry  <karl@gnu.org>
37536
37537         * config/srclist.txt (gendocs_template_min): new entry.
37538
37539 2007-04-29  Bruno Haible  <bruno@clisp.org>
37540
37541         Work around fpurge bug on BSD systems.
37542         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
37543         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
37544         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
37545         fpurge to rpl_fpurge if the system already has this function.
37546         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
37547         the case where the system already has this function. Correct invariants
37548         on BSD systems.
37549         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
37550         BSD systems.
37551
37552 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
37553
37554         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
37555         proposed by Sven Verdoolaege.
37556
37557         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
37558         options.
37559         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
37560         (usage and help tests): Update
37561
37562 2007-04-29  Bruno Haible  <bruno@clisp.org>
37563
37564         * tests/test-fflush.c (main): Use a file of size 17, not 10.
37565         Print more information in case of failure. Disable a test on BeOS.
37566
37567 2007-04-29  Bruno Haible  <bruno@clisp.org>
37568
37569         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
37570         This helps debugging on systems on which no gdb is available.
37571
37572 2007-04-29  Bruno Haible  <bruno@clisp.org>
37573
37574         * lib/freading.h: Improve comments.
37575         * lib/fwriting.h: Likewise.
37576         * tests/test-freading.c (main): Don't check freading immediately after
37577         repositioning. Needed for glibc.
37578
37579 2007-04-29  Bruno Haible  <bruno@clisp.org>
37580
37581         * lib/freading.c (freading): Trivial simplification.
37582
37583 2007-04-28  Bruno Haible  <bruno@clisp.org>
37584
37585         * tests/test-fwriting.c (main): Also test the interaction between
37586         fflush and fwriting.
37587         * modules/fwriting-tests (Depends-on): Add fflush.
37588
37589         * tests/test-freading.c (main): Also test the interaction between
37590         fflush and freading.
37591         * modules/freading-tests (Depends-on): Add fflush.
37592
37593 2007-04-28  Bruno Haible  <bruno@clisp.org>
37594
37595         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
37596         fseeko and ftello.
37597         Suggested by Eric Blake.
37598
37599 2007-04-28  Jim Meyering  <jim@meyering.net>
37600
37601         Avoid false-negative in gl_STDINT_H's C99 conformance test.
37602         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
37603         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
37604
37605 2007-04-27  Eric Blake  <ebb9@byu.net>
37606
37607         * doc/headers/assert.texi (assert.h): Document assert module use.
37608
37609 2007-04-27  Bruno Haible  <bruno@clisp.org>
37610
37611         * doc/headers/*.texi: New files.
37612         * doc/gnulib.texi (Header File Substitutes): New chapter.
37613         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
37614         dependencies.
37615         (standards.info ,standards.html, standards.dvi): Update dependencies.
37616         (mostlyclean, clean): New targets.
37617
37618 2007-04-27  Bruno Haible  <bruno@clisp.org>
37619
37620         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
37621         * modules/sysexits (Files, Makefile.am): Update.
37622
37623         * lib/sys_socket_.h: Renamed from lib/socket_.h.
37624         * modules/sys_socket (Files, Makefile.am): Update.
37625
37626         * lib/sys_stat_.h: Renamed from lib/stat_.h.
37627         * modules/sys_stat (Files, Makefile.am): Update.
37628
37629 2007-04-27  Eric Blake  <ebb9@byu.net>
37630
37631         * lib/freading.h: Improve comments.
37632         * lib/fwriting.h: Likewise.
37633         * lib/fflush.c: Likewise.
37634
37635         Fix closein for mingw.
37636         * modules/closein-tests: Add tests for closein.
37637         * tests/test-closein.c: New file.
37638         * tests/test-closein.sh: Likewise.
37639         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
37640         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
37641
37642 2007-04-27  Bruno Haible  <bruno@clisp.org>
37643
37644         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
37645         version is < 6.
37646         * lib/math_.h [__DECC]: Likewise.
37647         * lib/stdio_.h [__DECC]: Likewise.
37648         * lib/stdlib_.h [__DECC]: Likewise.
37649         * lib/string_.h [__DECC]: Likewise.
37650         * lib/time_.h [__DECC]: Likewise.
37651         * lib/wchar_.h [__DECC]: Likewise.
37652         * lib/wctype_.h [__DECC]: Likewise.
37653
37654 2007-04-27  Bruno Haible  <bruno@clisp.org>
37655
37656         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
37657
37658 2007-04-27  Bruno Haible  <bruno@clisp.org>
37659
37660         * lib/fflush.c: Add comments.
37661         * modules/fpurge-tests (Depends-on): Add fflush.
37662         * modules/freadable-tests (Depends-on): Likewise.
37663         * modules/fwritable-tests (Depends-on): Likewise.
37664
37665 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
37666
37667         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
37668         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
37669         Report by Bruno Haible <bruno@clisp.org>.
37670
37671 2007-04-26  Eric Blake  <ebb9@byu.net>
37672
37673         Fix fflush on mingw.
37674         * modules/fflush (Depends-on): Add freading.
37675         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
37676         but unread data.
37677
37678 2007-04-26  Eric Blake  <ebb9@byu.net>
37679         and Bruno Haible  <bruno@clisp.org>
37680
37681         Implement freading and fwriting.
37682         * lib/freading.c: New file.
37683         * lib/freading.h: Likewise.
37684         * m4/freading.m4: Likewise.
37685         * modules/freading: Likewise.
37686         * modules/freading-tests: Likewise.
37687         * tests/test-freading.c: Likewise.
37688         * lib/fwriting.c: New file.
37689         * lib/fwriting.h: Likewise.
37690         * m4/fwriting.m4: Likewise.
37691         * modules/fwriting: Likewise.
37692         * modules/fwriting-tests: Likewise.
37693         * tests/test-fwriting.c: Likewise.
37694         * MODULES.html.sh (File stream based Input/Output): Mention them.
37695
37696 2007-04-26  Bruno Haible  <bruno@clisp.org>
37697
37698         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
37699         'long' when we assume it.
37700         Suggested by Eric Blake.
37701
37702 2007-04-26  Bruno Haible  <bruno@clisp.org>
37703
37704         Ensure fseeko, ftello are declared on glibc systems.
37705         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
37706         * modules/fseeko (configure.ac-early): Likewise.
37707         * modules/ftello (configure.ac-early): Likewise.
37708         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
37709         AC_FUNC_FSEEKO for this.
37710         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
37711         (gl_CHECK_FSEEKO): Remove macro.
37712
37713 2007-04-26  Bruno Haible  <bruno@clisp.org>
37714
37715         * tests/test-fflush.c (main): Also check the ftell result after
37716         fflush and fseek/fseeko.
37717         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
37718         file descriptor position cache in the stream.
37719         * lib/fseeko.c (rpl_fseeko): Likewise.
37720
37721 2007-04-26  Bruno Haible  <bruno@clisp.org>
37722
37723         * modules/fflush-tests (Depends-on): Add fseeko.
37724
37725 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
37726             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37727
37728         * lib/argz_.h: ensure error_t definition is obtained in same
37729         mechanism system argz.h would have.
37730         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
37731         argz facilities are known bad.  Err on the side of caution if
37732         cross-compiling.
37733
37734 2007-04-25  Eric Blake  <ebb9@byu.net>
37735
37736         * lib/fpurge.c (includes): Use stdlib.h for free.
37737         * tests/test-fflush.c (main): Also test fflush-fseeko.
37738
37739 2007-04-25  Bruno Haible  <bruno@clisp.org>
37740
37741         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
37742         * lib/fseeko.c: New file.
37743         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
37744         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
37745         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
37746         gl_FUNC_FSEEKO.
37747         (gl_FUNC_FSEEKO): Invoke it.
37748         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
37749         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
37750         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
37751
37752 2007-04-25  Bruno Haible  <bruno@clisp.org>
37753
37754         * modules/fflush (Depends-on): Add ftello.
37755
37756 2007-04-25  Bruno Haible  <bruno@clisp.org>
37757
37758         * modules/ftello-tests: New file.
37759         * tests/test-ftello.c: New file.
37760
37761         * modules/ftello: New file.
37762         * m4/ftello.m4: New file.
37763         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
37764         HAVE_FTELLO.
37765         * lib/stdio_.h (ftello): New declaration.
37766         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
37767         HAVE_FTELLO.
37768
37769 2007-04-25  Bruno Haible  <bruno@clisp.org>
37770
37771         * modules/fseeko-tests: New file.
37772         * tests/test-fseeko.c: New file.
37773
37774         * modules/fseeko: New file.
37775         * m4/fseeko.m4: New file.
37776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
37777         HAVE_FSEEKO.
37778         * lib/stdio_.h (fseeko): New declaration.
37779         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
37780         HAVE_FSEEKO.
37781
37782 2007-04-25  Bruno Haible  <bruno@clisp.org>
37783
37784         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
37785
37786 2007-04-25  Bruno Haible  <bruno@clisp.org>
37787
37788         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
37789         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
37790         * tests/test-unistd.c: Likewise.
37791         * tests/test-fcntl.c: Likewise.
37792
37793 2007-04-23  Eric Blake  <ebb9@byu.net>
37794
37795         * lib/fflush.c: Fix missing include.
37796         Reported by Bruno Haible.
37797
37798 2007-04-23  Bruno Haible  <bruno@clisp.org>
37799
37800         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
37801         Reported by Eric Blake.
37802
37803 2007-04-23  Bruno Haible  <bruno@clisp.org>
37804
37805         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
37806
37807 2007-04-23  Bruno Haible  <bruno@clisp.org>
37808
37809         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
37810
37811 2007-04-23  Bruno Haible  <bruno@clisp.org>
37812
37813         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
37814         Needed on HP-UX 11.
37815
37816 2007-04-16  Eric Blake  <ebb9@byu.net>
37817
37818         Make fflush rely on fpurge.
37819         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
37820         open coding all variants.
37821         * modules/fflush (Depends-on): Add fpurge and unistd.
37822         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
37823         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
37824
37825         Fix --with-tests compilation on cygwin.
37826         * modules/argmatch-tests (Makefile.am): List gnulib library first
37827         in LDADD.
37828         * modules/argp-tests (Makefile.am): Likewise.
37829         * modules/array-list-tests (Makefile.am): Likewise.
37830         * modules/array-oset-tests (Makefile.am): Likewise.
37831         * modules/avltree-list-tests (Makefile.am): Likewise.
37832         * modules/avltree-oset-tests (Makefile.am): Likewise.
37833         * modules/avltreehash-list-tests (Makefile.am): Likewise.
37834         * modules/carray-list-tests (Makefile.am): Likewise.
37835         * modules/dirname-tests (Makefile.am): Likewise.
37836         * modules/frexp-tests (Makefile.am): Likewise.
37837         * modules/isnanl-tests (Makefile.am): Likewise.
37838         * modules/linked-list-tests (Makefile.am): Likewise.
37839         * modules/linkedhash-list-tests (Makefile.am): Likewise.
37840         * modules/lock-tests (Makefile.am): Likewise.
37841         * modules/rbtree-list-tests (Makefile.am): Likewise.
37842         * modules/rbtree-oset-tests (Makefile.am): Likewise.
37843         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
37844         * modules/tls-tests (Makefile.am): Likewise.
37845         * modules/tsearch-tests (Makefile.am): Likewise.
37846         * modules/xvasprintf-tests (Makefile.am): Likewise.
37847
37848         Fix fpurge for cygwin.
37849         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
37850         value.
37851         * modules/fpurge-tests (Depends-on): Clean up trash.
37852
37853 2007-04-16  Simon Josefsson  <simon@josefsson.org>
37854
37855         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
37856
37857         * m4/autobuild.m4: Re-indent.
37858
37859 2007-04-13  Bruno Haible  <bruno@clisp.org>
37860
37861         * modules/fpurge-tests: New file.
37862         * tests/test-fpurge.c: New file.
37863
37864         * modules/fpurge: New file.
37865         * lib/fpurge.h: New file.
37866         * lib/fpurge.c: New file.
37867         * m4/fpurge.m4: New file.
37868
37869 2007-04-13  Bruno Haible  <bruno@clisp.org>
37870
37871         * modules/fbufmode-tests: New file.
37872         * tests/test-fbufmode.c: New file.
37873
37874         * modules/fbufmode: New file.
37875         * lib/fbufmode.h: New file.
37876         * lib/fbufmode.c: New file.
37877         * m4/fbufmode.m4: New file.
37878
37879 2007-04-13  Bruno Haible  <bruno@clisp.org>
37880
37881         * modules/fwritable-tests: New file.
37882         * tests/test-fwritable.c: New file.
37883
37884         * modules/fwritable: New file.
37885         * lib/fwritable.h: New file.
37886         * lib/fwritable.c: New file.
37887         * m4/fwritable.m4: New file.
37888
37889 2007-04-13  Bruno Haible  <bruno@clisp.org>
37890
37891         * modules/freadable-tests: New file.
37892         * tests/test-freadable.c: New file.
37893
37894         * modules/freadable: New file.
37895         * lib/freadable.h: New file.
37896         * lib/freadable.c: New file.
37897         * m4/freadable.m4: New file.
37898
37899 2007-04-13  Bruno Haible  <bruno@clisp.org>
37900
37901         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
37902         MOSTLYCLEANFILES.
37903
37904 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
37905
37906         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
37907         gzip bootstrap.conf to avoid dragging in i18n machinery.
37908         (gnulib_tool_option): Use it.
37909
37910 2007-04-13  Bruno Haible  <bruno@clisp.org>
37911
37912         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
37913         %F directives.
37914         * tests/test-vasprintf-posix.c (test_function): Likewise.
37915         * tests/test-snprintf-posix.h (test_function): Likewise.
37916         * tests/test-sprintf-posix.h (test_function): Likewise.
37917         * tests/test-fprintf-posix.h (test_function): Likewise.
37918         * tests/test-printf-posix.h (test_function): Likewise.
37919         * tests/test-fprintf-posix.out: Likewise.
37920
37921 2007-04-13  Bruno Haible  <bruno@clisp.org>
37922
37923         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
37924         * modules/tls-tests (configure.ac): Likewise.
37925         Reported by Arto C. Nirkko <anirkko@insel.ch>.
37926
37927 2007-04-13  Bruno Haible  <bruno@clisp.org>
37928
37929         * lib/tls.c (glthread_tls_get): Fix return type.
37930         Patch by Arto C. Nirkko <anirkko@insel.ch>.
37931
37932 2007-04-12  Eric Blake  <ebb9@byu.net>
37933
37934         * modules/gettime (Depends-on): Remove gettime.
37935         Reported by Dmitry V. Levin.
37936
37937 2007-04-12  Bruno Haible  <bruno@clisp.org>
37938
37939         * modules/fflush (Include): Mention <stdio.h>.
37940         * modules/strtoimax (Include): Mention <inttypes.h>.
37941         * modules/strtoumax (Include): Likewise.
37942
37943 2007-04-12  Eric Blake  <ebb9@byu.net>
37944
37945         * .cvsignore: New file.
37946         * .gitignore: Likewise.
37947
37948 2007-04-12  Bruno Haible  <bruno@clisp.org>
37949
37950         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
37951         not before, since $(LDADD) often contains libgnu.a.
37952         * modules/striconv-tests (test_striconv_LDADD): Likewise.
37953         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
37954         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
37955         Needed on Cygwin.
37956
37957 2007-04-12  Eric Blake  <ebb9@byu.net>
37958
37959         Work around glibc's failure to flush stdin on fclose.
37960         * lib/closein.c (close_stdin): Flush stdin before closing.
37961
37962         Work around glibc's failure to reset seekable stdin on exit.
37963         * modules/closein: New module.
37964         * lib/closein.c: New file.
37965         * lib/closein.h: Likewise.
37966         * m4/closein.m4: Likewise.
37967         * MODULES.html.sh (File stream based Input/Output): Document it.
37968
37969 2007-04-12  Simon Josefsson  <simon@josefsson.org>
37970
37971         * gnulib-tool: Rename generated 'autobuild' script to
37972         'do-autobuild' in --create-megatestdir output.
37973
37974         * doc/gnulib.texi (Build robot for gnulib): Fix.
37975
37976 2007-04-12  Simon Josefsson  <simon@josefsson.org>
37977
37978         * modules/sysexits (Depends-on): Add absolute-header.
37979
37980 2007-04-12  Eric Blake  <ebb9@byu.net>
37981
37982         No need to preserve errno on success.
37983         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
37984         Reported by Bruno Haible.
37985
37986 2007-04-12  Simon Josefsson  <simon@josefsson.org>
37987
37988         * MODULES.html.sh (Support for maintaining and releasing
37989         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
37990
37991 2007-04-12  Simon Josefsson  <simon@josefsson.org>
37992
37993         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
37994
37995 2007-04-12  Simon Josefsson  <simon@josefsson.org>
37996
37997         * modules/autobuild: New module.
37998
37999         * m4/autobuild.m4: New file.
38000
38001 2007-04-11  Bruno Haible  <bruno@clisp.org>
38002
38003         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
38004         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
38005         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
38006         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
38007         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38008         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38009         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38010         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38011         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38012         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38013         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
38014         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38015         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38016         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
38017         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38018         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38019         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
38020         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38021         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38022         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
38023         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38024         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38025         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
38026         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38027         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38028         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
38029         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38030         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38031         Reported by Eric Blake.
38032
38033 2007-04-11  Bruno Haible  <bruno@clisp.org>
38034
38035         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
38036
38037 2007-04-10  Bruno Haible  <bruno@clisp.org>
38038
38039         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
38040         for NaN and Infinity. Needed on FreeBSD 6.1.
38041         * tests/test-vasnprintf-posix.c (test_function): Undo last change
38042         regarding results for "%010a" of Infinity and NaN.
38043         * tests/test-vasprintf-posix.c (test_function): Likewise.
38044         * tests/test-snprintf-posix.h (test_function): Likewise.
38045         * tests/test-sprintf-posix.h (test_function): Likewise.
38046         * tests/test-fprintf-posix.h (test_function): Likewise.
38047         * tests/test-printf-posix.h (test_function): Likewise.
38048         * tests/test-fprintf-posix.out: Likewise.
38049
38050 2007-04-10  Bruno Haible  <bruno@clisp.org>
38051
38052         * modules/locale-tests: New file.
38053         * tests/test-locale.c: New file.
38054
38055         * modules/locale: New file.
38056         * lib/locale_.h: New file.
38057         * m4/locale_h.m4: New file.
38058
38059 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
38060             Bruno Haible  <bruno@clisp.org>
38061
38062         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
38063         be determined, test for availability of the copysignf, copysign,
38064         copysignl functions.
38065         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
38066         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
38067         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
38068
38069 2007-04-09  Eric Blake  <ebb9@byu.net>
38070
38071         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
38072         * modules/stdio (Makefile.am): Support fflush.
38073         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38074         * modules/fflush: New file.
38075         * lib/fflush.c: Likewise.
38076         * m4/fflush.m4: Likewise.
38077         * modules/fflush-tests: New test.
38078         * tests/test-fflush.c: Likewise.
38079         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
38080
38081 2007-04-06  Bruno Haible  <bruno@clisp.org>
38082
38083         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
38084         (VASNPRINTF): Use signbit for faster determination whether to print a
38085         minus sign.
38086         * modules/vasnprintf (Files): Remove lib/float+.h.
38087         * modules/fprintf-posix (Depends-on): Add signbit.
38088         * modules/snprintf-posix (Depends-on): Likewise.
38089         * modules/sprintf-posix (Depends-on): Likewise.
38090         * modules/vasnprintf-posix (Depends-on): Likewise.
38091         * modules/vasprintf-posix (Depends-on): Likewise.
38092         * modules/vfprintf-posix (Depends-on): Likewise.
38093         * modules/vsnprintf-posix (Depends-on): Likewise.
38094         * modules/vsprintf-posix (Depends-on): Likewise.
38095
38096 2007-04-06  Bruno Haible  <bruno@clisp.org>
38097
38098         * tests/test-frexp.c (main): Test also the sign bit of zero results.
38099         * tests/test-frexpl.c (main): Likewise.
38100         * tests/test-ldexpl.c (main): Likewise.
38101         * modules/frexp-tests (Depends-on): Add signbit.
38102         * modules/frexpl-tests (Depdends-on): Likewise.
38103         * modules/ldexpl-tests (Depdends-on): Likewise.
38104
38105 2007-04-06  Bruno Haible  <bruno@clisp.org>
38106
38107         * modules/signbit-tests: New file.
38108         * tests/test-signbit.c: New file.
38109
38110         * modules/signbit: New file.
38111         * lib/signbitf.c: New file.
38112         * lib/signbitd.c: New file.
38113         * lib/signbitl.c: New file.
38114         * m4/signbit.m4: New file.
38115         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
38116         (signbit): New macro.
38117         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
38118         REPLACE_SIGNBIT.
38119         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
38120         REPLACE_FREXPL into math.h.
38121
38122 2007-04-06  Bruno Haible  <bruno@clisp.org>
38123
38124         * modules/isnanf-nolibm-tests: New file.
38125         * tests/test-isnanf.c: New file.
38126
38127         * modules/isnanf-nolibm: New file.
38128         * lib/isnanf.h: New file.
38129         * lib/isnanf.c: New file.
38130         * lib/isnan.c: Consider the USE_FLOAT macro.
38131         * m4/isnanf.m4: New file.
38132
38133 2007-04-06  Bruno Haible  <bruno@clisp.org>
38134
38135         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
38136         (Link): New section.
38137
38138         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
38139
38140 2007-04-06  Bruno Haible  <bruno@clisp.org>
38141
38142         Assume the 'long double' type.
38143         * m4/longdouble.m4: Remove file.
38144         * config/srclist.txt: Don't mention longdouble.m4.
38145         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
38146         * lib/float+.h: Likewise.
38147         * lib/frexp.c: Likewise.
38148         * lib/printf-args.h: Likewise.
38149         * lib/printf-args.c: Likewise.
38150         * lib/printf-frexp.c: Likewise.
38151         * lib/printf-parse.c: Likewise.
38152         * lib/vasnprintf.c: Likewise.
38153         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
38154         * m4/intl.m4: Likewise.
38155         * m4/isnanl.m4: Likewise.
38156         * m4/printf.m4: Likewise.
38157         * m4/printf-frexpl.m4: Likewise.
38158         * m4/vasnprintf.m4: Likewise.
38159         * modules/allocsa (Files): Remove m4/longdouble.m4.
38160         * modules/gettext (Files): Likewise.
38161         * modules/relocatable-prog-wrapper (Files): Likewise.
38162         * modules/vasnprintf (Files): Likewise.
38163         * modules/isnanl (Files): Likewise.
38164         (Include): Simplify.
38165         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
38166         (Include): Simplify.
38167         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
38168         (Include): Simplify.
38169         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
38170         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38171         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
38172         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38173         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
38174         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38175         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
38176         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38177         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
38178         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38179         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
38180         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38181         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
38182         * tests/test-isnanl.c: Likewise.
38183         * tests/test-snprintf-posix.h: Likewise.
38184         * tests/test-sprintf-posix.h: Likewise.
38185         * tests/test-vasnprintf-posix.c: Likewise.
38186         * tests/test-vasnprintf-posix2.c: Likewise.
38187         * tests/test-vasprintf-posix.c: Likewise.
38188
38189 2007-04-06  Bruno Haible  <bruno@clisp.org>
38190
38191         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
38192         * lib/math_.h [__DECC]: Include the overridden include file through
38193         #include_next, outside the double-inclusion guard.
38194         * lib/stdio_.h [__DECC]: Likewise.
38195         * lib/stdlib_.h [__DECC]: Likewise.
38196         * lib/string_.h [__DECC]: Likewise.
38197         * lib/time_.h [__DECC]: Likewise.
38198         * lib/wchar_.h [__DECC]: Likewise.
38199         * lib/wctype_.h [__DECC]: Likewise.
38200         * lib/inttypes_.h [__DECC]: Likewise.
38201         Reported by Albert Chin <china@thewrittenword.com> in
38202         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
38203
38204 2007-04-04  Eric Blake  <ebb9@byu.net>
38205
38206         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
38207         1.5.x.
38208
38209 2007-04-04  Bruno Haible  <bruno@clisp.org>
38210
38211         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
38212         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
38213
38214 2007-04-04  Bruno Haible  <bruno@clisp.org>
38215
38216         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
38217         results for "%010a" of Infinity and NaN.
38218         * tests/test-vasprintf-posix.c (test_function): Likewise.
38219         * tests/test-snprintf-posix.h (test_function): Likewise.
38220         * tests/test-sprintf-posix.h (test_function): Likewise.
38221         * tests/test-fprintf-posix.h (test_function): Remove these tests.
38222         * tests/test-printf-posix.h (test_function): Likewise.
38223         * tests/test-fprintf-posix.out: Update.
38224         Needed for FreeBSD 6.1.
38225
38226 2007-04-04  Bruno Haible  <bruno@clisp.org>
38227
38228         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
38229         directly used by the gnulib modules nor by gnulib-tool.
38230
38231 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
38232
38233         * DEPENDENCIES: Give overall description of version dependency
38234         desirability.  Use more-typical names for apps.
38235         Add shell, coreutils, diffutils, grep, tar, gzip.
38236
38237 2007-04-04  Simon Josefsson  <simon@josefsson.org>
38238
38239         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
38240
38241 2007-04-04  Karl Berry  <karl@gnu.org>
38242
38243         * MODULES.html.sh (func_module): missing '.
38244
38245 2007-04-03  Bruno Haible  <bruno@clisp.org>
38246
38247         * modules/argmatch-tests (Makefile.am): New variable
38248         test_argmatch_LDADD.
38249         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
38250         * modules/array-list-tests (Makefile.am): New variable
38251         test_array_list_LDADD.
38252         * modules/array-oset-tests (Makefile.am): New variable
38253         test_array_oset_LDADD.
38254         * modules/avltree-list-tests (Makefile.am): New variable
38255         test_avltree_list_LDADD.
38256         * modules/avltree-oset-tests (Makefile.am): New variable
38257         test_avltree_oset_LDADD.
38258         * modules/avltreehash-list-tests (Makefile.am): New variable
38259         test_avltreehash_list_LDADD.
38260         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
38261         test_canonicalize_lgpl_LDADD.
38262         * modules/carray-list-tests (Makefile.am): New variable
38263         test_carray_list_LDADD.
38264         * modules/dirname-tests (Makefile.am): New variable
38265         test_dirname_LDADD.
38266         * modules/linked-list-tests (Makefile.am): New variable
38267         test_linked_list_LDADD.
38268         * modules/linkedhash-list-tests (Makefile.am): New variable
38269         test_linkedhash_list_LDADD.
38270         * modules/rbtree-list-tests (Makefile.am): New variable
38271         test_rbtree_list_LDADD.
38272         * modules/rbtree-oset-tests (Makefile.am): New variable
38273         test_rbtree_oset_LDADD.
38274         * modules/rbtreehash-list-tests (Makefile.am): New variable
38275         test_rbtreehash_list_LDADD.
38276         * modules/xvasprintf-tests (Makefile.am): New variable
38277         test_xvasprintf_LDADD.
38278         Reported by Eric Blake.
38279
38280 2007-04-03  Eric Blake  <ebb9@byu.net>
38281
38282         * DEPENDENCIES: Weaken m4 requirements.
38283
38284 2007-04-03  Bruno Haible  <bruno@clisp.org>
38285
38286         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
38287         * modules/isnanl-tests (configure.ac): Likewise.
38288
38289 2007-04-03  Ben Pfaff  <blp@gnu.org>
38290
38291         * modules/iconv_open: Add $(srcdir)/ to source directory
38292         references in Makefile fragments that call gperf, to fix VPATH
38293         builds.
38294
38295 2007-04-03  Bruno Haible  <bruno@clisp.org>
38296
38297         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
38298         * lib/ldexpl.c: Undo last change.
38299
38300 2007-04-03  Bruno Haible  <bruno@clisp.org>
38301
38302         * modules/printf-frexpl (Depends-on): Undo last change.
38303         (Files): Add m4/ldexpl.m4.
38304
38305 2007-04-03  Bruno Haible  <bruno@clisp.org>
38306
38307         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
38308         * modules/isnanl (Link): New section.
38309
38310         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
38311         * modules/frexp (Link): New section.
38312
38313         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
38314         * modules/frexpl (Link): New section.
38315
38316         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
38317         * modules/ldexpl (Link): New section.
38318
38319 2007-04-03  Bruno Haible  <bruno@clisp.org>
38320
38321         * modules/TEMPLATE-EXTENDED: New file.
38322         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
38323
38324 2007-04-03  Bruno Haible  <bruno@clisp.org>
38325
38326         * DEPENDENCIES: New file.
38327         Suggested by Simon Josefsson.
38328
38329 2007-04-03  Bruno Haible  <bruno@clisp.org>
38330
38331         * doc/gnulib.texi: Escape @.
38332
38333 2007-04-03  James Youngman  <jay@gnu.org>
38334         and Paul Eggert  <eggert@cs.ucla.edu>
38335
38336         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
38337         birthtime on all systems that have birthtime, not just those which
38338         use st_birthtimensec rather than st_birthtim.  Putting zero in
38339         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
38340         that the birth time is not available for files on an NFS mount.
38341
38342 2007-04-03  Simon Josefsson  <simon@josefsson.org>
38343
38344         * modules/memxor: Move back from crypto/, suggested by Bruno.
38345         * modules/crypto/hmac-sha1: Fix memxor dependency.
38346
38347         * modules/crypto/gc: Moved from ../.
38348
38349 2007-04-02  Eric Blake  <ebb9@byu.net>
38350
38351         * lib/ldexpl.c (includes): Avoid libm.
38352
38353         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
38354
38355 2007-04-02  Bruno Haible  <bruno@clisp.org>
38356
38357         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
38358         on IRIX.
38359
38360 2007-04-02  Bruno Haible  <bruno@clisp.org>
38361
38362         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
38363         x86 or x86_64 platforms running MacOS X.
38364         Reported by Ryan Schmidt <@ryandesign.com>.
38365
38366 2007-04-02  Bruno Haible  <bruno@clisp.org>
38367
38368         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
38369         i386.
38370
38371 2007-04-01  Simon Josefsson  <simon@josefsson.org>
38372
38373         * modules/crypto/arcfour: Moved from ../.
38374         * modules/crypto/arcfour-tests: Moved from ../.
38375         * modules/crypto/arctwo: Moved from ../.
38376         * modules/crypto/arctwo-tests: Moved from ../.
38377         * modules/crypto/des: Moved from ../.
38378         * modules/crypto/des-tests: Moved from ../.
38379         * modules/crypto/gc-arcfour: Moved from ../.
38380         * modules/crypto/gc-arcfour-tests: Moved from ../.
38381         * modules/crypto/gc-arctwo: Moved from ../.
38382         * modules/crypto/gc-arctwo-tests: Moved from ../.
38383         * modules/crypto/gc-des: Moved from ../.
38384         * modules/crypto/gc-des-tests: Moved from ../.
38385         * modules/crypto/gc-hmac-md5: Moved from ../.
38386         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
38387         * modules/crypto/gc-hmac-sha1: Moved from ../.
38388         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
38389         * modules/crypto/gc-md2: Moved from ../.
38390         * modules/crypto/gc-md2-tests: Moved from ../.
38391         * modules/crypto/gc-md4: Moved from ../.
38392         * modules/crypto/gc-md4-tests: Moved from ../.
38393         * modules/crypto/gc-md5: Moved from ../.
38394         * modules/crypto/gc-md5-tests: Moved from ../.
38395         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
38396         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
38397         * modules/crypto/gc-random: Moved from ../.
38398         * modules/crypto/gc-rijndael: Moved from ../.
38399         * modules/crypto/gc-rijndael-tests: Moved from ../.
38400         * modules/crypto/gc-sha1: Moved from ../.
38401         * modules/crypto/gc-sha1-tests: Moved from ../.
38402         * modules/crypto/gc-tests: Moved from ../.
38403         * modules/crypto/hmac-md5: Moved from ../.
38404         * modules/crypto/hmac-md5-tests: Moved from ../.
38405         * modules/crypto/hmac-sha1: Moved from ../.
38406         * modules/crypto/hmac-sha1-tests: Moved from ../.
38407         * modules/crypto/md2: Moved from ../.
38408         * modules/crypto/md2-tests: Moved from ../.
38409         * modules/crypto/md4: Moved from ../.
38410         * modules/crypto/md4-tests: Moved from ../.
38411         * modules/crypto/md5: Moved from ../.
38412         * modules/crypto/md5-tests: Moved from ../.
38413         * modules/crypto/memxor: Moved from ../.
38414         * modules/crypto/rijndael: Moved from ../.
38415         * modules/crypto/rijndael-tests: Moved from ../.
38416         * modules/crypto/sha1: Moved from ../.
38417
38418 2007-03-30  James Youngman  <jay@gnu.org>
38419
38420         * tests/test-stat-time.c (prepare_test): use chmod() rather than
38421         rename() to change the ctime of a file (because ctime is unaffected
38422         by rename on jfs2 on AIX 5.1).
38423         (main): Start by doing cleanup, in case a previous run failed leaving
38424         test files behind.
38425
38426 2007-03-31  Bruno Haible  <bruno@clisp.org>
38427
38428         Support old proprietary implementations of iconv.
38429         * modules/iconv_open: New file.
38430         * lib/iconv_.h: New file.
38431         * m4/iconv_h.m4: New file.
38432         * lib/iconv_open.c: New file.
38433         * lib/iconv_open-aix.gperf: New file.
38434         * lib/iconv_open-hpux.gperf: New file.
38435         * lib/iconv_open-irix.gperf: New file.
38436         * lib/iconv_open-osf.gperf: New file.
38437         * m4/iconv_open.m4: New file.
38438         * modules/linebreak (Depends-on): Add iconv_open.
38439         * modules/striconv (Depends-on): Likewise.
38440         * modules/striconveh (Depends-on): Likewise.
38441         * modules/unicodeio (Depends-on): Likewise.
38442         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
38443         (iconv_t)(-1).
38444         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
38445         conversion if cd is (iconv_t)(-1).
38446         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
38447         is not possible.
38448
38449 2007-03-31  Bruno Haible  <bruno@clisp.org>
38450
38451         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
38452         work on Solaris either. Protect also second use of "autodetect_jp".
38453
38454 2007-03-31  Bruno Haible  <bruno@clisp.org>
38455
38456         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
38457         the function is not present.
38458
38459 2007-03-31  Bruno Haible  <bruno@clisp.org>
38460
38461         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
38462         the function is not present.
38463
38464 2007-03-31  Bruno Haible  <bruno@clisp.org>
38465
38466         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
38467         a bug in HP-UX iconv_open().
38468
38469 2007-03-31  Bruno Haible  <bruno@clisp.org>
38470
38471         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
38472         (Mathematics <math.h>): New section, add fpieee.
38473         (Input/output <stdio.h>): Add fseterr.
38474         (Mathematics <math.h>): New section, add printf-frexp.
38475         (Container data structures): Add sublist.
38476         (Core language properties): Add fpucw, inline.
38477         (Functions for greatest-width integer types <inttypes.h>): Add
38478         imaxabs, imaxdiv, inttypes.
38479         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
38480         isnanl-nolibm, ldexp.
38481         (Mathematics <math.h>): New section, add printf-frexpl.
38482         (Support for systems lacking POSIX:2001): Add fprintf-posix,
38483         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
38484         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
38485         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
38486         (Unicode string functions): Add unistr/u*-mbtoucr.
38487         (Java): Add javacomp-script, javaexec-script.
38488         (C#): Add csharpcomp-script, csharpexec-script.
38489         (Support for building libraries and executables): Add havelib,
38490         relocatable-*.
38491         (Support for maintaining and releasing projects): Renamed from
38492         'Support for maintaining and release projects'. Add announce-gen.
38493
38494 2007-03-31  Bruno Haible  <bruno@clisp.org>
38495
38496         * README: Talk primarily about git.
38497         (git and CVS): Renamed from CVS.
38498         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
38499         gnulib is available through git.
38500         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
38501
38502 2007-03-30  Bruno Haible  <bruno@clisp.org>
38503
38504         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
38505         * lib/poll_.h: Likewise.
38506         * lib/stat_.h: Likewise.
38507         * lib/sys_time_.h: Likewise.
38508         * lib/sysexit_.h: Likewise.
38509         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
38510         * lib/stdbool_.h: Likewise.
38511         * lib/byteswap_.h: Add double-inclusion guard.
38512
38513 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
38514
38515         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
38516
38517 2007-03-30  Karl Berry  <karl@gnu.org>
38518
38519         * config/srclist-update: double space after USA in the license
38520         substitution, since that's how it's usually (?) written.
38521
38522 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
38523
38524         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
38525         reported by Bruno Haible.
38526
38527 2007-03-29  Bruno Haible  <bruno@clisp.org>
38528
38529         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
38530         a bug in AIX iconv().
38531
38532 2007-03-29  Bruno Haible  <bruno@clisp.org>
38533
38534         * modules/ldexpl-tests: New file.
38535         * tests/test-ldexpl.c: New file.
38536
38537 2007-03-29  Bruno Haible  <bruno@clisp.org>
38538
38539         * lib/ldexpl.c: Include fpucw.h.
38540         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
38541         multiplication.
38542         * modules/ldexpl (Depends-on): Add fpucw.
38543
38544 2007-03-29  Bruno Haible  <bruno@clisp.org>
38545
38546         * modules/ldexpl: New file.
38547         * m4/ldexpl.m4: New file.
38548         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
38549         set.
38550         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
38551         REPLACE_LDEXPL.
38552         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
38553         REPLACE_LDEXPL.
38554         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
38555         gl_FUNC_LDEXPL_WORKS.
38556         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
38557         * modules/mathl (Files): Remove lib/ldexpl.c.
38558         (Depends-on): Add ldexpl.
38559
38560 2007-03-29  Bruno Haible  <bruno@clisp.org>
38561
38562         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
38563
38564 2007-03-29  Bruno Haible  <bruno@clisp.org>
38565
38566         * tests/test-striconveh.c (main): Don't assume that a direct conversion
38567         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
38568         and possibly also HP-UX.
38569         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
38570         work on AIX, IRIX, HP-UX, OSF/1.
38571         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
38572         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
38573         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
38574         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
38575         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
38576         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
38577
38578 2007-03-29  Bruno Haible  <bruno@clisp.org>
38579
38580         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
38581
38582 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
38583
38584         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
38585         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
38586
38587 2007-03-29  Eric Blake  <ebb9@byu.net>
38588
38589         * lib/acl-internal.h: Remove redundant include.
38590         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
38591         Cygwin when a file is locked.
38592
38593 2007-03-29  Bruno Haible  <bruno@clisp.org>
38594
38595         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
38596         file.
38597         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
38598
38599 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
38600
38601         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
38602         try to remove a parent directory if the child couldn't be removed
38603         (except for the first rmdir, which could fail because the child
38604         doesn't exist).  Problem reported by Jeff Blaine in
38605         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
38606
38607 2007-03-28  Bruno Haible  <bruno@clisp.org>
38608
38609         * lib/striconveh.c (utf8conv_carefully): New function.
38610         (mem_cd_iconveh_internal): Invoke it.
38611
38612 2007-03-28  Bruno Haible  <bruno@clisp.org>
38613
38614         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
38615         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
38616         input.
38617         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
38618         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
38619         unistr/u8-uctomb.
38620
38621 2007-03-28  Bruno Haible  <bruno@clisp.org>
38622
38623         * modules/unistr/u8-mbtoucr: New file.
38624         * lib/unistr/u8-mbtoucr.c: New file.
38625         * modules/unistr/u16-mbtoucr: New file.
38626         * lib/unistr/u16-mbtoucr.c: New file.
38627         * modules/unistr/u16-mbtoucr: New file.
38628         * lib/unistr/u16-mbtoucr.c: New file.
38629         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
38630
38631 2007-03-27  Simon Josefsson  <simon@josefsson.org>
38632             Bruno Haible  <bruno@clisp.org>
38633
38634         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
38635         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
38636         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
38637
38638         * m4/stdio_h.m4: Add stubs for vasprintf too.
38639
38640         * modules/stdio: Support vasprintf in sed command.
38641
38642         * modules/vasprintf: Depend on stdio for prototypes.  Remove
38643         vasprintf.h.  Add stdio module indicator.
38644
38645         * lib/stdio_.h: Declare asprintf and vasprintf, based on
38646         vasprintf.h.
38647
38648         * lib/vasprintf.h: File removed.
38649
38650         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
38651         * lib/vasprintf.c: Ditto.
38652         * lib/xvasprintf.c: Ditto.
38653         * tests/test-vasprintf-posix.c: Ditto.
38654         * tests/test-vasprintf.c: Ditto.
38655
38656 2007-03-27  Bruno Haible  <bruno@clisp.org>
38657
38658         Make vasnprintf multithread-safe.
38659         * lib/vasnprintf.c (decimal_point_char): New function.
38660         (VASNPRINTF): Use it.
38661         Suggested by Simon Josefsson.
38662
38663 2007-03-27  Eric Blake  <ebb9@byu.net>
38664
38665         Support sub-second birthtime on cygwin.
38666         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
38667         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
38668         (get_stat_birthtime): Also work with st_birthtim.
38669
38670 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
38671
38672         * lib/stat-time.h (USE_BIRTHTIME): Remove.
38673         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
38674         (get_stat_birthtime_ns): Do not try to use "spare" fields.
38675         (get_stat_birthtime_ns): Simplify compile-time tests.
38676         (get_stat_birthtime): Change the API to look like
38677         get_stat_mtime etc., except return a negative tv_nsec on error.
38678         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
38679         Don't check for "spare" fields.
38680         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
38681         or for struct stat.st_birthtime, as these tests aren't used.
38682         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
38683
38684 2007-03-27  Bruno Haible  <bruno@clisp.org>
38685
38686         * lib/stat-time.h: Include <sys/stat.h>.
38687
38688 2007-03-27  James Youngman  <jay@gnu.org>
38689
38690         * lib/stat-time.h (get_stat_birthtime): New function for
38691           retrieving st_birthtime as provided by UFS2 (hence *BSD).
38692         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
38693           and its variants.
38694         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
38695         * modules/stat-time-test: New file.
38696         * tests/test-stat-time.c: New test, devised by Bruno Haible.
38697
38698 2007-03-26  Bruno Haible  <bruno@clisp.org>
38699
38700         Better support of signalling NaNs.
38701         * lib/atanl.c: Include isnanl.h.
38702         (atanl): Perform test for NaN at the beginning of the function and
38703         through a call to isnanl.
38704         * lib/cosl.c: Include isnanl.h.
38705         (cosl): Perform test for NaN at the beginning of the function and
38706         through a call to isnanl.
38707         * lib/ldexpl.c: Include isnanl.h.
38708         (ldexpl): Perform test for NaN through a call to isnanl.
38709         * lib/logl.c: Include isnanl.h.
38710         (logl): Perform test for NaN at the beginning of the function and
38711         through a call to isnanl.
38712         * lib/sinl.c: Include isnanl.h.
38713         (sinl): Perform test for NaN at the beginning of the function and
38714         through a call to isnanl.
38715         * lib/sqrtl.c: Include isnanl.h.
38716         (sqrtl): Perform test for NaN at the beginning of the function and
38717         through a call to isnanl.
38718         * lib/tanl.c: Include isnanl.h.
38719         (tanl): Perform test for NaN at the beginning of the function and
38720         through a call to isnanl.
38721         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
38722         * modules/mathl (Depends-on): Add isnanl.
38723
38724 2007-03-26  Eric Blake  <ebb9@byu.net>
38725
38726         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
38727         regression in logic sense of previous patch.
38728
38729 2007-03-26  Bruno Haible  <bruno@clisp.org>
38730
38731         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
38732         unportable shell command "if ! ...".
38733         Reported by Ralf Wildenhues.
38734
38735 2007-03-25  Bruno Haible  <bruno@clisp.org>
38736
38737         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
38738         <sysexits.h> file, and only add EX_CONFIG.
38739         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
38740         absolute file name and whether it is sufficient. Substitute also
38741         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
38742         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
38743         ABSOLUTE_SYSEXITS_H into sysexits.h.
38744
38745 2007-03-25  Bruno Haible  <bruno@clisp.org>
38746
38747         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
38748         hints is NULL.
38749
38750 2007-03-25  Bruno Haible  <bruno@clisp.org>
38751
38752         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
38753         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
38754
38755 2007-03-25  Bruno Haible  <bruno@clisp.org>
38756
38757         * lib/vasnprintf.c: Include langinfo.h.
38758         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
38759         multithread-safe.
38760         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
38761         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
38762         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38763         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38764         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38765         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38766         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38767         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
38768         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38769         Reported by Simon Josefsson.
38770
38771 2007-03-25  Bruno Haible  <bruno@clisp.org>
38772
38773         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
38774         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
38775         * modules/vasnprintf (Depends-on): Add stdint.
38776
38777 2007-03-25  Bruno Haible  <bruno@clisp.org>
38778
38779         * modules/fpieee: New file.
38780         * m4/fpieee.m4: New file.
38781         * modules/isnan-nolibm (Depends-on): Add fpieee.
38782         * modules/isnanl-nolibm (Depends-on): Add fpieee.
38783         * modules/isnanl (Depends-on): Add fpieee.
38784
38785 2007-03-25  Bruno Haible  <bruno@clisp.org>
38786
38787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
38788
38789 2007-03-25  Bruno Haible  <bruno@clisp.org>
38790
38791         Avoid test failures on IRIX 6.5.
38792         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
38793         (main): Use it.
38794         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
38795         macros.
38796         (main): Use them.
38797
38798 2007-03-25  Bruno Haible  <bruno@clisp.org>
38799
38800         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
38801         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
38802         exists but doesn't work.
38803         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
38804         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
38805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
38806         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
38807
38808 2007-03-25  Bruno Haible  <bruno@clisp.org>
38809
38810         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
38811         returns inf. Needed on IRIX 6.5.
38812
38813 2007-03-25  Bruno Haible  <bruno@clisp.org>
38814
38815         * tests/test-frexpl.c: Include isnanl-nolibm.h.
38816         (main): Use isnanl instead of x != x idiom.
38817         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
38818
38819         * tests/test-frexp.c: Include isnan.h.
38820         (main): Use isnan instead of x != x idiom.
38821         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
38822
38823 2007-03-25  Bruno Haible  <bruno@clisp.org>
38824
38825         * tests/test-frexp.c (NaN): New function/macro.
38826         (main): Use it instead of 0.0 / 0.0.
38827         * tests/test-isnan.c (NaN): New function/macro.
38828         (main): Use it instead of 0.0 / 0.0.
38829         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
38830         (test_function): Use it instead of 0.0 / 0.0.
38831         * tests/test-vasprintf-posix.c (NaN): New function/macro.
38832         (test_function): Use it instead of 0.0 / 0.0.
38833         * tests/test-snprintf-posix.h (NaN): New function/macro.
38834         (test_function): Use it instead of 0.0 / 0.0.
38835         * tests/test-sprintf-posix.h (NaN): New function/macro.
38836         (test_function): Use it instead of 0.0 / 0.0.
38837         * tests/test-fprintf-posix.h (NaN): New function/macro.
38838         (test_function): Use it instead of 0.0 / 0.0.
38839         * tests/test-printf-posix.h (NaN): New function/macro.
38840         (test_function): Use it instead of 0.0 / 0.0.
38841
38842         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
38843
38844 2007-03-25  Bruno Haible  <bruno@clisp.org>
38845
38846         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
38847
38848 2007-03-25  Bruno Haible  <bruno@clisp.org>
38849
38850         * lib/regexec.c (merge_state_with_log): Make static.
38851
38852 2007-03-25  Bruno Haible  <bruno@clisp.org>
38853
38854         * lib/trigl.c (kernel_rem_pio2): Make static.
38855
38856 2007-03-25  Bruno Haible  <bruno@clisp.org>
38857
38858         * lib/sincosl.c (sincosl_table): Make static.
38859
38860 2007-03-25  Bruno Haible  <bruno@clisp.org>
38861
38862         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
38863         if the compiler does not support C99.
38864
38865 2007-03-25  Bruno Haible  <bruno@clisp.org>
38866
38867         * modules/time (Makefile.am): Ensure all rule action lines start with a
38868         tab.
38869
38870 2007-03-24  Bruno Haible  <bruno@clisp.org>
38871
38872         * modules/tsearch-tests: New file.
38873         * tests/test-tsearch.sh: New file.
38874         * tests/test-tsearch.c: New file, mostly copied from glibc.
38875
38876         * modules/search-tests: New file.
38877         * tests/test-search.c: New file.
38878
38879         * modules/search: New file.
38880         * lib/search_.h: New file, incorporating lib/tsearch.h.
38881         * m4/search_h.m4: New file.
38882         * lib/tsearch.h: Remove file.
38883         * lib/tsearch.c: Include search.h instead of tsearch.h.
38884         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
38885         HAVE_TSEARCH.
38886         * modules/tsearch (Files): Remove lib/tsearch.h.
38887         (Depends-on): Add search.
38888         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
38889         (Include): Change tsearch.h into search.h.
38890
38891 2007-03-24  Bruno Haible  <bruno@clisp.org>
38892
38893         * modules/fpucw: New file.
38894         * lib/fpucw.h: New file.
38895         * lib/frexp.c: Include fpucw.h.
38896         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
38897         (FUNC): Use them.
38898         * lib/printf-frexp.c: Include fpucw.h.
38899         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
38900         (FUNC): Use them.
38901         * lib/vasnprintf.c: Include fpucw.h.
38902         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
38903         'long double' calculations.
38904         * tests/test-frexpl.c: Include fpucw.h.
38905         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
38906         * tests/test-printf-frexpl.c: Include fpucw.h.
38907         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
38908         * modules/frexpl (Depends-on): Add fpucw.
38909         * modules/printf-frexpl (Depends-on): Likewise.
38910         * modules/fprintf-posix (Depends-on): Likewise.
38911         * modules/snprintf-posix (Depends-on): Likewise.
38912         * modules/sprintf-posix (Depends-on): Likewise.
38913         * modules/vasnprintf-posix (Depends-on): Likewise.
38914         * modules/vasprintf-posix (Depends-on): Likewise.
38915         * modules/vfprintf-posix (Depends-on): Likewise.
38916         * modules/vsnprintf-posix (Depends-on): Likewise.
38917         * modules/vsprintf-posix (Depends-on): Likewise.
38918         * modules/frexpl-tests (Depends-on): Likewise.
38919         * modules/printf-frexpl-tests (Depends-on): Likewise.
38920
38921 2007-03-24  Bruno Haible  <bruno@clisp.org>
38922
38923         * lib/float+.h: New file.
38924         * lib/isnan.c: Include float+.h.
38925         (SIZE): New macro.
38926         (FUNC): Compare only SIZE bytes of the value.
38927         * lib/vasnprintf.c: Include float+.h.
38928         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
38929         SIZEOF_LDBL or SIZEOF_DBL bytes.
38930         * modules/isnan-nolibm (Files): Add lib/float+.h.
38931         * modules/isnanl-nolibm (Files): Add lib/float+.h.
38932         * modules/isnanl (Files): Add lib/float+.h.
38933         * modules/vasnprintf (Files): Add lib/float+.h.
38934
38935 2007-03-24  Bruno Haible  <bruno@clisp.org>
38936
38937         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
38938         include isnanl-nolibm.h.
38939
38940 2007-03-24  Bruno Haible  <bruno@clisp.org>
38941
38942         * tests/test-read-file.c (main): Don't produce spurious output for
38943         expected situations. Make the test fail if it encountered unexpected
38944         results.
38945
38946 2007-03-24  Bruno Haible  <bruno@clisp.org>
38947
38948         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
38949         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
38950
38951 2007-03-24  Bruno Haible  <bruno@clisp.org>
38952
38953         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
38954
38955 2007-03-24  Bruno Haible  <bruno@clisp.org>
38956
38957         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
38958         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
38959
38960         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
38961         * modules/utf8-ucs4: Turn into a symbolic link to module
38962         unistr/u8-mbtouc.
38963
38964         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
38965         utf8-ucs4-unsafe.
38966         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
38967         unistr/u8-mbtouc-unsafe.
38968
38969         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
38970         * modules/utf16-ucs4: Turn into a symbolic link to module
38971         unistr/u16-mbtouc.
38972
38973         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
38974         utf16-ucs4-unsafe.
38975         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
38976         unistr/u16-mbtouc-unsafe.
38977
38978         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
38979         * modules/ucs4-utf8: Turn into a symbolic link to module
38980         unistr/u8-ubtomb.
38981
38982         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
38983         * modules/ucs4-utf16: Turn into a symbolic link to module
38984         unistr/u16-ubtomb.
38985
38986 2007-03-24  Bruno Haible  <bruno@clisp.org>
38987
38988         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
38989         Enable the function only if HAVE_INLINE.
38990         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
38991         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
38992         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
38993         Enable the function only if HAVE_INLINE.
38994         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
38995         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
38996         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
38997         Enable the function only if HAVE_INLINE.
38998         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
38999         Enable the function only if HAVE_INLINE.
39000         * modules/utf8-ucs4: Update.
39001         * modules/utf8-ucs4-unsafe: Update.
39002         * modules/utf16-ucs4: Update.
39003         * modules/utf16-ucs4-unsafe: Update.
39004         * modules/ucs4-utf8: Update.
39005         * modules/ucs4-utf16: Update.
39006
39007 2007-03-24  Bruno Haible  <bruno@clisp.org>
39008
39009         * lib/utf8-ucs4.h: Remove file.
39010         * lib/utf8-ucs4-unsafe.h: Remove file.
39011         * lib/utf16-ucs4.h: Remove file.
39012         * lib/utf16-ucs4-unsafe.h: Remove file.
39013         * lib/ucs4-utf8.h: Remove file.
39014         * lib/ucs4-utf16.h: Remove file.
39015         * lib/unistr.h: Include their previous contents.
39016         * m4/utf-ucs4.m4: Remove file.
39017         * m4/ucs4-utf.m4: Remove file.
39018         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
39019         (Depends-on): Add unistr/base.
39020         (configure.ac): Remove gl_UTF_UCS4.
39021         (Makefile.am): Update.
39022         (Include): Change to unistr.h.
39023         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
39024         (Depends-on): Add unistr/base.
39025         (configure.ac): Remove gl_UTF_UCS4.
39026         (Makefile.am): Update.
39027         (Include): Change to unistr.h.
39028         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
39029         (Depends-on): Add unistr/base.
39030         (configure.ac): Remove gl_UTF_UCS4.
39031         (Makefile.am): Update.
39032         (Include): Change to unistr.h.
39033         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
39034         (Depends-on): Add unistr/base.
39035         (configure.ac): Remove gl_UTF_UCS4.
39036         (Makefile.am): Update.
39037         (Include): Change to unistr.h.
39038         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
39039         (Depends-on): Add unistr/base.
39040         (configure.ac): Remove gl_UCS4_UTF.
39041         (Makefile.am): Update.
39042         (Include): Change to unistr.h.
39043         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
39044         (Depends-on): Add unistr/base.
39045         (configure.ac): Remove gl_UCS4_UTF.
39046         (Makefile.am): Update.
39047         (Include): Change to unistr.h.
39048         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
39049         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
39050         utf8-ucs4-unsafe.h.
39051         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
39052         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
39053         utf16-ucs4-unsafe.h.
39054         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
39055         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
39056         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
39057         * lib/unistr/u8-strchr.c: Likewise.
39058         * lib/unistr/u8-strrchr.c: Likewise.
39059         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
39060         * lib/unistr/u16-strchr.c: Likewise.
39061         * lib/unistr/u16-strrchr.c: Likewise.
39062         * lib/striconveh.c: Update.
39063         * lib/linebreak.c: Update.
39064
39065 2007-03-24  Bruno Haible  <bruno@clisp.org>
39066
39067         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
39068         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
39069
39070 2007-03-22  Bruno Haible  <bruno@clisp.org>
39071
39072         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
39073
39074 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
39075
39076         * MODULES.html.sh (File system functions): New module write-any-file.
39077         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
39078         * m4/write-any-file.m4: New files.
39079
39080 2007-03-23  Eric Blake  <ebb9@byu.net>
39081
39082         * gnulib-tool: Rearrange space-tab sequences, since some editors
39083         like to eat them.
39084
39085 2007-03-23  Eric Blake  <ebb9@byu.net>
39086
39087         * lib/version-etc.c (version_etc_va): Update license wording to
39088         be more concise.  Recommended by Richard Stallman.
39089
39090 2007-03-22  Bruno Haible  <bruno@clisp.org>
39091
39092         * lib/poll.c (MSG_PEEK): New fallback definition.
39093
39094 2007-03-22  Bruno Haible  <bruno@clisp.org>
39095
39096         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
39097         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
39098         (main): Update.
39099         Fixes a compilation error on BeOS.
39100
39101 2007-03-22  Bruno Haible  <bruno@clisp.org>
39102
39103         * modules/frexpl-tests: New file.
39104         * tests/test-frexpl.c: New file.
39105
39106         * modules/frexpl: New file.
39107         * m4/frexpl.m4: New file.
39108         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
39109         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
39110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
39111         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
39112         (Depends-on): Add frexpl. Remove isnanl-nolibm.
39113         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
39114
39115 2007-03-22  Bruno Haible  <bruno@clisp.org>
39116
39117         * lib/frexpl.c: Share code with lib/frexp.c.
39118         * modules/mathl (Files): Add lib/frexp.c.
39119         (Depends-on): Add isnanl-nolibm.
39120
39121 2007-03-22  Bruno Haible  <bruno@clisp.org>
39122
39123         * modules/printf-frexp (Files): Add m4/frexp.m4.
39124         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
39125         only if the found frexp function actually works.
39126
39127 2007-03-22  Bruno Haible  <bruno@clisp.org>
39128
39129         * lib/frexp.c: Remove older implementation that uses divisions.
39130
39131 2007-03-21  Bruno Haible  <bruno@clisp.org>
39132
39133         * modules/frexp-tests: New file.
39134         * tests/test-frexp.c: New file.
39135
39136         * modules/frexp: New file.
39137         * lib/frexp.c: New file.
39138         * m4/frexp.m4: New file.
39139         * lib/math_.h (frexp): New declaration.
39140         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
39141         REPLACE_FREXP.
39142         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
39143
39144 2007-03-21  Bruno Haible  <bruno@clisp.org>
39145
39146         * modules/isnanl-tests: New file.
39147         * tests/test-isnanl.c: New file.
39148
39149         * modules/isnanl: New file.
39150         * lib/isnanl.h: New file.
39151         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
39152         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
39153         gl_FUNC_ISNANL_WORKS.
39154         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
39155         New macros.
39156
39157 2007-03-21  Bruno Haible  <bruno@clisp.org>
39158
39159         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
39160         lib/isnanl.h.
39161         (Include): Update.
39162         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
39163         * lib/vasnprintf.c: Update.
39164         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
39165         tests/test-isnanl.h, remove tests/test-isnanl.c.
39166         (Makefile.am): Update.
39167         * tests/test-isnanl-nolibm.c: New file.
39168         * tests/test-isnanl.h: New file.
39169         * tests/test-isnanl.c: Remove file.
39170
39171 2007-03-21  Jim Meyering  <jim@meyering.net>
39172
39173         When trying to open ".", treat ESTALE like EACCES.
39174         * lib/savewd.c (savewd_save): Resort to forking not just upon
39175         failure with EACCES, but also when errno is ESTALE.
39176
39177 2007-03-20  Bruno Haible  <bruno@clisp.org>
39178
39179         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
39180         Needed on AIX 5.1. Reported by Matthew Woehlke.
39181
39182 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39183
39184         Suggestions by Bruno Haible:
39185         * lib/acl-internal.h: Include "gettext.h" rather than rolling
39186         our own.
39187         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
39188         * modules/acl (Depends-on): Add gettext.
39189
39190 2007-03-19  Bruno Haible  <bruno@clisp.org>
39191
39192         * modules/iconvme: Remove file.
39193         * lib/iconvme.h: Remove file.
39194         * lib/iconvme.c: Remove file.
39195         * m4/iconvme.m4: Remove file.
39196
39197 2007-03-19  Bruno Haible  <bruno@clisp.org>
39198
39199         * doc/relocatable-maint.texi: Break long shell script line.
39200         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
39201
39202 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39203
39204         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
39205         handle file_has_acl.
39206         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
39207         * lib/acl.c: Move header inclusions and related macro defns into
39208         lib/acl-internal.h.
39209         (S_ISLNK): Remove defn, since that's now done for us.
39210         (file_has_acl): Move to lib/file-has-acl.c.
39211         Call acl_trivial if available.  This is the crucial part of the fix.
39212         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
39213         shared within the library.  Rewrite a bit, partly to make it compatible
39214         with the GNU coding style.
39215         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
39216         Remove unnecessary double-quotes.
39217         Don't test for acl_to_text; the build will catch that.
39218         Replace acl_entries if it doesn't exist and it is needed.
39219         Check for -lsec and acl_trivial (as used on Solaris 10).
39220         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
39221         lib/file-has-acl.c.
39222         (Depends-on): Add sys_stat, for S_ISLNK.
39223
39224 2007-03-19  Ben Pfaff  <blp@gnu.org>
39225
39226         * doc/gnulib.texi: Fix typos.
39227         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
39228
39229 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39230
39231         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
39232         If size is zero here, buf must be zero.
39233
39234 2007-03-19  Simon Josefsson  <simon@josefsson.org>
39235
39236         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
39237         <bruno@clisp.org>.
39238
39239 2007-03-18  Bruno Haible  <bruno@clisp.org>
39240
39241         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
39242         Suggested by Eric Blake.
39243
39244 2007-03-18  Ben Pfaff  <blp@gnu.org>
39245
39246         * doc/relocatable.texi: Recommend using as prefix a directory
39247         that does not exist and will never be created.  Based on
39248         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
39249         and others.
39250
39251 2007-03-17  Bruno Haible  <bruno@clisp.org>
39252
39253         * lib/fchownat.c: Include lchown.h.
39254
39255 2007-03-17  Bruno Haible  <bruno@clisp.org>
39256
39257         Fix endless loop when the given allocated size was > INT_MAX.
39258         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
39259         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
39260         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
39261         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
39262         * lib/sprintf.c (sprintf): Likewise.
39263
39264 2007-03-17  Bruno Haible  <bruno@clisp.org>
39265
39266         * tests/test-argp-2.sh (func_compare): Output a context diff.
39267
39268 2007-03-17  Bruno Haible  <bruno@clisp.org>
39269
39270         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
39271         locale's decimal-point character.
39272
39273 2007-03-17  Bruno Haible  <bruno@clisp.org>
39274
39275         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
39276         before comparing it. Needed because on some platforms (e.g. x86) a
39277         'long double' occupies less bytes than sizeof (long double).
39278
39279 2007-03-17  Bruno Haible  <bruno@clisp.org>
39280
39281         * tests/test-crc.c (main): Make printf statements 64-bit clean.
39282         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
39283         * tests/test-getaddrinfo.c (simple): Likewise.
39284         * tests/test-read-file.c (main): Likewise.
39285
39286 2007-03-17  Bruno Haible  <bruno@clisp.org>
39287
39288         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
39289
39290 2007-03-17  Bruno Haible  <bruno@clisp.org>
39291
39292         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
39293         unused variable.
39294
39295 2007-03-17  Bruno Haible  <bruno@clisp.org>
39296
39297         * tests/test-c-strcasecmp.c: Include c-strcase.h.
39298         * tests/test-c-strncasecmp.c: Likewise.
39299
39300 2007-03-17  Bruno Haible  <bruno@clisp.org>
39301
39302         * modules/stdlib (Depends-on): Add unistd.
39303         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
39304         Needed for MacOS X 10.3.
39305
39306 2007-03-17  Bruno Haible  <bruno@clisp.org>
39307
39308         * lib/unistr/u-strdup.h: Include <stdlib.h>.
39309
39310 2007-03-17  Bruno Haible  <bruno@clisp.org>
39311
39312         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
39313
39314 2007-03-17  Bruno Haible  <bruno@clisp.org>
39315
39316         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
39317         to reflect files copied from gnulib (with or without modifications).
39318         Suggested by Jim Meyering.
39319
39320 2007-03-17  Eric Blake  <ebb9@byu.net>
39321
39322         * NEWS: Document stdlib change from 2007-02-18.
39323
39324 2007-03-17  Jim Meyering  <jim@meyering.net>
39325
39326         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
39327         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
39328         someone uses a name containing shell meta-characters.
39329         Reported by Alfred M. Szmidt.
39330
39331         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
39332
39333 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
39334
39335         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
39336         and copy gettext configuration files only if configure.ac contains
39337         a use of AM_GNU_GETTEXT_VERSION.
39338
39339 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
39340
39341         * build-aux/bootstrap (gnulib_name): New variable.
39342         (gnulib_tool_options): Use it.
39343
39344 2007-03-13  Simon Josefsson  <simon@josefsson.org>
39345
39346         * tests/test-des.c: Use new namespace.
39347
39348 2007-03-15  Bruno Haible  <bruno@clisp.org>
39349
39350         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
39351         Reported by James Youngman <jay@gnu.org>.
39352
39353 2007-03-15  Bruno Haible  <bruno@clisp.org>
39354
39355         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
39356         declared prototype. Needed with cc on OSF/1 5.1.
39357
39358 2007-03-15  Bruno Haible  <bruno@clisp.org>
39359
39360         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
39361         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
39362         (struct gl_list_implementation): Add dispose_fn argument to the
39363         'create_empty', 'create' methods.
39364         (struct gl_list_impl_base): Add field 'dispose_fn'.
39365         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
39366         argument.
39367         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
39368         dispose_fn argument.
39369         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
39370         dispose_fn on the dropped values.
39371         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
39372         dispose_fn argument.
39373         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
39374         dropped values.
39375         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
39376         (gl_tree_remove_node): Call dispose_fn on the dropped value.
39377         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
39378         (gl_tree_remove_node): Call dispose_fn on the dropped value.
39379         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
39380         argument.
39381         (gl_tree_list_free): Call dispose_fn on the dropped values.
39382         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
39383         the dropped values.
39384         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
39385         Add dispose_fn argument.
39386         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
39387         Call dispose_fn on the dropped values.
39388         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
39389         Add dispose_fn argument.
39390         (gl_sublist_create): Initialize the 'dispose_fn' field.
39391         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
39392         * tests/test-array_list.c (main): Update.
39393         * tests/test-carray_list.c (main): Update.
39394         * tests/test-avltree_list.c (main): Update.
39395         * tests/test-rbtree_list.c (main): Update.
39396         * tests/test-avltreehash_list.c (main): Update.
39397         * tests/test-rbtreehash_list.c (main): Update.
39398         * tests/test-linked_list.c (main): Update.
39399         * tests/test-linkedhash_list.c (main): Update.
39400         * tests/test-array_oset.c (main): Update.
39401
39402 2007-03-15  Bruno Haible  <bruno@clisp.org>
39403
39404         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
39405         (gl_oset_create_empty): Add dispose_fn argument.
39406         (struct gl_oset_implementation): Add dispose_fn argument to
39407         'create_empty' method.
39408         (struct gl_oset_impl_base): Add dispose_fn field.
39409         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
39410         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
39411         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
39412         values.
39413         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
39414         (gl_tree_oset_free): Call dispose_fn on the dropped values.
39415         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
39416         dropped value.
39417         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
39418         dropped value.
39419         * tests/test-array_oset.c (main): Update.
39420         * tests/test-avltree_oset.c (main): Update.
39421         * tests/test-rbtree_oset.c (main): Update.
39422         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
39423
39424 2007-03-13  Bruno Haible  <bruno@clisp.org>
39425
39426         * tests/test-stdbool.c (i): Update after last patch.
39427
39428 2007-03-12  Bruno Haible  <bruno@clisp.org>
39429
39430         * lib/quotearg.c: Include <wctype.h> early, before the definition of
39431         the iswprint macro. Needed on Solaris 2.5.1.
39432
39433 2007-03-12  Bruno Haible  <bruno@clisp.org>
39434
39435         * tests/test-printf-frexp.c (main): Declare x as volatile.
39436
39437 2007-03-12  Simon Josefsson  <simon@josefsson.org>
39438
39439         * doc/gnulib.texi (Build robot for gnulib): New section.
39440
39441 2007-03-12  Jim Meyering  <jim@meyering.net>
39442
39443         * build-aux/bootstrap: New file.
39444         * build-aux/bootstrap.conf: New file, from coreutils.
39445
39446 2007-03-11  Bruno Haible  <bruno@clisp.org>
39447
39448         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
39449
39450 2007-03-12  Simon Josefsson  <simon@josefsson.org>
39451
39452         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
39453         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
39454         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
39455
39456 2007-03-11  Bruno Haible  <bruno@clisp.org>
39457
39458         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
39459         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
39460
39461 2007-03-11  Bruno Haible  <bruno@clisp.org>
39462
39463         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
39464         formula. Needed for SunPRO C 5.0.
39465
39466 2007-03-11  Bruno Haible  <bruno@clisp.org>
39467
39468         * modules/long-options (Depends-on): Add getopt.
39469
39470 2007-03-11  Bruno Haible  <bruno@clisp.org>
39471
39472         * modules/modechange (Depends-on): Add stdbool.
39473
39474 2007-03-11  Bruno Haible  <bruno@clisp.org>
39475
39476         * modules/i-ring (Depends-on): Add stdbool.
39477
39478 2007-03-11  Bruno Haible  <bruno@clisp.org>
39479
39480         * modules/gc-des (Depends-on): Add stdbool.
39481
39482 2007-03-11  Bruno Haible  <bruno@clisp.org>
39483
39484         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
39485
39486 2007-03-11  Bruno Haible  <bruno@clisp.org>
39487
39488         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
39489
39490 2007-03-11  Bruno Haible  <bruno@clisp.org>
39491
39492         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
39493
39494 2007-03-11  Bruno Haible  <bruno@clisp.org>
39495
39496         * lib/vasnprintf.c (sprintf): Undefine.
39497
39498 2007-03-11  Bruno Haible  <bruno@clisp.org>
39499
39500         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
39501         initializers in SunPRO C and Compaq C compilers.
39502
39503 2007-03-11  Bruno Haible  <bruno@clisp.org>
39504
39505         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
39506         decrementing code ANSI C compliant.
39507
39508 2007-03-11  Bruno Haible  <bruno@clisp.org>
39509
39510         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
39511         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
39512
39513 2007-03-11  Bruno Haible  <bruno@clisp.org>
39514
39515         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
39516         <stdbool.h> substitute doesn't pass.
39517
39518 2007-03-11  Bruno Haible  <bruno@clisp.org>
39519
39520         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
39521
39522 2007-03-11  Bruno Haible  <bruno@clisp.org>
39523
39524         * gnulib-tool (func_create_megatestdir): Create also an autobuild
39525         script, for submission to autobuild.josefsson.org.
39526
39527 2007-03-10  Bruno Haible  <bruno@clisp.org>
39528
39529         * modules/canonicalize-lgpl-tests: New file.
39530         * tests/test-canonicalize-lgpl.sh: New file.
39531         * tests/test-canonicalize-lgpl.c: New file.
39532
39533         * modules/c-strcase-tests: New file.
39534         * tests/test-c-strcase.sh: New file.
39535         * tests/test-c-strcasecmp.c: New file.
39536         * tests/test-c-strncasecmp.c: New file.
39537
39538         * modules/atexit-tests: New file.
39539         * tests/test-atexit.sh: New file.
39540         * tests/test-atexit.c: New file.
39541
39542 2007-03-10  Bruno Haible  <bruno@clisp.org>
39543
39544         * tests/test-binary-io.sh: Use temporary filenames that are not so
39545         likely to clash with those of other tests (in a parallel make).
39546         * tests/test-binary-io.c: Likewise.
39547
39548 2007-03-10  Bruno Haible  <bruno@clisp.org>
39549
39550         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
39551         fallback; use #error instead.
39552         Suggested by Simon Josefsson.
39553
39554 2007-03-10  Bruno Haible  <bruno@clisp.org>
39555
39556         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
39557         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
39558         first and the last.
39559
39560 2007-03-10  Bruno Haible  <bruno@clisp.org>
39561
39562         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
39563
39564 2007-03-10  Bruno Haible  <bruno@clisp.org>
39565
39566         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
39567         "make distcheck".
39568         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
39569         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
39570         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
39571
39572 2007-03-10  Bruno Haible  <bruno@clisp.org>
39573
39574         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
39575         variable.
39576         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
39577         variable.
39578
39579 2007-03-09  Eric Blake  <ebb9@byu.net>
39580         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
39581
39582         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
39583         types are not being provided by gnulib.
39584         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
39585         types are supported.
39586
39587 2007-03-10  Bruno Haible  <bruno@clisp.org>
39588
39589         * lib/stdio_.h (__attribute__): New macro.
39590         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
39591         vsprintf): Specify __attribute__ __format__ for GCC.
39592         Suggested by Eric Blake.
39593
39594 2007-03-09  Bruno Haible  <bruno@clisp.org>
39595
39596         * modules/printf-posix-tests: New file.
39597         * tests/test-printf-posix.sh: New file.
39598         * tests/test-printf-posix.c: New file.
39599
39600         * modules/printf-posix: New file.
39601         * lib/printf.c: New file.
39602         * m4/printf-posix-rpl.m4: New file.
39603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
39604         REPLACE_PRINTF.
39605         * lib/stdio_.h (printf): New declaration.
39606         (format, __format__, ____printf____, ____scanf____, ____strftime____,
39607         ____strfmon____): New macros.
39608         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
39609         REPLACE_PRINTF.
39610
39611 2007-03-09  Bruno Haible  <bruno@clisp.org>
39612
39613         * tests/test-vasnprintf-posix2.sh: New file.
39614         * tests/test-vasnprintf-posix2.c: New file.
39615         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
39616         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
39617         (Makefile.am): Activate test-vasnprintf-posix2.sh.
39618
39619         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
39620         a locale dependent decimal point, rather than always '.'.
39621
39622 2007-03-09  Eric Blake  <ebb9@byu.net>
39623
39624         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
39625         spite of platforms like Tandem/NSK that define it to -1.
39626
39627 2007-03-08  Bruno Haible  <bruno@clisp.org>
39628
39629         * modules/vprintf-posix-tests: New file.
39630         * tests/test-vprintf-posix.sh: New file.
39631         * tests/test-vprintf-posix.c: New file.
39632         * tests/test-printf-posix.h: New file.
39633
39634         * modules/vprintf-posix: New file.
39635         * lib/vprintf.c: New file.
39636         * m4/vprintf-posix.m4: New file.
39637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
39638         REPLACE_VPRINTF.
39639         * lib/stdio_.h (vprintf): New declaration.
39640         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
39641         REPLACE_VPRINTF.
39642
39643 2007-03-08  Bruno Haible  <bruno@clisp.org>
39644
39645         * modules/fprintf-posix-tests: New file.
39646         * tests/test-fprintf-posix.sh: New file.
39647         * tests/test-fprintf-posix.c: New file.
39648
39649         * modules/fprintf-posix: New file.
39650         * lib/fprintf.c: New file.
39651         * m4/fprintf-posix.m4: New file.
39652         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
39653         REPLACE_FPRINTF.
39654         * lib/stdio_.h (fprintf): New declaration.
39655         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
39656         REPLACE_FPRINTF.
39657
39658 2007-03-08  Bruno Haible  <bruno@clisp.org>
39659
39660         * modules/vfprintf-posix-tests: New file.
39661         * tests/test-vfprintf-posix.sh: New file.
39662         * tests/test-vfprintf-posix.c: New file.
39663         * tests/test-fprintf-posix.h: New file.
39664         * tests/test-fprintf-posix.out: New file.
39665
39666         * modules/vfprintf-posix: New file.
39667         * lib/vfprintf.c: New file.
39668         * m4/vfprintf-posix.m4: New file.
39669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
39670         REPLACE_VFPRINTF.
39671         * lib/stdio_.h (vfprintf): New declaration.
39672         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
39673         REPLACE_VFPRINTF.
39674
39675 2007-03-08  Bruno Haible  <bruno@clisp.org>
39676
39677         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
39678
39679 2007-03-08  Bruno Haible  <bruno@clisp.org>
39680
39681         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
39682         instead of 'expr' invocations.
39683         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39684         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39685         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39686         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39687         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39688         Suggested by Paul Eggert.
39689
39690 2007-03-08  Bruno Haible  <bruno@clisp.org>
39691
39692         * modules/fseterr-tests: New file.
39693         * tests/test-fseterr.c: New file.
39694
39695         * modules/fseterr: New file.
39696         * lib/fseterr.h: New file.
39697         * lib/fseterr.c: New file.
39698
39699 2007-03-08  Bruno Haible  <bruno@clisp.org>
39700
39701         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
39702         * lib/getopt_.h: Likewise.
39703         * lib/mbswidth.h: Likewise.
39704         * lib/setenv.h: Likewise.
39705         * lib/vasnprintf.h: Likewise.
39706         * lib/vasprintf.h: Likewise.
39707         * lib/verror.h: Likewise.
39708         * lib/xsetenv.h: Likewise.
39709         * lib/xvasprintf.h: Likewise.
39710
39711 2007-03-08  Jim Meyering  <jim@meyering.net>
39712
39713         * users.txt: Add parted.
39714
39715         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
39716
39717 2007-03-07  Bruno Haible  <bruno@clisp.org>
39718
39719         * m4/printf.m4: Make the shell script snippets copy&pastable.
39720
39721 2007-03-02  Bruno Haible  <bruno@clisp.org>
39722
39723         * lib/netinet_in_.h: New file.
39724         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
39725         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
39726         * modules/netinet_in (Files): Add lib/netinet_in_.h.
39727         (Depends-on): Add absolute-header.
39728         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
39729         into netinet/in.h.
39730
39731 2007-03-03  Bruno Haible  <bruno@clisp.org>
39732
39733         * lib/sys_select_.h: New file.
39734         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
39735         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
39736         * modules/sys_select (Files): Add lib/sys_select_.h.
39737         (Depends-on): Add absolute-header.
39738         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
39739         into sys/select.h.
39740
39741 2007-03-02  Bruno Haible  <bruno@clisp.org>
39742
39743         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
39744         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
39745         values.
39746         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
39747         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
39748         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
39749         * modules/sys_socket (Depends-on): Add absolute-header.
39750         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
39751         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
39752         (Include): Remove requirement of inclusion of <sys/types.h>.
39753
39754 2007-03-02  Bruno Haible  <bruno@clisp.org>
39755
39756         * lib/byteswap_.h (bswap_32): Fix formula.
39757
39758 2007-03-06  Bruno Haible  <bruno@clisp.org>
39759
39760         * modules/sprintf-posix-tests: New file.
39761         * tests/test-sprintf-posix.c: New file.
39762
39763         * modules/sprintf-posix: New file.
39764         * lib/sprintf.c: New file.
39765         * m4/sprintf-posix.m4: New file.
39766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
39767         REPLACE_SPRINTF.
39768         * lib/stdio_.h (sprintf): New declaration.
39769         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
39770         REPLACE_SPRINTF.
39771
39772 2007-03-06  Bruno Haible  <bruno@clisp.org>
39773
39774         * modules/vsprintf-posix-tests: New file.
39775         * tests/test-vsprintf-posix.c: New file.
39776         * tests/test-sprintf-posix.h: New file.
39777
39778         * modules/vsprintf-posix: New file.
39779         * lib/vsprintf.c: New file.
39780         * m4/vsprintf-posix.m4: New file.
39781         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
39782         REPLACE_VSPRINTF.
39783         * lib/stdio_.h (vsprintf): New declaration.
39784         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
39785         REPLACE_VSPRINTF.
39786
39787 2007-03-06  Bruno Haible  <bruno@clisp.org>
39788
39789         * modules/vsnprintf (Depend-on): Remove minmax.
39790
39791 2007-03-06  Bruno Haible  <bruno@clisp.org>
39792
39793         * modules/snprintf-posix-tests: New file.
39794         * tests/test-snprintf-posix.c: New file.
39795
39796         * modules/snprintf-posix: New file.
39797         * m4/snprintf-posix.m4: New file.
39798         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
39799         gl_FUNC_SNPRINTF.
39800         (gl_FUNC_SNPRINTF): Invoke it.
39801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
39802         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
39803         is set.
39804         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
39805
39806 2007-03-06  Bruno Haible  <bruno@clisp.org>
39807
39808         * modules/vsnprintf-posix-tests: New file.
39809         * tests/test-vsnprintf-posix.c: New file.
39810         * tests/test-snprintf-posix.h: New file.
39811
39812         * modules/vsnprintf-posix: New file.
39813         * m4/vsnprintf-posix.m4: New file.
39814         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
39815         gl_FUNC_VSNPRINTF.
39816         (gl_FUNC_VSNPRINTF): Invoke it.
39817         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
39818         * lib/stdio_.h (vsnprintf): Define as a replacement if
39819         REPLACE_VSNPRINTF is set.
39820         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
39821
39822 2007-03-06  Bruno Haible  <bruno@clisp.org>
39823
39824         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
39825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
39826
39827 2007-03-06  Bruno Haible  <bruno@clisp.org>
39828
39829         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
39830         (asinl): Declare also if HAVE_DECL_ASINL is set.
39831         (atanl): Declare also if HAVE_DECL_ATANL is set.
39832         (ceill): Declare also if HAVE_DECL_CEILL is set.
39833         (cosl): Declare also if HAVE_DECL_COSL is set.
39834         (expl): Declare also if HAVE_DECL_EXPL is set.
39835         (floorl): Declare also if HAVE_DECL_FLOORL is set.
39836         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
39837         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
39838         (logl): Declare also if HAVE_DECL_LOGL is set.
39839         (sinl): Declare also if HAVE_DECL_SINL is set.
39840         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
39841         (tanl): Declare also if HAVE_DECL_TANL is set.
39842         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
39843         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
39844         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
39845         declaration of frexpl, ldexpl.
39846         * modules/printf-frexpl (Depends-on): Add math.
39847         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
39848
39849 2007-03-05  Bruno Haible  <bruno@clisp.org>
39850
39851         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
39852         frexpl and ldexpl are declared.
39853         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
39854
39855 2007-03-05  Bruno Haible  <bruno@clisp.org>
39856
39857         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
39858         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
39859
39860 2007-03-05  Bruno Haible  <bruno@clisp.org>
39861
39862         * lib/stdio_.h: Include <stddef.h>.
39863
39864 2007-03-05  Bruno Haible  <bruno@clisp.org>
39865
39866         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
39867
39868 2007-03-05  Bruno Haible  <bruno@clisp.org>
39869
39870         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
39871         NetBSD 4, from Ralf Wildenhues.
39872
39873 2007-03-04  Bruno Haible  <bruno@clisp.org>
39874
39875         * lib/vasprintf.h: Update #if logic for the case when the functions
39876         exist but are overridden.
39877
39878 2007-03-04  Bruno Haible  <bruno@clisp.org>
39879
39880         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
39881         implementations: glibc-2.4 and MacOS X 10.3.
39882         * tests/test-vasnprintf-posix.c (test_function): Test also the case
39883         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
39884         * tests/test-vasprintf-posix.c (test_function): Likewise.
39885
39886 2007-03-04  Bruno Haible  <bruno@clisp.org>
39887
39888         * modules/vasprintf-posix-tests: New file.
39889         * tests/test-vasprintf-posix.c: New file.
39890
39891         * modules/vasprintf-posix: New file.
39892         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
39893         defined.
39894         * m4/vasprintf-posix.m4: New file.
39895         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
39896         gl_FUNC_VASPRINTF.
39897         (gl_FUNC_VASPRINTF): Invoke it.
39898         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
39899         here.
39900         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
39901
39902 2007-03-04  Bruno Haible  <bruno@clisp.org>
39903
39904         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
39905         REPLACE_GETTIMEOFDAY.
39906         * modules/sys_time (Makefile.am): Likewise.
39907         * m4/sys_time_h.m4: Likewise.
39908         * m4/gettimeofday.m4: Likewise.
39909
39910 2007-03-04  Bruno Haible  <bruno@clisp.org>
39911
39912         * modules/vasnprintf-posix-tests: New file.
39913         * tests/test-vasnprintf-posix.c: New file.
39914
39915         * modules/vasnprintf-posix: New file.
39916         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
39917         printf-frexpl.h.
39918         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
39919         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
39920         REPLACE_VASNPRINTF is defined.
39921         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
39922         gl_FUNC_VASNPRINTF.
39923         (gl_FUNC_VASNPRINTF): Invoke it.
39924         * m4/vasnprintf-posix.m4: New file.
39925         * m4/printf.m4: New file.
39926
39927 2007-03-04  Bruno Haible  <bruno@clisp.org>
39928
39929         Compile progreloc.c only if --enable-relocatable is specified.
39930         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
39931         if --enable-relocatable was specified.
39932         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
39933         lib_SOURCES.
39934
39935 2007-03-04  Jim Meyering  <jim@meyering.net>
39936
39937         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
39938         Use it consistently, rather than enumerating errno constants.
39939
39940 2007-03-04  Bruno Haible  <bruno@clisp.org>
39941
39942         * modules/xvasprintf-tests: New file.
39943         * tests/test-xvasprintf.c: New file.
39944
39945         * modules/vasprintf-tests: New file.
39946         * tests/test-vasprintf.c: New file.
39947
39948         * modules/vasnprintf-tests: New file.
39949         * tests/test-vasnprintf.c: New file.
39950
39951         * modules/vsnprintf-tests: New file.
39952         * tests/test-vsnprintf.c: New file.
39953
39954         * modules/snprintf-tests: New file.
39955         * tests/test-snprintf.c: New file.
39956
39957 2007-03-04  Bruno Haible  <bruno@clisp.org>
39958
39959         Compile relocatable.c only if --enable-relocatable is specified.
39960         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
39961         gl_RELOCATABLE_LIBRARY.
39962         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
39963         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
39964         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
39965         gl_RELOCATABLE_LIBRARY.
39966         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
39967         (Makefile.am): Remove lib_SOURCES.
39968         * modules/relocatable-lib-lgpl (configure.ac): Invoke
39969         gl_RELOCATABLE_LIBRARY.
39970         (Makefile.am): Remove lib_SOURCES.
39971         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
39972         always.
39973         * modules/relocatable-prog-wrapper (configure.ac): Invoke
39974         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
39975
39976 2007-03-04  Bruno Haible  <bruno@clisp.org>
39977
39978         * modules/argmatch-tests: New file.
39979         * tests/test-argmatch.c: New file.
39980
39981         * tests/test-allocsa.c (main): Halve the number of loop runs.
39982
39983         * modules/alloca-opt-tests: New file.
39984         * tests/test-alloca-opt.c: New file.
39985
39986 2007-03-04  Jim Meyering  <jim@meyering.net>
39987
39988         Work around difference between Linux ACLs and Solaris 10 ZFS.
39989         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
39990         for EINVAL.
39991
39992 2007-03-03  Bruno Haible  <bruno@clisp.org>
39993
39994         * modules/relocatable-prog (Depends-on): Add back progreloc's
39995         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
39996
39997 2007-03-03  Bruno Haible  <bruno@clisp.org>
39998
39999         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
40000         * modules/relocatable-lib: New file.
40001
40002 2007-03-03  Bruno Haible  <bruno@clisp.org>
40003
40004         * modules/relocatable-prog: Renamed from modules/relocatable.
40005         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
40006
40007 2007-03-03  Bruno Haible  <bruno@clisp.org>
40008
40009         * modules/relocatable-script (Files): Add doc/relocatable.texi,
40010         m4/relocatable-lib.m4.
40011         (Depends-on): Remove 'relocatable'.
40012         (configure.ac): Add gl_RELOCATABLE_NOP.
40013
40014 2007-03-03  Bruno Haible  <bruno@clisp.org>
40015
40016         * modules/relocatable-prog-wrapper: New file.
40017         * modules/relocatable (Depends-on): Add it. Remove all other
40018         dependencies except progname.
40019         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
40020
40021         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
40022         (gl_FUNC_STRERROR): Nop.
40023         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
40024
40025         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
40026         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
40027
40028         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
40029         (gl_FUNC_READLINK): Update.
40030
40031         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
40032
40033 2007-03-03  Bruno Haible  <bruno@clisp.org>
40034
40035         * lib/xreadlink.c: Include <unistd.h> unconditionally.
40036         * modules/xreadlink (Depends-on): Add unistd.
40037         * modules/xreadlink-with-size (Depends-on): Likewise.
40038
40039 2007-03-03  Bruno Haible  <bruno@clisp.org>
40040
40041         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
40042         extracted from gt_FUNC_SETENV.
40043         (gt_FUNC_SETENV): Remove macro.
40044         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
40045         remove gt_FUNC_SETENV.
40046
40047 2007-03-03  Bruno Haible  <bruno@clisp.org>
40048
40049         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
40050         ENABLE_RELOCATABLE here.
40051         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
40052
40053 2007-03-03  Bruno Haible  <bruno@clisp.org>
40054
40055         * modules/rbtreehash-list-tests (Depends-on): Add progname.
40056         * tests/test-rbtreehash_list.c: Include progname.h.
40057         (main): Call set_program_name.
40058
40059         * modules/rbtree-oset-tests (Depends-on): Add progname.
40060         * tests/test-rbtree_oset.c: Include progname.h.
40061         (main): Call set_program_name.
40062
40063         * modules/rbtree-list-tests (Depends-on): Add progname.
40064         * tests/test-rbtree_list.c: Include progname.h.
40065         (main): Call set_program_name.
40066
40067         * modules/linked-list-tests (Depends-on): Add progname.
40068         * tests/test-linked_list.c: Include progname.h.
40069         (main): Call set_program_name.
40070
40071 2007-03-03  Bruno Haible  <bruno@clisp.org>
40072
40073         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
40074         All uses of __restrict changed to _Restrict_.
40075         * lib/glob_.h (__restrict): Remove macro.
40076
40077 2007-03-02  Bruno Haible  <bruno@clisp.org>
40078
40079         * modules/gettext (configure.ac): Require gettext infrastructure
40080         from version 0.16.1.
40081
40082 2007-03-02  Bruno Haible  <bruno@clisp.org>
40083
40084         * modules/linkedhash-list-tests (Depends-on): Add progname.
40085         * tests/test-linkedhash_list.c: Include progname.h.
40086         (main): Call set_program_name.
40087
40088         * modules/carray-list-tests (Depends-on): Add progname.
40089         * tests/test-carray_list.c: Include progname.h.
40090         (main): Call set_program_name.
40091
40092         * modules/avltreehash-list-tests (Depends-on): Add progname.
40093         * tests/test-avltreehash_list.c: Include progname.h.
40094         (main): Call set_program_name.
40095
40096         * modules/avltree-oset-tests (Depends-on): Add progname.
40097         * tests/test-avltree_oset.c: Include progname.h.
40098         (main): Call set_program_name.
40099
40100         * modules/avltree-list-tests (Depends-on): Add progname.
40101         * tests/test-avltree_list.c: Include progname.h.
40102         (main): Call set_program_name.
40103
40104         * modules/array-oset-tests (Depends-on): Add progname.
40105         * tests/test-array_oset.c: Include progname.h.
40106         (main): Call set_program_name.
40107
40108         * modules/array-list-tests (Depends-on): Add progname.
40109         * tests/test-array_list.c: Include progname.h.
40110         (main): Call set_program_name.
40111
40112         * modules/argp-tests (Depends-on): Add progname.
40113         * tests/test-argp.c: Include argp.h first. Include progname.h.
40114         (main): Call set_program_name.
40115
40116 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
40117
40118         * doc/gnulib-tool.texi (Initial import): Reword description of
40119         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
40120         limited effect even if defined after the first system include.
40121
40122 2007-03-01  Bruno Haible  <bruno@clisp.org>
40123
40124         * build-aux/config.libpath: Update to libtool-1.5.22.
40125         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40126
40127 2007-03-01  Bruno Haible  <bruno@clisp.org>
40128
40129         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
40130         foo_CFLAGS.
40131         Reported by Ralf Wildenhues.
40132
40133 2007-03-01  Bruno Haible  <bruno@clisp.org>
40134
40135         * build-aux/install-reloc: Remove object files left over by some
40136         compilers.
40137         Reported by Ralf Wildenhues.
40138
40139 2007-03-01  Bruno Haible  <bruno@clisp.org>
40140
40141         * build-aux/install-reloc: Break long lines.
40142
40143 2007-03-01  Bruno Haible  <bruno@clisp.org>
40144
40145         * doc/relocatable.texi: Document that it may not work on OpenBSD.
40146         Reported by Ralf Wildenhues.
40147
40148 2007-03-01  Bruno Haible  <bruno@clisp.org>
40149
40150         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
40151         include ordering constraints.
40152
40153 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40154
40155         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
40156         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
40157         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
40158         as another example.
40159         * lib/time_.h: Fix misspelling.
40160         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40161         Require gl_HEADER_TIME_H_DEFAULTS.
40162         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
40163         * m4/time_r.m4 (gl_TIME_R): Likewise.
40164         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
40165
40166 2007-03-01  Bruno Haible  <bruno@clisp.org>
40167
40168         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
40169         * m4/utimens.m4 (gl_UTIMENS): Likewise.
40170
40171 2007-03-01  Jim Meyering  <jim@meyering.net>
40172
40173         * modules/xreadlink (Maintainer): Add my name.
40174         * modules/xreadlink-with-size (Depends-on): Alphabetize.
40175
40176 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
40177             Bruno Haible  <bruno@clisp.org>
40178
40179         * build-aux/install-reloc: Compile also c-ctype.c.
40180         * build-aux/relocatable.sh.in: New file.
40181         * doc/relocatable.texi: New file.
40182         * doc/relocatable-maint.texi: New file.
40183         * doc/gnulib.texi: Include relocatable-maint.texi.
40184         * lib/progreloc.c: Include unistd.h unconditionally.
40185         * lib/relocwrapper.c: Include unistd.h unconditionally.
40186         Include c-ctype.h.
40187         (add_dotbin): Use c_tolower.
40188         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
40189         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
40190         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
40191         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
40192         to m4/relocatable-lib.m4.
40193         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
40194         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
40195         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
40196         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
40197         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
40198         * modules/relocatable: New file.
40199         * modules/relocatable-lib: New file.
40200         * modules/relocatable-script: New file.
40201
40202 2007-02-28  Bruno Haible  <bruno@clisp.org>
40203
40204         Import --enable-relocatable infrastructure.
40205         * build-aux/config.libpath: New file, from GNU gettext.
40206         * build-aux/install-reloc: New file, from GNU gettext.
40207         * build-aux/reloc-ldflags: New file, from GNU gettext.
40208         * lib/relocatable.h: New file, from GNU gettext.
40209         * lib/relocatable.c: New file, from GNU gettext.
40210         * lib/relocwrapper.c: New file, from GNU gettext.
40211         * m4/relocatable.m4: New file, from GNU gettext.
40212
40213 2007-02-28  Bruno Haible  <bruno@clisp.org>
40214
40215         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
40216
40217         * modules/xreadlink: New file, from GNU gettext with modifications.
40218         * lib/xreadlink.c: New file, from GNU gettext.
40219         * lib/xreadlink.h: Add comments.
40220         (xreadlink): New declaration.
40221
40222         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
40223         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
40224         lib/xreadlink-with-size.c.
40225         (configure.ac): Remove gl_XREADLINK invocation.
40226         (Makefile.am): Augment lib_SOURCES.
40227         * m4/xreadlink.m4: Remove file.
40228         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
40229         (xreadlink_with_size): Renamed from xreadink.
40230         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
40231         * modules/canonicalize (Depends-on): Replace xreadlink with
40232         xreadlink-with-size.
40233         * lib/canonicalize.c (canonicalize_filename_mode): Update.
40234
40235 2007-02-25  Jim Meyering  <jim@meyering.net>
40236
40237         * build-aux/announce-gen: When complaining about excess arguments,
40238         list them.
40239
40240 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
40241
40242         * README: Document signed integer overflow situation more
40243         accurately.
40244
40245 2007-02-25  Bruno Haible  <bruno@clisp.org>
40246
40247         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
40248         'a' or 'A' conversion.
40249
40250 2007-02-25  Bruno Haible  <bruno@clisp.org>
40251
40252         * modules/filename: Renamed from modules/pathname.
40253         (Files): Replace lib/pathname.h with lib/filename.h. Replace
40254         lib/concatpath.c with lib/concat-filename.c.
40255         (Makefile.am): Update.
40256         (Include): Replace pathname.h with filename.h.
40257         * lib/filename.h: Renamed from lib/pathname.h.
40258         (concatenated_filename): Renamed from concatenated_pathname.
40259         * lib/concat-filename.c: Renamed from lib/concatpath.c.
40260         (concatenated_filename): Renamed from concatenated_pathname.
40261         * lib/findprog.c: Include filename.h instead of pathname.h.
40262         (find_in_path): Update.
40263         * lib/javacomp.c: Include filename.h instead of pathname.h.
40264         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
40265         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
40266         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
40267         is_oldgcj_14_13_usable, is_javac_usable): Update.
40268         * lib/javaexec.c: Include filename.h instead of pathname.h.
40269         (execute_java_class): Update.
40270         * modules/findprog: Update.
40271         * modules/javacomp: Update.
40272         * modules/javaexec: Update.
40273         * MODULES.html.sh (File system functions): Add 'filename', remove
40274         'pathname'.
40275
40276 2007-02-25  Bruno Haible  <bruno@clisp.org>
40277
40278         * modules/printf-frexpl-tests: New file.
40279         * tests/test-printf-frexpl.c: New file.
40280
40281         * modules/printf-frexpl: New file.
40282         * lib/printf-frexpl.h: New file.
40283         * lib/printf-frexpl.c: New file.
40284         * m4/printf-frexpl.m4: New file.
40285
40286 2007-02-25  Bruno Haible  <bruno@clisp.org>
40287
40288         * modules/printf-frexp-tests: New file.
40289         * tests/test-printf-frexp.c: New file.
40290
40291         * modules/printf-frexp: New file.
40292         * lib/printf-frexp.h: New file.
40293         * lib/printf-frexp.c: New file.
40294         * m4/printf-frexp.m4: New file.
40295
40296 2007-02-25  Bruno Haible  <bruno@clisp.org>
40297
40298         Assume automake >= 1.10 for the tests.
40299         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
40300         * modules/arctwo-tests: Likewise.
40301         * modules/argp-tests: Likewise.
40302         * modules/avltree-list-tests: Likewise.
40303         * modules/avltree-oset-tests: Likewise.
40304         * modules/avltreehash-list-tests: Likewise.
40305         * modules/carray-list-tests: Likewise.
40306         * modules/crc-tests: Likewise.
40307         * modules/des-tests: Likewise.
40308         * modules/gc-arcfour-tests: Likewise.
40309         * modules/gc-arctwo-tests: Likewise.
40310         * modules/gc-des-tests: Likewise.
40311         * modules/gc-hmac-md5-tests: Likewise.
40312         * modules/gc-hmac-sha1-tests: Likewise.
40313         * modules/gc-md2-tests: Likewise.
40314         * modules/gc-md4-tests: Likewise.
40315         * modules/gc-md5-tests: Likewise.
40316         * modules/gc-pbkdf2-sha1-tests: Likewise.
40317         * modules/gc-rijndael-tests: Likewise.
40318         * modules/gc-sha1-tests: Likewise.
40319         * modules/gc-tests: Likewise.
40320         * modules/getaddrinfo-tests: Likewise.
40321         * modules/hmac-md5-tests: Likewise.
40322         * modules/hmac-sha1-tests: Likewise.
40323         * modules/linked-list-tests: Likewise.
40324         * modules/linkedhash-list-tests: Likewise.
40325         * modules/lock-tests: Likewise.
40326         * modules/md2-tests: Likewise.
40327         * modules/md4-tests: Likewise.
40328         * modules/md5-tests: Likewise.
40329         * modules/rbtree-list-tests: Likewise.
40330         * modules/rbtree-oset-tests: Likewise.
40331         * modules/rbtreehash-list-tests: Likewise.
40332         * modules/read-file-tests: Likewise.
40333         * modules/rijndael-tests: Likewise.
40334         * modules/stdint-tests: Likewise.
40335         * modules/tls-tests: Likewise.
40336
40337 2007-02-24  Bruno Haible  <bruno@clisp.org>
40338
40339         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
40340         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
40341         function; instead check whether isnan with a double argument links.
40342         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
40343         function; instead check whether isnan with a 'long double' argument
40344         links.
40345         Reported by Eric Blake <ebb9@byu.net>.
40346
40347 2007-02-24  Bruno Haible  <bruno@clisp.org>
40348
40349         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
40350         defined.
40351         * lib/isnanl.c: Remove all code. Just include isnan.c.
40352         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
40353
40354 2007-02-25  Jim Meyering  <jim@meyering.net>
40355
40356         Avoid conflicting types for 'unsetenv' on FreeBSD.
40357         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
40358         conflicting with FreeBSD's (5.0 and 6.1) function declaration
40359         in stdlib.h.
40360
40361 2007-02-24  Bruno Haible  <bruno@clisp.org>
40362
40363         * modules/isnanl-nolibm-tests: New file.
40364         * tests/test-isnanl.c: New file.
40365
40366         * modules/isnanl-nolibm: New file.
40367         * lib/isnanl.h: New file.
40368         * lib/isnanl.c: New file.
40369         * m4/isnanl.m4: New file.
40370
40371 2007-02-24  Bruno Haible  <bruno@clisp.org>
40372
40373         * modules/isnan-nolibm-tests: New file.
40374         * tests/test-isnan.c: New file.
40375
40376         * modules/isnan-nolibm: New file.
40377         * lib/isnan.h: New file.
40378         * lib/isnan.c: New file.
40379         * m4/isnan.m4: New file.
40380
40381 2007-02-24  Bruno Haible  <bruno@clisp.org>
40382
40383         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
40384         assume that an exponent fits in 20 bits.
40385
40386 2007-02-24  Jim Meyering  <jim@meyering.net>
40387
40388         * m4/regex.m4: Update the description of the configure-time option,
40389         --without-included-regex, to state accurately what the defaults are,
40390         and perhaps to give people an idea why using this option is risky.
40391
40392 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
40393
40394         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
40395         loops on small arguments.  This attempts to avoid the problem
40396         Bruno Haible reported for AIX 4.3.2 in
40397         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
40398
40399 2007-02-23  Bruno Haible  <bruno@clisp.org>
40400
40401         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
40402         Needed for help2man.
40403
40404 2007-02-23  Karl Berry  <karl@gnu.org>
40405
40406         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
40407         exists, foo.h should be cvs-ignored, not committed.
40408
40409 2007-02-23  Eric Blake  <ebb9@byu.net>
40410
40411         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
40412         * lib/stat-time.h (includes): Likewise.
40413         * lib/utimecmp.c (includes): Likewise.
40414         * lib/utimens.h (includes): Likewise.
40415         * lib/getdate.y (includes): Also include "timespec.h" for use
40416         internal to the module.
40417         * modules/utimens (Depends-on): Revert yesterday's patch.
40418         * modules/nanosleep (Depends-on): Add missing dependency.
40419
40420 2007-02-22  Bruno Haible  <bruno@clisp.org>
40421
40422         * lib/glob.c: Don't include getlogin_r.h.
40423
40424 2007-02-22  Jim Meyering  <jim@meyering.net>
40425
40426         * modules/utimens (Depends-on): Add timespec, required for
40427         utimens.h's inclusion of timespec.h.
40428
40429 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
40430
40431         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
40432         long unreadable paths in GNU/Linux.  Problem reported by Andreas
40433         Schwab in
40434         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
40435         I'll try to think of a better way to fix the Solaris problem.
40436
40437         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
40438         like glibc; on Solaris 10, it fails with errno == EINVAL.
40439         POSIX says the behavior is unspecified if the first argument is NULL,
40440         so play it safe and never pass NULL to the system getcwd.
40441
40442 2007-02-21  Jim Meyering  <jim@meyering.net>
40443
40444         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
40445         of gettimeofday.  It would conflict with the one now always
40446         provided via sys_time_.h.  Reported by Matthew Woehlke, as
40447         an IRIX 6.5 build failure.
40448
40449 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
40450
40451         Minor fixups to port to Solaris 10 with Sun C 5.8.
40452         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
40453         * modules/getcwd (Depends-on): Add dirfd.
40454         * lib/putenv.c (putenv): #undef it.
40455         (rpl_putenv): New decl.
40456         (malloc, free): Include <stdlib.h> rather than prototyping separately.
40457
40458 2007-02-20  Bruno Haible  <bruno@clisp.org>
40459
40460         * modules/stdio-tests: New file.
40461         * tests/test-stdio.c: New file.
40462
40463         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
40464         (Depends-on): Add stdio.
40465         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
40466         (Include): Use <stdio.h> instead of vsnprintf.h.
40467         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
40468         HAVE_DECL_VSNPRINTF.
40469         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
40470
40471         * modules/snprintf (Files): Remove lib/snprintf.h.
40472         (Depends-on): Add stdio.
40473         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
40474         (Include): Use <stdio.h> instead of snprintf.h.
40475         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
40476         HAVE_DECL_SNPRINTF.
40477         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
40478         * lib/getaddrinfo.c: Likewise.
40479
40480         * modules/stdio: New file.
40481         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
40482         * lib/snprintf.h: Remove file.
40483         * lib/vsnprintf.h: Remove file.
40484         * lib/.cppi-disable: Remove snprintf.h.
40485         * m4/stdio_h.m4: New file.
40486         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
40487
40488 2007-02-20  Jim Meyering  <jim@meyering.net>
40489
40490         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
40491         used by e.g., mingw.  From Bruno Haible.
40492
40493 2007-02-19  Bruno Haible  <bruno@clisp.org>
40494
40495         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
40496         warnings.
40497         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40498
40499 2007-02-19  Bruno Haible  <bruno@clisp.org>
40500
40501         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
40502         from mingw users.
40503
40504 2007-02-19  Bruno Haible  <bruno@clisp.org>
40505
40506         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
40507         warnings.
40508         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
40509
40510 2007-02-19  Jim Meyering  <jim@meyering.net>
40511
40512         Don't use FD after a successful "fdopendir (fd)".
40513         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
40514         Reset it by calling dirfd on the just-obtained DIR*.
40515
40516         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
40517         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
40518
40519 2007-02-18  Bruno Haible  <bruno@clisp.org>
40520
40521         * lib/readlink.c: Include <unistd.h>.
40522         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
40523         HAVE_READLINK.
40524         * modules/readlink (Depends-on): Add unistd.
40525         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40526         (Include): Add <unistd.h>.
40527
40528         * lib/getlogin_r.h: Remove file.
40529         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
40530         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
40531         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
40532         HAVE_DECL_GETLOGIN_R.
40533         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
40534         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40535         (Include): Use <unistd.h> instead of getlogin_r.h.
40536
40537         * lib/getcwd.h: Remove file.
40538         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
40539         * lib/xgetcwd.c: Likewise.
40540         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
40541         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
40542         * modules/getcwd (Files): Remove lib/getcwd.h.
40543         (Depends-on): Add unistd.
40544         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40545         (Include): Use <unistd.h> instad of getcwd.h.
40546
40547         * lib/ftruncate.c: Include <unistd.h> first.
40548         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
40549         Set HAVE_FTRUNCATE.
40550         * modules/ftruncate (Depends-on): Add unistd.
40551         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40552
40553         * lib/fchdir.c: Include <unistd.h> first.
40554         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
40555         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
40556         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
40557         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40558         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
40559
40560         * lib/dup2.c: Include <unistd.h> first.
40561         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
40562         HAVE_DUP2.
40563         * modules/dup2 (Depends-on): Add unistd.
40564         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40565
40566         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
40567         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
40568         REPLACE_CHOWN. Don't define chown as a macro here.
40569         * modules/chown (Depends-on): Add unistd.
40570         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40571
40572         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
40573         Add definition for GL_LINK_WARNING.
40574         (chown, dup2): New declarations.
40575         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
40576         link warning.
40577         (ftruncate): New declaration.
40578         (getcwd): New declaration, taken from old getcwd.h.
40579         (getlogin_r): New declaration, taken from old getlogin_r.h.
40580         (readlink): New declaration.
40581         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
40582         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
40583         (gl_PREREQ_UNISTD): Remove macro.
40584         (gl_UNISTD_MODULE_INDICATOR): New macro.
40585         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
40586         many new variables. Don't set UNISTD_H.
40587         * modules/unistd (Description): Change.
40588         (Depends-on): Add link-warning.
40589         (configure.ac): Update.
40590         (Makefile.am): Create unistd.h always. Substitute many new variables
40591         into it.
40592
40593 2007-02-18  Bruno Haible  <bruno@clisp.org>
40594
40595         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
40596         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
40597         HAVE_GETSUBOPT.
40598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
40599         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
40600         * lib/getsubopt.h: Remove file.
40601         * modules/getsubopt (Files): Remove lib/getsubopt.h.
40602         (Depends-on): Add stdlib.
40603         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40604         (Includes): Use <stdlib.h> instead of getsubopt.h.
40605         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
40606         Set HAVE_GETSUBOPT.
40607         * lib/getsubopt.c: Don't include getsubopt.h.
40608
40609 2007-02-18  Bruno Haible  <bruno@clisp.org>
40610
40611         * modules/fchdir (Depends-on): Add dup2.
40612
40613 2007-02-18  Bruno Haible  <bruno@clisp.org>
40614
40615         * lib/stdlib_.h: Handle glibc's special invocation convention
40616         specially.
40617
40618 2007-02-18  Bruno Haible  <bruno@clisp.org>
40619
40620         * modules/stdlib-tests: New file.
40621         * tests/test-stdlib.c: New file.
40622
40623         * modules/mkstemp (Files): Remove lib/mkstemp.h.
40624         (Depends-on): Add stdlib.
40625         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40626         (Includes): Use <stdlib.h> instead of mkstemp.h.
40627         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
40628         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
40629         * lib/mkstemp.c: Don't include mkstemp.h.
40630         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
40631         * lib/stdlib--.h: Don't include mkstemp.h.
40632
40633         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
40634         (Depends-on): Add stdlib.
40635         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40636         (Includes): Use <stdlib.h> instead of mkdtemp.h.
40637         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
40638         HAVE_MKDTEMP.
40639         * lib/mkdtemp.c: Don't include mkdtemp.h.
40640         * lib/clean-temp.c: Don't include mkdtemp.h.
40641
40642         * modules/exit (Files): Remove lib/exit.h.
40643         (Depends-on): Add stdlib.
40644         (Makefile.am): Remove lib_SOURCES.
40645         (Include): Use <stdlib.h> instead of exit.h.
40646         * lib/argmatch.c: Don't include exit.h.
40647         * lib/execute.c: Likewise.
40648         * lib/pagealign_alloc.c: Likewise.
40649         * lib/pipe.c: Likewise.
40650         * lib/wait-process.c: Likewise.
40651         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
40652         * lib/exitfail.c: Likewise.
40653         * lib/savewd.c: Likewise.
40654         * lib/xsetenv.c: Likewise.
40655
40656         * modules/stdlib: New file.
40657         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
40658         and extra comments about mkstemp().
40659         * lib/exit.h: Remove file.
40660         * lib/mkdtemp.h: Remove file.
40661         * lib/mkstemp.h: Remove file.
40662         * m4/stdlib_h.m4: New file.
40663         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
40664
40665 2007-02-18  Bruno Haible  <bruno@clisp.org>
40666
40667         * modules/math-tests: New file.
40668         * tests/test-math.c: New file.
40669
40670         * modules/math: New file.
40671         * modules/mathl (Files): Remove lib/mathl.h.
40672         (Depends-on): Add math.
40673         (Makefile.am): Don't mention mathl.h.
40674         (Include): Use <math.h> instead of mathl.h.
40675         * lib/math_.h: New file.
40676         * lib/mathl.h: Remove file.
40677         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
40678         mathl.h.
40679         * lib/asinl.c: Likewise.
40680         * lib/atanl.c: Likewise.
40681         * lib/ceill.c: Likewise.
40682         * lib/cosl.c: Likewise.
40683         * lib/expl.c: Likewise.
40684         * lib/floorl.c: Likewise.
40685         * lib/frexpl.c: Likewise.
40686         * lib/ldexpl.c: Likewise.
40687         * lib/logl.c: Likewise.
40688         * lib/sincosl.c: Likewise.
40689         * lib/sinl.c: Likewise.
40690         * lib/sqrtl.c: Likewise.
40691         * lib/tanl.c: Likewise.
40692         * lib/trigl.c: Likewise.
40693         * m4/math_h.m4: New file.
40694         * MODULES.html.sh (Mathematics): Add math.
40695
40696 2007-02-17  Bruno Haible  <bruno@clisp.org>
40697
40698         * modules/wctype-tests: New file.
40699         * tests/test-wctype.c: New file.
40700
40701         * modules/wchar-tests: New file.
40702         * tests/test-wchar.c: New file.
40703
40704         * modules/unistd-tests: New file.
40705         * tests/test-unistd.c: New file.
40706
40707         * modules/time-tests: New file.
40708         * tests/test-time.c: New file.
40709
40710         * modules/sysexits-tests: New file.
40711         * tests/test-sysexits.c: New file.
40712
40713         * modules/sys_time-tests: New file.
40714         * tests/test-sys_time.c: New file.
40715
40716         * modules/sys_stat-tests: New file.
40717         * tests/test-sys_stat.c: New file.
40718
40719         * modules/sys_socket-tests: New file.
40720         * tests/test-sys_socket.c: New file.
40721
40722         * modules/sys_select-tests: New file.
40723         * tests/test-sys_select.c: New file.
40724
40725         * modules/string-tests: New file.
40726         * tests/test-string.c: New file.
40727
40728         * modules/stdbool-tests: New file.
40729         * tests/test-stdbool.c: New file.
40730
40731         * modules/netinet_in-tests: New file.
40732         * tests/test-netinet_in.c: New file.
40733
40734         * modules/inttypes-tests: New file.
40735         * tests/test-inttypes.c: New file.
40736
40737         * modules/fcntl-tests: New file.
40738         * tests/test-fcntl.c: New file.
40739
40740         * modules/byteswap-tests: New file.
40741         * tests/test-byteswap.c: New file.
40742
40743         * modules/arpa_inet-tests: New file.
40744         * tests/test-arpa_inet.c: New file.
40745
40746 2007-02-17  Bruno Haible  <bruno@clisp.org>
40747
40748         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
40749         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
40750         if the corresponding module is not enabled. Emit link warnings if
40751         the function is used nevertheless.
40752         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
40753         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
40754         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
40755         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
40756         * modules/inttypes (Depends-on): Add link-warning.
40757         (Makefile.am): Copy the contents of build-aux/link-warning.h into
40758         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
40759         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
40760         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
40761         * modules/imaxdiv (configure.ac): Likewise.
40762         * modules/strtoimax (configure.ac): Likewise.
40763         * modules/strtoumax (configure.ac): Likewise.
40764
40765 2007-02-17  Bruno Haible  <bruno@clisp.org>
40766
40767         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
40768         gl_STRING_MODULE_INDICATOR_DEFAULTS.
40769         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
40770         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
40771
40772 2007-02-17  Bruno Haible  <bruno@clisp.org>
40773
40774         * modules/link-warning: New file.
40775         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
40776         * lib/string_.h (GL_LINK_WARNING): Remove definition.
40777         * modules/string (Depends-on): Add link-warning.
40778         (Makefile.am): Copy the contents of build-aux/link-warning.h into
40779         string.h.
40780         * MODULES.html.sh (Support for building libraries and executables): Add
40781         link-warning.
40782
40783 2007-02-17  Bruno Haible  <bruno@clisp.org>
40784
40785         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
40786         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
40787         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
40788         long lines.
40789
40790 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
40791             Bruno Haible  <bruno@clisp.org>
40792
40793         * modules/tmpfile: New file.
40794         * lib/tmpfile.c: New file.
40795         * m4/tmpfile.m4: New file.
40796         * MODULES.html.sh (func_all_modules): New section "Input/output".
40797
40798 2007-02-15  Bruno Haible  <bruno@clisp.org>
40799
40800         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
40801         (supports_delete_on_close): New function.
40802         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
40803
40804 2007-02-14  Bruno Haible  <bruno@clisp.org>
40805
40806         * modules/mbspcasecmp-tests: New file.
40807         * tests/test-mbspcasecmp.sh: New file.
40808         * tests/test-mbspcasecmp.c: New file.
40809
40810         New module mbspcasecmp.
40811         * modules/mbspcasecmp: New file.
40812         * lib/mbspcasecmp.c: New file.
40813         * lib/string_.h (strncasecmp): Change warning message.
40814         (mbspcasecmp): New declaration.
40815         * m4/mbspcasecmp.m4: New file.
40816         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40817         GNULIB_MBSPCASECMP.
40818         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
40819         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
40820
40821 2007-02-14  Bruno Haible  <bruno@clisp.org>
40822
40823         * modules/mbsncasecmp-tests: New file.
40824         * tests/test-mbsncasecmp.sh: New file.
40825         * tests/test-mbsncasecmp.c: New file.
40826
40827         New module mbsncasecmp.
40828         * modules/mbsncasecmp: New file.
40829         * lib/mbsncasecmp.c: New file.
40830         * lib/string_.h (mbsncasecmp): New declaration.
40831         * m4/mbsncasecmp.m4: New file.
40832         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40833         GNULIB_MBSNCASECMP.
40834         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
40835         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
40836
40837 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
40838
40839         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
40840         Verify that it doesn't overlap with our flags.
40841         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
40842         do not have the desired effect in multibyte locales; instead, use
40843         mbscasecmp.
40844         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
40845         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
40846         we don't require GNU fnmatch ourselves (if our users require it, they
40847         should do so explicitly).
40848
40849         Fix regex code so it doesn't rely on strcasecmp.
40850         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
40851         Otherwise, include gnulib's langinfo.h.
40852         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
40853         undesirable behavior in non-C locales.  Instead, rely on localecharset.
40854         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
40855         * modules/regex (FILES): Remove m4/codeset.m4.
40856         (Depends-on): Add localcharset.  Remove strcase.
40857
40858 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40859
40860         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
40861         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
40862
40863 2007-02-13  Bruno Haible  <bruno@clisp.org>
40864
40865         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
40866         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40867
40868 2007-02-12  Bruno Haible  <bruno@clisp.org>
40869
40870         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
40871         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
40872         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
40873         time warning rather than a link error.
40874
40875 2007-02-12  Bruno Haible  <bruno@clisp.org>
40876
40877         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
40878         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40880
40881 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
40882
40883         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
40884         args, not 2.
40885
40886 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
40887
40888         New module 'time', so that apps can include <time.h> as per
40889         POSIX and GNU instead of separate include files like time_r.h
40890         and timegm.h.  This implementation tries out a simpler approach
40891         for replacing decls in standard include files (as compared to
40892         the string module), somewhat as an experiment.
40893
40894         * config/srclist.txt: Comment out mktime.c for now.
40895         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
40896         since it doesn't apply any more.  Use generic wording instead.
40897         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
40898         'time'.
40899         * lib/time_.h, m4/time_h.m4, modules/time: New files.
40900         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
40901         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
40902         Don't include <sys/types.h>; no longer needed since we assume C89.
40903         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
40904         * lib/strftime.c: Likewise.
40905         * lib/time_r.c: Likewise.
40906         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
40907         * lib/nanosleep.c: Include <time.h> first, to check interface.
40908         * lib/strptime.c: Likewise.
40909         * lib/time_r.c: Likewise.
40910         * lib/timegm.c: Likewise.
40911         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
40912         needed.
40913         * lib/timegm.c: Don't include timegm.h; no longer needed.
40914         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
40915         time.h now handles any problems in that area.
40916         (struct timespec, nanosleep): Remove; time.h now arranges for these.
40917         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
40918         that time.h defines struct timespec.
40919         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
40920         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
40921         handles that.
40922         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
40923         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
40924         needed.  Set REPLACE_LOCALTIME.
40925         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
40926         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
40927         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
40928         nanosleep; time_h.m4 now does that.  Don't require
40929         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
40930         module handles this now.
40931         * modules/getdate (Depends-on): Remove timespec.  Add time.
40932         * modules/nanosleep (Depends-on): Likewise.
40933         * modules/stat-time (Depends-on): Likewise.
40934         * modules/nanosleep (Include): Include time.h, not timespec.h.
40935         * modules/strptime (Files): Remove lib/strptime.h.
40936         (Depends-on): Add extensions, time.
40937         (Include): Include time.h, not strptime.h.
40938         * modules/time_r (Files): Remove lib/time_r.h.
40939         (Depends-on): Add time.
40940         (Include): Include time.h, not time_r.h.
40941         * modules/timegm: Likewise.
40942         * modules/timespec (Description): Now does timespec-related decls
40943         of our own, instead of struct timespec itself.
40944         (Depends-on): Add time; remove extensions.
40945         (Maintainer): Add self.
40946         * modules/utimecmp (Depends-on): Add time; remove timespec.
40947         * modules/utimens (Depends-on): Likewise.
40948         * modules/xnanosleep (Depends-on): Likewise.
40949
40950 2007-02-11  Bruno Haible  <bruno@clisp.org>
40951
40952         * lib/c-strstr.c: Include allocsa.h.
40953         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
40954         * lib/c-strcasestr.c: Include allocsa.h.
40955         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
40956         * lib/strcasestr.c: Include allocsa.h.
40957         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
40958         * lib/mbsstr.c: Include allocsa.h.
40959         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
40960         allocsa/freesa instead of malloc/free.
40961         * lib/mbscasestr.c: Include allocsa.h.
40962         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
40963         allocsa/freesa instead of malloc/free.
40964         * modules/c-strstr (Depends-on): Add allocsa.
40965         * modules/c-strcasestr (Depends-on): Likewise.
40966         * modules/strcasestr (Depends-on): Likewise.
40967         * modules/mbsstr (Depends-on): Likewise.
40968         * modules/mbscasestr (Depends-on): Likewise.
40969
40970 2007-02-11  Bruno Haible  <bruno@clisp.org>
40971
40972         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
40973
40974         * modules/mbsspn-tests: New file.
40975         * tests/test-mbsspn.sh: New file.
40976         * tests/test-mbsspn.c: New file.
40977
40978 2007-02-11  Bruno Haible  <bruno@clisp.org>
40979
40980         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
40981
40982         * modules/mbspbrk-tests: New file.
40983         * tests/test-mbspbrk.sh: New file.
40984         * tests/test-mbspbrk.c: New file.
40985
40986 2007-02-11  Bruno Haible  <bruno@clisp.org>
40987
40988         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
40989         unneeded cast.
40990
40991         * modules/mbscspn-tests: New file.
40992         * tests/test-mbscspn.sh: New file.
40993         * tests/test-mbscspn.c: New file.
40994
40995 2007-02-11  Bruno Haible  <bruno@clisp.org>
40996
40997         * modules/mbscasecmp-tests: New file.
40998         * tests/test-mbscasecmp.sh: New file.
40999         * tests/test-mbscasecmp.c: New file.
41000
41001 2007-02-11  Bruno Haible  <bruno@clisp.org>
41002
41003         Ensure O(n) worst-case complexity of mbscasestr.
41004         * lib/mbscasestr.c: Include stdbool.h.
41005         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
41006         functions.
41007         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
41008         the bookkeeping indicates that it's worth it.
41009         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
41010
41011         * modules/mbscasestr-tests: New file.
41012         * tests/test-mbscasestr1.c: New file.
41013         * tests/test-mbscasestr2.sh: New file.
41014         * tests/test-mbscasestr2.c: New file.
41015         * tests/test-mbscasestr3.sh: New file.
41016         * tests/test-mbscasestr3.c: New file.
41017         * tests/test-mbscasestr4.sh: New file.
41018         * tests/test-mbscasestr4.c: New file.
41019         * m4/locale-tr.m4: New file.
41020
41021 2007-02-11  Bruno Haible  <bruno@clisp.org>
41022
41023         Ensure O(n) worst-case complexity of mbsstr.
41024         * lib/mbsstr.c: Include stdbool.h.
41025         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
41026         functions.
41027         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
41028         bookkeeping indicates that it's worth it.
41029         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
41030
41031         * modules/mbsstr-tests: New file.
41032         * tests/test-mbsstr1.c: New file.
41033         * tests/test-mbsstr2.sh: New file.
41034         * tests/test-mbsstr2.c: New file.
41035         * tests/test-mbsstr3.sh: New file.
41036         * tests/test-mbsstr3.c: New file.
41037         * m4/locale-fr.m4: New file.
41038
41039 2007-02-11  Bruno Haible  <bruno@clisp.org>
41040
41041         * lib/mbsrchr.c (mbsrchr): Fix bug.
41042
41043         * modules/mbsrchr-tests: New file.
41044         * tests/test-mbsrchr.sh: New file.
41045         * tests/test-mbsrchr.c: New file.
41046
41047 2007-02-11  Bruno Haible  <bruno@clisp.org>
41048
41049         * lib/mbschr.c (mbschr): Fix bug.
41050
41051         * modules/mbschr-tests: New file.
41052         * tests/test-mbschr.sh: New file.
41053         * tests/test-mbschr.c: New file.
41054         * m4/locale-zh.m4: New file.
41055
41056 2007-02-11  Bruno Haible  <bruno@clisp.org>
41057
41058         Support for copying multibyte string iterators.
41059         * lib/mbiter.h: Include <string.h>.
41060         (mbiter_multi_copy): New function.
41061         (mbi_copy): New macro.
41062         * lib/mbuiter.h: Include <string.h>.
41063         (mbuiter_multi_copy): New function.
41064         (mbui_copy): New macro.
41065
41066 2007-02-11  Bruno Haible  <bruno@clisp.org>
41067
41068         New module mbslen.
41069         * modules/mbslen: New file.
41070         * lib/mbslen.c: New file.
41071         * lib/string_.h (mbslen): New declaration.
41072         * m4/mbslen.m4: New file.
41073         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41074         GNULIB_MBSLEN.
41075         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
41076         * MODULES.html.sh (Internationalization functions): Add mbslen.
41077
41078 2007-02-11  Bruno Haible  <bruno@clisp.org>
41079
41080         Ensure O(n) worst-case complexity of strcasestr substitute.
41081         * lib/strcasestr.c: Include stdbool.h.
41082         (knuth_morris_pratt): New function.
41083         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
41084         bookkeeping indicates that it's worth it.
41085         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
41086
41087         * modules/strcasestr-tests: New file.
41088         * tests/test-strcasestr.c: New file.
41089
41090 2007-02-11  Bruno Haible  <bruno@clisp.org>
41091
41092         Ensure O(n) worst-case complexity of c_strcasestr.
41093         * lib/c-strcasestr.c: Include stdbool.h, string.h.
41094         (knuth_morris_pratt): New function.
41095         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
41096         the bookkeeping indicates that it's worth it.
41097         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
41098
41099         * modules/c-strcasestr-tests: New file.
41100         * tests/test-c-strcasestr.c: New file.
41101
41102 2007-02-11  Bruno Haible  <bruno@clisp.org>
41103
41104         Ensure O(n) worst-case complexity of c_strstr.
41105         * lib/c-strstr.c: Include stdbool.h, string.h.
41106         (knuth_morris_pratt): New function.
41107         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
41108         bookkeeping indicates that it's worth it.
41109         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
41110
41111         * lib/c-strstr.c: Complete rewrite for maintainability.
41112
41113         * modules/c-strstr-tests: New file.
41114         * tests/test-c-strstr.c: New file.
41115
41116 2007-02-11  Bruno Haible  <bruno@clisp.org>
41117
41118         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
41119         5.2.1 and earlier, whereby \055 was treated just like the range
41120         delimiter '-'.
41121         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
41122
41123 2007-02-08  Bruno Haible  <bruno@clisp.org>
41124
41125         * modules/regex (Depends-on): Add stdbool.
41126         Reported by Dalibor Topic <robilad@kaffe.org>.
41127
41128 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
41129
41130         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
41131         Prefer returning from main to exiting from it.
41132         Remove unnecessary parens after sizeof.
41133
41134 2007-02-05  Bruno Haible  <bruno@clisp.org>
41135
41136         New module mbssep.
41137         * modules/mbssep: New file.
41138         * lib/mbssep.c: New file.
41139         * lib/string_.h (strsep): Add a conditional link warning.
41140         (mbssep): New declaration.
41141         * m4/mbssep.m4: New file.
41142         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41143         GNULIB_MBSSEP.
41144         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
41145         * MODULES.html.sh (Internationalization functions): Add mbssep.
41146
41147 2007-02-05  Bruno Haible  <bruno@clisp.org>
41148
41149         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
41150         Optimize search in case of 1 delimiter.
41151
41152 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
41153
41154         * lib/acl.h: Include sys/types.h before sys/acl.h.
41155
41156 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
41157
41158         Merge upstream fix for glibc bugzilla #3957:
41159
41160         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
41161
41162         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
41163         bit for RE_HAT_LISTS_NOT_NEWLINE.
41164         (build_charclass_op): Remove bogus comment.
41165
41166 2007-02-05  Simon Josefsson  <simon@josefsson.org>
41167
41168         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
41169
41170 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
41171
41172         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
41173         * lib/memmem.c [!defined _LIBC]: Include config.h.
41174
41175 2007-02-04  Bruno Haible  <bruno@clisp.org>
41176
41177         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
41178         warning message.
41179
41180 2007-02-04  Bruno Haible  <bruno@clisp.org>
41181
41182         New module mbstok_r.
41183         * modules/mbstok_r: New file.
41184         * lib/mbstok_r.c: New file.
41185         * lib/string_.h (strtok_r): Change argument names to match the
41186         comments. Add a conditional link warning.
41187         (mbstok_r): New declaration.
41188         * m4/mbstok_r.m4: New file.
41189         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41190         GNULIB_MBSTOK_R.
41191         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
41192         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
41193
41194 2007-02-04  Bruno Haible  <bruno@clisp.org>
41195
41196         New module mbsspn.
41197         * modules/mbsspn: New file.
41198         * lib/mbsspn.c: New file.
41199         * lib/string_.h (strspn): Add a conditional link warning.
41200         (mbsspn): New declaration.
41201         * m4/mbsspn.m4: New file.
41202         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41203         GNULIB_MBSSPN.
41204         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
41205         * MODULES.html.sh (Internationalization functions): Add mbsspn.
41206
41207 2007-02-04  Bruno Haible  <bruno@clisp.org>
41208
41209         New module mbspbrk.
41210         * modules/mbspbrk: New file.
41211         * lib/mbspbrk.c: New file.
41212         * lib/string_.h (strpbrk): Add a conditional link warning.
41213         (mbspbrk): New declaration.
41214         * m4/mbspbrk.m4: New file.
41215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41216         GNULIB_MBSPBRK.
41217         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
41218         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
41219
41220 2007-02-04  Bruno Haible  <bruno@clisp.org>
41221
41222         New module mbscspn.
41223         * modules/mbscspn: New file.
41224         * lib/mbscspn.c: New file.
41225         * lib/string_.h (strcspn): Add a conditional link warning.
41226         (mbscspn): New declaration.
41227         * m4/mbscspn.m4: New file.
41228         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41229         GNULIB_MBSCSPN.
41230         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
41231         * MODULES.html.sh (Internationalization functions): Add mbscspn.
41232
41233 2007-02-04  Bruno Haible  <bruno@clisp.org>
41234
41235         New module mbscasestr, reduced goal of strcasestr.
41236         * modules/mbscasestr: New file.
41237         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
41238         (mbscasestr): Renamed from strcasestr.
41239         * lib/strcasestr.c: Don't include mbuiter.h.
41240         (strcasestr): Remove support for multibyte locales.
41241         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
41242         Change the conditional link warning.
41243         (mbscasestr): New declaration.
41244         * m4/mbscasestr.m4: New file.
41245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
41246         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
41247         REPLACE_STRCASESTR.
41248         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
41249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41250         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
41251         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
41252         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
41253         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
41254         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
41255         (Depends-on): Remove mbuiter.
41256         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
41257
41258 2007-02-04  Bruno Haible  <bruno@clisp.org>
41259
41260         Simplify handling of strncasecmp.
41261         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
41262         the conditional link warning.
41263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41264         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
41265         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
41266         * modules/strcase (configure.ac): Don't invoke
41267         gl_STRING_MODULE_INDICATOR.
41268         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
41269
41270 2007-02-04  Bruno Haible  <bruno@clisp.org>
41271
41272         New module mbscasecmp, reduced goal of strcasecmp.
41273         * modules/mbscasecmp: New file.
41274         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
41275         (mbscasecmp): Renamed from strcasecmp.
41276         * lib/strcasecmp.c: Don't include mbuiter.h.
41277         (strcasecmp): Remove support for multibyte locales.
41278         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
41279         Change the conditional link warning.
41280         (mbscasecmp): New declaration.
41281         * m4/mbscasecmp.m4: New file.
41282         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
41283         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
41284         REPLACE_STRCASECMP.
41285         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
41286         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41287         GNULIB_MBSCASECMP.
41288         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
41289         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
41290         * modules/strcase (Files): Remove m4/mbrtowc.m4.
41291         (Depends-on): Remove mbuiter.
41292         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
41293
41294 2007-02-04  Bruno Haible  <bruno@clisp.org>
41295
41296         New module mbsstr. Remove module strstr.
41297         * modules/mbsstr: New file.
41298         * modules/strstr: Remove file.
41299         * lib/mbsstr.c: Renamed from lib/strstr.c.
41300         (mbsstr): Renamed from strstr.
41301         * lib/string_.h (strstr): Remove declaration. Change the conditional
41302         link warning.
41303         (mbsstr): New declaration.
41304         * m4/mbsstr.m4: New file.
41305         * m4/strstr.m4: Remove file.
41306         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
41307         REPLACE_STRSTR.
41308         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
41309         Don't initialize GNULIB_STRSTR.
41310         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
41311         substitute GNULIB_STRSTR and REPLACE_STRSTR.
41312         * MODULES.html.sh (Internationalization functions): Add mbsstr.
41313         (Support for systems lacking ANSI C 89): Remove strstr.
41314
41315 2007-02-04  Bruno Haible  <bruno@clisp.org>
41316
41317         New module mbsrchr.
41318         * modules/mbsrchr: New file.
41319         * lib/mbsrchr.c: New file.
41320         * lib/string_.h (strrchr): Add a conditional link warning.
41321         (mbsrchr): New declaration.
41322         * m4/mbsrchr.m4: New file.
41323         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41324         GNULIB_MBSRCHR.
41325         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
41326         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
41327
41328 2007-02-04  Bruno Haible  <bruno@clisp.org>
41329
41330         New module mbschr.
41331         * modules/mbschr: New file.
41332         * lib/mbschr.c: New file.
41333         * lib/string_.h (strchr): Add a conditional link warning.
41334         (mbschr): New declaration.
41335         * m4/mbschr.m4: New file.
41336         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41337         GNULIB_MBSCHR.
41338         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
41339         * MODULES.html.sh (Internationalization functions): Add mbschr.
41340
41341 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
41342
41343         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
41344
41345         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
41346
41347 2007-02-04  Bruno Haible  <bruno@clisp.org>
41348
41349         New module description section 'configure.ac-early'.
41350         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
41351         (func_get_autoconf_early_snippet): New function.
41352         (func_import, func_create_testdir): Use it. Remove special cases for
41353         modules 'extensions' and 'lock'.
41354         * modules/extensions (configure.ac-early): Require
41355         gl_USE_SYSTEM_EXTENSIONS.
41356         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
41357
41358 2007-02-04  Bruno Haible  <bruno@clisp.org>
41359
41360         Make use of gcj-4.3's -fsource and -ftarget option.
41361         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
41362         and if so try the options -fsource and -ftarget.
41363         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
41364         source_version, ftarget_option, target_version arguments.
41365         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
41366         (is_envjavac_oldgcj_14_14_usable): Renamed from
41367         is_envjavac_gcj_14_14_usable.
41368         (is_envjavac_oldgcj_14_13_usable): Renamed from
41369         is_envjavac_gcj_14_13_usable.
41370         (is_gcj_present): Update.
41371         (is_gcj_43, is_gcj43_usable): New functions.
41372         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
41373         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
41374         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
41375         try the options -fsource and -ftarget.
41376
41377 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
41378
41379         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
41380         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
41381         larger value.
41382
41383 2007-02-03  Jim Meyering  <jim@meyering.net>
41384
41385         Give tools a better chance to allocate space for very large buffers.
41386         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
41387
41388         Make pwd and readlink work also when run with an unreadable parent dir
41389         on systems with openat support.
41390         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
41391         provided getcwd function, even when we have openat support.
41392         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
41393
41394 2007-02-02  Bruno Haible  <bruno@clisp.org>
41395
41396         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
41397         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
41398         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
41399         portability problems if one of these functions is only used on specific
41400         platforms.
41401         Reported by Paul Eggert.
41402
41403 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
41404
41405         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
41406         is causing more trouble than it's curing.
41407         * lib/regex_internal.h (__mempcpy): Remove.
41408         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
41409         (and make the code a tad smaller to boot).
41410         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
41411
41412 2007-02-02  Jim Meyering  <jim@meyering.net>
41413
41414         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
41415         section, not in the Makefile.am: one.
41416
41417 2007-02-02  Eric Blake  <ebb9@byu.net>
41418
41419         * lib/strchrnul.c: Always include config.h first.
41420
41421         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
41422         gnulib strstr is not necessary here.
41423
41424 2007-02-02  Simon Josefsson  <simon@josefsson.org>
41425
41426         * m4/socklen.m4: Fix typo.
41427
41428 2007-02-02  Eric Blake  <ebb9@byu.net>
41429
41430         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
41431         * modules/netinet_in (Makefile.am): Likewise.
41432
41433 2007-02-01  Bruno Haible  <bruno@clisp.org>
41434
41435         * lib/string_.h (GL_LINK_WARNING): New macro.
41436         (strcasecmp, strstr, strcasestr): If provided by the system,
41437         conditionally define as a macro that leads to a warning instead of to
41438         an error.
41439         (strncasecmp): Conditionally define as a macro that leads to a warning.
41440
41441 2007-02-01  Karl Berry  <karl@gnu.org>
41442
41443         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
41444
41445 2007-02-01  Bruno Haible  <bruno@clisp.org>
41446
41447         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
41448         renamings.
41449
41450 2007-02-01  Eric Blake  <ebb9@byu.net>
41451
41452         * modules/regex (Depends-on): Revert dependence on mempcpy.
41453         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
41454         module's definition of mempcpy.
41455         Reported by Paul Eggert.
41456
41457 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
41458
41459         * lib/string_.h: If the gnulib module XYZ is not present, undefine
41460         the symbol XYZ before redefining it.  This fixes a problem with
41461         programs that don't use XYZ, when compiled on systems that define
41462         XYZ to something else.
41463
41464 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
41465
41466         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
41467         occurs when "mkdir -m foo" creates a setgid directory that is (1)
41468         writeable to group or other and (2) is intended to have a special
41469         mode bit that is set or cleared.  In such a case, the directory
41470         should be neither group- nor other-writeable until the special
41471         mode bits are right.
41472
41473 2007-01-31  Eric Blake  <ebb9@byu.net>
41474
41475         * modules/mountlist (Depends-on): Add strstr.
41476
41477         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
41478         bug.
41479         * modules/string (Makefile.am): Remove redundant replacement.
41480         * modules/regex (Depends-on): Add mempcpy.
41481
41482 2007-01-31  Bruno Haible  <bruno@clisp.org>
41483
41484         New module description field 'Link'.
41485         * gnulib-tool (func_usage): Document --extract-link-directive.
41486         (sed_extract_prog): Recognize 'Link' directive.
41487         (func_get_link_directive): New function.
41488         (func_import): Show summary of link directives.
41489         Handle --extract-link-directive option.
41490         * modules/acl (Link): New section.
41491         * modules/clock-time (Link): New section.
41492         * modules/euidaccess (Link): New section.
41493         * modules/gettext (Link): New section.
41494         * modules/iconv (Link): New section.
41495         * modules/lock (Link): New section.
41496         * modules/nanosleep (Link): New section.
41497         * modules/readline (Link): New section.
41498
41499 2007-01-27  Bruno Haible  <bruno@clisp.org>
41500
41501         Enforce the use of gnulib modules for unportable <string.h> functions.
41502         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
41503         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
41504         (gl_HEADER_STRING_H_BODY): Require it.
41505         * lib/string_.h: If the gnulib module XYZ is not present, redefine
41506         the symbol XYZ to one that gives a link error.
41507         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
41508         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
41509         * modules/mempcpy (configure.ac): Likewise.
41510         * modules/memrchr (configure.ac): Likewise.
41511         * modules/stpcpy (configure.ac): Likewise.
41512         * modules/stpncpy (configure.ac): Likewise.
41513         * modules/strcase (configure.ac): Likewise.
41514         * modules/strcasestr (configure.ac): Likewise.
41515         * modules/strchrnul (configure.ac): Likewise.
41516         * modules/strdup (configure.ac): Likewise.
41517         * modules/strndup (configure.ac): Likewise.
41518         * modules/strnlen (configure.ac): Likewise.
41519         * modules/strpbrk (configure.ac): Likewise.
41520         * modules/strsep (configure.ac): Likewise.
41521         * modules/strstr (configure.ac): Likewise.
41522         * modules/strtok_r (configure.ac): Likewise.
41523
41524 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
41525
41526         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
41527
41528 2007-01-30  Jim Meyering  <jim@meyering.net>
41529
41530         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
41531
41532 2007-01-29  Bruno Haible  <bruno@clisp.org>
41533
41534         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
41535         * lib/execute.c: Likewise.
41536         * lib/pipe.c: Likewise.
41537         * lib/printf-args.h: Likewise.
41538         * lib/printf-args.c: Likewise.
41539         * lib/printf-parse.c: Likewise.
41540         * lib/vasnprintf.c: Likewise.
41541
41542 2007-01-29  Eric Blake  <ebb9@byu.net>
41543
41544         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
41545         declaration.
41546
41547 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
41548
41549         * lib/strptime.h (strptime): Use 'restrict' for args where
41550         POSIX requires this.
41551         * lib/strptime.c (strptime): Likewise.
41552         Change license notice from LGPL to GPL, since gnulib-tool will
41553         change this as needed.
41554         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
41555         defined.
41556         Include "strptime.h" first, to check interface.
41557         Do not #undef _LIBC and _NL_CURRENT.
41558         Do not include <stdlib.h>; no longer needed.
41559         Include "time_r.h" and declare ptime_locale_status
41560         only if _LIBC is not defined.
41561         (__P): Remove unused macro.
41562         (match_string): Bring back glibc version, but use it only if _LIBC
41563         is defined.
41564         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
41565         Remove unnecessary assertion and abort() call.
41566         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
41567         * m4/strptime.m4: Fix serial number comment.
41568         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
41569         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
41570         (Depends-on): Add time_r.
41571
41572 2007-01-29  Bruno Haible  <bruno@clisp.org>
41573
41574         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41575         strptime.
41576         * modules/strptime (Depends-on): Add stdbool.
41577         * lib/strptime.h: Include <time.h> always. Add comments.
41578
41579 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41580
41581         * modules/strptime: New file.
41582         * lib/strptime.h: New file.
41583         * lib/strptime.c: New file.
41584         * m4/strptime.m4: New file.
41585
41586 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
41587
41588         * MODULES.html.sh: New module mpsort.
41589         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
41590
41591         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
41592         a circularity problem with HP-UX ia64 reported by Bob Proulx in
41593         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
41594         All uses changed.
41595         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
41596         All uses changed.
41597         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
41598         to _Restrict_.
41599         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
41600         the parameter matches the prototype.
41601
41602 2007-01-28  Jim Meyering  <jim@meyering.net>
41603
41604         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
41605         sys/time.h here, reverting that part of the previous patch:
41606         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
41607
41608 2007-01-28  Bruno Haible  <bruno@clisp.org>
41609
41610         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
41611         value of $(SYS_TIME_H).
41612         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
41613         remove it conditionally, too. [added by Jim Meyering]
41614         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
41615         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
41616         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
41617         GETTIMEOFDAY_REPLACEMENT to 1.
41618
41619 2007-01-28  Bruno Haible  <bruno@clisp.org>
41620
41621         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
41622         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
41623         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
41624         Set UNISTD_H instead of UNISTD_H2.
41625         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
41626
41627 2007-01-28  Bruno Haible  <bruno@clisp.org>
41628
41629         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
41630         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
41631
41632 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41633
41634         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
41635         (func_create_testdir): Ensure C locale for `grep' and `tr'
41636         character ranges.
41637         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
41638         ACLOCAL_AMFLAGS parsing state machine.
41639
41640 2007-01-27  Bruno Haible  <bruno@clisp.org>
41641
41642         * modules/unistr/base: Update.
41643
41644 2007-01-27  Bruno Haible  <bruno@clisp.org>
41645
41646         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
41647         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
41648         * modules/unistr/u32-mbtouc-unsafe: Renamed from
41649         modules/unistr/u32-mbtouc.
41650         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
41651         * lib/unistr.h: Update.
41652         * lib/linebreak.c: Update.
41653         * modules/unistr/u32-mbtouc: Renamed from
41654         modules/unistr/u32-mbtouc-safe.
41655         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
41656         * lib/unistr.h: Update.
41657         * lib/unistr/u32-to-u8.c: Update.
41658         * lib/unistr/u32-to-u16.c: Update.
41659
41660 2007-01-27  Bruno Haible  <bruno@clisp.org>
41661
41662         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
41663         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
41664         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
41665         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
41666         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
41667         * modules/unistr/u16-mbtouc-unsafe: Renamed from
41668         modules/unistr/u16-mbtouc.
41669         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
41670         * lib/unistr.h: Update.
41671         * lib/linebreak.c: Update.
41672         * modules/linebreak: Update.
41673         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
41674         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
41675         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
41676         * modules/unistr/u16-mbtouc: Renamed from
41677         modules/unistr/u16-mbtouc-safe.
41678         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
41679         * lib/unistr.h: Update.
41680         * lib/unistr/u16-to-u8.c: Update.
41681         * modules/unistr/u16-to-u8: Update.
41682         * lib/unistr/u16-to-u32.c: Update.
41683         * modules/unistr/u16-to-u32: Update.
41684
41685 2007-01-27  Bruno Haible  <bruno@clisp.org>
41686
41687         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
41688         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
41689         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
41690         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
41691         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
41692         * modules/unistr/u8-mbtouc-unsafe: Renamed from
41693         modules/unistr/u8-mbtouc.
41694         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
41695         * lib/unistr.h: Update.
41696         * lib/striconveh.c: Update.
41697         * modules/striconveh: Update.
41698         * lib/linebreak.c: Update.
41699         * modules/linebreak: Update.
41700         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
41701         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
41702         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
41703         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
41704         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
41705         * lib/unistr.h: Update.
41706         * lib/striconveh.c: Update.
41707         * modules/striconveh: Update.
41708         * lib/unistr/u8-to-u16.c: Update.
41709         * modules/unistr/u8-to-u16: Update.
41710         * lib/unistr/u8-to-u32.c: Update.
41711         * modules/unistr/u8-to-u32: Update.
41712
41713 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41714
41715         Sync from Libtool.
41716         * lib/argz.c: Do not include strings.h nor memory.h, include
41717         string.h unconditionally.  Patch by Simon Josefsson.
41718
41719 2007-01-27  Bruno Haible  <bruno@clisp.org>
41720
41721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
41722         from gl_HEADER_STRING_H_BODY.
41723         (gl_HEADER_STRING_H_BODY): Require it.
41724         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
41725         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
41726         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
41727         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
41728         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
41729         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
41730         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41731         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
41732         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
41733         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
41734         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
41735         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
41736         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
41737         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41738         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
41739
41740 2007-01-27  Bruno Haible  <bruno@clisp.org>
41741
41742         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
41743         check_PROGRAMS into noinst_PROGRAMS.
41744         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
41745         check_PROGRAMS in this case.
41746         (func_import): Set for_test to false.
41747         (func_create_testdir): Set for_test to true.
41748
41749 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
41750             Bruno Haible  <bruno@clisp.org>
41751
41752         * modules/strcasestr (Files): Remove lib/strcasestr.h.
41753         (Depends-on): Add string.
41754         (Includes): Use <string.h> instead of strcasestr.h.
41755         * modules/string (Makefile.am): Also substitute the value of
41756         REPLACE_STRCASESTR.
41757         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
41758         assume strcasestr is declared in <string.h> not <strings.h>. Also
41759         set REPLACE_STRCASESTR.
41760         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
41761         REPLACE_STRCASESTR.
41762         * lib/strcasestr.h: Remove file.
41763         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
41764         * lib/string_.h (strcasestr): New declaration.
41765
41766 2007-01-27  Bruno Haible  <bruno@clisp.org>
41767
41768         * lib/string_.h: Use 'extern'.
41769
41770 2007-01-27  Jim Meyering  <jim@meyering.net>
41771
41772         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
41773         of set-but-not-used local, "q".
41774
41775         * lib/mempcpy.c: Include <config.h> before <string.h>.
41776         This fixes a compilation error on HP-UX, due to the system's
41777         "restrict"-using mempcpy prototype.
41778
41779 2007-01-26  Bruno Haible  <bruno@clisp.org>
41780
41781         Small optimization.
41782         * lib/javacomp.c: Include c-strstr.h.
41783          (is_envjavac_gcj): Use c_strstr instead of strstr.
41784         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
41785
41786 2007-01-26  Bruno Haible  <bruno@clisp.org>
41787
41788         * MODULES.html.sh (Unicode string functions): Add the new modules.
41789
41790         * modules/uniconv/u32-strconv-to-locale: New file.
41791         * lib/uniconv/u32-strconv-to-locale.c: New file.
41792
41793         * modules/uniconv/u16-strconv-to-locale: New file.
41794         * lib/uniconv/u16-strconv-to-locale.c: New file.
41795
41796         * modules/uniconv/u8-strconv-to-locale: New file.
41797         * lib/uniconv/u8-strconv-to-locale.c: New file.
41798
41799         * modules/uniconv/u32-strconv-from-locale: New file.
41800         * lib/uniconv/u32-strconv-from-locale.c: New file.
41801
41802         * modules/uniconv/u16-strconv-from-locale: New file.
41803         * lib/uniconv/u16-strconv-from-locale.c: New file.
41804
41805         * modules/uniconv/u8-strconv-from-locale: New file.
41806         * lib/uniconv/u8-strconv-from-locale.c: New file.
41807
41808         * modules/uniconv/u32-strconv-to-enc: New file.
41809         * lib/uniconv/u32-strconv-to-enc.c: New file.
41810         * modules/uniconv/u32-strconv-to-enc-tests: New file.
41811         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
41812
41813         * modules/uniconv/u16-strconv-to-enc: New file.
41814         * lib/uniconv/u16-strconv-to-enc.c: New file.
41815         * lib/uniconv/u-strconv-to-enc.h: New file.
41816         * modules/uniconv/u16-strconv-to-enc-tests: New file.
41817         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
41818
41819         * modules/uniconv/u8-strconv-to-enc: New file.
41820         * lib/uniconv/u8-strconv-to-enc.c: New file.
41821         * modules/uniconv/u8-strconv-to-enc-tests: New file.
41822         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
41823
41824         * modules/uniconv/u32-strconv-from-enc: New file.
41825         * lib/uniconv/u32-strconv-from-enc.c: New file.
41826         * modules/uniconv/u32-strconv-from-enc-tests: New file.
41827         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
41828
41829         * modules/uniconv/u16-strconv-from-enc: New file.
41830         * lib/uniconv/u16-strconv-from-enc.c: New file.
41831         * modules/uniconv/u16-strconv-from-enc-tests: New file.
41832         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
41833
41834         * modules/uniconv/u8-strconv-from-enc: New file.
41835         * lib/uniconv/u8-strconv-from-enc.c: New file.
41836         * lib/uniconv/u-strconv-from-enc.h: New file.
41837         * modules/uniconv/u8-strconv-from-enc-tests: New file.
41838         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
41839
41840         * modules/uniconv/u32-conv-from-enc: New file.
41841         * lib/uniconv/u32-conv-from-enc.c: New file.
41842         * modules/uniconv/u32-conv-from-enc-tests: New file.
41843         * tests/uniconv/test-u32-conv-from-enc.c: New file.
41844
41845         * modules/uniconv/u16-conv-from-enc: New file.
41846         * lib/uniconv/u16-conv-from-enc.c: New file.
41847         * lib/uniconv/u-conv-from-enc.h: New file.
41848         * modules/uniconv/u16-conv-from-enc-tests: New file.
41849         * tests/uniconv/test-u16-conv-from-enc.c: New file.
41850
41851         * modules/uniconv/u8-conv-from-enc: New file.
41852         * lib/uniconv/u8-conv-from-enc.c: New file.
41853         * modules/uniconv/u8-conv-from-enc-tests: New file.
41854         * tests/uniconv/test-u8-conv-from-enc.c: New file.
41855
41856         * modules/uniconv/base: New file.
41857         * lib/uniconv.h: New file.
41858
41859 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
41860
41861         * doc/gnulib-tool.texi (Initial import): Update to match current
41862         behavior with strdup module.
41863         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
41864         * lib/memmem.h: Remove; all uses removed.  This is now done
41865         by <string.h>.
41866         * lib/mempcpy.h: Likewise.
41867         * lib/memrchr.h: Likewise.
41868         * lib/stpcpy.h: Likewise.
41869         * lib/stpncpy.h: Likewise.
41870         * lib/strcase.h: Likewise.
41871         * lib/strchrnul.h: Likewise.
41872         * lib/strdup.h: Likewise.
41873         * lib/strndup.h: Likewise.
41874         * lib/strnlen.h: Likewise.
41875         * lib/strpbrk.h: Likewise.
41876         * lib/strsep.h: Likewise.
41877         * lib/strstr.h: Likewise.
41878         * lib/strtok_r.h: Likewise.
41879         * lib/string_.h: New file.
41880         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
41881         Rely on <string.h> instead.
41882         * lib/canon-host.c: Likewise.
41883         * lib/chdir-long.c: Likewise.
41884         * lib/concatpath.c: Likewise.
41885         * lib/exclude.c: Likewise.
41886         * lib/fchdir.c: Likewise.
41887         * lib/getaddrinfo.c: Likewise.
41888         * lib/getcwd.c: Likewise.
41889         * lib/getsubopt.c: Likewise.
41890         * lib/glob.c: Likewise.
41891         * lib/hard-locale.c: Likewise.
41892         * lib/iconvme.c: Likewise.
41893         * lib/javacomp.c: Likewise.
41894         * lib/mempcpy.c: Likewise.
41895         * lib/memrchr.c: Likewise.
41896         * lib/regex_internal.h: Likewise.
41897         * lib/stpncpy.c: Likewise.
41898         * lib/strcasecmp.c: Likewise.
41899         * lib/strchrnul.c: Likewise.
41900         * lib/strdup.c: Likewise.
41901         * lib/striconv.c: Likewise.
41902         * lib/striconveh.c: Likewise.
41903         * lib/striconveha.c: Likewise.
41904         * lib/strncasecmp.c: Likewise.
41905         * lib/strndup.c: Likewise.
41906         * lib/strnlen.c: Likewise.
41907         * lib/strsep.c: Likewise.
41908         * lib/strstr.c: Likewise.
41909         * lib/strtok_r.c: Likewise.
41910         * lib/userspec.c: Likewise.
41911         * lib/w32spawn.h: Likewise.
41912         * lib/xstrndup.c: Likewise.
41913         * lib/mountlist.c (strstr): Remove decl.
41914         * m4/string_h.m4: New file.
41915         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
41916         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
41917         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
41918         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
41919         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
41920         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
41921         Set REPLACE_STRCASECMP if necessary.
41922         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
41923         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
41924         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
41925         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
41926         HAVE_DECL_STRDUP if necessary.
41927         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
41928         since gl_FUNC_STRNDUP does that now.
41929         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
41930         Check for decl here...
41931         (gl_PREREQ_STRNLEN): ... not here.
41932         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
41933         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
41934         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
41935         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
41936         necessary.
41937         * modules/string: New file.
41938         * modules/memmem (Files): Remove special-purpose include file.
41939         (Depends-on): Add string.
41940         (Include): Include <string.h>, not the removed file.
41941         * modules/mempcpy: Likewise.
41942         * modules/memrchr: Likewise.
41943         * modules/stpcpy: Likewise.
41944         * modules/stpncpy: Likewise.
41945         * modules/strcase: Likewise.
41946         * modules/strchrnul: Likewise.
41947         * modules/strdup: Likewise.
41948         * modules/strndup: Likewise.
41949         * modules/strnlen: Likewise.
41950         * modules/strpbrk: Likewise.
41951         * modules/strsep: Likewise.
41952         * modules/strstr: Likewise.
41953         * modules/strtok_r: Likewise.
41954         * tests/test-dirname.c: Don't include "strdup.h", since
41955         <string.h> now suffices.
41956         * tests/test-memmem.c: Don't include "memmem.h", since
41957         <string.h> now suffices.
41958
41959 2007-01-25  Bruno Haible  <bruno@clisp.org>
41960
41961         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
41962         *resultp is 0.
41963
41964         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
41965         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
41966         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
41967         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
41968
41969         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
41970         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
41971         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
41972         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
41973         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
41974         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
41975
41976 2007-01-24  Bruno Haible  <bruno@clisp.org>
41977
41978         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
41979         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
41980         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
41981         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
41982         gl_FUNC_FTS_CORE.
41983         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
41984         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
41985         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
41986         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
41987         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
41988         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
41989         gl_FUNC_FCHOWNAT.
41990         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
41991         gl_FUNC_STRFTIME.
41992         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
41993         Reported by Ralf Wildenhues.
41994
41995 2007-01-24  Bruno Haible  <bruno@clisp.org>
41996
41997         Drop AC_REQUIRE calls that are redundant with the module dependencies.
41998         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
41999         gl_GETADDRINFO.
42000         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
42001         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
42002         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
42003
42004 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
42005
42006         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
42007         Don't use 'exit'; just return from 'main'.
42008         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
42009
42010         * lib/fnmatch_.h: Readjust white space and comments to match
42011         glibc, to avoid spurious diffs.
42012
42013 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42014
42015         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
42016         2004-12-01 change by Jakub Jelinek, since this code won't compile
42017         if !LIBC.  Problem reported by Bob Proulx.
42018
42019 2007-01-23  Bruno Haible  <bruno@clisp.org>
42020
42021         * lib/striconveh.c: Include c-strcaseeq.h.
42022         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
42023         * modules/striconveh (Depends-on): Add c-strcaseeq.
42024
42025 2007-01-23  Bruno Haible  <bruno@clisp.org>
42026
42027         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
42028
42029         * modules/c-strcaseeq: New file.
42030         * lib/c-strcaseeq.h: New file.
42031
42032         * modules/streq: New file.
42033         * lib/streq.h: New file.
42034
42035 2007-01-23  Bruno Haible  <bruno@clisp.org>
42036
42037         * modules/striconveha-tests: New file.
42038         * tests/test-striconveha.c: New file.
42039
42040         * lib/striconveha.h: Include <stdbool.h>.
42041         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
42042         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
42043         (mem_iconveha_notranslit): Renamed from mem_iconveha.
42044         (mem_iconveha): New function.
42045         (str_iconveha_notranslit): Renamed from str_iconveha.
42046         (str_iconveha): New function.
42047         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
42048         c-strcase.
42049
42050 2007-01-23  Bruno Haible  <bruno@clisp.org>
42051
42052         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
42053         encodings without forgiving before trying any encoding with handler.
42054         (str_iconveha): Try all encodings without forgiving before trying any
42055         encoding with handler.
42056
42057 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42058
42059         Import the following changes from libc.
42060
42061         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
42062
42063         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
42064
42065         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
42066
42067         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
42068         normal_bracket label.
42069
42070         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
42071
42072         [BZ #361]
42073         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
42074         to normal_bracket after fetching the next character.
42075
42076 2007-01-22  Bruno Haible  <bruno@clisp.org>
42077
42078         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
42079         argument.
42080         * lib/striconveh.c (iconv_carefully_1): New function.
42081         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
42082         argument.
42083         (str_cd_iconveh): Update.
42084         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
42085         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
42086         * tests/test-striconveh.c (MAGIC): New macro.
42087         (new_offsets): New function.
42088         (main): Test call with and without offsets.
42089
42090 2007-01-22  Bruno Haible  <bruno@clisp.org>
42091
42092         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
42093         * modules/sys_select (Makefile.am): Likewise.
42094         * modules/sys_socket (Makefile.am): Likewise.
42095         * modules/sys_time (Makefile.am): Likewise.
42096
42097 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
42098
42099         * modules/gettimeofday (License): Change from GPL to LGPL, since
42100         gettimeofday is a library function.
42101
42102 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42103
42104         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
42105
42106 2007-01-21  Bruno Haible  <bruno@clisp.org>
42107
42108         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
42109
42110 2007-01-21  Bruno Haible  <bruno@clisp.org>
42111
42112         * modules/striconveha: New file.
42113         * lib/striconveha.h: New file.
42114         * lib/striconveha.c: New file.
42115         * MODULES.html.sh (Internationalization functions): Add striconveha.
42116         * lib/striconv.c (str_iconv): Optimize the case of an empty input
42117         string.
42118         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
42119
42120 2007-01-21  Bruno Haible  <bruno@clisp.org>
42121
42122         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
42123         * lib/striconveh.c (str_iconveh): Likewise.
42124
42125 2007-01-21  Bruno Haible  <bruno@clisp.org>
42126
42127         * lib/striconveh.h (mem_iconveh): New declaration.
42128         * lib/striconveh.c (mem_iconveh): New function.
42129         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
42130
42131 2007-01-21  Bruno Haible  <bruno@clisp.org>
42132
42133         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
42134
42135         * lib/striconveh.h (mem_cd_iconveh): Change specification.
42136         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
42137         original result buffer.
42138         (str_cd_iconveh): Update.
42139         * tests/test-striconveh.c (main): Update.
42140
42141         * lib/striconv.h (mem_cd_iconv): Change specification.
42142         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
42143         result buffer.
42144         (str_cd_iconv): Update.
42145         * tests/test-striconv.c (main): Update.
42146
42147 2007-01-21  Bruno Haible  <bruno@clisp.org>
42148
42149         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
42150
42151 2007-01-20  Jim Meyering  <jim@meyering.net>
42152
42153         * lib/userspec.c (parse_with_separator): If a user or group string
42154         starts with "+", skip the corresponding name-to-ID look-up, since
42155         such a look-up must fail: user and group names may not include "+".
42156
42157 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
42158
42159         * lib/poll.c: Include sys/time.h and time.h unconditionally,
42160         since we now assume the sys_time module.
42161         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
42162         check for sys/time.h; no longer needed.
42163         * modules/poll (Depends-on): Depend on sys_time.
42164
42165 2007-01-18  Bruno Haible  <bruno@clisp.org>
42166
42167         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
42168         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
42169
42170         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
42171         gettimeofday.
42172
42173         * tests/test-gettimeofday.c: Include <time.h>.
42174         (dummy): Remove variable.
42175
42176         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
42177         gl_HEADER_SYS_TIME_H.
42178         (gl_HEADER_SYS_TIME_H): New macro.
42179
42180         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
42181         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42182         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
42183         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
42184         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42185         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
42186         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
42187         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42188         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
42189         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
42190         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42191
42192         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
42193         last change; it caused a compilation error when cross-compiling to
42194         Cygwin.
42195
42196 2007-01-18  Jim Meyering  <jim@meyering.net>
42197
42198         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
42199         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
42200         than the race-prone "test -d sys || mkdir sys".
42201         (configure.ac): Use AC_PROG_MKDIR_P.
42202         * modules/sys_select: Likewise.
42203         * modules/sys_socket: Likewise.
42204         * modules/sys_time: Likewise.
42205
42206 2007-01-18  Eric Blake  <ebb9@byu.net>
42207
42208         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
42209         replace gettimeofday.
42210         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
42211         name, to avoid infinite recursion.
42212
42213 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
42214
42215         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
42216         module sys_time.
42217         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
42218         assume timespec.h defines struct timeval.
42219         * lib/settime.c: Likewise.
42220         * lib/utimens.c: Likewise.
42221         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
42222         since we now assume the gettimeofday module.
42223         * lib/tempname.c (__gen_tempname): Likewise.
42224         * lib/gettimeofday.h: Remove.
42225         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
42226         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
42227         Include <time.h>, for 'time()'.
42228         (localtime_buffer_addr): Also use this workaround if
42229         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
42230         to simplify the uses.  All uses changed.
42231         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
42232         that #undef is inside {}, and 'const' follows type name consistently.
42233         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
42234         (gettimeofday): Do not use the maximum possible value for
42235         tv->tv_usec, since that might break usages other than ls.c.
42236         Instead, we'll leave ls.c alone.  This undoes today's patch
42237         by Bruno.  Add a compile-time warning for 1s-clock resolution;
42238         we've never observed the problem but might as well keep the
42239         canary.
42240         * lib/nanosleep.c: Include timespec.h first, for interface check.
42241         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
42242         now assume the sys_time module.
42243         * lib/tempname.c: Likewise.
42244         * lib/timespec.h: Likewise.
42245         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
42246         needed.
42247         * lib/strftime.c: Likewise.
42248         * lib/timespec.h: Likewise.
42249         * lib/posixtm.c: Include posixtm.h first, for interface check.
42250         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
42251         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
42252         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
42253         * lib/sys_time_.h: New file.
42254         * lib/timespec.h (struct timespec): Use long int, not long.
42255         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
42256         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
42257         Remove obsolescent call to AC_HEADER_TIME.
42258         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
42259         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42260         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
42261         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
42262         Likewise.
42263         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
42264         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
42265         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
42266         into the sys_time module.  Check for gettimeofday just once.
42267         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
42268         for gettimeofday signature to just check the signature.  Merely
42269         compile it, since linking doesn't test signature.  Improve test for
42270         whether gettimeofday.o is actually needed.
42271         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
42272         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
42273         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
42274         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42275         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
42276         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
42277         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
42278         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
42279         than worrying about sys/time.h.
42280         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
42281         Don't bother worrying about TIME_WITH_SYS_TIME.
42282         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
42283         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
42284         * m4/sys_time_h.m4: New file.
42285         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
42286         Don't include sys/time.h.  Return from main rather than exiting.
42287         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
42288         all uses changed.
42289         * modules/gethrxtime (Depends-on): Add sys_time.
42290         * modules/gettime (Depends-on): Likewise.
42291         * modules/gettimeofday (Depends-on): Likewise.
42292         * modules/nanosleep (Depends-on): Likewise.
42293         * modules/settime (Depends-on): Likewise.
42294         * modules/tempname (Depends-on): Likewise.
42295         * modules/utimens (Depends-on): Likewise.
42296         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
42297         (Include:) Change back to <sys/time.h>.
42298         (Maintainer:) Add self.
42299         * modules/sys_time: New file.
42300         * modules/tempname (Depends-on): Add gettimeofday.
42301         * tests/test-gettimeofday.c: Include <sys/time.h>
42302         rather than gettimeofday.h.
42303
42304 2007-01-17  Bruno Haible  <bruno@clisp.org>
42305
42306         * gnulib-tool (func_get_license): Revert last patch. Instead, let
42307         the license default to GPL.
42308         (func_create_testdir): Don't complain if a module is LGPL and its
42309         tests module depends on GPLed modules.
42310
42311 2007-01-17  Bruno Haible  <bruno@clisp.org>
42312
42313         * lib/gettimeofday.c (gettimeofday): Add code for the case
42314         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
42315         maximum possible value for tv->tv_usec, rather than the minimum one.
42316
42317 2005-10-08  Martin Lambers  <marlam@marlam.de>
42318 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
42319 2007-01-16  Bruno Haible  <bruno@clisp.org>
42320
42321         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
42322         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
42323         gl_FUNC_GETTIMEOFDAY.
42324         (Include): Add gettimeofday.h.
42325         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
42326         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
42327         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
42328         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
42329         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
42330         * lib/gettimeofday.h: New file.
42331         * lib/gettimeofday.c: Include <sys/timeb.h>.
42332         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
42333         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42334         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
42335         fall back on time().
42336
42337         * tests/test-gettimeofday.c: New file.
42338         * modules/gettimeofday-tests: New file.
42339
42340 2007-01-16  Eric Blake  <ebb9@byu.net>
42341
42342         * modules/fnmatch (Depends-on): Depend on wchar.
42343         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
42344         * m4/fnmatch.m4: Likewise.
42345         * modules/mbchar (Makefile.am): Assume <wchar.h>.
42346         * m4/mbchar.m4: Likewise.
42347         * modules/mbswidth (Depends-on): Depend on wchar.
42348         * lib/mbswidth.c: Assume <wchar.h>.
42349         * m4/mbswidth.m4: Likewise.
42350         * modules/quotearg (Depends-on): Depend on wchar.
42351         * lib/quotearg.c: Assume <wchar.h>.
42352         * m4/quotearg.m4: Likewise.
42353         * modules/regex (Depends-on): Depend on wchar.
42354         * lib/regex_internal.h: Assume <wchar.h>.
42355         * m4/regex.m4: Likewise.
42356         * modules/stdint (Depends-on): Depend on wchar.
42357         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
42358         * m4/stdint.m4: Likewise.
42359         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
42360         * modules/strftime (Depends-on): Depend on wchar.
42361         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
42362         * modules/strtol (Depends-on): Depend on wchar.
42363         * lib/strtol.c: Assume <wchar.h>.
42364         * modules/wcwidth (Depends-on): Depend on wchar.
42365         * lib/wcwidth.h: Assume <wchar.h>.
42366         * m4/wcwidth.m4: Likewise.
42367
42368 2007-01-16  Bruno Haible  <bruno@clisp.org>
42369
42370         * modules/csharpexec-script: New, created from...
42371         * modules/csharpexec: ... this.
42372
42373 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
42374
42375         * modules/javaexec-script: New, created from...
42376         * modules/javaexec: ... this.
42377
42378 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42379
42380         * modules/poll (Dependencies): Add sys_select.
42381
42382 2007-01-15  Jim Meyering  <jim@meyering.net>
42383
42384         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
42385         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
42386         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
42387         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
42388
42389 2007-01-15  Bruno Haible  <bruno@clisp.org>
42390
42391         * modules/striconveh: New file.
42392         * lib/striconveh.h: New file.
42393         * lib/striconveh.c: New file.
42394         * MODULES.html.sh (Internationalization functions): Add striconveh.
42395
42396         * modules/striconveh-tests: New file.
42397         * tests/test-striconveh.c: New file.
42398
42399 2007-01-15  Bruno Haible  <bruno@clisp.org>
42400
42401         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
42402         not from GNU libiconv or GNU libc.
42403
42404 2007-01-15  Bruno Haible  <bruno@clisp.org>
42405
42406         * doc/gnulib-intro.texi (Copyright): Explain the different license
42407         terms for module descriptions, autoconf macros, tests, documentation.
42408
42409 2007-01-14  Bruno Haible  <bruno@clisp.org>
42410
42411         * modules/striconv-tests: New file.
42412         * tests/test-striconv.c: New file.
42413
42414 2007-01-14  Bruno Haible  <bruno@clisp.org>
42415
42416         * modules/iconv-tests: New file.
42417         * tests/test-iconv.c: New file.
42418
42419 2007-01-14  Bruno Haible  <bruno@clisp.org>
42420
42421         * gnulib-tool (func_get_license): For test modules, use the license of
42422         the main module.
42423
42424 2007-01-14  Bruno Haible  <bruno@clisp.org>
42425
42426         * modules/iconv (Include): Clarify that <iconv.h> can only be included
42427         if iconv is found to exist.
42428
42429 2007-01-14  Bruno Haible  <bruno@clisp.org>
42430
42431         * modules/c-ctype-tests: New file.
42432         * tests/test-c-ctype.c: New file.
42433
42434 2007-01-14  Bruno Haible  <bruno@clisp.org>
42435
42436         * modules/binary-io-tests: New file.
42437         * tests/test-binary-io.sh: New file.
42438         * tests/test-binary-io.c: New file.
42439
42440 2007-01-14  Bruno Haible  <bruno@clisp.org>
42441
42442         * modules/array-oset-tests: New file.
42443         * tests/test-array_oset.c: New file.
42444
42445 2007-01-14  Bruno Haible  <bruno@clisp.org>
42446
42447         * modules/array-list-tests: New file.
42448         * tests/test-array_list.c: New file.
42449
42450 2007-01-14  Bruno Haible  <bruno@clisp.org>
42451
42452         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
42453         and make.
42454         Reported by Simon Josefsson in
42455         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
42456
42457 2007-01-14  Bruno Haible  <bruno@clisp.org>
42458
42459         * modules/allocsa-tests: New file.
42460         * tests/test-allocsa.c: New file.
42461
42462 2007-01-14  Bruno Haible  <bruno@clisp.org>
42463
42464         * modules/fchdir (Depends-on): Add absolute-header.
42465         * modules/unistd (Depends-on): Likewise.
42466
42467 2006-12-30  Bruno Haible  <bruno@clisp.org>
42468
42469         * modules/fchdir: New file.
42470         * modules/unistd (Files): Add lib/unistd_.h.
42471         (Makefile.am): Generate unistd.h from unistd_.h.
42472         * lib/fchdir.c: New file.
42473         * lib/dirent_.h: New file.
42474         * lib/unistd_.h: New file.
42475         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
42476         * m4/fchdir.m4: New file.
42477         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
42478         (gl_HEADER_UNISTD): Invoke it.
42479         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
42480         function.
42481         * lib/backupfile.c (opendir, closedir): Undefine.
42482         * lib/chown.c (open, close): Undefine.
42483         * lib/clean-temp.c (open, close): Undefine.
42484         * lib/copy-file.c (open, close): Undefine.
42485         * lib/execute.c (open, close): Undefine.
42486         * lib/fsusage.c (open, close): Undefine.
42487         * lib/gc-gnulib.c (open, close): Undefine.
42488         * lib/getcwd.c (opendir, closedir): Undefine.
42489         * lib/glob.c (opendir, closedir): Undefine.
42490         * lib/javacomp.c (open, close): Undefine.
42491         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
42492         * lib/openat-proc.c (open, close): Undefine.
42493         * lib/pagealign_alloc.c (open, close): Undefine.
42494         * lib/pipe.c (open, close): Undefine.
42495         * lib/progreloc.c (open, close): Undefine.
42496         * lib/savedir.c (opendir, closedir): Undefine.
42497         * lib/utime.c (open, close): Undefine.
42498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
42499
42500 2007-01-10  Bruno Haible  <bruno@clisp.org>
42501
42502         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
42503
42504 2007-01-12  Eric Blake  <ebb9@byu.net>
42505
42506         Provide a robust <wchar.h>.  Further simplifications are now
42507         possible in other modules, but not included here.
42508         * modules/wchar: New module.
42509         * m4/wchar.m4: New file.
42510         * lib/wchar_.h: Likewise.
42511         * modules/mbchar (Depends-on): Depend on wchar, as the first use
42512         of the new module.
42513         * MODULES.html.sh (Extended multibyte and wide character utilities):
42514         New section.
42515
42516 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
42517
42518         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
42519         to a reasonable default for memory allocation.
42520         (xreadlink): Don't allocate a huge buffer, to work around a buggy
42521         file system that reports garbage st_size values for symlinks.
42522         Problem reported by Liyang Hu.
42523
42524 2007-01-11  Simon Josefsson  <simon@josefsson.org>
42525
42526         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
42527         Emacs .#* auto-save files).
42528
42529 2007-01-11  Bruno Haible  <bruno@clisp.org>
42530
42531         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
42532         directory.
42533
42534 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
42535
42536         Use @...@ consistently in lib/wctype_.h.
42537         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
42538         on it being set to 1 or 0.
42539         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
42540         go back to AC_SUBSTing it.
42541         * modules/wctype (Makefile.am): Undo previous change.
42542
42543 2007-01-10  Eric Blake  <ebb9@byu.net>
42544
42545         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
42546         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
42547         * modules/wctype (Makefile.am): Likewise.
42548         Reported by Chris McGuire.
42549
42550 2007-01-10  Jim Meyering  <jim@meyering.net>
42551
42552         fts.c: a small readability/maintainability improvement
42553         * lib/fts.c (fts_read): Make this code slightly more readable and
42554         maintainable by hoisting the "sp->fts_cur = p" assignments to
42555         immediately follow the statements that set P.  Derived from
42556         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
42557
42558 2007-01-10  Eric Blake  <ebb9@byu.net>
42559
42560         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
42561         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
42562         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
42563         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42564         Reported by Chris McGuire.
42565
42566 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42567
42568         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
42569         in sed script.
42570
42571 2007-01-09  Bruno Haible  <bruno@clisp.org>
42572
42573         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
42574         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
42575         variables.
42576         (func_module): Use them.
42577
42578 2007-01-09  Bruno Haible  <bruno@clisp.org>
42579
42580         * modules/unistr/base: New file.
42581         * lib/unistr.h: New file.
42582
42583         * modules/unistr/u8-to-u16: New file.
42584         * lib/unistr/u8-to-u16.c: New file.
42585
42586         * modules/unistr/u8-to-u32: New file.
42587         * lib/unistr/u8-to-u32.c: New file.
42588
42589         * modules/unistr/u16-to-u8: New file.
42590         * lib/unistr/u16-to-u8.c: New file.
42591
42592         * modules/unistr/u16-to-u32: New file.
42593         * lib/unistr/u16-to-u32.c: New file.
42594
42595         * modules/unistr/u32-to-u8: New file.
42596         * lib/unistr/u32-to-u8.c: New file.
42597
42598         * modules/unistr/u32-to-u16: New file.
42599         * lib/unistr/u32-to-u16.c: New file.
42600
42601         * modules/unistr/u8-check: New file.
42602         * modules/unistr/u16-check: New file.
42603         * modules/unistr/u32-check: New file.
42604         * lib/unistr/u8-check.c: New file.
42605         * lib/unistr/u16-check.c: New file.
42606         * lib/unistr/u32-check.c: New file.
42607
42608         * modules/unistr/u8-chr: New file.
42609         * modules/unistr/u16-chr: New file.
42610         * modules/unistr/u32-chr: New file.
42611         * lib/unistr/u8-chr.c: New file.
42612         * lib/unistr/u16-chr.c: New file.
42613         * lib/unistr/u32-chr.c: New file.
42614
42615         * modules/unistr/u8-cmp: New file.
42616         * modules/unistr/u16-cmp: New file.
42617         * modules/unistr/u32-cmp: New file.
42618         * lib/unistr/u8-cmp.c: New file.
42619         * lib/unistr/u16-cmp.c: New file.
42620         * lib/unistr/u32-cmp.c: New file.
42621
42622         * modules/unistr/u8-cpy: New file.
42623         * modules/unistr/u16-cpy: New file.
42624         * modules/unistr/u32-cpy: New file.
42625         * lib/unistr/u8-cpy.c: New file.
42626         * lib/unistr/u16-cpy.c: New file.
42627         * lib/unistr/u32-cpy.c: New file.
42628         * lib/unistr/u-cpy.h: New file.
42629
42630         * modules/unistr/u8-cpy-alloc: New file.
42631         * modules/unistr/u16-cpy-alloc: New file.
42632         * modules/unistr/u32-cpy-alloc: New file.
42633         * lib/unistr/u8-cpy-alloc.c: New file.
42634         * lib/unistr/u16-cpy-alloc.c: New file.
42635         * lib/unistr/u32-cpy-alloc.c: New file.
42636         * lib/unistr/u-cpy-alloc.h: New file.
42637
42638         * modules/unistr/u8-endswith: New file.
42639         * modules/unistr/u16-endswith: New file.
42640         * modules/unistr/u32-endswith: New file.
42641         * lib/unistr/u8-endswith.c: New file.
42642         * lib/unistr/u16-endswith.c: New file.
42643         * lib/unistr/u32-endswith.c: New file.
42644         * lib/unistr/u-endswith.h: New file.
42645
42646         * modules/unistr/u8-mblen: New file.
42647         * modules/unistr/u16-mblen: New file.
42648         * modules/unistr/u32-mblen: New file.
42649         * lib/unistr/u8-mblen.c: New file.
42650         * lib/unistr/u16-mblen.c: New file.
42651         * lib/unistr/u32-mblen.c: New file.
42652
42653         * modules/unistr/u8-mbtouc: New file.
42654         * modules/unistr/u16-mbtouc: New file.
42655         * modules/unistr/u32-mbtouc: New file.
42656         * lib/unistr/u8-mbtouc.c: New file.
42657         * lib/unistr/u16-mbtouc.c: New file.
42658         * lib/unistr/u32-mbtouc.c: New file.
42659
42660         * modules/unistr/u8-mbtouc-safe: New file.
42661         * modules/unistr/u16-mbtouc-safe: New file.
42662         * modules/unistr/u32-mbtouc-safe: New file.
42663         * lib/unistr/u8-mbtouc-safe.c: New file.
42664         * lib/unistr/u16-mbtouc-safe.c: New file.
42665         * lib/unistr/u32-mbtouc-safe.c: New file.
42666
42667         * modules/unistr/u8-move: New file.
42668         * modules/unistr/u16-move: New file.
42669         * modules/unistr/u32-move: New file.
42670         * lib/unistr/u8-move.c: New file.
42671         * lib/unistr/u16-move.c: New file.
42672         * lib/unistr/u32-move.c: New file.
42673         * lib/unistr/u-move.h: New file.
42674
42675         * modules/unistr/u8-next: New file.
42676         * modules/unistr/u16-next: New file.
42677         * modules/unistr/u32-next: New file.
42678         * lib/unistr/u8-next.c: New file.
42679         * lib/unistr/u16-next.c: New file.
42680         * lib/unistr/u32-next.c: New file.
42681
42682         * modules/unistr/u8-prev: New file.
42683         * modules/unistr/u16-prev: New file.
42684         * modules/unistr/u32-prev: New file.
42685         * lib/unistr/u8-prev.c: New file.
42686         * lib/unistr/u16-prev.c: New file.
42687         * lib/unistr/u32-prev.c: New file.
42688
42689         * modules/unistr/u8-set: New file.
42690         * modules/unistr/u16-set: New file.
42691         * modules/unistr/u32-set: New file.
42692         * lib/unistr/u8-set.c: New file.
42693         * lib/unistr/u16-set.c: New file.
42694         * lib/unistr/u32-set.c: New file.
42695         * lib/unistr/u-set.h: New file.
42696
42697         * modules/unistr/u8-startswith: New file.
42698         * modules/unistr/u16-startswith: New file.
42699         * modules/unistr/u32-startswith: New file.
42700         * lib/unistr/u8-startswith.c: New file.
42701         * lib/unistr/u16-startswith.c: New file.
42702         * lib/unistr/u32-startswith.c: New file.
42703         * lib/unistr/u-startswith.h: New file.
42704
42705         * modules/unistr/u8-stpcpy: New file.
42706         * modules/unistr/u16-stpcpy: New file.
42707         * modules/unistr/u32-stpcpy: New file.
42708         * lib/unistr/u8-stpcpy.c: New file.
42709         * lib/unistr/u16-stpcpy.c: New file.
42710         * lib/unistr/u32-stpcpy.c: New file.
42711         * lib/unistr/u-stpcpy.h: New file.
42712
42713         * modules/unistr/u8-stpncpy: New file.
42714         * modules/unistr/u16-stpncpy: New file.
42715         * modules/unistr/u32-stpncpy: New file.
42716         * lib/unistr/u8-stpncpy.c: New file.
42717         * lib/unistr/u16-stpncpy.c: New file.
42718         * lib/unistr/u32-stpncpy.c: New file.
42719         * lib/unistr/u-stpncpy.h: New file.
42720
42721         * modules/unistr/u8-strcat: New file.
42722         * modules/unistr/u16-strcat: New file.
42723         * modules/unistr/u32-strcat: New file.
42724         * lib/unistr/u8-strcat.c: New file.
42725         * lib/unistr/u16-strcat.c: New file.
42726         * lib/unistr/u32-strcat.c: New file.
42727         * lib/unistr/u-strcat.h: New file.
42728
42729         * modules/unistr/u8-strchr: New file.
42730         * modules/unistr/u16-strchr: New file.
42731         * modules/unistr/u32-strchr: New file.
42732         * lib/unistr/u8-strchr.c: New file.
42733         * lib/unistr/u16-strchr.c: New file.
42734         * lib/unistr/u32-strchr.c: New file.
42735
42736         * modules/unistr/u8-strcmp: New file.
42737         * modules/unistr/u16-strcmp: New file.
42738         * modules/unistr/u32-strcmp: New file.
42739         * lib/unistr/u8-strcmp.c: New file.
42740         * lib/unistr/u16-strcmp.c: New file.
42741         * lib/unistr/u32-strcmp.c: New file.
42742
42743         * modules/unistr/u8-strcpy: New file.
42744         * modules/unistr/u16-strcpy: New file.
42745         * modules/unistr/u32-strcpy: New file.
42746         * lib/unistr/u8-strcpy.c: New file.
42747         * lib/unistr/u16-strcpy.c: New file.
42748         * lib/unistr/u32-strcpy.c: New file.
42749         * lib/unistr/u-strcpy.h: New file.
42750
42751         * modules/unistr/u8-strcspn: New file.
42752         * modules/unistr/u16-strcspn: New file.
42753         * modules/unistr/u32-strcspn: New file.
42754         * lib/unistr/u8-strcspn.c: New file.
42755         * lib/unistr/u16-strcspn.c: New file.
42756         * lib/unistr/u32-strcspn.c: New file.
42757         * lib/unistr/u-strcspn.h: New file.
42758
42759         * modules/unistr/u8-strdup: New file.
42760         * modules/unistr/u16-strdup: New file.
42761         * modules/unistr/u32-strdup: New file.
42762         * lib/unistr/u8-strdup.c: New file.
42763         * lib/unistr/u16-strdup.c: New file.
42764         * lib/unistr/u32-strdup.c: New file.
42765         * lib/unistr/u-strdup.h: New file.
42766
42767         * modules/unistr/u8-strlen: New file.
42768         * modules/unistr/u16-strlen: New file.
42769         * modules/unistr/u32-strlen: New file.
42770         * lib/unistr/u8-strlen.c: New file.
42771         * lib/unistr/u16-strlen.c: New file.
42772         * lib/unistr/u32-strlen.c: New file.
42773         * lib/unistr/u-strlen.h: New file.
42774
42775         * modules/unistr/u8-strmblen: New file.
42776         * modules/unistr/u16-strmblen: New file.
42777         * modules/unistr/u32-strmblen: New file.
42778         * lib/unistr/u8-strmblen.c: New file.
42779         * lib/unistr/u16-strmblen.c: New file.
42780         * lib/unistr/u32-strmblen.c: New file.
42781
42782         * modules/unistr/u8-strmbtouc: New file.
42783         * modules/unistr/u16-strmbtouc: New file.
42784         * modules/unistr/u32-strmbtouc: New file.
42785         * lib/unistr/u8-strmbtouc.c: New file.
42786         * lib/unistr/u16-strmbtouc.c: New file.
42787         * lib/unistr/u32-strmbtouc.c: New file.
42788
42789         * modules/unistr/u8-strncat: New file.
42790         * modules/unistr/u16-strncat: New file.
42791         * modules/unistr/u32-strncat: New file.
42792         * lib/unistr/u8-strncat.c: New file.
42793         * lib/unistr/u16-strncat.c: New file.
42794         * lib/unistr/u32-strncat.c: New file.
42795         * lib/unistr/u-strncat.h: New file.
42796
42797         * modules/unistr/u8-strncmp: New file.
42798         * modules/unistr/u16-strncmp: New file.
42799         * modules/unistr/u32-strncmp: New file.
42800         * lib/unistr/u8-strncmp.c: New file.
42801         * lib/unistr/u16-strncmp.c: New file.
42802         * lib/unistr/u32-strncmp.c: New file.
42803
42804         * modules/unistr/u8-strncpy: New file.
42805         * modules/unistr/u16-strncpy: New file.
42806         * modules/unistr/u32-strncpy: New file.
42807         * lib/unistr/u8-strncpy.c: New file.
42808         * lib/unistr/u16-strncpy.c: New file.
42809         * lib/unistr/u32-strncpy.c: New file.
42810         * lib/unistr/u-strncpy.h: New file.
42811
42812         * modules/unistr/u8-strnlen: New file.
42813         * modules/unistr/u16-strnlen: New file.
42814         * modules/unistr/u32-strnlen: New file.
42815         * lib/unistr/u8-strnlen.c: New file.
42816         * lib/unistr/u16-strnlen.c: New file.
42817         * lib/unistr/u32-strnlen.c: New file.
42818         * lib/unistr/u-strnlen.h: New file.
42819
42820         * modules/unistr/u8-strpbrk: New file.
42821         * modules/unistr/u16-strpbrk: New file.
42822         * modules/unistr/u32-strpbrk: New file.
42823         * lib/unistr/u8-strpbrk.c: New file.
42824         * lib/unistr/u16-strpbrk.c: New file.
42825         * lib/unistr/u32-strpbrk.c: New file.
42826         * lib/unistr/u-strpbrk.h: New file.
42827
42828         * modules/unistr/u8-strrchr: New file.
42829         * modules/unistr/u16-strrchr: New file.
42830         * modules/unistr/u32-strrchr: New file.
42831         * lib/unistr/u8-strrchr.c: New file.
42832         * lib/unistr/u16-strrchr.c: New file.
42833         * lib/unistr/u32-strrchr.c: New file.
42834
42835         * modules/unistr/u8-strspn: New file.
42836         * modules/unistr/u16-strspn: New file.
42837         * modules/unistr/u32-strspn: New file.
42838         * lib/unistr/u8-strspn.c: New file.
42839         * lib/unistr/u16-strspn.c: New file.
42840         * lib/unistr/u32-strspn.c: New file.
42841         * lib/unistr/u-strspn.h: New file.
42842
42843         * modules/unistr/u8-strstr: New file.
42844         * modules/unistr/u16-strstr: New file.
42845         * modules/unistr/u32-strstr: New file.
42846         * lib/unistr/u8-strstr.c: New file.
42847         * lib/unistr/u16-strstr.c: New file.
42848         * lib/unistr/u32-strstr.c: New file.
42849         * lib/unistr/u-strstr.h: New file.
42850
42851         * modules/unistr/u8-strtok: New file.
42852         * modules/unistr/u16-strtok: New file.
42853         * modules/unistr/u32-strtok: New file.
42854         * lib/unistr/u8-strtok.c: New file.
42855         * lib/unistr/u16-strtok.c: New file.
42856         * lib/unistr/u32-strtok.c: New file.
42857         * lib/unistr/u-strtok.h: New file.
42858
42859         * modules/unistr/u8-uctomb: New file.
42860         * modules/unistr/u16-uctomb: New file.
42861         * modules/unistr/u32-uctomb: New file.
42862         * lib/unistr/u8-uctomb.c: New file.
42863         * lib/unistr/u16-uctomb.c: New file.
42864         * lib/unistr/u32-uctomb.c: New file.
42865
42866         * MODULES.html.sh (Unicode string functions): Add the new modules.
42867
42868 2007-01-08  Bruno Haible  <bruno@clisp.org>
42869
42870         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
42871         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
42872         subdirectories.
42873
42874 2007-01-08  Karl Berry  <karl@gnu.org>
42875
42876         * doc/error.texi: mention that main() fns must set program_name
42877         when progname is used.
42878
42879 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
42880
42881         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
42882         WCTYPE_H is empty, for the benefit of builds from non-distclean
42883         directories.  Problem reported by Eric Blake in
42884         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
42885
42886 2007-01-08  Bruno Haible  <bruno@clisp.org>
42887
42888         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
42889         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
42890         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
42891         PROVIDE_CANONICALIZE_FILENAME_MODE.
42892         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
42893
42894 2007-01-08  Bruno Haible  <bruno@clisp.org>
42895
42896         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
42897         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
42898         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
42899         * lib/fts.c: Likewise.
42900         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
42901
42902 2006-12-25  Bruno Haible  <bruno@clisp.org>
42903
42904         * modules/utf8-ucs4-safe: New file.
42905         * lib/utf8-ucs4-safe.h: New file.
42906         * lib/unistr/utf8-ucs4-safe.c: New file.
42907
42908         * modules/utf16-ucs4-safe: New file.
42909         * lib/utf16-ucs4-safe.h: New file.
42910         * lib/unistr/utf16-ucs4-safe.c: New file.
42911
42912         * MODULES.html.sh (Unicode string functions): Add the new modules.
42913
42914 2007-01-08  Bruno Haible  <bruno@clisp.org>
42915
42916         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
42917         (Depends-on): Add unitypes.
42918         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
42919         (u8_mbtouc_aux): Move out to separate file.
42920         (u8_mbtouc): Use ucs4_t, uint8_t types.
42921         * lib/unistr/utf8-ucs4.c: New file.
42922
42923         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
42924         (Depends-on): Add unitypes.
42925         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
42926         (u16_mbtouc_aux): Move out to separate file.
42927         (u16_mbtouc): Use ucs4_t, uint16_t types.
42928         * lib/unistr/utf16-ucs4.c: New file.
42929
42930         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
42931         (Depends-on): Add unitypes.
42932         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
42933         (u8_uctomb_aux): Move out to separate file.
42934         (u8_uctomb): Use ucs4_t, uint8_t types.
42935         * lib/unistr/ucs4-utf8.c: New file.
42936
42937         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
42938         (Depends-on): Add unitypes.
42939         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
42940         (u16_uctomb_aux): Move out to separate file.
42941         (u16_uctomb): Use ucs4_t, uint16_t types.
42942         * lib/unistr/ucs4-utf16.c: New file.
42943
42944 2006-12-25  Bruno Haible  <bruno@clisp.org>
42945
42946         * modules/unitypes: New file.
42947         * lib/unitypes.h: New file.
42948         * MODULES.html.sh (func_all_modules): New section "Unicode string
42949         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
42950         this section. Add unitypes.
42951
42952 2007-01-08  Bruno Haible  <bruno@clisp.org>
42953
42954         Avoid variable names that conflict with those from libtool.
42955         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
42956         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
42957         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
42958         library_names_spec to acl_library_names_spec, hardcode_* to
42959         acl_hardcode_*.
42960         Reported by Ralf Wildenhues.
42961
42962 2007-01-08  Bruno Haible  <bruno@clisp.org>
42963
42964         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
42965         definition.
42966         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
42967         definition.
42968         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
42969         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
42970         definition.
42971         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
42972         definition.
42973         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
42974         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
42975         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
42976         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
42977         definition.
42978         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
42979         definition.
42980         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
42981         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
42982         GC_USE_<algorithm>.
42983         * lib/gc-libgcrypt.c: Likewise.
42984         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
42985         * modules/gc-arctwo (configure.ac): Likewise.
42986         * modules/gc-des (configure.ac): Likewise.
42987         * modules/gc-hmac-md5 (configure.ac): Likewise.
42988         * modules/gc-hmac-sha1 (configure.ac): Likewise.
42989         * modules/gc-md2 (configure.ac): Likewise.
42990         * modules/gc-md4 (configure.ac): Likewise.
42991         * modules/gc-md5 (configure.ac): Likewise.
42992         * modules/gc-random (configure.ac): Likewise.
42993         * modules/gc-rijndael (configure.ac): Likewise.
42994         * modules/gc-sha1 (configure.ac): Likewise.
42995
42996 2007-01-08  Bruno Haible  <bruno@clisp.org>
42997
42998         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
42999         macro definition.
43000         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
43001         definition.
43002         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
43003         definition.
43004         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
43005         * modules/fcntl-safer (configure.ac): Likewise.
43006         * modules/fopen-safer (configure.ac): Likewise.
43007         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
43008         GNULIB_FWRITEERROR macro definition.
43009
43010 2007-01-08  Bruno Haible  <bruno@clisp.org>
43011
43012         * m4/gnulib-common.m4: New file.
43013         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
43014         (func_get_filelist): Add m4/gnulib-common.m4.
43015
43016 2007-01-08  Bruno Haible  <bruno@clisp.org>
43017
43018         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
43019         command.
43020
43021 2007-01-08  Jim Meyering  <jim@meyering.net>
43022
43023         Use a more robust test for a "can't happen" condition.
43024         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
43025         narrowed the st_size value.  Presuming the "can't happen" condition
43026         is true, that narrowing could conceivably convert an invalid st_size
43027         value into a valid one.  Instead, use a change based on Matthew
43028         Woehlke's original patch.
43029
43030         Slight readability improvement: use an assert-like macro
43031         in place of literal "abort ()" uses.
43032         * lib/fts.c (fts_assert): Define.
43033         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
43034         Use this macro instead of a bare 'abort'.
43035
43036 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
43037
43038         Don't worry about using IRIX 5.3's wctype.h broken definitions;
43039         simply work around them.
43040         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
43041         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
43042         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
43043         declaring.
43044         Don't bother to define as macros, since the standard doesn't require it.
43045         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
43046         longer worry about IRIX 5.3.
43047         (HAVE_WCTYPE_CTMP_BUG): Remove.
43048
43049 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43050
43051         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
43052         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
43053         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
43054         Problems reported by Georg Schwarz for IRIX 5.3.
43055
43056         * gnulib-tool (autoconf_minversion): Take the maximum version number
43057         found, not the minimum.  Problem reported by James Youngman.
43058
43059 2007-01-03  Karl Berry  <karl@gnu.org>
43060
43061         * doc/error.texi: new file, explaining interaction with progname.
43062         * doc/gnulib.texi: include it.  Update copyright.
43063
43064 2007-01-03  Simon Josefsson  <simon@josefsson.org>
43065
43066         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
43067         AC_CANONICAL_HOST, to improve autobuild outputs.
43068
43069 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
43070             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
43071
43072         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
43073         sockets, server sockets, and other file descriptors.  Count errors
43074         to compute the return value.  Reorder the code a bit to be easier
43075         to follow.  Don't set event bits that were not requested (except
43076         POLLERR and POLLHUP).
43077
43078 2007-01-01  Bruno Haible  <bruno@clisp.org>
43079
43080         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
43081
43082 2007-01-03  Jim Meyering  <jim@meyering.net>
43083
43084         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
43085
43086 2007-01-02  Bruno Haible  <bruno@clisp.org>
43087
43088         * modules/settime (Include): Require timespec.h.
43089         * modules/nanosleep (Include): Likewise.
43090
43091 2007-01-01  Bruno Haible  <bruno@clisp.org>
43092
43093         * gnulib-tool (func_emit_copyright_notice): Bump year.
43094         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
43095
43096 2007-01-01  Bruno Haible  <bruno@clisp.org>
43097
43098         Improve support for OpenBSD.
43099         * build-aux/config.rpath (libname_spec): Export.
43100         (library_names_spec): New variable. Export.
43101         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
43102         library_names_spec from the config.rpath output. Locate shared library
43103         through the name pattern in library_names_spec.
43104
43105 2007-01-01  Eric Blake  <ebb9@byu.net>
43106
43107         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
43108
43109 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
43110
43111         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
43112         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
43113         assume the C locale, and avoid an "eval" that could cause trouble.
43114         Problem with SORT reported by Bob Proulx.
43115
43116         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
43117         Define.  Trivial patch from Henning Nielsen Lund, originally
43118         sent to bug-grep@gnu.org today.
43119
43120 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43121
43122         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
43123         struct stat.  Problem reported by Henning Nielsen Lund.
43124         * lib/acl.c: Include acl.h first, to check interface.  Don't
43125         bother to include sys/types.h and sys/stat.h again.
43126
43127 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
43128
43129         Import the following change from libc; problem reported by
43130         Sven Verdoolaege.
43131
43132         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
43133
43134         [BZ #1373]
43135         * lib/argp.h: Remove __NTH for __argp_usage inline function.
43136
43137 2006-12-28  Jim Meyering  <jim@meyering.net>
43138
43139         * build-aux/announce-gen: Do not assume that the package
43140         builds any of tar.gz, tar.bz2, and .xdelta files.
43141         Suggestion from Simon Josefsson.
43142
43143 2006-12-28  Simon Josefsson  <simon@josefsson.org>
43144
43145         * modules/announce-gen: New file.
43146
43147 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
43148
43149         * lib/mbchar.h: Just include <wctype.h>; the wctype module
43150         handles its gotchas now.
43151         * lib/mbswidth.c: Likewise.
43152         * lib/wcwidth.h: Likewise.
43153         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
43154         and iswcntrl; the wctype module does this stuff now.
43155         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
43157         * modules/mbchar (Depends-on): Add wctype.
43158         * modules/mbswidth (Depends-on): Likewise.
43159         * modules/wcwidth (Depends-on): Likewise.
43160
43161 2006-12-27  Eric Blake  <ebb9@byu.net>
43162
43163         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
43164         module uses more than what <wctype.h> is required to provide.
43165
43166 2006-12-26  Eric Blake  <ebb9@byu.net>
43167
43168         * gnulib-tool (sed_extract_prog): Avoid space-tab.
43169
43170 2006-12-26  Eric Blake  <ebb9@byu.net>
43171
43172         * modules/absolute-header: New module.
43173         * modules/fcntl (Depends-on): Depend on it.
43174         * modules/inttypes (Depends-on): Likewise.
43175         * modules/stdint (Depends-on): Likewise.
43176         * modules/sys_stat (Depends-on): Likewise.
43177         * modules/wctype (Depends-on): Likewise.
43178         * MODULES.html.sh (Support for building libraries and
43179         executables): Document it.
43180
43181 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43182
43183         * gnulib-tool (SED): Remove, undoing previous change.
43184         The problem was that it broke coreutils on Solaris, because
43185         "sed --posix" leaked into a makefile.
43186         (sed): New alias, if 'alias' and GNU sed.
43187
43188 2006-12-24  Jim Meyering  <jim@meyering.net>
43189
43190         Work around an fchownat bug in glibc-2.4:
43191         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
43192         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
43193         in spite of the -P option.
43194         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
43195         New macros.
43196         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
43197         * modules/openat (Files): Add lib/fchownat.c.
43198         * lib/openat.c (fchownat): Don't define here.  Move to...
43199         * lib/fchownat.c: ...this new file.
43200
43201 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
43202
43203         Fix bug reported by Bruno Haible in
43204         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
43205         where quotearg.c didn't compile on Mac OS X 10.2 because it
43206         lacks <wchar.h> and wint_t.
43207         * lib/wctype_.h (__wctype_wint_t): New type.
43208         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
43209         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
43210         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
43211         Arg is now of type __wctype_wint_t, not wint_t.
43212         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
43213         substitute HAVE_WINT_T.
43214         * modules/wctype (Files): Add m4/wint_t.m4.
43215         (wctype.h): Substitute HAVE_WINT_T.
43216
43217 2006-12-23  Bruno Haible  <bruno@clisp.org>
43218
43219         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
43220
43221 2006-12-23  Bruno Haible  <bruno@clisp.org>
43222
43223         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
43224         S_ISLNK.
43225         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
43226         mingw.
43227
43228 2006-12-22  Bruno Haible  <bruno@clisp.org>
43229
43230         * lib/copy-file.c: Include acl.h.
43231         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
43232         Close the file descriptors only after being done with copy_acl.
43233         * modules/copy-file (Depends-on): Add acl.
43234
43235 2006-12-22  Bruno Haible  <bruno@clisp.org>
43236
43237         * gnulib-tool (SED): New variable.
43238         Use $SED instead of sed everywhere.
43239
43240 2006-12-22  Bruno Haible  <bruno@clisp.org>
43241
43242         * modules/no-c++: New file.
43243         * m4/no-c++.m4: New file.
43244         * MODULES.html.sh (Support for building libraries and executables):
43245         Add no-c++.
43246
43247 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
43248
43249         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
43250         Include <limits.h>, and use its INT_MAX to rewrite the
43251         j loop so that it does not overflow 'int'.  Problem reported by
43252         Ralf Wildenhues in
43253         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
43254         Play it safe by shifting left by 1 rather than multiplying by 2,
43255         as GCC is less likely to optimize this away when the value
43256         is signed (when it assumes overflow leads to undefined behavior).
43257         Also, don't assume time_t uses two's complement.
43258
43259 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
43260
43261         * MODULES.html.sh: New module wctype.
43262         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
43263         * lib/fnmatch.c: Don't bother to include <wchar.h> before
43264         <wctype.h>, since the new wctype module should fix this.
43265         * lib/quotearg.c: Include <wctype.h> unconditionally, since
43266         the wctype module should arrange for it.
43267         * lib/regex_internal.h: Likewise.
43268         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
43269         since the wctype module should handle this now.
43270         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
43271         * modules/fnmatch (Depends-on): Add wctype.
43272         * modules/quotearg (Depends-on): Likewise.
43273         * modules/regex (Depends-on): Likewise.
43274
43275 2006-12-19  Bruno Haible  <bruno@clisp.org>
43276
43277         * lib/strdup.h [C++]: Wrap definitions in extern "C".
43278         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
43279
43280 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43281
43282         * modules/savewd (Depends-on): Fix dependency on fcntl.
43283
43284 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43285
43286         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
43287         conforms to C99, rather than relying on the user's environment
43288         setting of STDINT_H.
43289
43290 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43291         and Eric Blake  <ebb9@byu.net>
43292
43293         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
43294         This is more consistent with the other defines here.
43295         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
43296         Port to z/OS.  Problem reported by Paul Gilmartin.
43297         Change local vars to use gl_ prefix rather than ac_.
43298         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
43299         with other defines.
43300         * modules/double-slash-root: New module.
43301         * modules/dirname (Files): Remove m4/double-slash-root.m4.
43302         (Depends-on): Add double-slash-root.
43303         * MODULES.html.sh (File system functions): Mention new module.
43304
43305 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
43306
43307         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
43308         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
43309         This is for the benefit of gzip, which doesn't do i18n.
43310
43311 2006-12-12  Jim Meyering  <jim@meyering.net>
43312
43313         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
43314         Reported by Andreas Schwab <schwab@suse.de>.
43315
43316 2006-12-12  Bruno Haible  <bruno@clisp.org>
43317
43318         Merge these changes.
43319         2006-09-05  Bruno Haible  <bruno@clisp.org>
43320         * lib/iconvme.c (iconv_string): No need to save and restore errno when
43321         iconv_alloc succeeded.
43322         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
43323         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
43324         test for " && dest " at the end - dest is always != NULL there. Call
43325         iconv with 4xNULL arguments initially, to reset the state. Call iconv
43326         with 2xNULL arguments, also to flush the state storage. Handle the
43327         IRIX iconv behaviour. Realloc the final result, to throw away unused
43328         memory.
43329
43330 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
43331
43332         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
43333         and fchmodat unconditionally, since glibc 2.4 has them.
43334         Problem reported by Arkadiusz Miskiewicz.
43335
43336 2006-12-10  Bruno Haible  <bruno@clisp.org>
43337
43338         * gnulib-tool (func_import): Show the include files only for those
43339         modules that are copied and specified.
43340         Reported by Karl Berry.
43341
43342 2006-12-08  Jim Meyering  <jim@meyering.net>
43343
43344         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
43345         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
43346
43347         * build-aux/announce-gen: Add two new options, both optional:
43348         --bootstrap-tools=TOOL_LIST
43349               a comma-separated list of tools, e.g.,
43350               autoconf,automake,bison,gnulib
43351         --gnulib-snapshot-date=DATE
43352               if gnulib is in the bootstrap tool list,
43353               then report this as the snapshot date.
43354               If not specified, use the current date/time.
43355               If you specify a date here, be sure it's UTC.
43356
43357 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43358
43359         * tests/test-argp-2.sh: Fix test to match actual output.
43360         (func_compare): Fix sed script to be portable.
43361
43362 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
43363
43364         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
43365         workaround for this case.  It is not autoconfigured now; offhand
43366         it's hard to see how to autoconfigure it.
43367
43368 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
43369
43370         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
43371         a directory that is about to be chowned.  Such a directory's
43372         initial file permissions should permit the owner only and this
43373         should not be changed until after the chown, since the group and
43374         other bits would be incorrect if they granted permission before
43375         the chown.
43376
43377         Fix porting problem for iswctype reported by Georg Schwarz in:
43378         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
43379         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
43380         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
43381         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
43382         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
43383
43384 2006-12-03  Jim Meyering  <jim@meyering.net>
43385
43386         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
43387         p->fts_statp may not yet be defined.
43388         (fts_read): Instead, set it in the caller, once p->fts_statp is
43389         sure to be defined, and corresponds to a top-level directory.
43390         This bug made du -x fail.  Here's the coreutils test case:
43391         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
43392         Reported by Mike Frysinger.
43393
43394 2006-12-01  Jim Meyering  <jim@meyering.net>
43395
43396         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
43397         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
43398         Reported by Simon Josefsson.
43399
43400 2006-11-30  Jim Meyering  <jim@meyering.net>
43401
43402         * m4/warning.m4: Use the all-permissive copyright notice
43403         recommended by RMS (rather than LGPL).
43404         * m4/vararrays.m4: Likewise.
43405         * m4/flexmember.m4: Likewise.
43406
43407 2006-11-29  Bruno Haible  <bruno@clisp.org>
43408
43409         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
43410         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
43411         using +=.
43412         Reported by Simon Josefsson <simon@josefsson.org>.
43413
43414 2006-11-28  James Youngman <jay@gnu.org>
43415
43416         * README: Advise users that they might find the bug-gnulib@gnu.org
43417         and autotools-announce@gnu.org mailing lists useful.
43418
43419 2006-11-28  Bruno Haible  <bruno@clisp.org>
43420
43421         * m4/ptrdiff_max.m4: Remove file.
43422
43423 2006-11-21  Bruno Haible  <bruno@clisp.org>
43424
43425         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
43426         _AC_COMPUTE_INT.
43427         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
43428         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
43429         _AC_COMPUTE_INT.
43430         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
43431         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
43432         _AC_COMPUTE_INT.
43433         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
43434
43435 2006-11-28  Jim Meyering  <jim@meyering.net>
43436
43437         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
43438         warning from "gcc -Wshadow" about shadowing the builtin.
43439
43440 2006-11-27  Bruno Haible  <bruno@clisp.org>
43441
43442         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
43443         _AC_COMPUTE_INT.
43444         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
43445
43446 2006-11-27  Bruno Haible  <bruno@clisp.org>
43447             Paul Eggert  <eggert@cs.ucla.edu>
43448
43449         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
43450
43451 2006-11-26  Bruno Haible  <bruno@clisp.org>
43452
43453         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
43454         noinst_LTLIBRARIES.
43455
43456 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
43457             Bruno Haible  <bruno@clisp.org>
43458
43459         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
43460         if compiling with "gcc -ansi".
43461
43462 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
43463
43464         Fix some incompatibilities with gcc -ansi -pedantic.
43465         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
43466         if compiling pedantically with GCC, unless it's C99 or later.
43467         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
43468         it mishandles gcc -ansi -pedantic as well.
43469         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
43470         if gcc -pedantic.
43471         * lib/regexec.c (check_node_accept_bytes): Don't use auto
43472         initializers for struct if -pedantic, unless it's C99 or later.
43473
43474 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
43475
43476         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
43477         Don't close an fd more than once. Identical atimes indicate
43478         success, not failure.
43479
43480 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
43481
43482         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
43483
43484 2006-11-23  Jim Meyering  <jim@meyering.net>
43485
43486         * build-aux/announce-gen: New file.  From coreutils.
43487
43488 2006-11-22  Jim Meyering  <jim@meyering.net>
43489
43490         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
43491         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
43492         (fts_read): Use a temporary to narrow the overused st_size member
43493         before using it in a switch statement.  Reported by Matthew Woehlke.
43494
43495         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
43496         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43497
43498 2006-11-20  Bruno Haible  <bruno@clisp.org>
43499
43500         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
43501         changequote instead of pairs of brackets.
43502         Reported by Andreas Schwab <schwab@suse.de>.
43503
43504 2006-11-21  Jim Meyering  <jim@meyering.net>
43505
43506         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
43507         so as to remain compatible with older compilers.
43508         Patch from Michael Deutschmann.
43509
43510 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43511
43512         * MODULES.html.sh (File system functions): Add openat.
43513
43514         * lib/openat.h (rpl_fstatat): New macro, if
43515         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
43516         (fstatat): Define to rpl_fstatat under the same conditions,
43517         unless COMPILING_FSTATAT.
43518         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
43519         seems to have the bug.
43520         * lib/fstatat.c: New file.
43521         * modules/openat (Files): Add it.
43522
43523 2006-11-20  Bruno Haible  <bruno@clisp.org>
43524
43525         * Makefile: New file.
43526
43527 2006-11-20  Jim Meyering  <jim@meyering.net>
43528
43529         The beginnings of syntax-related checks for gnulib.
43530         * lib/Makefile: New file.
43531         * lib/t-idcache: New script.  Ensure that the two halves of
43532         idcache.c stay in sync.
43533
43534         * lib/idcache.c: Adjust comments in user- and group- portions to
43535         be more accurate, and to be consistent with one another.
43536
43537 2006-11-20  Jim Meyering  <jim@meyering.net>
43538
43539         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
43540         continue using the flexible array member (thus, this module performs
43541         half as many malloc calls), with the addition that...
43542         (getgroup, getuser): Consistently record a non-match via an empty
43543         "name" string, and map an empty string match to a NULL return value.
43544         * modules/idcache (Depends-on): Re-add flexmember.
43545
43546         * lib/idcache.c (getuser): Remove all uses of the register keyword.
43547         (getuidbyname, getgroup, getgidbyname): Likewise.
43548
43549         Use cleaner syntax: NULL rather than 0.
43550         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
43551
43552 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43553
43554         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
43555         It mishandled the case where the group was missing.
43556         Problem reported by Greg Schafer.
43557         * modules/idcache: Likewise.
43558
43559 2006-11-18  Jim Meyering  <jim@meyering.net>
43560
43561         * check-module (%exempt_header): Add exception for some
43562         conditionally-included headers.
43563
43564         * modules/i-ring (Depends-on): Add verify.
43565         (License): Change to LGPL.
43566
43567 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
43568
43569         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
43570         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
43571         and inttostr.h.  Use snprintf rather than uinttostr, so that
43572         LGPLed code doesn't depend on GPLed.
43573
43574 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
43575
43576         * modules/inline (License): Change from GPL to LGPL.
43577
43578 2006-11-17  Jim Meyering  <jim@meyering.net>
43579
43580         * modules/d-type (License): Switch to LGPL.
43581
43582 2006-11-15  Bruno Haible  <bruno@clisp.org>
43583
43584         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
43585
43586 2006-11-15  Eric Blake  <ebb9@byu.net>
43587
43588         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
43589         the module dependency.
43590
43591 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43592             Bruno Haible  <bruno@clisp.org>
43593
43594         * gnulib-tool (func_create_testdir): Add license consistency check.
43595
43596 2006-11-15  Eric Blake  <ebb9@byu.net>
43597
43598         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
43599         random "(cached)" in configure output.
43600
43601 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43602
43603         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
43604         test for conforming inttypes.h is both announced and cached.
43605
43606         * MODULES.html.sh (seen_modules, seen_files): New variables.
43607         (func_module): Rewrite to use a few less gnulib-tool and sed
43608         invocations.  Avoid a couple of quadratic algorithms for ...
43609         (missed_modules, missed_files): ... these, with ...
43610         (func_append, func_tmpdir): ... these new functions, from
43611         gnulib-tool.  Analogously, install traps for cleanup.
43612
43613         * tests/test-gc.c (main): Remove unused variables.
43614         * tests/test-read-file.c: Include stdlib.h, for 'free'.
43615
43616 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
43617
43618         * modules/inttostr (License): Change to LGPL.
43619
43620 2006-11-14  Eric Blake  <ebb9@byu.net>
43621
43622         * modules/tempname (License): Change to LGPL.
43623
43624 2006-11-14  Eric Blake  <ebb9@byu.net>
43625
43626         * doc/functions.texi (Function Portability): *printf functions on
43627         Cygwin now understand all POSIX size specifiers.
43628
43629 2006-11-14  Bruno Haible  <bruno@clisp.org>
43630
43631         * modules/c-ctype (License): Change to LGPL.
43632
43633 2006-11-12  Bruno Haible  <bruno@clisp.org>
43634
43635         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
43636         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
43637         for GNOME libraries, for which the include files are installed in
43638         subdirectories of $prefix/include.
43639
43640 2006-11-12  Bruno Haible  <bruno@clisp.org>
43641
43642         * m4/lib-link.m4: Require at least autoconf-2.54.
43643         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
43644         name to underscores for the --with option.
43645
43646 2006-11-13  Bruno Haible  <bruno@clisp.org>
43647
43648         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
43649         the tests directory.
43650         Reported by Ralf Wildenhues.
43651
43652 2006-11-13  Bruno Haible  <bruno@clisp.org>
43653
43654         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
43655         (func_emit_initmacro_end): Undo the override here.
43656         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
43657         Works around the famous automake error in coreutils.
43658
43659 2006-11-13  Eric Blake  <ebb9@byu.net>
43660
43661         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
43662         element, not its node.
43663
43664 2006-11-12  Bruno Haible  <bruno@clisp.org>
43665
43666         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
43667         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
43668
43669 2006-11-12  Bruno Haible  <bruno@clisp.org>
43670
43671         * gnulib-tool: New option --local-symlink.
43672         (func_usage): Document it.
43673         (lsymbolic): New variable.
43674         (func_import, func_create_testdir): If --symlink was not specified,
43675         test whether --local-symlink was specified and the file comes from
43676         the local_gnulib_dir.
43677
43678 2006-11-12  Bruno Haible  <bruno@clisp.org>
43679
43680         * gnulib-tool (func_ln): New function.
43681         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
43682
43683 2006-11-12  Bruno Haible  <bruno@clisp.org>
43684
43685         Finish support for source files in subdirectories.
43686         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
43687         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
43688         AUTOMAKE_OPTIONS.
43689         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
43690
43691 2006-11-12  Bruno Haible  <bruno@clisp.org>
43692
43693         * gnulib-tool (func_get_automake_snippet): Synthesize also an
43694         EXTRA_lib_SOURCES augmentation.
43695         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
43696
43697 2006-11-12  Jim Meyering  <jim@meyering.net>
43698
43699         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
43700         file descriptors.  This also averts a failure on systems with
43701         native openat support when a traversed directory lacks "x" access.
43702         * lib/fts_.h: Include "i-ring.h"
43703         (struct FTS) [fts_fd_ring]: New member.
43704         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
43705         (FCHDIR): Add parentheses.
43706         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
43707         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
43708         When descending, rather than simply closing the previous
43709         fts_cwd_fd value, push that file descriptor onto the ring.
43710         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
43711         (fts_open): Initialize the new fd_ring member.
43712         (fts_close): Clear the ring.
43713         (fts_safe_changedir): When possible, use our new fd_ring to skip
43714         the diropen and fstat and dev/ino comparison that would normally
43715         accompany a virtual `chdir ("..")'.
43716
43717         * modules/fts (Depends-on): Add i-ring.
43718         * modules/i-ring: New module.
43719         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
43720         * m4/i-ring.m4: New file.
43721
43722 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43723
43724         * gnulib-tool (func_create_testdir): Fix replacement of
43725         `build-aux' in configure.ac.  Run autotools in gltests
43726         subdirectory.
43727         (func_create_testdir, func_create_megatestdir, test): There is
43728         no need for '--force' in most autotool invocations in a new
43729         tree.  Actually fail the whole test if any of the tools, or the
43730         configure or make stages fail.
43731
43732         Sync from Automake.
43733         * build-aux/gnupload: Revert last change.  Add pointer to upload
43734         instructions of the GNU Maintenance Instructions.
43735         Suggestion by Karl Berry.
43736
43737 2006-11-10  Jim Meyering  <jim@meyering.net>
43738
43739         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
43740
43741 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
43742
43743         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
43744         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
43745         (bind_textdomain_codeset) [! ENABLE_NLS]:
43746         Evaluate all the arguments.  That way, callers get compatible behavior
43747         if the arguments have side effects.  Also, it avoids some GCC
43748         diagnostics in some cases; Joel E. Denny reported problems when Bison
43749         was configured with --enable-gcc-warnigs.
43750
43751 2006-11-10  Jim Meyering  <jim@meyering.net>
43752
43753         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
43754         relevant options in CFLAGS (like -O, -fno-inline) are taken into
43755         account.
43756
43757 2006-11-10  Jim Meyering  <jim@meyering.net>
43758
43759         * modules/inline: New file/module.
43760         * modules/xalloc (Files): Remove m4/inline.m4.
43761         (Depends-on): Add inline, instead.
43762         * modules/oset: Likewise.
43763         * modules/list: Likewise.
43764
43765 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
43766
43767         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
43768         Problem reported by Matthew Woehlke.
43769
43770 2006-11-09  Bruno Haible  <bruno@clisp.org>
43771
43772         * lib/tempname.c (gen_tempname): Remove variant that invokes
43773         __gen_tempname.
43774         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
43775         __gen_tempname.
43776
43777 2006-11-08  Bruno Haible  <bruno@clisp.org>
43778
43779         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
43780         to 'yes' instead of 'cross-compiling'.
43781
43782 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
43783
43784         * lib/quotearg.h (quotearg_free): New decl.
43785         * lib/quotearg.c (quotearg_free): New function.
43786         (slot0, nslots, slotvec0, slotvec):
43787         Now file-scope so that quotearg_free can get at them.
43788
43789 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43790
43791         Sync from Automake.
43792         * build-aux/gnupload: Add missing 'gnu' to example URL.
43793         Report by Karl Berry.
43794
43795 2006-11-08  Bruno Haible  <bruno@clisp.org>
43796
43797         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
43798         Suggested by Paul Eggert.
43799
43800 2006-11-08  Jim Meyering  <jim@meyering.net>
43801
43802         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
43803         It's already included if !_LIBC.
43804         (fts_safe_changedir): Add a comment.
43805
43806 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
43807
43808         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
43809         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
43810         Matthew Woehlke.
43811
43812         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
43813         definitions up, to avoid colliding with change below.
43814         (static_inline) [HAVE_INLINE]: New macro.
43815         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
43816         Provide extern decls when !HAVE_INLINE.  Do not define unless
43817         static_inline is defined, either by us or by xmalloc.c.  Use
43818         static_inline rather than static inline.
43819         (XCALLOC): Optimize sizeof(T) = 1 case.
43820         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
43821
43822 2006-11-07  Bruno Haible  <bruno@clisp.org>
43823
43824         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
43825         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
43826         AC_C_INLINE.
43827         * modules/xalloc (Files): Add m4/inline.m4.
43828
43829 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43830
43831         * README: Fix typo.
43832         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
43833         (Miscellanous Notes): ...from this.
43834
43835 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
43836
43837         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
43838         Mention that offsetof should be used instead of sizeof.
43839         From Bruno Haible.
43840
43841 2006-11-07  Bruno Haible  <bruno@clisp.org>
43842
43843         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
43844
43845 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
43846
43847         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
43848         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
43849         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
43850         (gl_tree_add_before, gl_tree_add_after):
43851         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
43852         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
43853         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
43854         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
43855         (gl_linked_add_after, gl_linked_add_at): Likewise.
43856         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
43857         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
43858         (gl_tree_add_before, gl_tree_add_after): Likewise.
43859         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
43860         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
43861         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
43862
43863 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43864
43865         * lib/gl_oset.h: Use C comment style, not C++ comment style.
43866
43867 2006-11-06  Bruno Haible  <bruno@clisp.org>
43868
43869         * m4/inline.m4: New file.
43870         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
43871         * modules/list (Files): Add m4/inline.m4.
43872         * modules/oset (Files): Likewise.
43873
43874 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
43875
43876         * lib/idcache.c: Include <stddef.h>, for offsetof.
43877         (struct userid.name): Change from char * to a flexible array member.
43878         All uses changed.
43879         * modules/idcache (Depends-on): Add flexmember.
43880
43881         * MODULES.html.sh (Core language properties): New module flexmember.
43882         * modules/flexmember, m4/flexmember.m4: New files.
43883
43884         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
43885         inline functions that are identical with the old xnmalloc_inline,
43886         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
43887         that we can avoid some unnecessary integer multiplications and
43888         divisions in the common case where the element size is known at
43889         compile time.
43890         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
43891         needed.
43892         (xnboundedmalloc): Remove.
43893         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
43894         arguments, for consistency with rest of this header.
43895         (xcharalloc): Rewrite using XNMALLOC.
43896         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
43897         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
43898         versions have been moved to lib/xalloc.h and renamed to be the
43899         non-*_inline versions.
43900         (xmalloc, xrealloc): Implement without reference to the xnmalloc
43901         and xnrealloc functions, since those functions are now inline and
43902         now call us.
43903         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
43904         renaming described above.
43905         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
43906         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
43907         captures the dependency in AC_C_INLINE.
43908
43909         New module canonicalize-lgpl, proposed by Charles Wilson in
43910         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
43911         with a few small changes afterwards.
43912         * MODULES.html.sh (File system functions): New module
43913         canonicalize-lgpl.
43914         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
43915         and canonicalize_file_name.
43916         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
43917         * modules/canonicalize-lgpl: New files.
43918
43919 2006-11-05  Bruno Haible  <bruno@clisp.org>
43920
43921         * gnulib-tool (func_import, func_create_testdir): Create directories
43922         also for files in subdirectories of lib/.
43923
43924 2006-11-05  Bruno Haible  <bruno@clisp.org>
43925
43926         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
43927         ANSI C compliant.
43928
43929 2006-11-03  Bruno Haible  <bruno@clisp.org>
43930
43931         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
43932         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
43933         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
43934         (xnboundedmalloc): New inline function.
43935         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
43936         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
43937         xmalloc.
43938         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
43939         xmalloc.
43940         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
43941         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
43942         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
43943         xmalloc.
43944         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
43945         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
43946         xmalloc.
43947         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
43948         gl_tree_add_after): Use XMALLOC instead of xmalloc.
43949         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
43950         xmalloc.
43951         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
43952         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
43953         gl_tree_add_after): Use XMALLOC instead of xmalloc.
43954         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
43955         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
43956         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
43957         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
43958
43959 2006-11-03  Bruno Haible  <bruno@clisp.org>
43960
43961         * lib/c-ctype.h [C++]: Define functions without name mangling.
43962         * lib/fwriteerror.h [C++]: Likewise.
43963         * lib/gcd.h [C++]: Likewise.
43964         * lib/linebreak.h [C++]: Likewise.
43965
43966 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
43967
43968         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
43969         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
43970         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
43971         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
43972         Check for functions and headers just once.
43973         Check for declaration of canonicalize_file_name.
43974         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
43975
43976 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
43977
43978         * gnulib-tool (func_import): Fix typo in actioncmd.
43979
43980 2006-11-02  Bruno Haible  <bruno@clisp.org>
43981
43982         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
43983         newline sequence in the Makefile.am snippet as a space, like "make"
43984         does.
43985         Reported by Roger Persson <perrog@gmail.com>.
43986
43987 2006-11-01  Bruno Haible  <bruno@clisp.org>
43988
43989         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
43990         already declared in <string.h>.
43991         * lib/strcase.h (strncasecmp): Don't declare it if yes.
43992
43993 2006-11-01  Bruno Haible  <bruno@clisp.org>
43994
43995         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
43996         * lib/strcase.h: Include <string.h>.
43997         (strcasecmp): Define to rpl_strcasecmp here.
43998
43999 2006-11-01  Bruno Haible  <bruno@clisp.org>
44000
44001         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
44002
44003 2006-11-01  Eric Blake  <ebb9@byu.net>
44004
44005         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
44006
44007         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
44008
44009 2006-10-29  Bruno Haible  <bruno@clisp.org>
44010
44011         Make it compile in C++ mode.
44012         * lib/full-write.c (full_rw): Add a cast.
44013
44014 2006-11-01  Bruno Haible  <bruno@clisp.org>
44015
44016         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
44017         be POSIX compliant.
44018         Reported by Roger Persson <perrog@gmail.com>.
44019
44020 2006-11-01  Eric Blake  <ebb9@byu.net>
44021
44022         * lib/getopt_.h: Fix comments.
44023
44024 2006-10-31  Eric Blake  <ebb9@byu.net>
44025
44026         * modules/tmpdir (Depends-on): Add sys_stat.
44027         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
44028         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
44029         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
44030         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
44031         tempname.
44032
44033 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
44034
44035         Avoid some C++ diagnostics reported by Bruno Haible.
44036         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
44037         xmalloc.
44038         (quotearg_alloc): Use xcharalloc rather than xmalloc.
44039         (struct slotvec): Move to top level.
44040         (quotearg_n_options): Rewrite to avoid xmalloc.
44041         * lib/xalloc.h (xcharalloc): New function.
44042         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
44043         [defined __cplusplus]: Add function template that provides result
44044         type propagation.  This part of the change is from Bruno Haible.
44045
44046 2006-10-29  Bruno Haible  <bruno@clisp.org>
44047
44048         Make it compile in C++ mode.
44049         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
44050         * lib/strnlen1.c (strnlen1): Cast memchr result.
44051         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
44052         * lib/clean-temp.c (string_equals, string_hash): Add casts.
44053         (create_temp_dir): Rename local variable 'template'.
44054         (compile_csharp_using_sscli): Add cast.
44055         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
44056         * lib/findprog.c (find_in_path): Likewise.
44057         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
44058         * lib/wait-process.c (register_slave_subprocess): Likewise.
44059
44060 2006-10-22  Bruno Haible  <bruno@clisp.org>
44061
44062         * modules/tsearch: New file.
44063         * lib/tsearch.h: New file.
44064         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
44065         * m4/tsearch.m4: New file.
44066         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
44067
44068 2006-10-29  Eric Blake  <ebb9@byu.net>
44069
44070         * lib/arcfour.c: Assume config.h.
44071         * lib/arctwo.c: Likewise.
44072         * lib/base64.c: Likewise.
44073         * lib/check-version.c: Likewise.
44074         * lib/crc.c: Likewise.
44075         * lib/des.c: Likewise.
44076         * lib/gc-gnulib.c: Likewise.
44077         * lib/gc-libgcrypt.c: Likewise.
44078         * lib/gc-pbkdf2-sha1.c: Likewise.
44079         * lib/getaddrinfo.c: Likewise.
44080         * lib/getdelim.c: Likewise.
44081         * lib/getline.c: Likewise.
44082         * lib/hmac-md5.c: Likewise.
44083         * lib/hmac-sha1.c: Likewise.
44084         * lib/iconvme.c: Likewise.
44085         * lib/md2.c: Likewise.
44086         * lib/md4.c: Likewise.
44087         * lib/memxor.c: Likewise.
44088         * lib/read-file.c: Likewise.
44089         * lib/readline.c: Likewise.
44090         * lib/rijndael-alg-fst.c: Likewise.
44091         * lib/rijndael-api-fst.c: Likewise.
44092         * lib/xgetdomainname.c: Likewise.
44093
44094 2006-10-28  Eric Blake  <ebb9@byu.net>
44095
44096         * lib/xstrndup.c: Assume config.h.
44097
44098 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
44099
44100         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
44101         stat-macros.h is now for our own macros, whereas stat_h is for
44102         macros in the <sys/stat.h> name space.
44103         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
44104         (STAT_MACROS_H): Remove.
44105         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
44106         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
44107         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
44108         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
44109         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
44110         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
44111         Move these macros to ...
44112         * lib/stat_.h: here.  Don't include stat-macros.h.
44113         * lib/canonicalize.c: Don't include stat-macros.h.
44114         * lib/chown.c: Likewise.
44115         * lib/euidaccess.c: Likewise.
44116         * lib/file-type.c: Likewise.
44117         * lib/filemode.c: Likewise.
44118         * lib/glob.c: Likewise.
44119         * lib/isapipe.c: Likewise.
44120         * lib/lchown.c: Likewise.
44121         * lib/lstat.c: Likewise.
44122         * lib/mkdir-p.c: Likewise.
44123         * lib/rmdir.c: Likewise.
44124         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
44125         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
44126         unless mkdir isn't declared, to speed up 'configure'.
44127         Always create sys/stat.h, since it's unlikely any real sys/stat.h
44128         would define all the S_* symbols.
44129         * modules/canonicalize (Depends-on):
44130         Depend on sys_stat, not stat-macros.
44131         * modules/chown: Likewise.
44132         * modules/euidaccess: Likewise.
44133         * modules/filemode: Likewise.
44134         * modules/file-type: Likewise.
44135         * modules/glob: Likewise.
44136         * modules/isapipe: Likewise.
44137         * modules/lchown: Likewise.
44138         * modules/lstat: Likewise.
44139         * modules/mkancesdirs: Likewise.
44140         * modules/rmdir: Likewise.
44141         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
44142         * modules/modechange: Likewise.
44143         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
44144         (configure.ac): Remove gl_STAT_MACROS.
44145         * modules/sys_stat (Depends-on): Remove stat-macros.
44146
44147 2006-10-27  Bruno Haible  <bruno@clisp.org>
44148
44149         * m4/signed.m4: Remove file.
44150         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
44151         invocation.
44152         * modules/vasnprintf (Files): Remove m4/signed.m4.
44153
44154 2006-10-27  Bruno Haible  <bruno@clisp.org>
44155
44156         Update to GNU gettext 0.16.
44157         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
44158         m4/inttypes-h.m4, m4/signed.m4.
44159         * m4/gettext.m4: Update to GNU gettext 0.16.
44160         * m4/intl.m4: New file, from GNU gettext.
44161         * m4/intldir.m4: New file, from GNU gettext.
44162         * config/srclist.txt: Update
44163
44164 2006-10-27  Eric Blake  <ebb9@byu.net>
44165
44166         * MODULES.html.sh: Document tempname.
44167         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
44168         dependencies.
44169         (Files): Move lib/tempname.c...
44170         * modules/tempname: ...to this new module.
44171         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
44172         (gl_PREREQ_TEMPNAME): Move...
44173         * m4/tempname.m4: ...to this new file.
44174         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
44175         * modules/sys_stat (Depends-on): Add stat-macros.
44176         * lib/stat_.h (includes): Pick up stat macros.
44177         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
44178         if stat macros are broken.
44179         * lib/tempname.c (includes): No need to include "stat-macros.h".
44180         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
44181         (direxists, __path_search) [!_LIBC]: Don't compile these in
44182         gnulib; the tmpdir module covers that.
44183         * lib/tempname.h: New file.
44184
44185 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
44186
44187         * COPYING: Explain how gnulib-tool converts licence headers.
44188         Almost all wording by Eric Blake.
44189
44190 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
44191
44192         * lib/mbchar.h (is_basic_table): Make read-only.
44193         * lib/mbchar.c (is_basic_table): Likewise.
44194         Reported by John Darrington.
44195
44196 2006-10-25  Bruno Haible  <bruno@clisp.org>
44197
44198         * lib/progname.h (set_program_name): Undefine before defining.
44199
44200 2006-10-25  Bruno Haible  <bruno@clisp.org>
44201
44202         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
44203         false for non-gcc C++ compilers.
44204         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
44205
44206 2006-10-24  Bruno Haible  <bruno@clisp.org>
44207
44208         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
44209         iconv implementations like Irix iconv.
44210
44211 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44212
44213         * modules/vararrays: New file.
44214         * m4/vararrays.m4: New file, taken from diffutils.
44215         * MODULES.html.sh: New module vararrays.
44216
44217 2006-10-24  Karl Berry  <karl@gnu.org>
44218
44219         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
44220         Don't call GNU Unix.
44221
44222 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44223
44224         * users.txt: Add Libtool.
44225
44226         Sync from Libtool:
44227
44228         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44229
44230         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
44231         to gnulib's policy of including config.h unconditionally.
44232
44233 2006-10-24  Bruno Haible  <bruno@clisp.org>
44234
44235         * modules/wcwidth (Files): Add m4/wint_t.m4.
44236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
44237         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
44238
44239 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44240
44241         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
44242         to pacify GCC with some -W flags enabled.  Problem reported by
44243         Bruno Haible.
44244
44245 2006-10-24  Jim Meyering  <jim@meyering.net>
44246
44247         * MODULES.html.sh: Remove uinttostr.  It's not a module.
44248         Reported by Karl Berry.
44249
44250 2006-10-23  Bruno Haible  <bruno@clisp.org>
44251
44252         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
44253
44254 2006-10-24  Bruno Haible  <bruno@clisp.org>
44255
44256         * lib/gl_list.h: Use C comment style, not C++ comment style.
44257
44258 2006-10-23  Eric Blake  <ebb9@byu.net>
44259
44260         * lib/getaddrinfo.c (includes): Add missing include.
44261
44262 2006-10-23  Bruno Haible  <bruno@clisp.org>
44263             Paul Eggert  <eggert@cs.ucla.edu>
44264
44265         Ability to rename obstack_free.
44266         * lib/obstack.h (__obstack_free): New macro. Declare instead of
44267         obstack_free.
44268         (obstack_free): Invoke the __obstack_free macro.
44269         * lib/obstack.c (obstack_free): Use __obstack_free macro.
44270
44271 2006-10-23  Bruno Haible  <bruno@clisp.org>
44272             Paul Eggert  <eggert@cs.ucla.edu>
44273
44274         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
44275         __argc, __argv from the declaration. (They are defined as macros on
44276         mingw.)
44277
44278 2006-10-22  Bruno Haible  <bruno@clisp.org>
44279
44280         * doc/gnulib-intro.texi: New file.
44281         * doc/gnulib.texi: Include it.
44282
44283 2006-10-21  Bruno Haible  <bruno@clisp.org>
44284
44285         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
44286         "Introduction", "Miscellanous Notes", "Particular Modules".
44287
44288 2006-10-21  Bruno Haible  <bruno@clisp.org>
44289
44290         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44291         Change mostlyclean-local rule to avoid sh syntax error from bash
44292         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
44293
44294 2006-10-23  Jim Meyering  <jim@meyering.net>
44295
44296         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
44297         in place of snprintf.
44298
44299         * modules/inttostr (Files): Add lib/uinttostr.c.
44300         * lib/uinttostr.c (inttostr): New file/function.
44301         * lib/inttostr.h (uinttostr): Declare.
44302         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
44303         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
44304         Add uinttostr.
44305         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
44306
44307 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
44308
44309         * lib/canonicalize.c (ELOOP): Define if not already defined.
44310         Problem reported by Bruno Haible in
44311         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
44312
44313 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
44314
44315         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
44316         Problem reported by Perry Smith and Ville Laurikari.
44317
44318         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
44319         uses.
44320
44321 2006-10-19  Bruno Haible  <bruno@clisp.org>
44322
44323         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
44324         for mingw.
44325
44326 2006-10-19  Bruno Haible  <bruno@clisp.org>
44327
44328         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
44329         Needed for mingw.
44330
44331 2006-10-19  Bruno Haible  <bruno@clisp.org>
44332
44333         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
44334
44335 2006-10-19  Bruno Haible  <bruno@clisp.org>
44336
44337         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
44338         it.
44339
44340 2006-10-19  Bruno Haible  <bruno@clisp.org>
44341
44342         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
44343         invocation.
44344
44345 2006-10-19  Bruno Haible  <bruno@clisp.org>
44346
44347         * gnulib-tool (func_create_testdir): Don't include ftruncate and
44348         mountlist by default.
44349
44350 2006-10-16  Bruno Haible  <bruno@clisp.org>
44351
44352         * lib/c-strstr.c: Include c-strstr.h.
44353
44354 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
44355
44356         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
44357         in a slash.
44358
44359 2006-10-18  Bruno Haible  <bruno@clisp.org>
44360
44361         * lib/lock.h [C++]: Wrap definitions in extern "C".
44362
44363 2006-10-18  Bruno Haible  <bruno@clisp.org>
44364
44365         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
44366         gl_LIBOBJS list.
44367
44368 2006-10-18  Bruno Haible  <bruno@clisp.org>
44369
44370         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
44371
44372 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
44373
44374         * lib/xstrtol.h: Include gettext.h.
44375         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
44376         Problem reported by Eric Blake.
44377         * modules/xstrtol (Depends-on): Add gettext-h.
44378
44379 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
44380
44381         * lib/strftime.c (advance): New macro.
44382         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
44383         incomplete type, so you can't add 0 to it.  Problem and patch
44384         reported by Eelco Dolstra for dietlibc.
44385
44386 2006-10-18  Jim Meyering  <jim@meyering.net>
44387
44388         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
44389         type for a local, and rename it: s/up/user_proc/.
44390
44391 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
44392
44393         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
44394         READ_UTMP_USER_PROCESS.
44395         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
44396
44397 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44398
44399         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
44400         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
44401
44402 2006-10-17  Eric Blake  <ebb9@byu.net>
44403
44404         * lib/sigprocmask.c (sigprocmask): Fix typo.
44405
44406         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
44407
44408         * modules/clean-temp (Makefile.am): Don't add to make output...
44409         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
44410         config.h.
44411
44412 2006-10-17  Bruno Haible  <bruno@clisp.org>
44413
44414         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
44415         differently if DEFAULT_TEXT_DOMAIN is set.
44416
44417 2006-10-16  Bruno Haible  <bruno@clisp.org>
44418
44419         * lib/clean-temp.c: Include fwriteerror.h.
44420
44421 2006-10-16  Bruno Haible  <bruno@clisp.org>
44422
44423         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
44424
44425 2006-10-16  Bruno Haible  <bruno@clisp.org>
44426
44427         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
44428         * lib/sigprocmask.h: Include <sys/types.h>.
44429         (sigset_t): Use the system's definition if present.
44430
44431 2006-10-17  Eric Blake  <ebb9@byu.net>
44432
44433         * lib/xvasprintf.c (includes): Assume config.h.
44434         * lib/xasprintf.c (includes): Likewise.
44435
44436 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44437
44438         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
44439         at least as wide as intmax_t.
44440
44441 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
44442
44443         (Imported from Automake.)
44444         * build-aux/gnupload: Update to version 1.1 of directive file.
44445
44446 2006-10-16  Eric Blake  <ebb9@byu.net>
44447
44448         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
44449         match Automake 1.10a.
44450
44451 2006-10-14  Bruno Haible  <bruno@clisp.org>
44452
44453         * modules/sigprocmask: New file.
44454         * lib/sigprocmask.h: New file.
44455         * lib/sigprocmask.c: New file.
44456         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
44457         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
44458         request sigprocmask.o.
44459         (gl_PREREQ_SIGPROCMASK): New macro.
44460         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
44461         (Depends-on): Add sigprocmask.
44462         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
44463         gt_SIGNALBLOCKING. Test for 'raise' only once.
44464         * lib/fatal-signal.c: Include sigprocmask.h.
44465         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
44466         unblock_fatal_signals): Define always.
44467         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44468         sigprocmask.
44469
44470 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
44471
44472         Sync from Automake.
44473         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
44474         which incorrectly sets the mode of an existing destination
44475         directory.  In some cases the unpatched install-sh could do the
44476         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
44477         system.  We hope this is rare in practice, but it's clearly worth
44478         fixing.  Problem reported by Alex Unleashed in
44479         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
44480         Also, don't bother to check for -m bugs unless we're using -m;
44481         suggested by Stepan Kasal.
44482
44483 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44484
44485         Sync from Automake.
44486         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
44487         `-c' flag, so they appear at the same position as in %FASTDEP%
44488         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
44489         which ignores unknown options only after the first non-option.
44490         Bug report against M4 by Nelson H. F. Beebe.
44491
44492 2006-10-13  Jim Meyering  <jim@meyering.net>
44493
44494         Fix a bug in yesterday's change.
44495         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
44496         p->fts_statp->st_dev would be used uninitialized.
44497         Ensures that we always call fts_stat on the very first entry.
44498         Miklos Szeredi reported that find -xdev stopped working.
44499
44500 2006-10-12  Bruno Haible  <bruno@clisp.org>
44501
44502         * gnulib-tool (func_get_automake_snippet): Append an automatically
44503         computed EXTRA_DIST augmentation.
44504         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
44505         * modules/alloca-opt (Makefile.am): Likewise.
44506         * modules/allocsa (Makefile.am): Likewise.
44507         * modules/arcfour (Makefile.am): Likewise.
44508         * modules/arctwo (Makefile.am): Likewise.
44509         * modules/argmatch (Makefile.am): Likewise.
44510         * modules/argz (Makefile.am): Likewise.
44511         * modules/atexit (Makefile.am): Likewise.
44512         * modules/backupfile (Makefile.am): Likewise.
44513         * modules/byteswap (Makefile.am): Likewise.
44514         * modules/c-strtod (Makefile.am): Likewise.
44515         * modules/c-strtold (Makefile.am): Likewise.
44516         * modules/calloc (Makefile.am): Likewise.
44517         * modules/canon-host (Makefile.am): Likewise.
44518         * modules/canonicalize (Makefile.am): Likewise.
44519         * modules/chdir-long (Makefile.am): Likewise.
44520         * modules/chdir-safer (Makefile.am): Likewise.
44521         * modules/check-version (Makefile.am): Likewise.
44522         * modules/chown (Makefile.am): Likewise.
44523         * modules/cloexec (Makefile.am): Likewise.
44524         * modules/close-stream (Makefile.am): Likewise.
44525         * modules/closeout (Makefile.am): Likewise.
44526         * modules/crc (Makefile.am): Likewise.
44527         * modules/csharpexec (Makefile.am): Likewise.
44528         * modules/cycle-check (Makefile.am): Likewise.
44529         * modules/des (Makefile.am): Likewise.
44530         * modules/dev-ino (Makefile.am): Likewise.
44531         * modules/dirfd (Makefile.am): Likewise.
44532         * modules/dirname (Makefile.am): Likewise.
44533         * modules/dup2 (Makefile.am): Likewise.
44534         * modules/eealloc (Makefile.am): Likewise.
44535         * modules/error (Makefile.am): Likewise.
44536         * modules/euidaccess (Makefile.am): Likewise.
44537         * modules/exclude (Makefile.am): Likewise.
44538         * modules/exitfail (Makefile.am): Likewise.
44539         * modules/fcntl-safer (Makefile.am): Likewise.
44540         * modules/fcntl (Makefile.am): Likewise.
44541         * modules/file-type (Makefile.am): Likewise.
44542         * modules/fileblocks (Makefile.am): Likewise.
44543         * modules/filemode (Makefile.am): Likewise.
44544         * modules/filenamecat (Makefile.am): Likewise.
44545         * modules/fnmatch (Makefile.am): Likewise.
44546         * modules/fopen-safer (Makefile.am): Likewise.
44547         * modules/fpending (Makefile.am): Likewise.
44548         * modules/fprintftime (Makefile.am): Likewise.
44549         * modules/free (Makefile.am): Likewise.
44550         * modules/fsusage (Makefile.am): Likewise.
44551         * modules/ftruncate (Makefile.am): Likewise.
44552         * modules/fts (Makefile.am): Likewise.
44553         * modules/gc-arcfour (Makefile.am): Likewise.
44554         * modules/gc-des (Makefile.am): Likewise.
44555         * modules/gc-hmac-md5 (Makefile.am): Likewise.
44556         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
44557         * modules/gc-md4 (Makefile.am): Likewise.
44558         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
44559         * modules/gc-sha1 (Makefile.am): Likewise.
44560         * modules/gc (Makefile.am): Likewise.
44561         * modules/getaddrinfo (Makefile.am): Likewise.
44562         * modules/getcwd (Makefile.am): Likewise.
44563         * modules/getdelim (Makefile.am): Likewise.
44564         * modules/getdomainname (Makefile.am): Likewise.
44565         * modules/getgroups (Makefile.am): Likewise.
44566         * modules/gethostname (Makefile.am): Likewise.
44567         * modules/gethrxtime (Makefile.am): Likewise.
44568         * modules/getline (Makefile.am): Likewise.
44569         * modules/getloadavg (Makefile.am): Likewise.
44570         * modules/getlogin_r (Makefile.am): Likewise.
44571         * modules/getndelim2 (Makefile.am): Likewise.
44572         * modules/getopt (Makefile.am): Likewise.
44573         * modules/getpagesize (Makefile.am): Likewise.
44574         * modules/getpass-gnu (Makefile.am): Likewise.
44575         * modules/getpass (Makefile.am): Likewise.
44576         * modules/getsubopt (Makefile.am): Likewise.
44577         * modules/gettime (Makefile.am): Likewise.
44578         * modules/gettimeofday (Makefile.am): Likewise.
44579         * modules/getugroups (Makefile.am): Likewise.
44580         * modules/getusershell (Makefile.am): Likewise.
44581         * modules/glob (Makefile.am): Likewise.
44582         * modules/group-member (Makefile.am): Likewise.
44583         * modules/hard-locale (Makefile.am): Likewise.
44584         * modules/hash (Makefile.am): Likewise.
44585         * modules/hmac-md5 (Makefile.am): Likewise.
44586         * modules/hmac-sha1 (Makefile.am): Likewise.
44587         * modules/human (Makefile.am): Likewise.
44588         * modules/idcache (Makefile.am): Likewise.
44589         * modules/imaxabs (Makefile.am): Likewise.
44590         * modules/imaxdiv (Makefile.am): Likewise.
44591         * modules/inet_ntop (Makefile.am): Likewise.
44592         * modules/inet_pton (Makefile.am): Likewise.
44593         * modules/intprops (Makefile.am): Likewise.
44594         * modules/inttostr (Makefile.am): Likewise.
44595         * modules/inttypes (Makefile.am): Likewise.
44596         * modules/isapipe (Makefile.am): Likewise.
44597         * modules/javaversion (Makefile.am): Likewise.
44598         * modules/lchmod (Makefile.am): Likewise.
44599         * modules/lchown (Makefile.am): Likewise.
44600         * modules/localcharset (Makefile.am): Likewise.
44601         * modules/long-options (Makefile.am): Likewise.
44602         * modules/lstat (Makefile.am): Likewise.
44603         * modules/malloc (Makefile.am): Likewise.
44604         * modules/mathl (Makefile.am): Likewise.
44605         * modules/mbchar (Makefile.am): Likewise.
44606         * modules/md2 (Makefile.am): Likewise.
44607         * modules/md4 (Makefile.am): Likewise.
44608         * modules/md5 (Makefile.am): Likewise.
44609         * modules/memcasecmp (Makefile.am): Likewise.
44610         * modules/memchr (Makefile.am): Likewise.
44611         * modules/memcmp (Makefile.am): Likewise.
44612         * modules/memcoll (Makefile.am): Likewise.
44613         * modules/memcpy (Makefile.am): Likewise.
44614         * modules/memmem (Makefile.am): Likewise.
44615         * modules/memmove (Makefile.am): Likewise.
44616         * modules/mempcpy (Makefile.am): Likewise.
44617         * modules/memrchr (Makefile.am): Likewise.
44618         * modules/memset (Makefile.am): Likewise.
44619         * modules/memxor (Makefile.am): Likewise.
44620         * modules/mkancesdirs (Makefile.am): Likewise.
44621         * modules/mkdir-p (Makefile.am): Likewise.
44622         * modules/mkdir (Makefile.am): Likewise.
44623         * modules/mkdtemp (Makefile.am): Likewise.
44624         * modules/mkstemp (Makefile.am): Likewise.
44625         * modules/mktime (Makefile.am): Likewise.
44626         * modules/modechange (Makefile.am): Likewise.
44627         * modules/mountlist (Makefile.am): Likewise.
44628         * modules/nanosleep (Makefile.am): Likewise.
44629         * modules/obstack (Makefile.am): Likewise.
44630         * modules/openat (Makefile.am): Likewise.
44631         * modules/pagealign_alloc (Makefile.am): Likewise.
44632         * modules/pathmax (Makefile.am): Likewise.
44633         * modules/physmem (Makefile.am): Likewise.
44634         * modules/poll (Makefile.am): Likewise.
44635         * modules/posixtm (Makefile.am): Likewise.
44636         * modules/posixver (Makefile.am): Likewise.
44637         * modules/putenv (Makefile.am): Likewise.
44638         * modules/quote (Makefile.am): Likewise.
44639         * modules/quotearg (Makefile.am): Likewise.
44640         * modules/raise (Makefile.am): Likewise.
44641         * modules/read-file (Makefile.am): Likewise.
44642         * modules/readline (Makefile.am): Likewise.
44643         * modules/readlink (Makefile.am): Likewise.
44644         * modules/readtokens (Makefile.am): Likewise.
44645         * modules/readutmp (Makefile.am): Likewise.
44646         * modules/realloc (Makefile.am): Likewise.
44647         * modules/regex (Makefile.am): Likewise.
44648         * modules/rename-dest-slash (Makefile.am): Likewise.
44649         * modules/rename (Makefile.am): Likewise.
44650         * modules/rijndael (Makefile.am): Likewise.
44651         * modules/rmdir (Makefile.am): Likewise.
44652         * modules/rpmatch (Makefile.am): Likewise.
44653         * modules/safe-read (Makefile.am): Likewise.
44654         * modules/safe-write (Makefile.am): Likewise.
44655         * modules/same-inode (Makefile.am): Likewise.
44656         * modules/same (Makefile.am): Likewise.
44657         * modules/save-cwd (Makefile.am): Likewise.
44658         * modules/savedir (Makefile.am): Likewise.
44659         * modules/setenv (Makefile.am): Likewise.
44660         * modules/settime (Makefile.am): Likewise.
44661         * modules/sha1 (Makefile.am): Likewise.
44662         * modules/sig2str (Makefile.am): Likewise.
44663         * modules/snprintf (Makefile.am): Likewise.
44664         * modules/stat-macros (Makefile.am): Likewise.
44665         * modules/stat-time (Makefile.am): Likewise.
44666         * modules/stdbool (Makefile.am): Likewise.
44667         * modules/stdint (Makefile.am): Likewise.
44668         * modules/stdlib-safer (Makefile.am): Likewise.
44669         * modules/stpcpy (Makefile.am): Likewise.
44670         * modules/stpncpy (Makefile.am): Likewise.
44671         * modules/strcase (Makefile.am): Likewise.
44672         * modules/strcasestr (Makefile.am): Likewise.
44673         * modules/strchrnul (Makefile.am): Likewise.
44674         * modules/strcspn (Makefile.am): Likewise.
44675         * modules/strdup (Makefile.am): Likewise.
44676         * modules/strerror (Makefile.am): Likewise.
44677         * modules/strftime (Makefile.am): Likewise.
44678         * modules/strndup (Makefile.am): Likewise.
44679         * modules/strnlen (Makefile.am): Likewise.
44680         * modules/strpbrk (Makefile.am): Likewise.
44681         * modules/strsep (Makefile.am): Likewise.
44682         * modules/strstr (Makefile.am): Likewise.
44683         * modules/strtod (Makefile.am): Likewise.
44684         * modules/strtoimax (Makefile.am): Likewise.
44685         * modules/strtok_r (Makefile.am): Likewise.
44686         * modules/strtol (Makefile.am): Likewise.
44687         * modules/strtoll (Makefile.am): Likewise.
44688         * modules/strtoul (Makefile.am): Likewise.
44689         * modules/strtoull (Makefile.am): Likewise.
44690         * modules/strtoumax (Makefile.am): Likewise.
44691         * modules/strverscmp (Makefile.am): Likewise.
44692         * modules/sys_socket (Makefile.am): Likewise.
44693         * modules/sys_stat (Makefile.am): Likewise.
44694         * modules/sysexits (Makefile.am): Likewise.
44695         * modules/time_r (Makefile.am): Likewise.
44696         * modules/timegm (Makefile.am): Likewise.
44697         * modules/timespec (Makefile.am): Likewise.
44698         * modules/tmpfile-safer (Makefile.am): Likewise.
44699         * modules/trim (Makefile.am): Likewise.
44700         * modules/unistd-safer (Makefile.am): Likewise.
44701         * modules/unlinkdir (Makefile.am): Likewise.
44702         * modules/unlocked-io (Makefile.am): Likewise.
44703         * modules/userspec (Makefile.am): Likewise.
44704         * modules/utime (Makefile.am): Likewise.
44705         * modules/utimecmp (Makefile.am): Likewise.
44706         * modules/utimens (Makefile.am): Likewise.
44707         * modules/vasnprintf (Makefile.am): Likewise.
44708         * modules/vasprintf (Makefile.am): Likewise.
44709         * modules/vsnprintf (Makefile.am): Likewise.
44710         * modules/xalloc (Makefile.am): Likewise.
44711         * modules/xgetcwd (Makefile.am): Likewise.
44712         * modules/xnanosleep (Makefile.am): Likewise.
44713         * modules/xreadlink (Makefile.am): Likewise.
44714         * modules/xstrtod (Makefile.am): Likewise.
44715         * modules/xstrtol (Makefile.am): Likewise.
44716         * modules/xstrtold (Makefile.am): Likewise.
44717         * modules/yesno (Makefile.am): Likewise.
44718         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
44719
44720 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
44721
44722         * modules/error (Makefile.am): Distribute files through
44723         EXTRA_DIST, not lib_SOURCES.
44724
44725 2006-10-12  Eric Blake  <ebb9@byu.net>
44726
44727         * modules/error (Makefile.am): Distribute files in /lib.
44728         * modules/obstack (Makefile.am): Likewise.
44729
44730 2006-10-12  Bruno Haible  <bruno@clisp.org>
44731
44732         * modules/acl (Makefile.am): Distribute all files in lib/ through
44733         EXTRA_DIST.
44734         * modules/arcfour (Makefile.am): Likewise.
44735         * modules/arctwo (Makefile.am): Likewise.
44736         * modules/argmatch (Makefile.am): Likewise.
44737         * modules/argz (Makefile.am): Likewise.
44738         * modules/atexit (Makefile.am): Likewise.
44739         * modules/backupfile (Makefile.am): Likewise.
44740         * modules/c-strtod (Makefile.am): Likewise.
44741         * modules/c-strtold (Makefile.am): Likewise.
44742         * modules/calloc (Makefile.am): Likewise.
44743         * modules/canon-host (Makefile.am): Likewise.
44744         * modules/canonicalize (Makefile.am): Likewise.
44745         * modules/chdir-long (Makefile.am): Likewise.
44746         * modules/chdir-safer (Makefile.am): Likewise.
44747         * modules/check-version (Makefile.am): Likewise.
44748         * modules/chown (Makefile.am): Likewise.
44749         * modules/cloexec (Makefile.am): Likewise.
44750         * modules/close-stream (Makefile.am): Likewise.
44751         * modules/closeout (Makefile.am): Likewise.
44752         * modules/crc (Makefile.am): Likewise.
44753         * modules/cycle-check (Makefile.am): Likewise.
44754         * modules/des (Makefile.am): Likewise.
44755         * modules/dirfd (Makefile.am): Likewise.
44756         * modules/dirname (Makefile.am): Likewise.
44757         * modules/dup2 (Makefile.am): Likewise.
44758         * modules/euidaccess (Makefile.am): Likewise.
44759         * modules/exclude (Makefile.am): Likewise.
44760         * modules/exitfail (Makefile.am): Likewise.
44761         * modules/fcntl-safer (Makefile.am): Likewise.
44762         * modules/file-type (Makefile.am): Likewise.
44763         * modules/fileblocks (Makefile.am): Likewise.
44764         * modules/filemode (Makefile.am): Likewise.
44765         * modules/filenamecat (Makefile.am): Likewise.
44766         * modules/fnmatch (Makefile.am): Likewise.
44767         * modules/fopen-safer (Makefile.am): Likewise.
44768         * modules/fpending (Makefile.am): Likewise.
44769         * modules/fprintftime (Makefile.am): Likewise.
44770         * modules/free (Makefile.am): Likewise.
44771         * modules/fsusage (Makefile.am): Likewise.
44772         * modules/ftruncate (Makefile.am): Likewise.
44773         * modules/fts (Makefile.am): Likewise.
44774         * modules/gc (Makefile.am): Likewise.
44775         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
44776         * modules/getaddrinfo (Makefile.am): Likewise.
44777         * modules/getcwd (Makefile.am): Likewise.
44778         * modules/getdelim (Makefile.am): Likewise.
44779         * modules/getdomainname (Makefile.am): Likewise.
44780         * modules/getgroups (Makefile.am): Likewise.
44781         * modules/gethostname (Makefile.am): Likewise.
44782         * modules/gethrxtime (Makefile.am): Likewise.
44783         * modules/getline (Makefile.am): Likewise.
44784         * modules/getloadavg (Makefile.am): Likewise.
44785         * modules/getlogin_r (Makefile.am): Likewise.
44786         * modules/getopt (Makefile.am): Likewise.
44787         * modules/getpass (Makefile.am): Likewise.
44788         * modules/getpass-gnu (Makefile.am): Likewise.
44789         * modules/getsubopt (Makefile.am): Likewise.
44790         * modules/gettime (Makefile.am): Likewise.
44791         * modules/gettimeofday (Makefile.am): Likewise.
44792         * modules/getugroups (Makefile.am): Likewise.
44793         * modules/getusershell (Makefile.am): Likewise.
44794         * modules/glob (Makefile.am): Likewise.
44795         * modules/group-member (Makefile.am): Likewise.
44796         * modules/hard-locale (Makefile.am): Likewise.
44797         * modules/hash (Makefile.am): Likewise.
44798         * modules/hmac-md5 (Makefile.am): Likewise.
44799         * modules/hmac-sha1 (Makefile.am): Likewise.
44800         * modules/human (Makefile.am): Likewise.
44801         * modules/idcache (Makefile.am): Likewise.
44802         * modules/imaxabs (Makefile.am): Likewise.
44803         * modules/imaxdiv (Makefile.am): Likewise.
44804         * modules/inet_ntop (Makefile.am): Likewise.
44805         * modules/inet_pton (Makefile.am): Likewise.
44806         * modules/inttostr (Makefile.am): Likewise.
44807         * modules/isapipe (Makefile.am): Likewise.
44808         * modules/lchown (Makefile.am): Likewise.
44809         * modules/long-options (Makefile.am): Likewise.
44810         * modules/lstat (Makefile.am): Likewise.
44811         * modules/malloc (Makefile.am): Likewise.
44812         * modules/mathl (Makefile.am): Likewise.
44813         * modules/mbchar (Makefile.am): Likewise.
44814         * modules/md2 (Makefile.am): Likewise.
44815         * modules/md4 (Makefile.am): Likewise.
44816         * modules/md5 (Makefile.am): Likewise.
44817         * modules/memcasecmp (Makefile.am): Likewise.
44818         * modules/memchr (Makefile.am): Likewise.
44819         * modules/memcmp (Makefile.am): Likewise.
44820         * modules/memcoll (Makefile.am): Likewise.
44821         * modules/memcpy (Makefile.am): Likewise.
44822         * modules/memmem (Makefile.am): Likewise.
44823         * modules/memmove (Makefile.am): Likewise.
44824         * modules/mempcpy (Makefile.am): Likewise.
44825         * modules/memrchr (Makefile.am): Likewise.
44826         * modules/memset (Makefile.am): Likewise.
44827         * modules/memxor (Makefile.am): Likewise.
44828         * modules/mkancesdirs (Makefile.am): Likewise.
44829         * modules/mkdir (Makefile.am): Likewise.
44830         * modules/mkdir-p (Makefile.am): Likewise.
44831         * modules/mkdtemp (Makefile.am): Likewise.
44832         * modules/mkstemp (Makefile.am): Likewise.
44833         * modules/mktime (Makefile.am): Likewise.
44834         * modules/modechange (Makefile.am): Likewise.
44835         * modules/mountlist (Makefile.am): Likewise.
44836         * modules/nanosleep (Makefile.am): Likewise.
44837         * modules/openat (Makefile.am): Likewise.
44838         * modules/pagealign_alloc (Makefile.am): Likewise.
44839         * modules/physmem (Makefile.am): Likewise.
44840         * modules/poll (Makefile.am): Likewise.
44841         * modules/posixtm (Makefile.am): Likewise.
44842         * modules/posixver (Makefile.am): Likewise.
44843         * modules/putenv (Makefile.am): Likewise.
44844         * modules/quote (Makefile.am): Likewise.
44845         * modules/quotearg (Makefile.am): Likewise.
44846         * modules/raise (Makefile.am): Likewise.
44847         * modules/read-file (Makefile.am): Likewise.
44848         * modules/readline (Makefile.am): Likewise.
44849         * modules/readlink (Makefile.am): Likewise.
44850         * modules/readtokens (Makefile.am): Likewise.
44851         * modules/readutmp (Makefile.am): Likewise.
44852         * modules/realloc (Makefile.am): Likewise.
44853         * modules/regex (Makefile.am): Likewise.
44854         * modules/rename (Makefile.am): Likewise.
44855         * modules/rename-dest-slash (Makefile.am): Likewise.
44856         * modules/rijndael (Makefile.am): Likewise.
44857         * modules/rmdir (Makefile.am): Likewise.
44858         * modules/rpmatch (Makefile.am): Likewise.
44859         * modules/safe-read (Makefile.am): Likewise.
44860         * modules/safe-write (Makefile.am): Likewise.
44861         * modules/same (Makefile.am): Likewise.
44862         * modules/save-cwd (Makefile.am): Likewise.
44863         * modules/savedir (Makefile.am): Likewise.
44864         * modules/setenv (Makefile.am): Likewise.
44865         * modules/settime (Makefile.am): Likewise.
44866         * modules/sha1 (Makefile.am): Likewise.
44867         * modules/sig2str (Makefile.am): Likewise.
44868         * modules/snprintf (Makefile.am): Likewise.
44869         * modules/stdlib-safer (Makefile.am): Likewise.
44870         * modules/stpcpy (Makefile.am): Likewise.
44871         * modules/stpncpy (Makefile.am): Likewise.
44872         * modules/strcase (Makefile.am): Likewise.
44873         * modules/strcasestr (Makefile.am): Likewise.
44874         * modules/strchrnul (Makefile.am): Likewise.
44875         * modules/strcspn (Makefile.am): Likewise.
44876         * modules/strdup (Makefile.am): Likewise.
44877         * modules/strerror (Makefile.am): Likewise.
44878         * modules/strftime (Makefile.am): Likewise.
44879         * modules/strndup (Makefile.am): Likewise.
44880         * modules/strnlen (Makefile.am): Likewise.
44881         * modules/strpbrk (Makefile.am): Likewise.
44882         * modules/strsep (Makefile.am): Likewise.
44883         * modules/strstr (Makefile.am): Likewise.
44884         * modules/strtod (Makefile.am): Likewise.
44885         * modules/strtoimax (Makefile.am): Likewise.
44886         * modules/strtok_r (Makefile.am): Likewise.
44887         * modules/strtol (Makefile.am): Likewise.
44888         * modules/strtoll (Makefile.am): Likewise.
44889         * modules/strtoul (Makefile.am): Likewise.
44890         * modules/strtoull (Makefile.am): Likewise.
44891         * modules/strtoumax (Makefile.am): Likewise.
44892         * modules/strverscmp (Makefile.am): Likewise.
44893         * modules/time_r (Makefile.am): Likewise.
44894         * modules/timegm (Makefile.am): Likewise.
44895         * modules/tmpfile-safer (Makefile.am): Likewise.
44896         * modules/unistd-safer (Makefile.am): Likewise.
44897         * modules/unlinkdir (Makefile.am): Likewise.
44898         * modules/userspec (Makefile.am): Likewise.
44899         * modules/utime (Makefile.am): Likewise.
44900         * modules/utimecmp (Makefile.am): Likewise.
44901         * modules/utimens (Makefile.am): Likewise.
44902         * modules/vasnprintf (Makefile.am): Likewise.
44903         * modules/vasprintf (Makefile.am): Likewise.
44904         * modules/vsnprintf (Makefile.am): Likewise.
44905         * modules/xalloc (Makefile.am): Likewise.
44906         * modules/xgetcwd (Makefile.am): Likewise.
44907         * modules/xnanosleep (Makefile.am): Likewise.
44908         * modules/xreadlink (Makefile.am): Likewise.
44909         * modules/xstrtod (Makefile.am): Likewise.
44910         * modules/xstrtol (Makefile.am): Likewise.
44911         * modules/xstrtold (Makefile.am): Likewise.
44912         * modules/yesno (Makefile.am): Likewise.
44913
44914 2006-10-12  Jim Meyering  <jim@meyering.net>
44915
44916         * m4/getloadavg.m4: Revert the change below.
44917
44918         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
44919         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
44920         fail with a symlink, which is what coreutils' ./bootstrap now
44921         creates by default.
44922
44923 2006-10-12  Bruno Haible  <bruno@clisp.org>
44924
44925         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
44926         mingw.
44927         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
44928         MSVC and mingw explicitly.
44929
44930 2006-10-11  Simon Josefsson  <jas@extundo.com>
44931             Bruno Haible  <bruno@clisp.org>
44932
44933         Add support for multiple gnulib-tool invocations in the scope of a
44934         single configure.ac file.
44935         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
44936         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
44937         with the same contents as the _LIBADD variable.
44938         (func_emit_initmacro_start, func_emit_initmacro_end,
44939         func_emit_initmacro_done): New functions.
44940         (func_import, func_create_testdir): Invoke them. Allow the identifiers
44941         gl_LIBOBJS and gl_LTLIBOBJS.
44942
44943 2006-10-11  Bruno Haible  <bruno@clisp.org>
44944
44945         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
44946         (func_create_testdir): Don't create po/Makefile.am, don't invoke
44947         autoreconf. Instead, invoke autopoint explicitly but move back the
44948         *.m4 files from gnulib.
44949
44950 2006-10-11  Bruno Haible  <bruno@clisp.org>
44951
44952         * gnulib-tool (func_usage): Make module names after --create-testdir
44953         optional.
44954         (func_create_testdir): If no module was specified, use nearly all
44955         modules.
44956
44957 2006-10-12  Jim Meyering  <jim@meyering.net>
44958
44959         Big performance improvement for fts-based tools that use FTS_NOSTAT.
44960         Avoid spurious inode-mismatch problems on non-POSIX file systems.
44961         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
44962         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
44963         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
44964         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
44965         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
44966         (fts_set_stat_required): New function.
44967         (fts_open): Defer the calls to fts_stat, if possible or requested.
44968         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
44969         into fts_stat itself.
44970         (fts_read): Perform any required (deferred) fts_stat call.
44971         (fts_build): Likewise, for the directory we're about to open and read.
44972         In the readdir loop, carefully decide whether each entry will require
44973         an eventual call to fts_stat, using dirent.d_type info if available.
44974         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
44975         a command line argument into this function.  Update all callers.
44976         Map a return value of FTS_DOT to FTS_D for a command line argument.
44977         * modules/fts (Depends-on): Add d-type.  Alphabetize.
44978         Thanks to Miklos Szeredi for his tenacity and for the initial
44979         bug report about "find" failing on a FUSE-based file system.
44980
44981         * lib/fts.c (fts_open): Use consistent indentation.
44982
44983 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
44984
44985         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
44986         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
44987         reported by Jim Meyering.  All uses of cache variables renamed
44988         to match Autoconf's.
44989         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
44990         the other one.
44991
44992         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
44993         Fix misspelling in diagnostic.
44994
44995 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
44996
44997         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
44998         defined.  Problem reported by Matthew Woehlke.
44999
45000         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
45001         Add support for Tandem NonStop R series.
45002         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
45003         Use new macro.
45004
45005         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
45006         (has_trailing_slash): Omit size arg; all callers changed.
45007         Omit 'inline', since it doesn't help performance and we'd
45008         need to configure it.
45009         Don't count //, ///, etc. as having a trailing slash.
45010         As a side effect, this removes a C99ism reported by Matthew Woehlke.
45011         (rpl_rename_dest_slash): On failure, use rename's errno rather
45012         than (in some cases) an incorrect or junk errno.
45013         Simplify code by removing need to compute length; this does
45014         cause it to make two passes instead of one over the file name,
45015         but it's worth it.
45016
45017         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
45018         change, since Autoconf's version may no longer be appropriate now
45019         that we are using CVS Autoconf's version.  Add support for Tandem.
45020
45021 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45022             Bruno Haible  <bruno@clisp.org>
45023
45024         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
45025         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
45026         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
45027         gl_AC_TYPE_LONG_LONG.
45028
45029         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
45030         instead of HAVE_LONG_LONG.
45031         * lib/printf-args.c (printf_fetchargs): Likewise.
45032         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
45033         * lib/vasnprintf.c (VASNPRINTF): Likewise.
45034         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
45035         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
45036         gl_AC_TYPE_LONG_LONG.
45037
45038 2006-10-11  Bruno Haible  <bruno@clisp.org>
45039
45040         * m4/longlong.m4: Add comments.
45041         * m4/ulonglong.m4: Likewise.
45042
45043 2006-10-10  Bruno Haible  <bruno@clisp.org>
45044
45045         Make it possible to #define stpcpy, strdup to aliases.
45046         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
45047         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
45048
45049 2006-10-10  Bruno Haible  <bruno@clisp.org>
45050
45051         Make it possible to #define gcd to an alias.
45052         * lib/gcd.c: Include config.h.
45053
45054 2006-10-10  Bruno Haible  <bruno@clisp.org>
45055
45056         Make it possible to #define c_isascii to an alias.
45057         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
45058         defined. Undefine the macros before defining them, to avoid gcc
45059         warnings.
45060         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
45061         define NO_C_CTYPE_MACROS early.
45062
45063 2006-10-10  Bruno Haible  <bruno@clisp.org>
45064
45065         Make it possible to #define set_program_name to an alias.
45066         * lib/progname.c: Don't undefine set_program_name; instead, undefine
45067         ENABLE_RELOCATABLE early.
45068
45069 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45070
45071         Port to Tandem NSK OSS, which has 64-bit signed int but at most
45072         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
45073         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
45074         More generally, don't assume that 64-bit signed int is available
45075         if unsigned int is, and vice versa.
45076         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
45077         unsigned symbols, not on their signed counterparts.
45078         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
45079         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
45080         (UINT64_C, UINTMAX_C):
45081         Likewise.
45082         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
45083         unsigned counterparts.
45084         (Have_long_long, Unsigned): New macros.
45085         (Int): Renamed from INT.
45086         (strtoimax): Use the new macros.
45087         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
45088         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
45089         * modules/inttypes (inttypes.h): Substitute
45090         HAVE_UNSIGNED_LONG_LONG_INT.
45091         * modules/stdint (stdint.h): Likewise.
45092         (Files): Add m4/ulonglong.m4.
45093
45094 2006-10-10  Bruno Haible  <bruno@clisp.org>
45095
45096         Fix a gcc -Wshadow warning.
45097         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
45098         to 'bucket'.
45099         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
45100         gl_linked_indexof_from_to): Likewise.
45101         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
45102         Likewise.
45103         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
45104         Likewise.
45105         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
45106         Reported by Eric Blake.
45107
45108 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
45109
45110         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
45111         for NetBSD.  Problem reported by Bruno Haible.
45112
45113 2006-10-09  Jim Meyering  <jim@meyering.net>
45114
45115         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
45116         Patch from Bruno Haible.
45117
45118 2006-10-09  Jim Meyering  <jim@meyering.net>
45119
45120         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
45121         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
45122         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
45123
45124 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45125
45126         Don't include <config.h> twice; this doesn't work in some cases,
45127         e.g., when config.h has "#define intmax_t long long int" and
45128         we include <config.h>, <inttypes.h>, <config.h> in that order.
45129         Problem reported by Matthew Woehlke in:
45130         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
45131         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
45132         * lib/fts-cycle.c: Don't include config.h.
45133         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
45134         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
45135         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
45136         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
45137         inttypes.h.
45138         * lib/xstrtoumax.c: Likewise.
45139         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
45140         __strtol and the like, so that this module is more like its siblings.
45141         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
45142         Remove; no longer needed now that we assume gnulib inttypes.h.
45143
45144 2006-10-08  Bruno Haible  <bruno@clisp.org>
45145
45146         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
45147         option.
45148
45149 2006-10-07  Jim Meyering  <jim@meyering.net>
45150
45151         * modules/inttypes (inttypes.h): Revert what seems to have been
45152         an inadvertent part of today's change: use "|", not "/" in the
45153         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
45154
45155 2006-10-07  Bruno Haible  <bruno@clisp.org>
45156
45157         * modules/sublist: New file.
45158
45159 2006-10-07  Bruno Haible  <bruno@clisp.org>
45160
45161         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
45162         * modules/argz (argz.h): Likewise.
45163         * modules/arpa_inet (arpa/inet.h): Likewise.
45164         * modules/byteswap (byteswap.h): Likewise.
45165         * modules/configmake (configmake.h): Likewise.
45166         * modules/fcntl (fcntl.h): Likewise.
45167         * modules/fnmatch (fnmatch.h): Likewise.
45168         * modules/getopt (getopt.h): Likewise.
45169         * modules/glob (glob.h): Likewise.
45170         * modules/inttypes (inttypes.h): Likewise.
45171         * modules/netinet_in (netinet/in.h): Likewise.
45172         * modules/poll (poll.h): Likewise.
45173         * modules/stdbool (stdbool.h): Likewise.
45174         * modules/stdint (stdint.h): Likewise.
45175         * modules/sys_select (sys/select.h): Likewise.
45176         * modules/sys_socket (sys/socket.h): Likewise.
45177         * modules/sys_stat (sys/stat.h): Likewise.
45178         * modules/sysexits (sysexits.h): Likewise.
45179         * modules/unistd (unistd.h): Likewise.
45180         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45181         Add a "DO NOT EDIT" comment to the generated file.
45182         (func_import): Likewise for gnulib-comp.m4.
45183
45184 2006-10-07  Bruno Haible  <bruno@clisp.org>
45185
45186         * lib/gl_sublist.h: New file.
45187         * lib/gl_sublist.c: New file.
45188
45189 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
45190
45191         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
45192         name (relative to the original working directory) and the file
45193         name component (relative to the temporary working directory).  All
45194         callers changed.
45195         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
45196         * lib/mkdir-p.c (make_dir_parents): Likewise.
45197         * lib/mkdir-p.h (make_dir_parents): Likewise.
45198
45199 2006-10-06  Eric Blake  <ebb9@byu.net>
45200
45201         Define several macros for use by the clean-temp module.
45202         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
45203         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
45204         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
45205
45206         * lib/clean-temp.h (close_stream_temp): New declaration.
45207         * lib/clean-temp.c (includes): Pull in headers according to what
45208         other modules are in use.
45209         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
45210
45211 2006-10-06  Bruno Haible  <bruno@clisp.org>
45212
45213         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
45214         instead of fopen, fwriteerror.
45215
45216 2006-10-06  Bruno Haible  <bruno@clisp.org>
45217
45218         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
45219         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
45220         int.
45221         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
45222         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
45223         Return an error indicator.
45224         Suggested by Eric Blake.
45225
45226 2006-10-06  Bruno Haible  <bruno@clisp.org>
45227
45228         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
45229         Reported by Eric Blake.
45230
45231 2006-10-06  Bruno Haible  <bruno@clisp.org>
45232
45233         * modules/closeout (Description): Mention stderr too.
45234
45235 2006-10-06  Bruno Haible  <bruno@clisp.org>
45236         and Paul Eggert  <eggert@cs.ucla.edu>
45237
45238         * lib/closeout.c (close_stdout): Also close stderr.
45239         * lib/closeout.h: Update comment.
45240
45241 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
45242
45243         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
45244         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
45245         * lib/dirchownmod.c: Include lchown.h.
45246         * lib/lchown.c: Don't include files that lchown.h now includes.
45247         Don't declare chown, since lchown.h now does that.
45248         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
45249         (lchown): Define to rpl_chown if lchown is declared but
45250         does not exist.  Declare using a prototype if lchown is not
45251         declared.  Add a copyright notice.
45252         * lib/mkstemp.h: Include <unistd.h>.
45253         * lib/openat.c: Include lchown.h.
45254
45255         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
45256         we now test for that separately.
45257         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
45258         rather than O_NOFOLLOW, when testing whether it's possible to
45259         avoid a race condition reliably.
45260         * lib/savewd.c (savewd_chdir): Likewise.
45261
45262         Remove macros that are no longer needed now that stdint.h is
45263         reliable.
45264         * lib/fsusage.c (UINTMAX_MAX): Remove.
45265         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
45266         * lib/utimecmp.c (SIZE_MAX): Remove.
45267
45268         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
45269
45270         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
45271         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
45272         O_NOATIME works.
45273
45274 2006-10-05  Bruno Haible  <bruno@clisp.org>
45275
45276         * lib/gl_list.h (gl_sortedlist_search_from_to,
45277         gl_sortedlist_indexof_from_to): New declarations.
45278         (gl_list_implementation): New fields sortedlist_search_from_to,
45279         sortedlist_indexof_from_to.
45280         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
45281         inline functions.
45282         * lib/gl_list.c (gl_sortedlist_search_from_to,
45283         gl_sortedlist_indexof_from_to): New functions.
45284         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
45285         function.
45286         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
45287         (gl_array_sortedlist_search_from_to): New function.
45288         (gl_array_list_implementation): Update.
45289         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
45290         function.
45291         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
45292         (gl_carray_sortedlist_search_from_to): New function.
45293         (gl_carray_list_implementation): Update.
45294         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
45295         gl_linked_sortedlist_indexof_from_to): New functions.
45296         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
45297         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
45298         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
45299         gl_tree_sortedlist_indexof_from_to): New functions.
45300         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
45301         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
45302         Update.
45303         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
45304         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
45305         Update.
45306
45307 2006-10-05  Bruno Haible  <bruno@clisp.org>
45308
45309         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
45310         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
45311         (struct gl_list_implementation): Add fields search_from_to,
45312         indexof_from_to. Remove fields search, indexof.
45313         (gl_list_search): Use the search_from_to method.
45314         (gl_list_search_from, gl_list_search_from_to): New functions.
45315         (gl_list_indexof): Use the indexof_from_to method.
45316         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
45317         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
45318         (gl_list_search_from, gl_list_search_from_to): New functions.
45319         (gl_list_indexof): Use the indexof_from_to method.
45320         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
45321         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
45322         gl_array_indexof. Add start_index, end_index arguments.
45323         (gl_array_search_from_to): Renamed from gl_array_search. Add
45324         start_index, end_index arguments.
45325         (gl_array_remove, gl_array_list_implementation): Update.
45326         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
45327         gl_carray_indexof. Add start_index, end_index arguments.
45328         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
45329         start_index, end_index arguments.
45330         (gl_carray_remove, gl_carray_list_implementation): Update.
45331         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
45332         gl_linked_search. Add start_index, end_index arguments.
45333         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
45334         start_index, end_index arguments.
45335         (gl_linked_remove): Update.
45336         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
45337         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
45338         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
45339         field to 'size_t'.
45340         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
45341         gl_tree_search. Add start_index, end_index arguments.
45342         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
45343         start_index, end_index arguments.
45344         (gl_tree_remove): Update.
45345         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
45346         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
45347         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
45348         function.
45349         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
45350         gl_tree_search. Add start_index, end_index arguments.
45351         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
45352         start_index, end_index arguments.
45353         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
45354         Update.
45355         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
45356
45357 2006-10-05  Bruno Haible  <bruno@clisp.org>
45358
45359         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
45360
45361         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
45362         fwriteerror_temp): New declarations.
45363         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
45364         (descriptors): New variable.
45365         (cleanup): First, close the descriptors.
45366         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
45367         fclose_temp, fwriteerror_temp): New functions.
45368
45369 2006-10-04  Jim Meyering  <jim@meyering.net>
45370
45371         * lib/fts.c (fts_open): Tiny comment change.
45372
45373 2006-10-04  Bruno Haible  <bruno@clisp.org>
45374
45375         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
45376         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
45377         gl_LOCK_BODY.
45378         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
45379         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
45380         gl_LOCK_EARLY_BODY.
45381         (gl_LOCK): Require gl_LOCK_BODY.
45382
45383 2006-10-04  Bruno Haible  <bruno@clisp.org>
45384
45385         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
45386         (gl_oset_search_atleast): New declaration.
45387         (struct gl_oset_implementation): Add field 'search_atleast'.
45388         (gl_oset_search_atleast): New inline function.
45389         * lib/gl_oset.c (gl_oset_search_atleast): New function.
45390         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
45391         (gl_array_oset_implementation): Update.
45392         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
45393         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
45394         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
45395
45396 2006-10-04  Bruno Haible  <bruno@clisp.org>
45397
45398         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
45399
45400 2006-10-03  Bruno Haible  <bruno@clisp.org>
45401
45402         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
45403         from gl_avltreehash_list_implementation.
45404
45405 2006-10-03  Bruno Haible  <bruno@clisp.org>
45406
45407         * lib/gl_oset.c (gl_oset_add): Fix return type.
45408
45409 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
45410
45411         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
45412
45413 2006-10-02  Eric Blake  <ebb9@byu.net>
45414
45415         * modules/strnlen (Depends-on): Add extensions.
45416
45417 2006-10-02  Eric Blake  <ebb9@byu.net>
45418
45419         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
45420         definition in 2.60+.
45421
45422 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
45423
45424         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
45425         checks.
45426
45427 2006-10-02  Bruno Haible  <bruno@clisp.org>
45428
45429         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
45430         to the AUTOMAKE_OPTIONS.
45431         Reported by Jim Meyering.
45432
45433 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
45434
45435         Work around bug in Solaris 10 /proc file system:
45436         /proc/self/fd/NNN/.. isn't the parent directory of
45437         the directory whose file descriptor is NNN.  This needs to
45438         be worked around at run time, not compile time, since a
45439         program might be built on Solaris 8, where things work, and
45440         run on Solaris 10.
45441         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
45442         to use the following interface instead:
45443         (OPENAT_BUFFER_SIZE): New macro.
45444         (openat_proc_name): New function.
45445         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
45446         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
45447         Likewise.
45448         * lib/openat-proc.c: New file.
45449         * modules/openat (Files): Add lib/openat-proc.c.
45450         (Depends-on): Add same-inode, stdbool.
45451         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
45452
45453 2006-09-29  Bruno Haible  <bruno@clisp.org>
45454
45455         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
45456         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
45457         argument. Set stdout_closed before testing for ferror, not after.
45458         (fwriteerror, fwriteerror_no_ebadf): New functions.
45459
45460 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45461
45462         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
45463
45464 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
45465
45466         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
45467         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
45468
45469 2006-09-28  Jim Meyering  <jim@meyering.net>
45470
45471         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
45472         Include <unistd.h>.
45473
45474 2006-09-28  Bruno Haible  <bruno@clisp.org>
45475
45476         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
45477         * modules/linkedhash-list (Depends-on): Likewise.
45478         * modules/rbtreehash-list (Depends-on): Likewise.
45479
45480 2006-09-28  Bruno Haible  <bruno@clisp.org>
45481
45482         * lib/strndup.h: Simplify the redefinition of strndup.
45483         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
45484         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
45485
45486 2006-09-28  Bruno Haible  <bruno@clisp.org>
45487
45488         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
45489         * lib/gl_linkedhash_list.c: Likewise.
45490         * lib/gl_rbtreehash_list.c: Likewise.
45491
45492 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
45493
45494         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
45495         getaddrinfo.
45496
45497         * lib/__fpending.h: Don't include <stdio_ext.h> unless
45498         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
45499         it causes <stdio_ext.h> to cause a compile-time error.
45500         Problem reported by Nelson H. F. Beebe.
45501         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
45502         of HAVE_DECL___PENDING.
45503
45504         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
45505         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
45506         declaration.
45507
45508 2006-09-27  Jim Meyering  <jim@meyering.net>
45509
45510         This file could end up with a definition for a function
45511         named __strndup, rather than rpl_strndup on a system with
45512         incomplete weak_alias support.
45513         * lib/strndup.c (strndup): Rename from __strndup.
45514         Remove #defines that used to map __strndup to strndup.
45515         Don't use K&R prototypes.
45516         Remove LIBC-related code, since this file is not sync'd with glibc.
45517         * lib/strndup.h: Revamp, accordingly.
45518         * m4/strndup.m4: Modernize.
45519
45520 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
45521
45522         * modules/savewd (Depends-on): Add 'raise'.
45523         * lib/savewd.c: Include <signal.h>, for 'raise'.
45524
45525 2006-09-26  Jim Meyering  <jim@meyering.net>
45526
45527         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
45528         when we detect Darwin 8.7.0's acl_get_file bug.
45529         Rearrange to perform the new (below) run-test while $LIBS
45530         contains any acl-related library.  Set USE_ACL at the end.
45531         (gl_ACL_GET_FILE): New function.
45532
45533 2006-09-26  Eric Blake  <ebb9@byu.net>
45534
45535         * lib/verror.c: Include <config.h> unconditionally.
45536
45537 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
45538
45539         * modules/clock-time (Maintainer): Add self.
45540         * modules/getlogin_r (Depends-on): Add extensions.
45541
45542 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45543
45544         * modules/clock-time: New module.
45545         * modules/nanosleep (Depends-on): Add clock-time.
45546         * modules/gethrxtime (Depends-on): Likewise.
45547         * modules/gettime (Depends-on): Likewise.
45548         * modules/settime (Depends-on): Likewise.
45549
45550         * modules/fts-lgpl: Depend on openat.
45551         * modules/mkancesdirs: Depend on savewd.
45552         * modules/mkdir-p: Likewise.
45553
45554 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45555
45556         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
45557
45558         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
45559         `gl_have_arbitrary_file_name_length_limit' to
45560         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
45561         actually works between configure runs.
45562
45563 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45564             Bruno Haible  <bruno@clisp.org>
45565
45566         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
45567
45568 2006-09-25  Jim Meyering  <jim@meyering.net>
45569
45570         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
45571         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
45572
45573 2006-09-25  Eric Blake  <ebb9@byu.net>
45574
45575         * gnulib-tool (func_import, func_create_testdir): Fix typos in
45576         exec's in 2006-09-18 patch when shuffling fds.
45577
45578 2006-09-25  Bruno Haible  <bruno@clisp.org>
45579
45580         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
45581         Reported by Jim Meyering.
45582
45583 2006-09-24  Jim Meyering  <jim@meyering.net>
45584
45585         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
45586         compare a pointer against a literal "0".  That caused failures with
45587         at least HP-UX's hpcc.
45588
45589 2006-09-22  Simon Josefsson  <jas@extundo.com>
45590
45591         * modules/gc-sha1:
45592         * modules/gc-md4:
45593         * modules/gc-hmac-sha1:
45594         * modules/gc-hmac-md5:
45595         * modules/gc-des:
45596         * modules/gc-arcfour: Distribute more files.
45597
45598 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45599
45600         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
45601         (gl_linked_iterator_from_to): Initialize struct completely.
45602         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
45603         (gl_tree_iterator_from_to): Likewise
45604         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
45605         * lib/gl_array_list.c [lint] (gl_array_iterator)
45606         (gl_array_iterator_from_to): Likewise.
45607         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
45608         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
45609         (gl_carray_iterator_from_to): Likewise.
45610
45611         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
45612         * lib/md4.c (md4_process_block): Remove unused variable.
45613         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
45614         parentheses for clarity.
45615
45616 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45617
45618         * modules/bison-i18n (Depends-on): Add gettext.
45619
45620 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45621
45622         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
45623         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45624         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
45625         also add missing comma that caused broken test.
45626         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
45627         stdlib.h, for `abort'.
45628         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
45629         variables.
45630         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
45631         include unistd.h if present, for `rmdir'.
45632         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
45633         variables.
45634         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
45635         in the process include standard headers for prototypes.
45636         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
45637         gets declared on GNU/Linux.
45638         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
45639         unistd.h, for `rmdir'.
45640         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
45641
45642         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
45643         always true.
45644         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
45645
45646         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
45647
45648 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45649
45650         * gnulib-tool (func_version): Create output all at once.  This
45651         may help avoid triggering unnecessary SIGPIPEs, and at any
45652         rate it doesn't hurt.
45653
45654 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45655             Bruno Haible  <bruno@clisp.org>
45656
45657         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
45658         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
45659         * m4/signed.m4 (bh_C_SIGNED): Likewise.
45660
45661         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
45662         (gl_FUNC_VASPRINTF): Invoke it.
45663
45664 2006-09-22  Bruno Haible  <bruno@clisp.org>
45665
45666         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
45667         getloadavg.c as first argument.
45668
45669 2006-09-22  Bruno Haible  <bruno@clisp.org>
45670
45671         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
45672         at the beginning of the gl_INIT macro.
45673         * modules/getloadavg (configure.ac): Pass $gl_source_base to
45674         gl_GETLOADAVG.
45675
45676 2006-09-22  Bruno Haible  <bruno@clisp.org>
45677
45678         * gnulib-tool (func_create_megatestdir): Don't include the config-h
45679         module.
45680         Suggested by Ralf Wildenhues.
45681
45682 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
45683
45684         Import this patch from libc:
45685
45686         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
45687
45688         * lib/regex_internal.c (re_string_reconstruct): Handle
45689         offset < pstr->valid_raw_len && pstr->offsets_needed case.
45690         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
45691         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
45692         re_string_context_at.
45693
45694         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
45695         now requires it.
45696         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
45697         gl_REGEX now does it for us.
45698         (gl_REGEX): Add test taken from
45699         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
45700
45701         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
45702         Check that large offsets work.  Modernize Autoconf usages.
45703         Prefer "yes" to mean a good thing rather than a bad.
45704         Don't put "#define mkstemp" in config.h, as this might interfere
45705         with standard system headers that "#define mkstemp mkstemp64".
45706
45707         * modules/mkstemp (Depends-on): Add extensions, so that
45708         mkstemp is visible on some platforms.
45709         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
45710         (Include): Change to "mkstemp.h" from <stdlib.h>.
45711         (Files): Add mkstemp.h.
45712
45713         * lib/mkstemp.h: New file, since some standard headers
45714         #define mkstemp.
45715         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
45716         Include "mkstemp.h".
45717         Make the _LIBC code resemble glibc original more,
45718         e.g., use K&R style.
45719         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
45720         (mkstemp): Remove, since mkstemp.h does this for us.
45721         * lib/stdlib--.h: Include mkstemp.h.
45722
45723         Import this patch from libc:
45724
45725         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
45726
45727         * lib/tempname.c (__gen_tempname): Change attempts_min
45728         into a macro.  Use preprocessor to decide how to initialize
45729         attempts [Coverity CID 67].
45730
45731 2006-09-20  Bruno Haible  <bruno@clisp.org>
45732
45733         * lib/mkdtemp.c: Import from libc.
45734         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
45735                 * sysdeps/posix/tempname.c (__gen_tempname): Change
45736                 attempts_min into a macro.  Use preprocessor to decide how to
45737                 initialize attempts [Coverity CID 67].
45738         2001-11-27  Paul Eggert  <eggert@twinsun.com>
45739                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
45740                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
45741
45742 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45743
45744         * gnulib-tool (func_exit): New function, to allow to pass the
45745         exit status portably through the trap.  Use everywhere.
45746         (--help, --version): Signal a write error.
45747         (trap): catch SIGPIPE, for write errors.
45748         Exit at the end of the trap, with the correct exit status.
45749
45750 2006-09-19  Karl Berry  <karl@gnu.org>
45751
45752         * doc/gnulib.texi: note about the license texinfo files.
45753
45754 2006-09-19  Eric Blake  <ebb9@byu.net>
45755
45756         * gnulib-tool: Avoid space-tab.
45757
45758 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
45759
45760         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
45761         that prevented coreutils 6.1 from building.  Problem reported
45762         by Petter Reinholdtsen.
45763
45764 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
45765
45766         * gnulib-tool (avoidlist): Fix typo that broke options like
45767         --avoid=lock that are used by coreutils bootstrap.
45768
45769 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
45770
45771         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
45772         more systematically.
45773
45774 2006-09-18  Jim Meyering  <jim@meyering.net>
45775
45776         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
45777
45778 2006-09-18  Bruno Haible  <bruno@clisp.org>
45779
45780         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
45781
45782 2006-09-18  Bruno Haible  <bruno@clisp.org>
45783
45784         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
45785         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
45786         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
45787         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
45788         * m4/gettext.m4: Require autoconf >= 2.52.
45789         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
45790         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
45791         of gl_cv_header_inttypes_h.
45792
45793 2006-09-18  Bruno Haible  <bruno@clisp.org>
45794
45795         * lib/javaversion.c: Include configmake.h.
45796
45797 2006-09-18  Bruno Haible  <bruno@clisp.org>
45798
45799         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
45800         avoid that the while loops be executed in a subshell.
45801
45802 2006-09-18  Bruno Haible  <bruno@clisp.org>
45803
45804         * MODULES.html.sh (func_module): Break long lines.
45805         Suggested by Bruce Korb <bkorb@gnu.org>.
45806
45807 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45808
45809         Speed up by a factor of 1.12.
45810         * gnulib-tool (nl): New variable.
45811         (func_import): Rewrite include directive extraction to only read each
45812         directive once.
45813
45814 2006-09-17  Bruno Haible  <bruno@clisp.org>
45815
45816         * modules/javaversion (Makefile.am): Remove DEFS setting.
45817         (Depends-on): Add configmake, for PKGDATADIR definition.
45818
45819 2006-09-17  Bruno Haible  <bruno@clisp.org>
45820
45821         * gnulib-tool (func_create_testdir): Rewrite all files at once.
45822
45823 2006-09-17  Bruno Haible  <bruno@clisp.org>
45824
45825         * gnulib-tool (func_append): New function, stolen from libtool.m4.
45826         (func_modules_transitive_closure, func_modules_add_dummy,
45827         func_modules_to_filelist, func_import, func_create_testdir,
45828         func_create_megatestdir, ...): Use it wherever possible.
45829         Suggested by Ralf Wildenhues.
45830
45831 2006-09-16  Karl Berry  <karl@gnu.org>
45832
45833         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
45834         to avoid sectioning errors.
45835         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
45836         [ifinfo]: blank line after @center-ed titles.
45837         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
45838         Spell FSF address consistently with others.
45839         (These changes approved by rms.)
45840
45841 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45842
45843         Speed up by a factor of 1.61.
45844         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
45845         already checked module names again.
45846
45847 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45848
45849         Speed up by a factor of 1.13.
45850         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
45851         for new_files, and the input to func_add_or_update.
45852
45853 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45854
45855         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
45856         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
45857
45858 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
45859
45860         * modules/mkancesdirs (Depends-on): Add fcntl.
45861         * modules/savewd: New file.
45862         * MODULES.html.sh (File system functions): Add savewd.
45863
45864         * modules/configmake (Makefile.am): Add support for the
45865         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
45866
45867 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
45868
45869         * m4/savewd.m4: New file.
45870
45871 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
45872
45873         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
45874         (dirchownmod): New arg FD.  All callers changed.
45875         Use FD rather than opening the directory ourself, as opening is
45876         now the caller's responsibility.
45877         * lib/dirchownmod.h: Likewise.
45878         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
45879         hosts that require <sys/types.h> before <sys/stat.h>.  Include
45880         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
45881         (test_dir): Remove.
45882         (mkancesdirs): Return length of prefix of FILE that has already
45883         been made, or -2 if there is a child doing the work.  Redo
45884         algorithm so that it is O(N) rather than O(N**2).  Optimize away
45885         ".", and treat ".." specially since it might stray back into
45886         already-created areas.  Use a subprocess if necessary.  New arg
45887         WD; all users changed.  MAKE_DIR function should now return 1
45888         if it creates a directory that is not readable.  Return -2 if
45889         a child process is spun off.
45890         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
45891         Adjust signature to match code.
45892         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
45893         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
45894         all users changed.
45895         * lib/savewd.c, lib/savewd.h: New files.
45896
45897 2006-09-15  Jim Meyering  <jim@meyering.net>
45898
45899         * modules/rename-dest-slash: New module.
45900         * MODULES.html.sh (posix_compat): Add it here.
45901
45902         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
45903
45904 2006-09-15  Jim Meyering  <jim@meyering.net>
45905
45906         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
45907         file.
45908
45909         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
45910
45911 2006-09-15  Jim Meyering  <jim@meyering.net>
45912
45913         * lib/rename-dest-slash.c (has_trailing_slash): Use
45914         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
45915         (rpl_rename_dest_slash): Perform the cheaper trailing slash
45916         test before testing whether SRC is a directory.
45917         Suggestions from Bruno Haible.
45918
45919         Avoid a warning about an unused variable.
45920         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
45921         into the #ifdef block where it's used.
45922
45923         * lib/rename-dest-slash.c: New file.
45924
45925 2006-09-14  Bruno Haible  <bruno@clisp.org>
45926
45927         * lib/allocsa.c: Include <config.h> unconditionally.
45928         * lib/asnprintf.c: Likewise.
45929         * lib/asprintf.c: Likewise.
45930         * lib/c-strcasecmp.c: Likewise.
45931         * lib/c-strcasestr.c: Likewise.
45932         * lib/c-strncasecmp.c: Likewise.
45933         * lib/c-strstr.c: Likewise.
45934         * lib/classpath.c: Likewise.
45935         * lib/clean-temp.c: Likewise.
45936         * lib/concatpath.c: Likewise.
45937         * lib/copy-file.c: Likewise.
45938         * lib/csharpcomp.c: Likewise.
45939         * lib/csharpexec.c: Likewise.
45940         * lib/execute.c: Likewise.
45941         * lib/fatal-signal.c: Likewise.
45942         * lib/findprog.c: Likewise.
45943         * lib/fwriteerror.c: Likewise.
45944         * lib/gl_array_list.c: Likewise.
45945         * lib/gl_array_oset.c: Likewise.
45946         * lib/gl_avltree_list.c: Likewise.
45947         * lib/gl_avltree_oset.c: Likewise.
45948         * lib/gl_avltreehash_list.c: Likewise.
45949         * lib/gl_carray_list.c: Likewise.
45950         * lib/gl_linked_list.c: Likewise.
45951         * lib/gl_linkedhash_list.c: Likewise.
45952         * lib/gl_list.c: Likewise.
45953         * lib/gl_oset.c: Likewise.
45954         * lib/gl_rbtree_list.c: Likewise.
45955         * lib/gl_rbtree_oset.c: Likewise.
45956         * lib/gl_rbtreehash_list.c: Likewise.
45957         * lib/imaxabs.c: Likewise.
45958         * lib/imaxdiv.c: Likewise.
45959         * lib/javacomp.c: Likewise.
45960         * lib/javaexec.c: Likewise.
45961         * lib/javaversion.c: Likewise.
45962         * lib/linebreak.c: Likewise.
45963         * lib/localcharset.c: Likewise.
45964         * lib/lock.c: Likewise.
45965         * lib/mbchar.c: Likewise.
45966         * lib/mbswidth.c: Likewise.
45967         * lib/mkdtemp.c: Likewise.
45968         * lib/pipe.c: Likewise.
45969         * lib/printf-args.c: Likewise.
45970         * lib/printf-parse.c: Likewise.
45971         * lib/progname.c: Likewise.
45972         * lib/progreloc.c: Likewise.
45973         * lib/readlink.c: Likewise.
45974         * lib/sh-quote.c: Likewise.
45975         * lib/stpcpy.c: Likewise.
45976         * lib/stpncpy.c: Likewise.
45977         * lib/strcasecmp.c: Likewise.
45978         * lib/strcasestr.c: Likewise.
45979         * lib/strcspn.c: Likewise.
45980         * lib/striconv.c: Likewise.
45981         * lib/strncasecmp.c: Likewise.
45982         * lib/strnlen1.c: Likewise.
45983         * lib/strstr.c: Likewise.
45984         * lib/strtok_r.c: Likewise.
45985         * lib/tls.c: Likewise.
45986         * lib/tmpdir.c: Likewise.
45987         * lib/unicodeio.c: Likewise.
45988         * lib/unsetenv.c: Likewise.
45989         * lib/vasnprintf.c: Likewise.
45990         * lib/vasprintf.c: Likewise.
45991         * lib/wait-process.c: Likewise.
45992         * lib/xallocsa.c: Likewise.
45993         * lib/xsetenv.c: Likewise.
45994         * lib/xstriconv.c: Likewise.
45995
45996 2006-09-13  Simon Josefsson  <jas@extundo.com>
45997
45998         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
45999         that internally, suggested by Ralf Wildenhues
46000         <Ralf.Wildenhues@gmx.de>.
46001
46002 2006-09-13  Simon Josefsson  <jas@extundo.com>
46003
46004         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
46005         @LIBOBJS@.
46006         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46007
46008 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46009
46010         * lib/_fpending.c: Include <config.h> unconditionally, since we no
46011         longer worry about uses that don't define HAVE_CONFIG_H.
46012         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
46013         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
46014         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
46015         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
46016         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
46017         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
46018         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
46019         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
46020         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
46021         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
46022         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
46023         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
46024         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
46025         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
46026         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
46027         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
46028         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
46029         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
46030         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
46031         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
46032         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
46033         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
46034         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
46035         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
46036         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
46037         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
46038         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
46039         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
46040         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
46041         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
46042         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
46043         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
46044         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
46045         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
46046         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
46047         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
46048         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
46049         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
46050         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
46051         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
46052         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
46053         Likewise.
46054
46055 2006-09-13  Eric Blake  <ebb9@byu.net>
46056
46057         * lib/getopt.c: Fix typo in last commit.
46058
46059 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46060
46061         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
46062         dgettext.
46063
46064 2006-09-12  Jim Meyering  <jim@meyering.net>
46065
46066         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
46067         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
46068         Reported by Nelson H. F. Beebe.
46069
46070 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46071
46072         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
46073         program_invocation_name and program_invocation_short_name are
46074         initialized.
46075         * lib/argp-namefrob.h: Move declarations of program_invocation_name
46076         and program_invocation_short_name to argp.h, so they are visible
46077         to user programs.
46078         * lib/argp.h: Likewise
46079
46080 2006-09-10  Bruno Haible  <bruno@clisp.org>
46081
46082         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
46083         m4/inttypes_h.m4, m4/uintmax_t.m4.
46084
46085 2006-09-10  Bruno Haible  <bruno@clisp.org>
46086
46087         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
46088         gl_AC_TYPE_UINTMAX_T.
46089
46090 2006-09-10  Bruno Haible  <bruno@clisp.org>
46091
46092         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
46093
46094 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46095
46096         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
46097         convention.  Text proposed by Bruno Haible.
46098         (struct argp_option): Document the use of N_() wrappers.
46099
46100         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
46101         '\v', and translate the two parts separately, instead of feeding
46102         the whole string to gettext.  This allows to exclude
46103         '\v' from the strings visible to the translator by writing doc
46104         strings as N_("..") "\v" N_("..").
46105
46106 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
46107
46108         * config/srclist.txt: Undo latest change; the bug was fixed.
46109
46110 2006-09-09  Bruno Haible  <bruno@clisp.org>
46111
46112         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
46113         assignments if building a library without libtool.
46114         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
46115         in func_emit_lib_Makefile_am.
46116         (func_import): When building a static library libfoo.a, arrange to
46117         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
46118         (func_create_testdir): Likewise.
46119         * modules/gc (configure.ac, Makefile.am): If building statically,
46120         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
46121         * modules/iconvme (configure.ac, Makefile.am): Likewise.
46122         * modules/striconv (configure.ac, Makefile.am): Likewise.
46123         Based on a suggestion by Ralf Wildenhues.
46124
46125 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46126
46127         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
46128         Check for unistd.h too, since Autoconf doesn't assume POSIX.
46129         Also:
46130
46131         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46132         Add year_2050_test to catch glibc bug 2821
46133         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
46134
46135         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46136         Prefer #ifdef to #if.
46137
46138         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
46139         Return from 'main' instead of calling 'exit'.
46140
46141 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46142
46143         * lib/mktime.c (guess_time_tm): Fix bug where mktime
46144         returned the maximum time_t value rather than (time_t) -1.
46145         Problem originally reported by William Bardwell
46146         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
46147
46148         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
46149         Moved to here ...
46150         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
46151         ... from here.
46152
46153 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46154
46155         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
46156         2821 is fixed.
46157
46158 2006-09-08  Jim Meyering  <jim@meyering.net>
46159
46160         Don't make generated files read-only.  That would bother too many
46161         people.  However, do retain the ability to work when targets are
46162         read-only: remove the destination and temporary files before writing
46163         them (when generated via sed or echo), or by using the -f option for
46164         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
46165         * modules/alloca-opt, modules/argz, modules/arpa_inet:
46166         * modules/byteswap, modules/configmake, modules/fcntl:
46167         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
46168         * modules/localcharset, modules/netinet_in, modules/poll:
46169         * modules/stdbool, modules/stdint, modules/sys_select:
46170         * modules/sys_socket, modules/sys_stat, modules/sysexits:
46171
46172 2006-09-08  Jim Meyering  <jim@meyering.net>
46173
46174         Avoid new build failure on FreeBSD 6.0.
46175         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
46176         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
46177         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
46178
46179 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46180
46181         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
46182
46183 2006-09-07  Jim Meyering  <jim@meyering.net>
46184
46185         Fix global typo in last change: use chmod u-w, not chmod u-x.
46186         Spotted by Paul Eggert and Bruce Korb.
46187         * modules/alloca-opt, modules/argz, modules/arpa_inet:
46188         * modules/byteswap, modules/configmake, modules/fcntl:
46189         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
46190         * modules/localcharset, modules/netinet_in, modules/poll:
46191         * modules/stdbool, modules/stdint, modules/sys_select:
46192         * modules/sys_socket, modules/sys_stat, modules/sysexits:
46193
46194 2006-09-06  Jim Meyering  <jim@meyering.net>
46195
46196         Make generated files be read-only.
46197         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
46198         Ensure that each generated file is now read-only.
46199         * modules/argz: Likewise.
46200         * modules/arpa_inet: Likewise.
46201         * modules/byteswap: Likewise.
46202         * modules/configmake: Likewise.
46203         * modules/fcntl: Likewise.
46204         * modules/fnmatch: Likewise.
46205         * modules/getopt: Likewise.
46206         * modules/glob: Likewise.
46207         * modules/inttypes: Likewise.
46208         * modules/netinet_in: Likewise.
46209         * modules/poll: Likewise.
46210         * modules/stdbool: Likewise.
46211         * modules/stdint: Likewise.
46212         * modules/sys_select: Likewise.
46213         * modules/sys_socket: Likewise.
46214         * modules/sys_stat: Likewise.
46215         * modules/sysexits: Likewise.
46216         * modules/localcharset: Same as above, but continue using temporary
46217         file named "t-$@" (why different?) rather than the "$@-t" used
46218         everywhere else.
46219
46220         * modules/sysexits (Makefile.am): Replace literal occurrences
46221         of "sysexit.h" more readable, and more consistent, "$@".
46222
46223 2006-09-06  Bruno Haible  <bruno@clisp.org>
46224
46225         * modules/striconv: New file.
46226         * modules/xstriconv: New file.
46227         * MODULES.html.sh (Internationalization functions): Add striconv,
46228         xstriconv.
46229
46230 2006-09-06  Bruno Haible  <bruno@clisp.org>
46231
46232         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
46233         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
46234         not using libtool correctly.
46235
46236 2006-09-06  Bruno Haible  <bruno@clisp.org>
46237
46238         * lib/striconv.h: New file.
46239         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
46240         iconvstring.c.
46241         * lib/xstriconv.h: New file.
46242         * lib/xstriconv.c: New file.
46243
46244 2006-09-06  Bruno Haible  <bruno@clisp.org>
46245
46246         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46247         lib_..._LDFLAGS.
46248
46249 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46250
46251         * lib/argz_.h: Sync from Libtool.
46252
46253         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
46254                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
46255
46256         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
46257
46258 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
46259
46260         * modules/trim: New file.
46261
46262 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
46263
46264         * lib/trim.h: New file.
46265         * lib/trim.c: New file.
46266
46267 2006-09-05  Bruno Haible  <bruno@clisp.org>
46268
46269         * MODULES.html.sh (String handling): Add trim.
46270
46271 2006-09-04  Karl Berry  <karl@gnu.org>
46272
46273         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
46274         until next release.
46275
46276 2006-09-03  Bruno Haible  <bruno@clisp.org>
46277
46278         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
46279         correctly.
46280
46281 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46282
46283         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
46284         not gl_GETLOADAVG.  Omit unneeded semicolons.
46285         Problems reported by Ralf Wildenhues in
46286         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
46287         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
46288         at the end, which is the usual gnulib style.
46289
46290         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
46291         of doing all the work ourselves.
46292         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
46293         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
46294
46295 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46296
46297         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
46298         Problem reported by Ralf Wildenhues in
46299         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
46300
46301         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
46302         HAVE_STRUCT_STATFS_F_FSTYPENAME.
46303
46304 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46305
46306         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
46307         yesterday's patch by changing test -n to test -z.
46308
46309 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46310
46311         * modules/getloadavg (Files): Add m4/getloadavg.m4.
46312         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
46313         the former is now obsolescent.
46314
46315         * modules/chdir-long (Depends-on): Add fcntl.
46316
46317 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46318
46319         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
46320         obsolescent, and programs should use gnulib instead.
46321         * m4/getloadavg.m4: New file, with contents taken from Autoconf
46322         but with prefixes changed.
46323
46324 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46325
46326         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
46327         or stdbool.h, because they might not exist while configuring.
46328
46329         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
46330         Don't include unistd.h or limits.h; not needed, since chdir-long.h
46331         does that for us.
46332         (O_DIRECTORY): Remove.
46333
46334 2006-08-31  Eric Blake  <ebb9@byu.net>
46335
46336         * gnulib-tool: Don't let emacs change spaces to TAB.
46337
46338 2006-08-31  Bruno Haible  <bruno@clisp.org>
46339
46340         * gnulib-tool: When calling func_import more than once, do it in a
46341         subshell.
46342         Reported by Eric Blake <ebb9@byu.net>.
46343
46344 2006-08-31  Bruno Haible  <bruno@clisp.org>
46345
46346         * gnulib-tool (nl): Remove variable.
46347         (sed_transform_lib_file): Use more robust test for config-h module.
46348         (func_import): Fix typo in 2006-08-25 patch.
46349
46350 2006-08-31  Bruno Haible  <bruno@clisp.org>
46351
46352         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
46353         specified, augment Makefile.am variables instead of assigning them.
46354
46355 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46356
46357         Work around a bug in both the Linux and SunOS 64-bit kernels:
46358         nanosleep mishandles sleeps for longer than 2**31 seconds.
46359         Problem reported by Frank v Waveren in
46360         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
46361         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
46362         Check for nanosleep bug.
46363         (LIB_NANOSLEEP): Append clock_gettime library if needed.
46364
46365 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46366
46367         Work around a bug in both the Linux and SunOS 64-bit kernels:
46368         nanosleep mishandles sleeps for longer than 2**31 seconds.
46369         Problem reported by Frank v Waveren in
46370         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
46371         * lib/nanosleep.c (BILLION): New constant.
46372         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
46373         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
46374         implementation.
46375
46376 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46377
46378         * modules/nanosleep (Depends-on): Add gettime.
46379
46380 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46381         and Simon Josefsson  <jas@extundo.com>
46382         and Oskar Liljeblad  <oskar@osk.mine.nu>
46383
46384         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
46385         * gnulib-tool (func_import): New license type 'unmodifiable license
46386         text'.
46387         * modules/fdl: Use it.  Longer description.
46388         * module/gpl, module/lgpl: New files.
46389
46390 2006-08-30  Jim Meyering  <jim@meyering.net>
46391
46392         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
46393         shadowing the parameter.
46394
46395 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46396
46397         Sync from Libtool:
46398
46399         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46400
46401         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
46402         sharing with gnulib.  Report by Eric Blake.
46403
46404 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
46405
46406         * modules/isapipe: New file.
46407         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
46408
46409 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
46410
46411         * modules/configmake (Makefile.am): Add a comment, and omit
46412         the CONFIGMAKE_ prefix from generated macro names.  Suggested
46413         by Bruno Haible.
46414
46415 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
46416
46417         * m4/isapipe.m4: New file.
46418
46419 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
46420
46421         * lib/isapipe.c, lib/isapipe.h: New files.
46422
46423 2006-08-29  Jim Meyering  <jim@meyering.net>
46424
46425         * modules/configmake (Makefile.am): Make configmake.h depend on
46426         Makefile.  Otherwise, a stale configmake.h could hang around.
46427
46428 2006-08-29  Eric Blake  <ebb9@byu.net>
46429
46430         * lib/error.c (error_at_line, print_errno_message): Match libc, after
46431         resolution of upstream bug 3044.
46432
46433 2006-08-29  Bruno Haible  <bruno@clisp.org>
46434
46435         * modules/localcharset (Depends-on): Add configmake.
46436         (Makefile.am): Remove setting of LIBDIR through DEFS.
46437
46438 2006-08-29  Bruno Haible  <bruno@clisp.org>
46439
46440         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
46441         defined.
46442
46443 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
46444
46445         * modules/fcntl: New file.
46446         * modules/chdir-safer (Depends-on): Add fcntl.
46447         * modules/fts: Likewise.
46448         * modules/mkdir-p: Likewise.
46449
46450         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
46451         This undoes the most recent change, since we're now addressing the
46452         problem in a different way.
46453
46454         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
46455         into output, since the output might be called Makefile.am even
46456         if $makefile_name is something different.
46457         (func_import): Use $makefile_am rather than
46458         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
46459         empty.
46460
46461         * modules/inttypes (Files): Add m4/inttypes-h.m4.
46462
46463 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
46464
46465         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
46466         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
46467         recent change to stdint.m4, since we're now addressing the problem in a
46468         different way.
46469
46470 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
46471
46472         * m4/fcntl_h.m4: New file.
46473
46474 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
46475
46476         * lib/fcntl_.h: New file.
46477         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
46478         the fcntl module.
46479         * lib/dirchownmod.c: Likewise.
46480         * lib/fts.c: Likewise.
46481
46482         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
46483         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
46484         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
46485         just before including <inttypes.h>, to avoid circular inclusion.
46486
46487 2006-08-28  Jim Meyering  <jim@meyering.net>
46488
46489         * doc/visibility.texi: Actually read and correct the grammar of the
46490         sentence affected by yesterday's change.
46491
46492 2006-08-28  Eric Blake  <ebb9@byu.net>
46493
46494         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
46495         needs wrapper.
46496
46497 2006-08-28  Eric Blake  <ebb9@byu.net>
46498
46499         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
46500
46501 2006-08-28  Eric Blake  <ebb9@byu.net>
46502
46503         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
46504
46505 2006-08-28  Bruno Haible  <bruno@clisp.org>
46506
46507         * modules/c-strstr: New file, from GNU gettext.
46508         * MODULES.html.sh (String handling): Add c-strstr.
46509
46510 2006-08-28  Bruno Haible  <bruno@clisp.org>
46511
46512         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
46513         macros.
46514         Reported by Eric Blake.
46515
46516 2006-08-28  Bruno Haible  <bruno@clisp.org>
46517
46518         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
46519         (VASNPRINTF): Return a string of length > INT_MAX without failing.
46520         * lib/vasprintf.c: Include errno.h, limits.h.
46521         (EOVERFLOW): New fallback definition.
46522         (vasprintf): Test here whether the string length is > INT_MAX.
46523         * lib/vsnprintf.c: Include errno.h, limits.h.
46524         (EOVERFLOW): New fallback definition.
46525         (vsnprintf): Fix bug when generated string was too long for the buffer.
46526         Test here whether the string length is > INT_MAX.
46527
46528 2006-08-28  Bruno Haible  <bruno@clisp.org>
46529
46530         * lib/inttypes_.h (SCNX*): Remove definitions.
46531         Reported by Eric Blake.
46532
46533 2006-08-28  Bruno Haible  <bruno@clisp.org>
46534
46535         * lib/c-strstr.h: New file, from GNU gettext.
46536         * lib/c-strstr.c: New file, from GNU gettext.
46537
46538 2006-08-28  Bruno Haible  <bruno@clisp.org>
46539
46540         * gnulib-tool: Reorder some statements.
46541
46542 2006-08-28  Bruno Haible  <bruno@clisp.org>
46543
46544         * gnulib-tool: New option --makefile-name.
46545         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
46546         $makefile_name.
46547         (func_import): Write $makefile_name to the cache file, and read it from
46548         there unless explicitly specified. Use $makefile_name as file name
46549         instead of Makefile.am. Adjust the recommendations accordingly.
46550
46551 2006-08-28  Bruno Haible  <bruno@clisp.org>
46552
46553         * gnulib-tool (func_verify_module): Check against misapplying patch.
46554
46555 2006-08-28  Bruno Haible  <bruno@clisp.org>
46556
46557         * gnulib-tool (func_relativize, func_relconcat): New functions.
46558         Give an error if --local-dir is given with --update.
46559         Remove trailing slashes from $local_gnulib_dir.
46560         (func_import): Store the relativized $local_gnulib_dir in
46561         gnulib-cache.m4, and read it from there if not specified explicitly.
46562
46563 2006-08-28  Bruno Haible  <bruno@clisp.org>
46564
46565         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
46566         is the current directory. Respect also $local_gnulib_dir.
46567
46568 2006-08-28  Bruno Haible  <bruno@clisp.org>
46569             Simon Josefsson  <jas@extundo.com>
46570
46571         BeOS portability.
46572         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
46573
46574 2006-08-27  Jim Meyering  <jim@meyering.net>
46575
46576         * doc/visibility.texi: Remove duplicate word: "pointer".
46577
46578 2006-08-26  Bruno Haible  <bruno@clisp.org>
46579
46580         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
46581         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
46582         (Makefile.am): Create inttypes.h from inttypes_.h.
46583         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
46584
46585         * modules/imaxabs: New file.
46586
46587         * modules/imaxdiv: New file.
46588
46589 2006-08-26  Bruno Haible  <bruno@clisp.org>
46590
46591         * m4/inttypes.m4: New file.
46592         * m4/_inttypes_h.m4: Remove file.
46593         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
46594         PRI_MACROS_BROKEN.
46595         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
46596
46597         * m4/imaxabs.m4: New file.
46598
46599         * m4/imaxdiv.m4: New file.
46600
46601 2006-08-26  Bruno Haible  <bruno@clisp.org>
46602
46603         * lib/inttypes_.h: New file.
46604         * lib/inttypes.h: Remove file.
46605         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
46606
46607         * lib/imaxabs.c: New file.
46608
46609         * lib/imaxdiv.c: New file.
46610
46611 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
46612
46613         New config-h module, so that "make" output needn't be cluttered
46614         by -DHAVE_CONFIG_H.
46615         * MODULES.html.sh (Support for building libraries and executables):
46616         Add config-h.
46617         * modules/config-h: New file.
46618         * gnulib-tool (nl, sed_transform_lib_file): New vars.
46619         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
46620         the config-h module is used.
46621
46622         New configmake module, so that "make" output needn't be cluttered
46623         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
46624         * MODULES.html.sh (Support for building libraries and executables):
46625         Add configmake.
46626         * modules/configmake: New file.
46627
46628 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
46629
46630         * m4/config-h.m4: New file.
46631
46632 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
46633
46634         * config/srclist.txt: Add elisp-comp.
46635
46636 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
46637
46638         * MODULES.html.sh (Support for building libraries and executables):
46639         Add elisp-comp.
46640         * build-aux/elisp-comp: New file.
46641         * modules/elisp-comp: New file.
46642
46643 2006-08-24  Bruno Haible  <bruno@clisp.org>
46644
46645         * gnulib-tool (func_create_testdir): Use non-default values of
46646         sourcebase and m4base.
46647
46648 2006-08-24  Bruno Haible  <bruno@clisp.org>
46649
46650         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
46651         HTML structure.
46652
46653 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
46654
46655         * modules/openat (Depends-on): Add lchown.
46656
46657 2006-08-23  Bruno Haible  <bruno@clisp.org>
46658
46659         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
46660         of gl_LOCK_EARLY instead of gl_LOCK.
46661
46662 2006-08-23  Bruno Haible  <bruno@clisp.org>
46663
46664         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
46665         on OSF/1 to no.
46666         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
46667
46668 2006-08-23  Bruno Haible  <bruno@clisp.org>
46669
46670         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
46671         as unusable.
46672
46673         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
46674         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
46675         (gl_LOCK): New macro.
46676
46677 2006-08-22  Simon Josefsson  <jas@extundo.com>
46678
46679         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
46680         to md5 module.
46681
46682 2006-08-22  Simon Josefsson  <jas@extundo.com>
46683
46684         * MODULES.html.sh: Add "Support for maintaining and release
46685         projects".
46686
46687         * build-aux/gnupload: New file, from coreutils.
46688
46689 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
46690
46691         Avoid the need for AC_LIBSOURCES in m4 macros.
46692         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
46693         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
46694         * modules/check-version (EXTRA_DIST): Add check-version.h.
46695         * modules/crc (EXTRA_DIST): Add crc.h.
46696         * modules/des (EXTRA_DIST): Add des.h.
46697         * modules/gc (EXTRA_DIST): Add gc.h.
46698         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
46699         * modules/getline (EXTRA_DIST): Add getline.h.
46700         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
46701         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
46702         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
46703         * modules/md2 (EXTRA_DIST): Add md2.h.
46704         * modules/md4 (EXTRA_DIST): Add md4.h.
46705         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
46706         * modules/read-file (EXTRA_DIST): Add read-file.h.
46707         * modules/readline (EXTRA_DIST): Add readline.h.
46708         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
46709         rijndael-api-fst.h.
46710
46711 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
46712
46713         * m4/rijndael.m4 (gl_ARCFOUR):
46714         * m4/arctwo.m4 (gl_ARCTWO):
46715         * m4/check-version.m4 (gl_CHECK_VERSION):
46716         * m4/crc.m4 (gl_CRC):
46717         * m4/des.m4 (gl_DES):
46718         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
46719         * m4/gc.m4 (gl_GC):
46720         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
46721         * m4/getline.m4 (gl_FUNC_GETLINE):
46722         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
46723         * m4/hmac-md5.m4 (gl_HMAC_MD5):
46724         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
46725         * m4/md2.m4 (gl_MD2):
46726         * m4/md4.m4 (gl_MD4):
46727         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
46728         * m4/read-file.m4 (gl_FUNC_READ_FILE):
46729         * m4/readline.m4 (gl_FUNC_READLINE):
46730         * m4/rijndael.m4 (gl_RIJNDAEL):
46731         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
46732         to get the necessary .h files and whatnot.
46733
46734 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
46735
46736         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
46737         gnulib rather than the other way around.
46738         * config/srclistvars.sh (COREUTILS): Remove.
46739
46740 2006-08-22  Jim Meyering  <jim@meyering.net>
46741
46742         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
46743
46744         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
46745
46746 2006-08-22  Eric Blake  <ebb9@byu.net>
46747
46748         * modules/regexprops-generic: New file.
46749         * MODULES.html.sh (Support for building documentation): List it.
46750
46751 2006-08-22  Eric Blake  <ebb9@byu.net>
46752
46753         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
46754         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46755         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
46756         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
46757
46758 2006-08-22  Bruno Haible  <bruno@clisp.org>
46759
46760         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
46761         and lib_LTLIBRARIES like the other lib_* variables.
46762
46763 2006-08-22  Bruno Haible  <bruno@clisp.org>
46764
46765         * build-aux/x-to-1.in: New file, from GNU gettext.
46766
46767 2006-08-22  Bruno Haible  <bruno@clisp.org>
46768
46769         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
46770         <utmpx.h> exists.
46771
46772 2006-08-22  Bruno Haible  <bruno@clisp.org>
46773
46774         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
46775         <utmpx.h> exists.
46776
46777 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
46778
46779         BeOS portability.
46780         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
46781         exist.
46782         Problem reported by Bruno Haible.
46783
46784 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
46785
46786         Avoid the need for AC_LIBSOURCES in m4 macros.
46787         * modules/acl (EXTRA_DIST): Add acl.h.
46788         * modules/argmatch (Files): Add m4/argmatch.m4.
46789         (configure.ac): Add gl_ARGMATCH.
46790         (EXTRA_DIST): Renamed from lib_SOURCES, for
46791         consistency with the other modules.  Remove argmatch.c.
46792         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
46793         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
46794         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
46795         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
46796         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
46797         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
46798         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
46799         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
46800         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
46801         * modules/closeout (EXTRA_DIST): Add closeout.h.
46802         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
46803         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
46804         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
46805         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
46806         dirname.h; remove basename.c and stripslash.c.
46807         * modules/exclude (EXTRA_DIST): Add exclude.h.
46808         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
46809         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
46810         * modules/file-type (EXTRA_DIST): Add file-type.h.
46811         * modules/filemode (EXTRA_DIST): Add filemode.h.
46812         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
46813         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
46814         * modules/fpending (EXTRA_DIST): Add __fpending.h.
46815         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
46816         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
46817         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
46818         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
46819         * modules/getdate (EXTRA_DIST): Add getdate.c.
46820         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
46821         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
46822         * modules/getpass (EXTRA_DIST): Add getpass.h.
46823         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
46824         * modules/group-member (EXTRA_DIST): Add group-member.h.
46825         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
46826         * modules/hash (EXTRA_DIST): Add hash.h.
46827         * modules/human (EXTRA_DIST): Add human.h.
46828         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
46829         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
46830         * modules/lchown (EXTRA_DIST): Add lchown.h.
46831         * modules/long-options (EXTRA_DIST): Add long-options.h.
46832         * modules/lstat (EXTRA_DIST): Add lstat.h.
46833         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
46834         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
46835         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
46836         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
46837         * modules/memxor (EXTRA_DIST): Add memxor.h.
46838         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
46839         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
46840         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
46841         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
46842         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
46843         * modules/physmem (EXTRA_DIST): Add physmem.h.
46844         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
46845         * modules/posixver (EXTRA_DIST): Add posixver.h.
46846         * modules/quote (EXTRA_DIST): Add quote.h.
46847         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
46848         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
46849         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
46850         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
46851         regex_internal.h regexec.c.
46852         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
46853         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
46854         * modules/same (EXTRA_DIST): Add same.h.
46855         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
46856         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
46857         * modules/savedir (EXTRA_DIST): Add savedir.h.
46858         * modules/sha1 (EXTRA_DIST): Add sha1.h.
46859         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
46860         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
46861         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
46862         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
46863         * modules/strdup (EXTRA_DIST): Add strdup.h.
46864         * modules/strftime (EXTRA_DIST): Add strftime.h.
46865         * modules/strndup (EXTRA_DIST): Add strndup.h.
46866         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
46867         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
46868         * modules/time_r (EXTRA_DIST): Add time_r.h.
46869         * modules/timespec (EXTRA_DIST): Add timespec.h.
46870         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
46871         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
46872         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
46873         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
46874         * modules/userspec (EXTRA_DIST): Add userspec.h.
46875         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
46876         * modules/utimens (EXTRA_DIST): Add utimens.h.
46877         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
46878         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
46879         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
46880         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
46881         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
46882         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
46883         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
46884         * modules/yesno (EXTRA_DIST): Add yesno.h.
46885
46886 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
46887
46888         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
46889
46890         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
46891         * m4/dev-ino.m4, same-inode.m4: Remove.
46892
46893         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
46894         * m4/acl.m4 (AC_FUNC_ACL):
46895         * m4/backupfile.m4 (gl_BACKUPFILE):
46896         * m4/c-strtod.m4 (gl_C99_STRTOLD):
46897         * m4/canon-host.m4 (gl_CANON_HOST):
46898         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
46899         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
46900         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
46901         * m4/cloexec.m4 (gl_CLOEXEC):
46902         * m4/close-stream.m4 (gl_CLOSE_STREAM):
46903         * m4/closeout.m4 (gl_CLOSEOUT):
46904         * m4/dirfd.m4 (gl_FUNC_DIRFD):
46905         * m4/dirname.m4 (gl_DIRNAME):
46906         * m4/exclude.m4 (gl_EXCLUDE):
46907         * m4/exitfail.m4 (gl_EXITFAIL):
46908         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
46909         * m4/file-type.m4 (gl_FILE_TYPE):
46910         * m4/filemode.m4 (gl_FILEMODE):
46911         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
46912         * m4/fpending.m4 (gl_FUNC_FPENDING):
46913         * m4/fprintftime.m4 (gl_FPRINTFTIME):
46914         * m4/fts.m4 (gl_FUNC_FTS):
46915         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
46916         * m4/getdate.m4 (gl_GETDATE):
46917         * m4/gethrxtime.m4 (gl_GETHRXTIME):
46918         * m4/getpagesize.m4 (gl_GETPAGESIZE):
46919         * m4/getpass.m4 (gl_FUNC_GETPASS):
46920         * m4/gettime.m4 (gl_GETTIME):
46921         * m4/getugroups.m4 (gl_GETUGROUPS):
46922         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
46923         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
46924         * m4/hard-locale.m4 (gl_HARD_LOCALE):
46925         * m4/hash.m4 (gl_HASH):
46926         * m4/idcache.m4 (gl_IDCACHE):
46927         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
46928         * m4/lchown.m4 (gl_FUNC_LCHOWN):
46929         * m4/long-options.m4 (gl_LONG_OPTIONS):
46930         * m4/lstat.m4 (gl_FUNC_LSTAT):
46931         * m4/md5.m4 (gl_MD5):
46932         * m4/memcasecmp.m4 (gl_MEMCASECMP):
46933         * m4/memcoll.m4 (gl_MEMCOLL):
46934         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
46935         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
46936         * m4/memxor.m4 (gl_MEMXOR):
46937         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
46938         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
46939         * m4/modechange.m4 (gl_MODECHANGE):
46940         * m4/mountlist.m4 (gl_MOUNTLIST):
46941         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
46942         * m4/openat.m4 (gl_FUNC_OPENAT):
46943         * m4/pathmax.m4 (gl_PATHMAX):
46944         * m4/physmem.m4 (gl_PHYSMEM):
46945         * m4/posixtm.m4 (gl_POSIXTM):
46946         * m4/posixver.m4 (gl_POSIXVER):
46947         * m4/quote.m4 (gl_QUOTE):
46948         * m4/quotearg.m4 (gl_QUOTEARG):
46949         * m4/readtokens.m4 (gl_READTOKENS):
46950         * m4/readutmp.m4 (gl_READUTMP):
46951         * m4/regex.m4 (gl_REGEX):
46952         * m4/safe-read.m4 (gl_SAFE_READ):
46953         * m4/safe-write.m4 (gl_SAFE_WRITE):
46954         * m4/same.m4 (gl_SAME):
46955         * m4/save-cwd.m4 (gl_SAVE_CWD):
46956         * m4/savedir.m4 (gl_SAVEDIR):
46957         * m4/settime.m4 (gl_SETTIME):
46958         * m4/sha1.m4 (gl_SHA1):
46959         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
46960         * m4/stat-macros.m4 (gl_STAT_MACROS):
46961         * m4/stat-time.m4 (gl_STAT_TIME):
46962         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
46963         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
46964         * m4/strdup.m4 (gl_FUNC_STRDUP):
46965         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
46966         * m4/strndup.m4 (gl_FUNC_STRNDUP):
46967         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
46968         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
46969         * m4/time_r.m4 (gl_TIME_R):
46970         * m4/timespec.m4 (gl_TIMESPEC):
46971         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
46972         * m4/unlinkdir.m4 (gl_UNLINKDIR):
46973         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
46974         * m4/userspec.m4 (gl_USERSPEC):
46975         * m4/utimecmp.m4 (gl_UTIMECMP):
46976         * m4/utimens.m4 (gl_UTIMENS):
46977         * m4/xalloc.m4 (gl_XALLOC):
46978         * m4/xgetcwd.m4 (gl_XGETCWD):
46979         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
46980         * m4/xreadlink.m4 (gl_XREADLINK):
46981         * m4/xstrtod.m4 (gl_XSTRTOD):
46982         * m4/yesno.m4 (gl_YESNO):
46983         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
46984         to get the necessary .h files and whatnot.
46985
46986 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
46987             Bruno Haible  <bruno@clisp.org>
46988
46989         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
46990         /bin/sh understanding of '!' conditional negation.
46991
46992 2006-08-21  Jim Meyering  <jim@meyering.net>
46993
46994         * modules/openat (Depends-on): Really alphabetize.
46995
46996         * modules/acl (Depends-on): Add error and quote.
46997
46998         * check-module (find_included_lib_files): Add at-func.c to the
46999         ok-to-include-more-than-once white list.
47000
47001         * modules/openat (Depends-on): Add lstat.  Alphabetize.
47002
47003 2006-08-21  Bruno Haible  <bruno@clisp.org>
47004
47005         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47006         Emit a pkgdata_DATA variable only if some snippets add contents to it.
47007         Reported by Martin Lambers <marlam@marlam.de>.
47008
47009 2006-08-21  Bruno Haible  <bruno@clisp.org>
47010
47011         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
47012         specify an installation location, don't emit a noinst_LIBRARIES or
47013         noinst_LTLIBRARIES assignment.
47014
47015 2006-08-21  Bruno Haible  <bruno@clisp.org>
47016
47017         BeOS portability.
47018         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
47019         BeOS has mbrtowc() but no <wctype.h>.
47020
47021 2006-08-21  Bruno Haible  <bruno@clisp.org>
47022
47023         BeOS portability.
47024         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
47025         exist.
47026
47027 2006-08-21  Bruno Haible  <bruno@clisp.org>
47028
47029         BeOS portability.
47030         * lib/mbchar.h: Include <wctype.h> only if it exists.
47031
47032 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47033
47034         Remove files that are no longer needed by their respective modules.
47035         * m4/obstack.m4: Remove.
47036         * m4/strerror_r.m4: Remove.
47037         * m4/uint32_t.m4: Remove.
47038         * m4/uintptr_t.m4: Remove.
47039         * m4/ullong_max.m4: Remove.
47040         * m4/xstrtoimax.m4: Remove.
47041         * m4/xstrtoumax.m4: Remove.
47042
47043         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
47044         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
47045         dependencies now capture this.
47046
47047         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
47048         Do not use AC_LIBSOURCES, since gnulib modules now do this.
47049         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
47050         * m4/human.m4 (gl_HUMAN): Likewise.
47051         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
47052         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
47053
47054         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
47055
47056         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
47057         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
47058         stdint.
47059         * m4/human.m4 (gl_HUMAN): Likewise.
47060         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
47061         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
47062         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
47063         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
47064         * m4/xstrtol (gl_XSTRTOL): Likewise.
47065
47066         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
47067         AC_TYPE_LONG_LONG_INT.
47068         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
47069         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
47070         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
47071         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
47072
47073         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
47074         on stdbool.
47075
47076         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
47077         (gl_PREREQ_XSTRTOUL): Remove.
47078
47079         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
47080
47081         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
47082         mode.
47083
47084 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47085
47086         Add and change modules to make it easier for coreutils to use
47087         gnulib-tool.
47088         * modules/backupfile (Files): Remove m4/d-ino.m4.
47089         (Depends-on): Add d-ino.
47090         * modules/cycle-check (Depends-on): Add stdint.
47091         (lib_SOURCES): Add cycle-check.h.
47092         * modules/d-ino: New module.
47093         * modules/d-type: New module.
47094         * modules/error (Files): Remove m4/strerror_r.m4.
47095         * modules/filemode (Files): Add m4/st_dm_mode.m4.
47096         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
47097         m4/inttypes_h.m4, m4/uintmax_t.m4.
47098         (Depends-on): Add stdint.
47099         (lib_SOURCES): Add fsusage.h.
47100         * modules/getcwd (Files): Remove d-ino.m4.
47101         (Depends-on): Add d-ino.
47102         * modules/getndelim2 (Depends-on): Add stdint.
47103         * modules/glob (Files): Remove m4/d-type.m4.
47104         (Depends-on): Add d-type.
47105         * modules/host-os: New module.
47106         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
47107         m4/inttypes_h.m4, m4/uintmax_t.m4.
47108         * Depends-on: Add stdint.
47109         (lib_SOURCES): Add human.h.
47110         * modules/inttostr (Files): Remove m4/intmax_t.m4,
47111         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
47112         m4/uintmax_t.m4, m4/ulonglong.m4.
47113         (Depends-on): Add stdint.
47114         (EXTRA_DIST): Add inttostr.h.
47115         * modules/lchmod: New module.
47116         * modules/link-follow: New module.
47117         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
47118         (Depends-on): Add lchmod.
47119         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
47120         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
47121         (Depends-on): Add stdint.
47122         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
47123         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
47124         (Depends-on): Add stdint.
47125         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
47126         * modules/perl: New module.
47127         * modules/regex (Depends-on): Add stdint.
47128         * modules/rmdir-errno: New module.
47129         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
47130         m4/intmax_t.m4.
47131         (Depends-on): Add stdint.
47132         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
47133         m4/uintmax_t.m4.
47134         (Depends-on): Add stdint.
47135         * modules/unlink-busy: New module.
47136         * modules/utimecmp (Depends-on): Add stdint.
47137         * modules/uptime: New module.
47138         * modules/winsz-ioctl: New module.
47139         * modules/winsz-termios: New module.
47140         * modules/xnanosleep (Depends-on): Add nanosleep.
47141         * modules/ullong_max: Remove.
47142         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
47143         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
47144         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
47145         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
47146         (Depends-on): Add inttypes.
47147         (lib_SOURCES): Add xstrtol.h.
47148         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
47149         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
47150         * MODULES.html.sh: Move 'assert' into the assert section.
47151         Move 'dummy' into the linking section.
47152         Remove ullong_max.
47153         Add section for compatibility checks for POSIX:2001 functions,
47154         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
47155         winsz-ioctl, and winsz-termios into it.
47156         Add lchmod.
47157         Add top-level Misc section and put host-os, perl, and uptime
47158         into it.
47159
47160 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47161
47162         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
47163         now assume the stdint module.  Do not include inttypes.h.
47164         * lib/fsusage.h: Likewise.
47165         * lib/getndelim2.c: Likewise.
47166         * lib/human.h: Likewise.
47167         * lib/inttostr.h: Likewise.
47168         * lib/obstack.c: Likewise.
47169         * lib/regex_internal.h: Likewise.
47170         * lib/tempname.c: Likewise.
47171         * lib/utimecmp.c: Likewise.
47172         * lib/xstrtol.h: Likewise.
47173
47174         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
47175
47176         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
47177         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
47178         * lib/xtime.h: Likewise.
47179
47180 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47181
47182         * modules/openat (Files): Add lib/fchmodat.c.
47183         Fixes problem reported by Jay Youngman.
47184
47185 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47186
47187         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
47188         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
47189
47190 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
47191             Bruno Haible  <bruno@clisp.org>
47192
47193         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
47194         and is a script that invokes bison. Tighten the code. Add comments.
47195
47196 2006-08-18  Jim Meyering  <jim@meyering.net>
47197
47198         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
47199         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
47200         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
47201         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
47202
47203 2006-08-18  Bruno Haible  <bruno@clisp.org>
47204
47205         * modules/bison-i18n: New file.
47206         * MODULES.html.sh (Internationalization functions): Add it.
47207
47208 2006-08-18  Bruno Haible  <bruno@clisp.org>
47209
47210         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
47211         sys/statvfs.h. When getmntinfo was found, check its declaration and
47212         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
47213
47214 2006-08-18  Bruno Haible  <bruno@clisp.org>
47215
47216         * m4/bison-i18n.m4: New file, from bison.
47217
47218 2006-08-18  Bruno Haible  <bruno@clisp.org>
47219
47220         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
47221         (ME_DUMMY): Treat "kernfs" as a dummy.
47222         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
47223
47224 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47225
47226         Update from coreutils.
47227
47228         2006-08-15  Jim Meyering  <jim@meyering.net>
47229
47230         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
47231
47232         2006-01-17  Jim Meyering  <jim@meyering.net>
47233
47234         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
47235
47236         2006-01-11  Jim Meyering  <jim@meyering.net>
47237
47238         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
47239         Check for the lchmod function.
47240
47241 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47242
47243         Update from coreutils.
47244
47245         * lib/__fpending.h: Add copyright notice.
47246         * lib/fprintftime.h: Likewise.
47247         * lib/savedir.c: Use (C) in copyright notice.
47248         * lib/savedir.h: Likewise.
47249
47250         2006-08-15  Jim Meyering  <jim@meyering.net>
47251
47252         * lib/at-func.c: New file, with the logic of all emulated at-functions.
47253         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
47254         in support of the EXPECTED_ERRNO macro.
47255         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
47256         definitions.  Instead, define the appropriate symbols and include
47257         "at-func.c".
47258         * lib/mkdirat.c (mkdirat): Likewise.
47259         * lib/fchmodat.c (fchmodat): Likewise.
47260         (ENOSYS): Remove definition.
47261         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
47262         it.  Don't include "unistd--.h" -- it wasn't ever used.
47263
47264         2006-01-17  Jim Meyering  <jim@meyering.net>
47265
47266         Rewrite fts.c not to change the current working directory,
47267         by using openat, fstatat, fdopendir, etc..
47268
47269         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
47270         (HAVE_OPENAT_SUPPORT): Define.
47271         [_LIBC] (fchdir): Don't undef or define; no longer used.
47272         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
47273         Now, this `function' always succeeds, and consumes its file descriptor
47274         parameter -- so callers must not close such FDs.  Update callers.
47275         (diropen_fd, opendirat, cwd_advance_fd): New functions.
47276         (diropen): Add parameter, SP.  Adjust all callers.
47277         Implement using diropen_fd, rather than open.
47278         (fts_open): Initialize new member, fts_cwd_fd.
47279         Remove fts_rft-setting code.
47280         (fts_close): Close fts_cwd_fd, if necessary.
47281         (__opendir2): Define in terms of opendir or opendirat,
47282         depending on whether the FST_NOCHDIR flag is set.
47283         (fts_build): Since fts_safe_changedir consumes its FD, and since
47284         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
47285         and close the dup'd file descriptor upon failure.
47286         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
47287         (fts_safe_changedir): Tweak semantics to reflect that this function
47288         now calls cwd_advance_fd and hence consumes its FD argument.
47289         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
47290         [struct FTS] (fts_rft): Remove now-unused member.
47291         [struct FTS] (fts_cycle.state): Improve comment.
47292
47293         * lib/openat.c (openat_needs_fchdir): New function.
47294         * lib/openat.h (openat_needs_fchdir): Declare it.
47295
47296 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
47297
47298         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
47299         Problem and fix reported by Pádraig Brady in
47300         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
47301
47302 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47303
47304         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
47305
47306 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47307
47308         * lib/memcoll.c (memcoll): Optimize for the common case where the
47309         arguments are bytewise equal.
47310
47311 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47312
47313         * doc/regexprops-generic.texi: Add a copyright notice.
47314
47315 2006-08-15  Bruno Haible  <bruno@clisp.org>
47316
47317         * modules/tmpdir (License): Change to LGPL.
47318
47319 2006-08-15  Bruno Haible  <bruno@clisp.org>
47320
47321         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
47322         module.
47323
47324 2006-08-14  Simon Josefsson  <jas@extundo.com>
47325
47326         * config/srclist.txt: Add gnupload.
47327
47328 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47329
47330         Change copyright notice from LGPL 2 to GPL 2, since that's the
47331         standard form used in the gnulib repository.
47332         * tests/test-lock.c: Likewise.
47333         * tests/test-stdint.c: Likewise.
47334         * tests/test-tls.c: Likewise.
47335
47336         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
47337         prelude-manager.  User shorter URLs for GNU projects, without '?'.
47338         Add copyright notice.
47339
47340         * check-module: Add copyright notice.  Output a copyright
47341         notice if "--version" is specified.
47342         * modules/COPYING: New file.
47343         * tests/test-getaddrinfo.c: Add copyright notice.
47344         * tests/test-verify.c: Likewise.
47345
47346 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47347
47348         Change copyright notice from LGPL 2 to GPL 2, since that's the
47349         standard form used in the gnulib repository.
47350         * lib/lock.c: LGPL -> GPL.
47351         * lib/lock.h: Likewise.
47352         * lib/strnlen1.c: Likewise.
47353         * lib/strnlen1.h: Likewise.
47354         * lib/tls.c: Likewise.
47355         * lib/tls.h: Likewise.
47356         * lib/tmpdir.c: Likewise.
47357
47358         * lib/TODO: Remove; this belongs only in coreutils.
47359
47360 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47361
47362         Add copyright notices to long-enough files that lack them, since
47363         otherwise the files aren't clearly free.  Use the same notice that
47364         getdate.texi already uses.
47365         * doc/alloca-opt.texi: Add copyright notice.
47366         * doc/alloca.texi: Likewise.
47367         * doc/ctime.texi: Likewise.
47368         * doc/functions.texi: Likewise.
47369         * doc/gcd.texi: Likewise.
47370         * doc/gnulib-tool.texi: Likewise.
47371         * doc/inet_ntoa.texi: Likewise.
47372         * doc/visibility.texi: Likewise.
47373
47374         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
47375         * doc/quote.texi: Add copyright notice.
47376
47377         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
47378         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
47379         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
47380         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
47381         is now obsolete, and give a pointer to the Sun list.
47382         Add copyright notice.
47383
47384 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47385
47386         * config/srclistvars.sh: Add copyright notice.
47387
47388 2006-08-14  Eric Blake  <ebb9@byu.net>
47389
47390         Import the following change from libc:
47391
47392         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
47393
47394         Upstream bug 2997.
47395         * lib/misc/error.c: Add space between program name and message if file
47396         name is missing.
47397
47398 2006-08-12  Karl Berry  <karl@gnu.org>
47399
47400         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
47401         remove, these originate in gnulib now.
47402
47403 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47404
47405         * doc/Makefile (standards.info standards.html standards.dvi):
47406         Also depend on make-stds.texi.
47407
47408 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47409
47410         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
47411         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
47412
47413         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
47414         in wchar_t.  Problem reported by Eric Blake.
47415
47416         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
47417         LEN is smaller than SIZE.  Suggested by Bruno Haible.
47418         Also, help the compiler to keep LEN in a register.
47419
47420 2006-08-11  Eric Blake  <ebb9@byu.net>
47421
47422         * users.txt: Sort.  Add tar.
47423
47424 2006-08-11  Bruno Haible  <bruno@clisp.org>
47425
47426         * users.txt: New file.
47427
47428 2006-08-11  Bruno Haible  <bruno@clisp.org>
47429
47430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
47431         before <wchar.h>. Needed for OSF/1 and BSD/OS.
47432
47433 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47434
47435         * modules/snprintf (Depends-on): Remove minmax.
47436         (Maintainer): Add self and Bruno.
47437
47438 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47439
47440         * lib/.cppi-disable: Add snprintf.h, socket_.h.
47441         * lib/snprintf.c: Include <errno.h> and <limits.h>.
47442         (EOVERFLOW): Define if the system does not.
47443         Do not include "minmax.h"; it wasn't used.
47444         (snprintf): Don't assume size_t promotes to an unsigned type.
47445         Fix bug when generated string was too long for the buffer: the
47446         buffer's contents are supposed to be the initial prefix of the
47447         output.  Don't assume vasnprintf returns EOVERFLOW if the size
47448         exceeds INT_MAX; do the check ourselves.
47449
47450         Import the following changes from libc:
47451
47452         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
47453
47454         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
47455         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
47456         set wc to the byte which couldn't be converted.
47457         (re_string_reconstruct): Don't clear valid_raw_len before calling
47458         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
47459         tip_context using re_string_context_at.
47460
47461         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
47462
47463         * lib/posix/regex.h: g++ still cannot handled [restrict].
47464
47465         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
47466
47467         * lib/posix/regex.h: Remove special handling for VMS.
47468
47469 2006-08-10  Jim Meyering  <jim@meyering.net>
47470
47471         * modules/same-inode: New module.
47472         * modules/dev-ino: New module.
47473         * modules/cycle-check: Depend on these modules, rather than simply
47474         including their .h files.
47475         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
47476         required via m4/cycle-check.m4.
47477         * modules/same: Depend on new same-inode module, rather than
47478         including same-inode.h.
47479         * modules/chdir-safer: New file.
47480
47481         * modules/chown (Depends-on): Add stat-macros.
47482
47483 2006-08-10  Jim Meyering  <jim@meyering.net>
47484
47485         * m4/cycle-check.m4: New file.
47486         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
47487         * m4/dev-ino.m4, m4/same-inode.m4: New files.
47488
47489 2006-08-10  Eric Blake  <ebb9@byu.net>
47490
47491         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
47492         in from original proposal.
47493
47494 2006-08-10  Eric Blake  <ebb9@byu.net>
47495         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
47496
47497         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
47498         namespace.
47499
47500 2006-08-10  Bruno Haible  <bruno@clisp.org>
47501
47502         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
47503         as well.
47504
47505 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47506
47507         Sync from coreutils.
47508
47509         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
47510
47511         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
47512         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
47513
47514 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47515
47516         * modules/restrict: Remove; no longer needed now that we assume
47517         Autoconf 2.59 or later.
47518         * MODULES.html.sh: Remove 'restrict'.
47519         * modules/argp (Depends-on): Remove 'restrict'.
47520         * modules/base64 (Depends-on): Likewise.
47521         * modules/gc (Depends-on): Likewise.
47522         * modules/getaddrinfo (Depends-on): Likewise.
47523         * modules/glob (Depends-on): Likewise.
47524         * modules/inet_ntop (Depends-on): Likewise.
47525         * modules/inet_pton (Depends-on): Likewise.
47526         * modules/memxor (Depends-on): Likewise.
47527         * modules/regex (Depends-on): Likewise.
47528         * modules/strtok_r (Depends-on): Likewise.
47529         * modules/time_r (Depends-on): Likewise.
47530
47531 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47532
47533         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
47534         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
47535         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47536         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
47537         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
47538         * m4/memxor.m4 (gl_MEMXOR): Likewise.
47539         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
47540         gl_C_RESTRICT replaced by AC_C_RESTRICT.
47541
47542         Merge from coreutils.
47543         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
47544         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
47545         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
47546         * m4/time_r.m4 (gl_TIME_R): Likewise.
47547
47548 2006-08-09  Karl Berry  <karl@gnu.org>
47549
47550         * config/srclist.txt: no more gettext-tools, per Bruno.
47551
47552 2006-08-08  Eric Blake  <ebb9@byu.net>
47553
47554         * modules/verror: New module.
47555         * MODULES.html.sh: Document it.
47556
47557 2006-08-08  Eric Blake  <ebb9@byu.net>
47558
47559         * lib/verror.h, lib/verror.c: New files.
47560
47561 2006-08-08  Eric Blake  <ebb9@byu.net>
47562
47563         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
47564         verror_at_line output complies with GNU Coding Standards even when
47565         file is NULL.
47566
47567 2006-08-07  Bruno Haible  <bruno@clisp.org>
47568
47569         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
47570         versions of AIX.
47571         Reported by Ralf Wildenhues.
47572
47573 2006-08-07  Bruno Haible  <bruno@clisp.org>
47574
47575         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
47576         in an AC_DEFUN. Needed so that the autoconf snippets can use
47577         AC_REQUIRE.
47578
47579 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47580
47581         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47582         Initialize pkgdata_DATA.
47583         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
47584         overriding it.
47585
47586 2006-08-06  Eric Blake  <ebb9@byu.net>
47587
47588         * lib/error.h: Fold in some upstream changes from glibc.
47589         * lib/error.c: Likewise.
47590
47591 2006-08-04  Bruno Haible  <bruno@clisp.org>
47592
47593         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47594         Make the mostlyclean-local rule depend on mostlyclean-generic.
47595         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
47596
47597 2006-07-31  Bruno Haible  <bruno@clisp.org>
47598
47599         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
47600         <stdlib.h>, <string.h>.
47601
47602 2006-07-30  Bruno Haible  <bruno@clisp.org>
47603
47604         * modules/readlink (License): Change to LGPL.
47605
47606 2006-07-30  Bruno Haible  <bruno@clisp.org>
47607
47608         * modules/javaversion (Makefile.am): Distribute javaversion.java and
47609         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
47610         set PKGDATADIR to point to it.
47611
47612 2006-07-30  Bruno Haible  <bruno@clisp.org>
47613
47614         * modules/csharpexec (configure.ac): Comment out macro invocation.
47615         * modules/javaexec (configure.ac): Likewise.
47616         * modules/javacomp-script (configure.ac): Likewise.
47617
47618         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
47619
47620 2006-07-30  Bruno Haible  <bruno@clisp.org>
47621
47622         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
47623         linked-list.
47624
47625 2006-07-30  Bruno Haible  <bruno@clisp.org>
47626
47627         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
47628
47629 2006-07-30  Bruno Haible  <bruno@clisp.org>
47630
47631         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47632         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
47633         get removed.
47634
47635 2006-07-29  Bruno Haible  <bruno@clisp.org>
47636
47637         Make it possible for gnulib-tool to work with locally modified or
47638         augmented gnulib repositories.
47639         * gnulib-tool (func_usage): Document --local-dir option.
47640         (local_gnulib_dir): New variable.
47641         Handle --local-dir option.
47642         (func_lookup_file): New function.
47643         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
47644         (func_get_description, func_get_filelist, func_get_description,
47645         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
47646         func_get_automake_snippet, func_get_include_directive,
47647         func_get_license, func_get_maintainer): Use func_lookup_file.
47648         (func_import, func_create_testdir): Use func_lookup_file.
47649
47650 2006-07-29  Bruno Haible  <bruno@clisp.org>
47651
47652         * modules/setenv (Depends-on): Add unistd.
47653
47654 2006-07-29  Bruno Haible  <bruno@clisp.org>
47655
47656         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
47657
47658 2006-07-29  Bruno Haible  <bruno@clisp.org>
47659
47660         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
47661
47662 2006-07-29  Bruno Haible  <bruno@clisp.org>
47663
47664         * gnulib-tool (import, update): If there is no Makefile.am, look at
47665         aclocal.m4, instead of bailing out.
47666
47667 2006-07-29  Bruno Haible  <bruno@clisp.org>
47668
47669         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
47670         Categorize the options by when they are useful.
47671
47672 2006-07-29  Bruno Haible  <bruno@clisp.org>
47673
47674         * gnulib-tool (func_usage): Document option --no-libtool.
47675         Handle option --no-libtool.
47676         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
47677         for changed semantics of $libtool variable.
47678         (func_import): Likewise. If libtool is not used, show this through
47679         an option --no-libtool.
47680         (func_create_testdir): Update.
47681
47682 2006-07-29  Bruno Haible  <bruno@clisp.org>
47683
47684         * gnulib-tool (func_import): Extend error message about missing
47685         --doc-base.
47686
47687 2006-07-29  Bruno Haible  <bruno@clisp.org>
47688
47689         * gnulib-tool (func_import): Don't create the $docbase directory if
47690         there is no file to store there.
47691
47692 2006-07-29  Bruno Haible  <bruno@clisp.org>
47693
47694         * gnulib-tool (autoconf_minversion): If a --dir option is given and
47695         relevant, look for configure.ac there, not in the current directory.
47696         Also use a simple search for AC_PREREQ, not "autoconf --trace".
47697
47698 2006-07-29  Bruno Haible  <bruno@clisp.org>
47699
47700         * gnulib-tool (SORT): New variable.
47701         (func_usage): Undocument --assume-autoconf option.
47702         Remove --assume-autoconf option handling.
47703         (autoconf_minversion): Determine from the contents of configure.ac.
47704         (func_import): Remove autoconf_minversion handling.
47705         Suggested by Eric Blake.
47706
47707 2006-07-29  Bruno Haible  <bruno@clisp.org>
47708
47709         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
47710
47711 2006-07-29  Bruno Haible  <bruno@clisp.org>
47712
47713         * config/srclist.txt (*setenv.[ch]): Remove rules.
47714
47715 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47716
47717         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
47718
47719 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47720
47721         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
47722         arpa/inet.h.
47723
47724 2006-07-28  Simon Josefsson  <jas@extundo.com>
47725
47726         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
47727         * modules/inet_pton (Depends-on): Likewise.
47728
47729 2006-07-28  Simon Josefsson  <jas@extundo.com>
47730
47731         * m4/netinet_in_h.m4: New file.
47732
47733 2006-07-28  Simon Josefsson  <jas@extundo.com>
47734
47735         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
47736         #include's.
47737
47738 2006-07-28  Simon Josefsson  <jas@extundo.com>
47739
47740         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
47741         #include's.
47742
47743 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
47744
47745         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
47746         setgid on directories only if they set these bits.
47747         * lib/modechange.h: Remove obsolete comment about masks.
47748
47749 2006-07-28  Eric Blake  <ebb9@byu.net>
47750
47751         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
47752         macro expansion.
47753
47754 2006-07-28  Bruno Haible  <bruno@clisp.org>
47755
47756         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
47757
47758 2006-07-28  Bruno Haible  <bruno@clisp.org>
47759
47760         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
47761
47762 2006-07-28  Bruno Haible  <bruno@clisp.org>
47763
47764         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
47765         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
47766         Define fallbacks.
47767         Avoids link error on FreeBSD 4.x.
47768         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47769
47770         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
47771         encoding.
47772         * lib/mbswidth.c (iswcntrl): Likewise.
47773
47774 2006-07-27  Bruno Haible  <bruno@clisp.org>
47775
47776         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
47777         test.
47778
47779 2006-07-27  Bruno Haible  <bruno@clisp.org>
47780
47781         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
47782         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
47783         defined.
47784
47785 2006-07-26  Eric Blake  <ebb9@byu.net>
47786
47787         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
47788
47789 2006-07-26  Eric Blake  <ebb9@byu.net>
47790
47791         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
47792         like mingw that lack mkstemp.
47793         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
47794         avoid compilation warning on mingw.
47795
47796 2006-07-26  Bruno Haible  <bruno@clisp.org>
47797
47798         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
47799         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
47800         INT_FAST*_MIN, INTPTR_MIN.
47801
47802 2006-07-25  Bruno Haible  <bruno@clisp.org>
47803
47804         * modules/version-etc (Depends-on): Add stdarg.
47805
47806 2006-07-25  Bruno Haible  <bruno@clisp.org>
47807
47808         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
47809         complex commands.
47810
47811 2006-07-25  Bruno Haible  <bruno@clisp.org>
47812
47813         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
47814         defined in <stdarg.h> or config.h.
47815
47816 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
47817
47818         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
47819         (gl_STDIO_SAFER): Remove.
47820
47821 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
47822
47823         * MODULES.html.sh (File stream based Input/Output):
47824         Add fopen-safer, tmpfile-safer; remove stdio-safer.
47825         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
47826         * modules/fopen-safer, modules/tmpfile-safer: New files.
47827         * modules/stdio-safer: Remove.
47828
47829 2006-07-24  Bruno Haible  <bruno@clisp.org>
47830
47831         * modules/tmpdir: New file.
47832         * MODULES.html.sh (File system functions): Add it.
47833
47834 2006-07-24  Bruno Haible  <bruno@clisp.org>
47835
47836         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
47837         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
47838
47839 2006-07-24  Bruno Haible  <bruno@clisp.org>
47840
47841         * modules/clean-temp: New file.
47842
47843 2006-07-24  Bruno Haible  <bruno@clisp.org>
47844
47845         * m4/tmpdir.m4: New file, from GNU gettext.
47846
47847 2006-07-24  Bruno Haible  <bruno@clisp.org>
47848
47849         * lib/tmpdir.h: New file, from GNU gettext.
47850         * lib/tmpdir.c: New file, from GNU gettext.
47851
47852 2006-07-24  Bruno Haible  <bruno@clisp.org>
47853
47854         * lib/clean-temp.h: New file, from GNU gettext.
47855         * lib/clean-temp.c: New file, from GNU gettext.
47856
47857 2006-07-23  Eric Blake  <ebb9@byu.net>
47858
47859         * modules/stdio-safer (Files): Add tmpfile-safer.c.
47860         (Depends-on): Add binary-io.
47861
47862 2006-07-23  Eric Blake  <ebb9@byu.net>
47863
47864         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
47865
47866 2006-07-23  Eric Blake  <ebb9@byu.net>
47867
47868         * lib/tmpfile-safer.c: New file.
47869         * lib/stdio-safer.h (fopen_safer): Add prototype.
47870         * lib/stdio--.h (tmpfile): Make safer.
47871
47872 2006-07-23  Bruno Haible  <bruno@clisp.org>
47873
47874         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
47875         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
47876         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
47877         gl_linked_remove_at): Use it.
47878
47879 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47880         and Simon Josefsson <jas@extundo.com>
47881
47882         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
47883
47884         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
47885
47886 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
47887
47888         * modules/close-stream: New file.
47889         * modules/closeout (Description): Make it clear that it exits
47890         with a diagnostic on error.
47891         (Depends-on): Add close-stream.  Remove fpending, stdbool.
47892         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
47893
47894 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
47895
47896         * m4/close-stream.m4: New file.
47897
47898 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
47899
47900         * lib/close-stream.c, lib/close-stream.h: New files.
47901
47902 2006-07-22  Bruno Haible  <bruno@clisp.org>
47903
47904         Merge from GNU gettext 0.15.
47905
47906         2006-05-01  Bruno Haible  <bruno@clisp.org>
47907
47908                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
47909
47910         2006-07-22  Bruno Haible  <bruno@clisp.org>
47911
47912                 * modules/javaversion: New file.
47913                 * MODULES.html.sh (Java): Add javaversion.
47914
47915         2006-03-12  Bruno Haible  <bruno@clisp.org>
47916
47917                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
47918
47919         2005-12-04  Bruno Haible  <bruno@clisp.org>
47920
47921                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
47922                 (untested).
47923
47924         2006-06-21  Bruno Haible  <bruno@clisp.org>
47925
47926                 Avoid warnings from recent versions of mcs.
47927                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
47928                 -o, -L, -r any more. Use options documented since mcs-1.0
47929                 instead. Similarly for -g.
47930
47931         2005-12-04  Bruno Haible  <bruno@clisp.org>
47932
47933                 * build-aux/csharpcomp.sh.in: Suffix for resources is
47934                 .resources, not .resource.
47935
47936         2005-07-09  Bruno Haible  <bruno@clisp.org>
47937
47938                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
47939                 add a .dll suffix.
47940                 Reported by Mark Junker <mjscod@gmx.de>.
47941
47942         2006-07-22  Bruno Haible  <bruno@clisp.org>
47943
47944                 * modules/gettext: Upgrade to gettext-0.15.
47945                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
47946                 m4/visibility.m4.
47947                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
47948
47949 2006-07-22  Bruno Haible  <bruno@clisp.org>
47950
47951         Merge from GNU gettext 0.15.
47952
47953         2006-03-25  Bruno Haible  <bruno@clisp.org>
47954
47955                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
47956
47957         2006-07-21  Bruno Haible  <bruno@clisp.org>
47958
47959                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
47960                 "1.1".
47961
47962         2006-05-09  Bruno Haible  <bruno@clisp.org>
47963
47964                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
47965                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
47966                 for the conftestver execution.
47967
47968         2006-05-01  Bruno Haible  <bruno@clisp.org>
47969
47970                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
47971                 optional target-version argument. Verify that the compiler
47972                 groks source of the specified source-version, or add -source
47973                 option as necessary. Verify that the compiler produces
47974                 bytecode in the specified target-version, or add -target and
47975                 -source options as necessary. Make the result of the test
47976                 available as variable CONF_JAVAC. Also log error output in
47977                 config.log.
47978
47979         2006-03-11  Bruno Haible  <bruno@clisp.org>
47980
47981                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
47982
47983         2006-05-09  Bruno Haible  <bruno@clisp.org>
47984
47985                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
47986                 CLASSPATH_SEPARATOR to a semicolon.
47987
47988         2006-03-12  Bruno Haible  <bruno@clisp.org>
47989
47990                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
47991                 available as variable CONF_JAVA, for subsequent autoconf
47992                 tests. Also log error output in config.log.
47993
47994         2006-07-19  Bruno Haible  <bruno@clisp.org>
47995
47996                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
47997                 that getline works on glibc2 systems. Needed to avoid trouble
47998                 in relocatable.c.
47999                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
48000
48001         2005-12-04  Bruno Haible  <bruno@clisp.org>
48002
48003                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
48004                 launcher (untested).
48005
48006         2005-12-04  Bruno Haible  <bruno@clisp.org>
48007
48008                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
48009
48010         2006-07-22  Bruno Haible  <bruno@clisp.org>
48011
48012                 * gettext.m4: Update from GNU gettext-0.15.
48013                 * nls.m4: Likewise.
48014                 * po.m4: Likewise.
48015                 * inttypes-pri.m4: Likewise.
48016                 * inttypes-h.m4: Renamed from inttypes.m4.
48017                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
48018
48019 2006-07-22  Bruno Haible  <bruno@clisp.org>
48020
48021         Merge from GNU gettext 0.15.
48022
48023         2005-07-05  Bruno Haible  <bruno@clisp.org>
48024
48025                 * printf-args.c (printf_fetchargs): Work around broken
48026                 definition of wint_t on mingw.
48027
48028         2005-02-12  Bruno Haible  <bruno@clisp.org>
48029
48030                 * xallocsa.h: Add extern "C" for C++.
48031
48032         2006-05-17  Bruno Haible  <bruno@clisp.org>
48033
48034                 Cygwin portability.
48035                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
48036
48037         2006-04-30  Bruno Haible  <bruno@clisp.org>
48038
48039                 * progreloc.c: Include <mach-o/dyld.h> if available.
48040                 (find_executable): Use _NSGetExecutablePath when possible.
48041
48042         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
48043
48044                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
48045                 function.
48046
48047         2005-12-29  Bruno Haible  <bruno@clisp.org>
48048
48049                 * progreloc.c (set_program_name_and_installdir): Fix
48050                 compilation error.
48051
48052         2005-12-04  Bruno Haible  <bruno@clisp.org>
48053
48054                 Cygwin portability.
48055                 * progreloc.c: Include <windows.h> also on Cygwin.
48056                 (find_executable): Add support for Cygwin.
48057                 (set_program_name_and_installdir): Handle also platforms with
48058                 nonempty EXEEXT.
48059
48060         2006-07-11  Bruno Haible  <bruno@clisp.org>
48061
48062                 * javacomp.c: Fix a comment.
48063                 Reported by Jim Meyering.
48064
48065         2006-04-30  Bruno Haible  <bruno@clisp.org>
48066
48067                 * javacomp.h (compile_java_class): Add source_version,
48068                 target_version arguments.
48069                 * javacomp.c: Rewritten to choose only a compiler that
48070                 respects the specified source_version and target_version.
48071
48072         2006-06-27  Bruno Haible  <bruno@clisp.org>
48073
48074                 Assume correct S_ISDIR macro.
48075                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
48076
48077         2006-07-22  Bruno Haible  <bruno@clisp.org>
48078
48079                 * javaversion.h: New file, from GNU gettext.
48080                 * javaversion.c: New file, from GNU gettext.
48081                 * javaversion.java: New file, from GNU gettext.
48082                 * javaversion.class: New file, from GNU gettext.
48083
48084         2006-05-17  Bruno Haible  <bruno@clisp.org>
48085
48086                 Cygwin portability.
48087                 * javaexec.c (execute_java_class): Test for jview program
48088                 also on Cygwin.
48089
48090         2006-04-09  Bruno Haible  <bruno@clisp.org>
48091
48092                 * fatal-signal.c: Don't include string.h.
48093                 (at_fatal_signal): Use a copying loop instead of memcpy.
48094
48095         2005-12-04  Bruno Haible  <bruno@clisp.org>
48096
48097                 * csharpexec.c: Add support for 'clix' launcher (untested).
48098                 (execute_csharp_using_sscli): New function.
48099                 (execute_csharp_program): Call it.
48100
48101         2006-06-21  Bruno Haible  <bruno@clisp.org>
48102
48103                 Avoid warnings from recent versions of mcs.
48104                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
48105                 -o, -L, -r any more. Use options documented since mcs-1.0
48106                 instead. Similarly for -g.
48107
48108         2005-07-09  Bruno Haible  <bruno@clisp.org>
48109
48110                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
48111                 add a .dll suffix.
48112                 Reported by Mark Junker <mjscod@gmx.de>.
48113
48114         2006-06-17  Bruno Haible  <bruno@clisp.org>
48115
48116                 * config.charset: Update for NetBSD 3.0.
48117
48118         2006-05-17  Bruno Haible  <bruno@clisp.org>
48119
48120                 Cygwin portability.
48121                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
48122
48123         2006-05-16  Bruno Haible  <bruno@clisp.org>
48124
48125                 * localcharset.c [CYGWIN]: Include <windows.h>.
48126                 (get_charset_aliases): For Cygwin, return the same CPxxx
48127                 aliases list as under WIN32.
48128                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
48129                 the environment variables. Fall back to GetACP().
48130
48131         2006-04-05  Bruno Haible  <bruno@clisp.org>
48132
48133                 * config.charset: Update Juan Manuel Guerrero's address.
48134
48135         2005-02-12  Bruno Haible  <bruno@clisp.org>
48136
48137                 * allocsa.h: Add extern "C" for C++.
48138
48139         2005-02-10  Bruno Haible  <bruno@clisp.org>
48140
48141                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
48142                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
48143
48144         2006-07-22  Bruno Haible  <bruno@clisp.org>
48145
48146                 * gettext.h: Update to GNU gettext-0.15.
48147
48148 2006-07-22  Bruno Haible  <bruno@clisp.org>
48149
48150         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
48151         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
48152         lib-prefix.m4, longdouble.m4, ssize_t.m4.
48153
48154 2006-07-21  Eric Blake  <ebb9@byu.net>
48155
48156         * modules/stdlib-safer: New file.
48157         * MODULES.html.sh (File stream based Input/Output): Add
48158         stdlib-safer.
48159
48160 2006-07-21  Eric Blake  <ebb9@byu.net>
48161
48162         * lib/stdlib-safer.h: New file from coreutils, required by
48163         stdlib--.h.
48164
48165 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
48166
48167         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
48168
48169 2006-07-20  Bruno Haible  <bruno@clisp.org>
48170
48171         * gnulib-tool: Recognize new option --assume-autoconf.
48172         (autoconf_minversion): New variable.
48173         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
48174
48175 2006-07-20  Bruno Haible  <bruno@clisp.org>
48176
48177         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
48178
48179 2006-07-19  Derek R. Price  <derek@ximbiot.com>
48180
48181         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
48182         Reindent and repaginate.
48183
48184 2006-07-19  Derek Price  <derek@ximbiot.com>
48185
48186         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
48187         Correct grammar.
48188
48189 2006-07-17  Bruno Haible  <bruno@clisp.org>
48190
48191         * modules/list: New file.
48192         * modules/array-list: New file.
48193         * modules/carray-list, modules/carray-list-tests: New files.
48194         * modules/linked-list, modules/linked-list-tests: New files.
48195         * modules/avltree-list, modules/avltree-list-tests: New files.
48196         * modules/rbtree-list, modules/rbtree-list-tests: New files.
48197         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
48198         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
48199         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
48200         * modules/oset: New file.
48201         * modules/array-oset: New file.
48202         * modules/avltree-oset, modules/avltree-oset-tests: New files.
48203         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
48204         * tests/test-carray_list.c: New file.
48205         * tests/test-linked_list.c: New file.
48206         * tests/test-avltree_list.c: New file.
48207         * tests/test-rbtree_list.c: New file.
48208         * tests/test-linkedhash_list.c: New file.
48209         * tests/test-avltreehash_list.c: New file.
48210         * tests/test-rbtreehash_list.c: New file.
48211         * tests/test-avltree_oset.c: New file.
48212         * tests/test-rbtree_oset.c: New file.
48213         * MODULES.html.sh (Container data structures): New section.
48214
48215 2006-07-17  Bruno Haible  <bruno@clisp.org>
48216
48217         * m4/gl_list.m4: New file.
48218
48219 2006-07-17  Bruno Haible  <bruno@clisp.org>
48220
48221         * lib/gl_list.h: New file.
48222         * lib/gl_list.c: New file.
48223         * lib/gl_array_list.h: New file.
48224         * lib/gl_array_list.c: New file.
48225         * lib/gl_carray_list.h: New file.
48226         * lib/gl_carray_list.c: New file.
48227         * lib/gl_linked_list.h: New file.
48228         * lib/gl_linked_list.c: New file.
48229         * lib/gl_anylinked_list1.h: New file.
48230         * lib/gl_anylinked_list2.h: New file.
48231         * lib/gl_avltree_list.h: New file.
48232         * lib/gl_avltree_list.c: New file.
48233         * lib/gl_anyavltree_list1.h: New file.
48234         * lib/gl_anyavltree_list2.h: New file.
48235         * lib/gl_rbtree_list.h: New file.
48236         * lib/gl_rbtree_list.c: New file.
48237         * lib/gl_anyrbtree_list1.h: New file.
48238         * lib/gl_anyrbtree_list2.h: New file.
48239         * lib/gl_anytree_list1.h: New file.
48240         * lib/gl_anytree_list2.h: New file.
48241         * lib/gl_linkedhash_list.h: New file.
48242         * lib/gl_linkedhash_list.c: New file.
48243         * lib/gl_anyhash_list1.h: New file.
48244         * lib/gl_anyhash_list2.h: New file.
48245         * lib/gl_avltreehash_list.h: New file.
48246         * lib/gl_avltreehash_list.c: New file.
48247         * lib/gl_rbtreehash_list.h: New file.
48248         * lib/gl_rbtreehash_list.c: New file.
48249         * lib/gl_anytreehash_list1.h: New file.
48250         * lib/gl_anytreehash_list2.h: New file.
48251
48252         * lib/gl_oset.h: New file.
48253         * lib/gl_oset.c: New file.
48254         * lib/gl_array_oset.h: New file.
48255         * lib/gl_array_oset.c: New file.
48256         * lib/gl_avltree_oset.h: New file.
48257         * lib/gl_avltree_oset.c: New file.
48258         * lib/gl_rbtree_oset.h: New file.
48259         * lib/gl_rbtree_oset.c: New file.
48260         * lib/gl_anytree_oset.h: New file.
48261
48262 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
48263
48264         * m4/mkancesdirs.m4: New file.
48265         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
48266         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
48267         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
48268         it.
48269
48270 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
48271
48272         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
48273         * lib/mkancesdirs.h: New files.
48274         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
48275         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
48276         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
48277         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
48278         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
48279         callers changed.  Revamp internals significantly, by not
48280         attempting to create directories that are temporarily more
48281         permissive than the final results.  Do not attempt to use
48282         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
48283         This removes some race conditions, fixes some bugs, and simplifies
48284         things.  Use new dirchownmod function to do owner and mode changes.
48285         * lib/mkdir-p.h: Likewise.
48286         * lib/modechange.c (octal_to_mode): New function.
48287         (struct mode_change): New member mentioned.
48288         (make_node_op_equals): New arg mentioned.  All callers changed.
48289         (mode_compile): Keep track of which mode bits the user has explicitly
48290         mentioned.
48291         (mode_adjust): New arg DIR, so that we implement the X op correctly.
48292         New arg PMODE_BITS, to keep track of which mode bits the user
48293         mentioned; it treats S_ISUID and S_ISGID speciall.
48294         All callers changed.
48295         * lib/modechange.h: Likewise.
48296
48297 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
48298
48299         * MODULES.html.sh: Add mkancestors.
48300         * modules/mkancesdirs: New module.
48301         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
48302         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
48303         The chdir-safer and afs files are now orphans; I'll remove them
48304         unless someone speaks up.
48305         Add lib/dirchownmod.c, lib/dirchownmod.h.
48306         (Depends-on): Remove alloca, chown, save-cwd, dirname.
48307         Add lchown, mkancesdirs.
48308         (Maintainer): Add self.
48309
48310 2006-07-15  Karl Berry  <karl@gnu.org>
48311
48312         * gnulib-tool: help message wording/arrangement.
48313
48314 2006-07-14  Simon Josefsson  <jas@extundo.com>
48315
48316         * doc/gnulib.texi (Libtool and Windows): New section.
48317
48318 2006-07-12  Simon Josefsson  <jas@extundo.com>
48319
48320         * modules/gendocs (License): Fix license, approved by Karl.
48321
48322 2006-07-12  Eric Blake  <ebb9@byu.net>
48323
48324         * MODULES.html.sh: Add gendocs.
48325
48326 2006-07-11  Eric Blake  <ebb9@byu.net>
48327
48328         * modules/fdl: New module, to install doc/fdl.texi.
48329         * MODULES.html.sh: Add new section for documentation modules.
48330         * gnulib-tool: Avoid space-tab.
48331         (--doc-base): New option, to manage files from doc.
48332
48333 2006-07-11  Eric Blake  <ebb9@byu.net>
48334
48335         * m4/absolute-header.m4: Fix comments to match recent change.
48336
48337 2006-07-11  Eric Blake  <ebb9@byu.net>
48338
48339         * gnulib-tool: List --doc-base before --tests-base.
48340
48341 2006-07-11  Derek R. Price  <derek@ximbiot.com>
48342
48343         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
48344
48345 2006-07-11  Bruno Haible  <bruno@clisp.org>
48346
48347         * README: Mention where to put documentation.
48348
48349 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48350
48351         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
48352
48353 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
48354
48355         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
48356         to stdint.m4.
48357
48358 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
48359
48360         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
48361         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
48362         "no/such/file/stdint.h" when there is no such file, so that
48363         the resulting C code can be parsed by dodgy compilers.
48364         Problems reported by Bob Proulx.
48365
48366 2006-07-10  Derek R. Price  <derek@ximbiot.com>
48367
48368         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
48369         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
48370         macros into the GNU _D_EXACT_NAMLEN.
48371         * lib/savedir.c:  Likewise.
48372         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
48373
48374 2006-07-10  Derek R. Price  <derek@ximbiot.com>
48375         and Paul Eggert  <eggert@cs.ucla.edu>
48376
48377         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
48378         * m4/savedir.m4:
48379         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
48380         macros into the GNU _D_EXACT_NAMLEN.
48381
48382 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
48383
48384         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
48385         around the absolute name, to work around a problem with the HP-UX
48386         11.23 native C compiler, reported by Bob Proulx.
48387
48388 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
48389
48390         * doc/maintain.texi, make-stds.texi: Sync from
48391         <http://savannah.gnu.org/projects/gnustandards>.
48392
48393 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
48394
48395         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
48396
48397 2006-07-09  Jim Meyering  <jim@meyering.net>
48398
48399         * m4/glob.m4: Remove a doubled word in a comment.
48400
48401 2006-07-09  Jim Meyering  <jim@meyering.net>
48402
48403         * lib/argp-pv.c: Remove a doubled word in a comment.
48404         * lib/check-version.c (check_version): Likewise.
48405         * lib/javacomp.c (compile_java_class): Likewise.
48406
48407 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
48408
48409         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
48410         for the benefit of people using Autoconf 2.60.  If you want to
48411         support older Autoconf versions you can copy m4/onceonly_2_57.m4
48412         (or m4/onceonly.m4, if pre-2.57) manually.
48413
48414 2006-07-08  Jim Meyering  <jim@meyering.net>
48415
48416         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
48417         comment.
48418         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
48419         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
48420         comment.
48421
48422 2006-07-08  Jim Meyering  <jim@meyering.net>
48423
48424         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
48425
48426 2006-07-07  Simon Josefsson  <jas@extundo.com>
48427
48428         * tests/test-crc.c: Change expected crc value, the test vector
48429         were probably computed using the old broken crc.c?
48430
48431 2006-07-06  Simon Josefsson  <jas@extundo.com>
48432
48433         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
48434         now the canonical place for the M4 file).
48435
48436         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
48437         from the sys_socket dependency now.
48438
48439         * modules/inet_pton (Files): Ditto.
48440
48441         * modules/inet_ntop (Files): Ditto.
48442
48443 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48444
48445         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
48446         not gl_PREREQ_GETUSERSHELL.
48447
48448 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48449
48450         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
48451         with only one argument, for Autoconf 2.60.
48452         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
48453         expand to nothing, so add a shell command to avoid syntax error.
48454         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48455
48456 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48457
48458         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
48459
48460 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
48461
48462         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
48463         no longer needed.  Check for isblank decl.
48464         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
48465         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
48466         of existence.
48467
48468 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
48469
48470         * lib/getloadavg.c: Use __VMS, not VMS.
48471         * lib/getopt.c: Likewise.
48472         * lib/getpagesize.h: Likewise.
48473         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
48474         and probably does not work.
48475
48476 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
48477
48478         * lib/.cppi-disable: Add wcwidth.
48479         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
48480         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
48481         (ISGRAPH): Remove.  All uses changed to isgraph.
48482         (FOLD) [!defined _LIBC]: Remove special case.
48483         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
48484         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
48485         HAVE_ISBLANK.
48486         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
48487         case.
48488
48489 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
48490
48491         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
48492         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
48493         brackets.  Other minor changes to suppress some compiler
48494         warnings.
48495
48496 2006-07-06  Derek R. Price  <derek@ximbiot.com>
48497         and Paul Eggert  <eggert@cs.ucla.edu>
48498
48499         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
48500         of invoking obsolescent AC_HEADER_DIRENT macro.
48501         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
48502         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
48503         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
48504         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
48505         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
48506         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48507         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
48508         * m4/readdir.m4: Remove; no longer needed.
48509
48510 2006-07-06  Derek R. Price  <derek@ximbiot.com>
48511         and Paul Eggert  <eggert@cs.ucla.edu>
48512
48513         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
48514         Don't worry about this obsolete case any more.
48515         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
48516         directories.
48517         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
48518         worry about this obsolete case any more.
48519         * lib/fts.c: Likewise.
48520         * lib/getcwd.c: Likewise.
48521         * lib/glob.h: Likewise.
48522         * lib/savedir.c: Likewise.
48523
48524 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
48525
48526         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
48527         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
48528         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
48529         needed.
48530         All uses removed.
48531         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
48532         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
48533         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
48534         needed.
48535         * m4/getdate.m4 (gl_GETDATE): Likewise.
48536         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
48537         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
48538         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
48539         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
48540         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
48541         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
48542         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
48543         needed.
48544
48545 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
48546
48547         * lib/memcasecmp.c: Include <limits.h>.
48548         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
48549         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
48550         Don't assume isdigit succeeds only on '0' through '9'.
48551
48552 2006-07-05  Eric Blake  <ebb9@byu.net>
48553
48554         * modules/getaddrinfo (Depends-on): Add snprintf.
48555
48556 2006-07-05  Eric Blake  <ebb9@byu.net>
48557
48558         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
48559         to avoid 'header present but could not be compiled' on cygwin.
48560
48561 2006-07-05  Eric Blake  <ebb9@byu.net>
48562
48563         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
48564         missing from netdb.h.
48565         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
48566
48567 2006-07-05  Derek R. Price  <derek@ximbiot.com>
48568
48569         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
48570         no longer needed.
48571         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
48572         * m4/getdate.m4 (gl_GETDATE): Likewise.
48573         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
48574         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
48575         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
48576         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
48577         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
48578
48579 2006-07-05  Derek R. Price  <derek@ximbiot.com>
48580
48581         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
48582         All uses of is_space replaced by isspace.
48583         * lib/exit.h: Don't talk about STDC_HEADERS.
48584         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
48585         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
48586         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
48587         replaced by isprint etc.
48588         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
48589         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
48590         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
48591         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
48592         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
48593         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
48594
48595 2006-07-05  Bruno Haible  <bruno@clisp.org>
48596
48597         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
48598         the function exists, before testing against AIX.
48599         Reported by Martin Lambers <marlam@marlam.de>.
48600
48601 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
48602
48603         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
48604         From Mark D. Baushke.
48605
48606 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
48607
48608         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
48609         to the absolute name, not just one, to bypass Sun C 5.8's
48610         "warning: #include of /usr/include/... may be non-portable".
48611
48612 2006-07-04  Eric Blake  <ebb9@byu.net>
48613
48614         * modules/dirname-tests: New test module.
48615         * tests/test-dirname.c: New file, replacing dirname.c
48616         TEST_DIRNAME section that was recently deleted.
48617
48618 2006-07-04  Bruno Haible  <bruno@clisp.org>
48619
48620         Assume ANSI C header files and <ctype.h> functions.
48621         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
48622         (mbsnwidth): Use isprint, iscntrl instead.
48623
48624 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48625
48626         Merge from coreutils.
48627         * MODULES.html.sh: Add xstrtold.
48628         * modules/xstrtold: New file.
48629         * modules/cycle-check (Files): Add lib/same-inode.h.
48630         * modules/dirname (Files): Add m4/double-slash-root.m4.
48631         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
48632         * modules/mkdir-p (Files): Add lib/same-inode.h.
48633         * modules/same (Files): Add lib/same-inode.h.
48634
48635 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48636
48637         * m4/absolute-header.m4: Renamed from full-header-path.m4.
48638         This is to keep the terminology clean; POSIX talks about
48639         "absolute pathnames", not "full pathnames", but the GNU
48640         Coding Standards say to use "path" for something else;
48641         so use "absolute" to keep both sides happy.
48642         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
48643         Set gl_absolute_header, not gl_full_header_path.
48644         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
48645         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
48646         All uses changed.
48647
48648         Merge from coreutils.
48649
48650         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
48651
48652         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
48653         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
48654         want to require the building of c-strtod.o.
48655         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
48656         needs -lm directly.
48657         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
48658
48659         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
48660
48661         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
48662         --as-needed option if available.  Problem reported by Albert Chin in
48663         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
48664         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
48665         cc merely issues a bunch of annoying warnings for --as-needed
48666         (this problem was reported by Bob Proulx).  Also, try linking with
48667         -lm to detect a bug in binutils 2.16 (this problem was reported
48668         by Ralf Wildenhues).
48669
48670         2006-06-18  Jim Meyering  <jim@meyering.net>
48671
48672         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
48673         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
48674         macro.
48675         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
48676         also check for glibc-2.4's abort-inducing bug.
48677
48678         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
48679         Low-probability clean-up should be to use rmdir to get rid of
48680         the just-created directory, not unlink.
48681
48682         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
48683         configure fail, and request a bug report to inform us about it.
48684         Add a comment that, barring reports to the contrary, in 2007 we'll
48685         assume ftruncate is universally available.
48686
48687         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
48688
48689         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
48690
48691         2006-03-12  Jim Meyering  <jim@meyering.net>
48692
48693         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
48694         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
48695         * m4/same.m4 (gl_SAME): Likewise.
48696         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
48697
48698         2006-03-11  Eric Blake  <ebb9@byu.net>
48699
48700         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
48701         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
48702         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
48703         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
48704
48705 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48706
48707         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
48708         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
48709         reported by Mark D. Baushke, one in
48710         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
48711
48712         Merge from coreutils.
48713
48714         * lib/.cppi-disable: Add stdint_.h.
48715         * lib/.cvsignore: Add stdint.h.
48716
48717         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
48718
48719         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
48720         both double and long double versions.
48721         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
48722         * lib/xstrtold.c: New file.
48723         * lib/xstrtod.h (xstrtold): New decl.
48724
48725         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
48726
48727         * lib/filemode.c (setst): Remove.
48728         (strmode): Rewrite to avoid setst.  This makes the code shorter,
48729         (arguably) clearer, and the generated code is a bit smaller on my
48730         Debian GNU/Linux stable x86 host.
48731
48732         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
48733
48734         * lib/filemode.c: Include "filemode.h" first, to test the interface.
48735         Assume that filemode.h includes sys/types.h and sys/stat.h.
48736         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
48737         (ftypelet): Reorder to put common cases first, for efficiency.
48738         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
48739         to do 'M'.
48740         (strmode): Renamed from mode_string, and now stores 12 bytes instead
48741         of 10, for compatibility with FreeBSD.  All callers changed.
48742         (filemodestring): Now stores 12 bytes instead of 10, and sets file
48743         types that can't be deduced solely from st_mode.  First arg is now a
48744         const pointer.
48745         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
48746         (strmode): Renamed from mode_string.
48747         (filemodestring): New decl.
48748         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
48749         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
48750         needed.
48751         (S_ISPORT, S_ISWHT): New macros, if not already defined.
48752
48753         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
48754
48755         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
48756         fsusage.h now does that.  Include fsusage.h first, to test interface.
48757         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
48758         at most one method (the old code could have generated decls that
48759         didn't conform to C89, not that this was ever exercised).
48760         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
48761
48762         2006-03-19  Jim Meyering  <jim@meyering.net>
48763
48764         Work even in a chroot where d_ino values for entries in "/"
48765         don't match the stat.st_ino values for the same names.
48766         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
48767         number, iterate through all entries again, using lstat instead.
48768         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
48769         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
48770
48771         * lib/getcwd.c (__getcwd): Clarify a comment.
48772         Use memcpy in place of a call to strcpy.
48773
48774         2006-03-12  Jim Meyering  <jim@meyering.net>
48775
48776         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
48777         matches that of the current directory (which we're about to chdir ".."
48778         out of), then save the dev-ino of the parent, instead.
48779
48780         * lib/same-inode.h (SAME_INODE): New file/macro.
48781         * lib/chdir-safer.c (SAME_INODE): Remove definition.
48782         Include "same-inode.h", instead.
48783         * lib/same.c: Likewise.
48784         * lib/cycle-check.h: Include "same-inode.h".
48785         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
48786         * lib/cycle-check.c (SAME_INODE): Remove definition.
48787         * lib/root-dev-ino.h: Include "same-inode.h".
48788
48789         2006-03-11  Eric Blake  <ebb9@byu.net>
48790
48791         * lib/same.c (same_name): s/base_name/last_component/
48792         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
48793         * lib/filenamecat.c (file_name_concat): Likewise.
48794
48795         2006-03-11  Eric Blake  <ebb9@byu.net>,
48796                     Paul Eggert  <eggert@cs.ucla.edu>
48797
48798         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
48799         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
48800         drive prefix.
48801         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
48802         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
48803         (last_component): New method.
48804         * lib/dirname.c (dir_len): Determine when drive letters need a
48805         subsequent slash.  Preserve // when it is special.
48806         (dir_name): Don't append dot when drive letter is absolute.
48807         [TEST_DIRNAME]: Move into a full-blown gnulib test.
48808         * lib/basename.c (base_name): New semantics - malloc the result.
48809         Preserve // when it is special.  Preserve relative files that look
48810         like drive letters.
48811         (base_len): Preserve // when it is special.
48812         (last_component): New method, similar to old base_name semantics.
48813         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
48814         base_name.  Strip redundant slashes from ///.
48815
48816 2006-07-03  Jim Meyering  <jim@meyering.net>
48817
48818         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
48819         macro is used before the first cycle_check call.
48820
48821 2006-07-03  Eric Blake  <ebb9@byu.net>
48822
48823         * modules/dirname (Depends-on): Add xstrndup.
48824
48825 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
48826
48827         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
48828         test cases, so that config.log is a bit easier to follow.
48829
48830 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
48831
48832         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
48833         both are 64 bits, since this seems to be the tradition, and this
48834         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
48835         we ever run into a host that prefers long long to long in this
48836         case, we'll need another configure-time test.  Problem reported by
48837         Jim Meyering.
48838
48839 2006-07-02  Eric Blake  <ebb9@byu.net>
48840
48841         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
48842
48843 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
48844
48845         * modules/inttypes (Depends-on): No longer depends on stdint.
48846         * modules/stdint (Description): Say more about assumptions.
48847         Say that the fast types might differ.  Say macros are used.
48848         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
48849         (Makefile.am): Revise list of substituted symbols to match
48850         new stdint.m4.
48851         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
48852         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
48853         * tests/test-stdint.c (verify_same_types)
48854         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
48855         the code conforms to C99/C89.
48856         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
48857         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
48858
48859 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
48860
48861         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
48862         but fix a bug, by requiring at least 64 bits.
48863         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
48864         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
48865         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
48866         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
48867
48868         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
48869         changes.  Make 2.59 a prerequisite.  Check and substitute for
48870         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
48871         inttypes.h.  Do not use special include files; just use the
48872         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
48873         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
48874         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
48875         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
48876         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
48877         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
48878         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
48879         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
48880         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
48881         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
48882         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
48883         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
48884         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
48885         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
48886         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
48887         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
48888         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
48889         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
48890         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
48891         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
48892         WINT_MAX.  Check for C99 conformance more strictly, by detecting
48893         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
48894         not check for things that C99 does not require, e.g., int8_t.  If
48895         a test isn't needed unless <stdint.h> isn't working, and is
48896         unlikely to be needed for any other reason, then don't do it
48897         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
48898         size_t, since we assume C89 freestanding at least.  Do not check
48899         for sig_atomic_t, wchar_t, or wint_t, since the code now does
48900         the right thing even if the types are not defined.  Instead use:
48901         (gl_STDINT_TYPE_PROPERTIES): New macro.
48902         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
48903         testing whether <sys/types.h> clashes, as Autoconf does this for
48904         us now.  All uses removed.
48905         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
48906         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
48907         (gl_CHECK_TYPE_SAME):
48908         Remove; no longer needed.
48909         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
48910         exists, since we'll return 0 anyway in that case.
48911         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
48912
48913 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
48914
48915         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
48916         possible collision with system files.
48917         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
48918         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
48919         WCHAR_MIN and WCHAR_MAX in this case.
48920         (<stddef.h>): Do not include; no longer needed.
48921         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
48922         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
48923         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
48924         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
48925         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
48926         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
48927         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
48928         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
48929         !defined(__c99))]: Include in this case too, since it's harmless
48930         now.
48931         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
48932         dangerous to do so.
48933         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
48934         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
48935         (_STDINT_MIN, _STDINT_MAX): New macros.
48936         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
48937         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
48938         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
48939         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
48940         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
48941         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
48942         macros, not typedefs; this simplifies things quite a bit.
48943         Use long int for all types narrower than int64_t.
48944         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
48945         Define in terms of long long int or int64_t or long int,
48946         not int64_t or int32_t.  This saves some compile-time testing.
48947         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
48948         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
48949         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
48950         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
48951         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
48952         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
48953         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
48954         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
48955         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
48956         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
48957         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
48958         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
48959         undef any previous version and define our own version, for
48960         simplicity and consistency with the new macros for types.
48961         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
48962         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
48963         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
48964         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
48965         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
48966         @WINT_T_SUFFIX@ to keep things simple here.
48967         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
48968         Simplify by assuming typical 8/16/32/64 host, since we're
48969         already doing that elsewhere anyway.
48970         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
48971         and assume long long int is 64 bits if available.  This
48972         speeds up 'configure'.
48973
48974 2006-07-01  Eric Blake  <ebb9@byu.net>
48975
48976         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
48977         Reported by Andreas Buening.
48978
48979 2006-07-01  Eric Blake  <ebb9@byu.net>
48980
48981         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
48982
48983 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
48984
48985         * lib/getaddrinfo.c: fixed typo
48986
48987 2006-06-29  Jim Meyering  <jim@meyering.net>
48988
48989         * modules/strftime (Maintainer): Add my name, since with the
48990         FPRINTFTIME changes strftime.c has forked from glibc.
48991
48992 2006-06-29  Eric Blake  <ebb9@byu.net>
48993
48994         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
48995
48996 2006-06-29  Eric Blake  <ebb9@byu.net>
48997
48998         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
48999
49000 2006-06-29  Eric Blake  <ebb9@byu.net>
49001
49002         * lib/stat_.h: New file.
49003
49004 2006-06-29  Eric Blake  <ebb9@byu.net>
49005
49006         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
49007         unused static function.
49008
49009 2006-06-29  Eric Blake  <ebb9@byu.net>
49010
49011         * doc/functions.texi (Function Portability): Document missing lstat
49012         on mingw.
49013
49014 2006-06-29  Eric Blake  <ebb9@byu.net>
49015
49016         * MODULES.html.sh: Add sys_stat.
49017         * modules/sys_stat: New module.
49018         * modules/mkstemp (Depends-on): Add sys_stat.
49019
49020 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49021
49022         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
49023
49024 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49025
49026         * m4/c-bs-a.m4: Removed.
49027
49028 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49029
49030         * lib/strftime.c: Assume strftime() exists.
49031
49032 2006-06-29  Derek Price  <derek@ximbiot.com>
49033
49034         * modules/c-bs-a: Removed - \a is C89.
49035         * MODULES.html.sh: Remove c-bs-a.
49036
49037 2006-06-29  Bruno Haible  <bruno@clisp.org>
49038
49039         * modules/wcwidth (License): Change to LGPL.
49040
49041 2006-06-28  Simon Josefsson  <jas@extundo.com>
49042
49043         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
49044         on _WIN32.
49045
49046         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
49047         getnameinfo.
49048
49049 2006-06-28  Simon Josefsson  <jas@extundo.com>
49050
49051         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
49052
49053 2006-06-28  Simon Josefsson  <jas@extundo.com>
49054
49055         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
49056         functions there.  It will succeed on Windows XP, but on Windows
49057         2000 and (presumably) earlier, it will fail, and use the internal
49058         re-implementation.
49059         (use_win32_p): New function.
49060         (getaddrinfo): Use strtoul on servname, to support numeric ports.
49061         Support AI_NUMERICSERV to disable getservbyname.
49062         (getnameinfo): New function, only supports
49063         NI_NUMERICHOST|NI_NUMERICSERV for now.
49064
49065         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
49066         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
49067         getnameinfo.
49068
49069 2006-06-28  Eric Blake  <ebb9@byu.net>
49070
49071         * modules/wcwidth: New file.
49072         * modules/mbchar (Depends-on): Add wcwidth.
49073         * modules/mbswidth (Depends-on): Add wcwidth.
49074         * MODULES.html.sh: Add wcwidth.
49075
49076 2006-06-28  Eric Blake  <ebb9@byu.net>
49077
49078         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
49079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
49080
49081 2006-06-28  Eric Blake  <ebb9@byu.net>
49082
49083         * lib/xvasprintf.h: Fix comments.
49084
49085 2006-06-28  Eric Blake  <ebb9@byu.net>
49086
49087         * lib/mbchar.h (wcwidth): Include wcwidth.h.
49088         * lib/mbswidth.c (wcwidth): Move from here...
49089         * lib/wcwidth.h: ...to this new file.
49090
49091 2006-06-28  Derek R. Price  <derek@ximbiot.com>
49092
49093         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
49094
49095         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
49096         it's obsolete.
49097         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
49098
49099 2006-06-28  Derek R. Price  <derek@ximbiot.com>
49100
49101         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
49102         Autoconf 2.60 says this stuff was obsolete.
49103
49104 2006-06-28  Bruno Haible  <bruno@clisp.org>
49105
49106         * modules/wcwidth (Files): Add m4/wchar_t.m4.
49107
49108 2006-06-28  Bruno Haible  <bruno@clisp.org>
49109
49110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
49111         gt_TYPE_WCHAR_T.
49112
49113 2006-06-28  Bruno Haible  <bruno@clisp.org>
49114
49115         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
49116         declaration for wcwidth.
49117         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
49118
49119 2006-06-28  Bruno Haible  <bruno@clisp.org>
49120
49121         * lib/mkdtemp.c [MINGW]: Include <io.h>.
49122         (mkdir): Define using _mkdir.
49123
49124 2006-06-28  Bruno Haible  <bruno@clisp.org>
49125
49126         * lib/getaddrinfo.h: Fix POSIX URL.
49127         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
49128         _WIN32.
49129         (use_win32_p): Make static.
49130         (getaddrinfo): Reject service name if it is empty or does not consist
49131         solely of decimal digits, or if its value is > 65535.
49132         (getnameinfo): Remove useless casts.
49133
49134 2006-06-27  Simon Josefsson  <jas@extundo.com>
49135
49136         * modules/sys_select: New file, suggested by Bruno Haible, Paul
49137         Eggert and Martin Lambers.
49138
49139 2006-06-27  Simon Josefsson  <jas@extundo.com>
49140
49141         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
49142         Eggert and Martin Lambers.
49143
49144 2006-06-27  Bruno Haible  <bruno@clisp.org>
49145
49146         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
49147         result to 0, not to empty.
49148         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
49149
49150 2006-06-27  Bruno Haible  <bruno@clisp.org>
49151
49152         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
49153
49154 2006-06-26  Simon Josefsson  <jas@extundo.com>
49155
49156         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
49157         present.
49158
49159 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
49160
49161         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
49162         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
49163         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
49164
49165 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
49166
49167         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
49168
49169 2006-06-26  Bruno Haible  <bruno@clisp.org>
49170
49171         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
49172
49173 2006-06-26  Bruno Haible  <bruno@clisp.org>
49174
49175         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
49176
49177 2006-06-26  Bruno Haible  <bruno@clisp.org>
49178
49179         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
49180         SGI C compiler in pre-C99 mode.
49181         Suggested by Mark D. Baushke and Larry Jones.
49182
49183 2006-06-26  Bruno Haible  <bruno@clisp.org>
49184
49185         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
49186         WCHAR_MAX.
49187         Reported by Mark D. Baushke and Larry Jones.
49188
49189 2006-06-26  Bruno Haible  <bruno@clisp.org>
49190
49191         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
49192         in pre-C99 mode.
49193         Suggested by Mark D. Baushke and Larry Jones.
49194
49195 2006-06-23  Simon Josefsson  <jas@extundo.com>
49196             Bruno Haible  <bruno@clisp.org>
49197
49198         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
49199         Emit mostlyclean-local rule.
49200         (func_emit_tests_Makefile_am): Likewise.
49201         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
49202
49203 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
49204
49205         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
49206
49207 2006-06-23  Bruno Haible  <bruno@clisp.org>
49208
49209         * tests/test-stdint.c: Update to match ISO C 99 Technical
49210         Corrigendum 1.
49211
49212 2006-06-23  Bruno Haible  <bruno@clisp.org>
49213
49214         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
49215
49216 2006-06-23  Bruno Haible  <bruno@clisp.org>
49217
49218         * lib/stdint_.h: Treat IRIX like OpenBSD.
49219
49220 2006-06-23  Bruno Haible  <bruno@clisp.org>
49221
49222         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
49223         ISO C 99 Technical Corrigendum 1.
49224
49225 2006-06-22  Simon Josefsson  <jas@extundo.com>
49226
49227         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
49228         MinGW.
49229
49230 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
49231
49232         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
49233         needed.  Some compiler complained about some of them.  Problem reported
49234         by Larry Jones in
49235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
49236
49237 2006-06-21  Simon Josefsson  <jas@extundo.com>
49238
49239         * tests/test-getaddrinfo.c: New file.
49240
49241         * modules/getaddrinfo-tests: New file.
49242
49243         * MODULES.html.sh: Add inet_pton.
49244
49245         * modules/inet_pton: New file.
49246
49247 2006-06-21  Simon Josefsson  <jas@extundo.com>
49248
49249         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
49250         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
49251         of using the (limited) gnulib implementation on Windows XP.
49252
49253         * m4/inet_pton.m4: New file.
49254
49255 2006-06-21  Simon Josefsson  <jas@extundo.com>
49256
49257         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
49258         variable.
49259
49260         * lib/socket_.h: Don't define WINVER.
49261
49262         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
49263         slightly modified to work in gnulib.
49264
49265 2006-06-21  Simon Josefsson  <jas@extundo.com>
49266
49267         * doc/gnulib.texi (Windows sockets): Add.
49268
49269 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
49270
49271         * lib/read-file.c (fread_file): Start with buffer allocation of
49272         0 bytes rather than 1 byte; this simplifies the code.
49273         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
49274         code to free buffer and save/restore errno.
49275         (internal_read_file): Remove unused local.
49276
49277 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
49278
49279         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
49280         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
49281         Problem reported by Denis Excoffier in
49282         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
49283
49284 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49285
49286         * modules/sys_socket, modules/socklen: Include sys/types since
49287         FreeBSD 4.x's sys/socket.h needs it.
49288
49289 2006-06-19  Simon Josefsson  <jas@extundo.com>
49290
49291         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
49292
49293 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
49294
49295         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
49296
49297 2006-06-19  Bruno Haible  <bruno@clisp.org>
49298
49299         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
49300         and FULL_PATH_INTTYPES_H in angle brackets.
49301         Reported by Mark D. Baushke <mdb@gnu.org>.
49302
49303 2006-06-17  Eric Blake  <ebb9@byu.net>
49304
49305         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
49306         errno.
49307
49308 2006-06-17  Bruno Haible  <bruno@clisp.org>
49309
49310         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
49311         <sys/inttypes.h>.
49312
49313 2006-06-17  Bruno Haible  <bruno@clisp.org>
49314
49315         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
49316         whether errno is declared. Assume <errno.h> declares errno.
49317
49318 2006-06-17  Bruno Haible  <bruno@clisp.org>
49319
49320         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
49321
49322 2006-06-17  Bruno Haible  <bruno@clisp.org>
49323
49324         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
49325         problem on Solaris 2.5.1.
49326
49327 2006-06-16  Eric Blake  <ebb9@byu.net>
49328
49329         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
49330         * lib/unicodeio.c [!defined errno]: Likewise.
49331         * lib/strtol.c [!defined errno]: Likewise.
49332         * lib/strtod.c [!defined errno]: Likewise.
49333
49334 2006-06-15  Eric Blake  <ebb9@byu.net>
49335
49336         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
49337
49338 2006-06-15  Eric Blake  <ebb9@byu.net>
49339
49340         * config/srclist.txt (ssize_t.m4): Lose sync.
49341
49342 2006-06-15  Bruno Haible  <bruno@clisp.org>
49343
49344         * modules/stdint (Files): Include m4/full-header-path.m4,
49345         m4/size_max.m4, m4/wchar_t.m4.
49346         (Makefile.am): Many more substitutions.
49347         * modules/stdint-tests: New file.
49348         * tests/test-stdint.c: New file.
49349
49350 2006-06-15  Bruno Haible  <bruno@clisp.org>
49351
49352         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
49353         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
49354         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
49355         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
49356         gl_CHECK_TYPE_SAME): New macros.
49357
49358 2006-06-15  Bruno Haible  <bruno@clisp.org>
49359
49360         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
49361
49362 2006-06-15  Bruno Haible  <bruno@clisp.org>
49363
49364         * lib/stdint_.h: Rewritten to be fully auto-configured.
49365         Fixes bug on HP-UX/IA64.
49366
49367 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
49368
49369         * lib/getdate.y (__attribute__): Don't define if already defined.
49370         Problem reported by Larry Jones.
49371         * lib/utimens.c (__attribute__): Likewise.
49372
49373 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
49374
49375         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
49376         reported by Andreas Schwab.
49377
49378 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49379             Bruno Haible  <bruno@clisp.org>
49380
49381         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
49382         check for the declaration of strnlen and a run test that exposes the
49383         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
49384         rpl_strndup.
49385
49386 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49387             Bruno Haible  <bruno@clisp.org>
49388
49389         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
49390
49391 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49392
49393         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
49394         compile test, for Tru64 4.0D.
49395
49396 2006-05-28  Karl Berry  <karl@gnu.org>
49397
49398         * config/srclist.txt (printf-args.c): lose sync.
49399
49400 2006-05-26  Martin Lambers  <marlam@marlam.de>
49401
49402         * lib/getpass.c: Updates the test for the native W32 API, and adds
49403         missing includes, thus fixing compilation warnings.
49404
49405 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
49406
49407         * lib/exclude.c (exclude_fnmatch): New function.
49408         (excluded_file_name): Call exclude_fnmatch.
49409         * lib/exclude.h (excluded_file_name): New prototype
49410
49411 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
49412
49413         * lib/tempname.c (small_open, large_open): New macros.
49414         (__open, __open64) [!_LIBC]: Remove.
49415         (__gen_tempname): Use small_open and large_open instead of __open
49416         and __open64.  This fixes a portability bug on HP-UX 11.11i
49417         reported by Simon Wing-Tang in
49418         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
49419
49420 2006-05-24  Bruno Haible  <bruno@clisp.org>
49421
49422         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
49423         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
49424         Reported by Thorsten Maerz <torte@netztorte.de> via
49425         Aaron Stone <aaron@serendipity.cx>.
49426
49427 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
49428
49429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
49430         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
49431         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
49432         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
49433         not really conditional on the cache.
49434         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
49435
49436 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
49437
49438         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
49439         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
49440         (my_usleep): Don't mishandle maximum value.
49441
49442 2006-05-19  Jim Meyering  <jim@meyering.net>
49443
49444         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
49445
49446 2006-05-17  Bruno Haible  <bruno@clisp.org>
49447
49448         Cygwin portability.
49449         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
49450
49451 2006-05-17  Bruno Haible  <bruno@clisp.org>
49452
49453         * lib/stdint_.h: Fix recognition of Cygwin.
49454
49455 2006-05-15  Bruno Haible  <bruno@clisp.org>
49456
49457         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
49458         on libtool patch by Ralf Wildenhues.
49459
49460 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49461
49462         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
49463         test for C99 conformance; (bool) 0.5 is an integer constant
49464         expression, but (bool) -0.5 is not.  Problem reported by Fedor
49465         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
49466
49467 2006-05-11  Simon Josefsson  <jas@extundo.com>
49468
49469         * m4/xvasprintf.m4: Fix obvious typo.
49470
49471 2006-05-11  Jim Meyering  <jim@meyering.net>
49472
49473         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
49474         James Lemley.
49475
49476 2006-05-10  Simon Josefsson  <jas@extundo.com>
49477
49478         * lib/md4.c: Typo fix, update copyright years.
49479         (K1, K2): Don't use L because it turn computations into 64-bit on
49480         64-bit platforms.
49481
49482 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
49483
49484         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
49485         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
49486         unwanted sign propagation, e.g., on hosts with 64-bit int.
49487         There still are some problems with reeelly weird theoretical hosts
49488         (e.g., 33-bit int) but it's not worth worrying about now.
49489         * lib/sha1.c (rol): Likewise.
49490         (K1, K2, K3, K4): Remove unnecessary L suffix.
49491
49492 2006-05-10  Bruno Haible  <bruno@clisp.org>
49493
49494         * lib/des.c: Cast to avoid warnings.
49495
49496 2006-05-09  Bruno Haible  <bruno@clisp.org>
49497
49498         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
49499         (Depends-on): Depend also on xsize, stdarg.
49500         (configure.ac): Add gl_XVASPRINTF.
49501
49502 2006-05-09  Bruno Haible  <bruno@clisp.org>
49503
49504         * m4/xvasprintf.m4: New file.
49505
49506 2006-05-09  Bruno Haible  <bruno@clisp.org>
49507
49508         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
49509         (EOVERFLOW): Define fallback value.
49510         (xstrcat): New function.
49511         (xvasprintf): Recognize the special case of a string concatenation.
49512
49513 2006-05-08  Eric Blake  <ebb9@byu.net>
49514
49515         * gnulib-tool (func_version): Base copyright year on CVS date.
49516         (func_emit_copyright_notice): New function.
49517         (func_emit_lib_Makefile_am): Use it.
49518         (func_emit_tests_Makefile_am): Likewise.
49519         (func_import): Likewise.
49520
49521 2006-05-08  Bruno Haible  <bruno@clisp.org>
49522
49523         * modules/stdarg: New file.
49524         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
49525
49526 2006-05-08  Bruno Haible  <bruno@clisp.org>
49527
49528         * m4/stdarg.m4: New file, from GNU gettext.
49529
49530 2006-05-08  Bruno Haible  <bruno@clisp.org>
49531
49532         * config/srclist.txt (build-aux/config.rpath): different from latest
49533         release.
49534
49535 2006-05-08  Bruno Haible  <bruno@clisp.org>
49536
49537         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
49538
49539 2006-05-05  Jim Meyering  <jim@meyering.net>
49540
49541         * m4/warning.m4: New file, derived from bison's file by the same name.
49542
49543 2006-05-03  Bruno Haible  <bruno@clisp.org>
49544
49545         * lib/stdint_.h: Shorter URL.
49546         * lib/inttypes.h: Likewise.
49547
49548 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49549
49550         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
49551
49552 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49553
49554         * lib/verify.h: Document the internals better.  Most of this change
49555         was written by Bruno Haible.
49556
49557 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49558
49559         * doc/verify.texi: New file, partly based on a proposal by
49560         Bruno Haible.
49561
49562 2006-05-02  Bruno Haible  <bruno@clisp.org>
49563
49564         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
49565         test from here...
49566         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
49567
49568 2006-04-29  Bruno Haible  <bruno@clisp.org>
49569
49570         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
49571         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
49572
49573 2006-04-29  Bruno Haible  <bruno@clisp.org>
49574
49575         * gnulib-tool: Make --update option actually work.
49576
49577 2006-04-29  Bruno Haible  <bruno@clisp.org>
49578
49579         * doc/gcd.texi: New file.
49580         * doc/gnulib.texi: Include it.
49581
49582 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
49583
49584         * lib/getdate.y (get_date): When adding relative date, start with the
49585         initial time, not with the result of the first mktime call.
49586
49587 2006-04-25  Bruno Haible  <bruno@clisp.org>
49588
49589         * gnulib-tool (func_import): Output the include directives in three
49590         blocks, sorted separately.
49591         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49592
49593 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49594
49595         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
49596         to define main with arguments, for C++.  Reported by Eric Blake.
49597         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
49598         Prefer 'int main ()' to 'int main (void)', for C++.
49599         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49600         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
49601         for 'main', for C99 and C++.
49602
49603 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49604
49605         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
49606         Don't assume that exit status -1 is valid.
49607         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
49608         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49609         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
49610         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
49611         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
49612         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
49613         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
49614         functions can be used without declaring them, or that you can
49615         exit with status -1.
49616         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
49617
49618 2006-04-24  Karl Berry  <karl@gnu.org>
49619
49620         * config/srclist.txt (longdouble.m4): sync lost.
49621
49622 2006-04-24  Eric Blake  <ebb9@byu.net>
49623
49624         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
49625
49626 2006-04-24  Bruno Haible  <bruno@clisp.org>
49627
49628         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
49629         poll() implementation in AIX.
49630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49631
49632 2006-04-24  Bruno Haible  <bruno@clisp.org>
49633
49634         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
49635         assigned exactly once.
49636
49637 2006-04-23  Claudio Fontana  <claudio@gnu.org>
49638             Bruno Haible  <bruno@clisp.org>
49639
49640         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
49641         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
49642         for AM_CPPFLAGS.
49643
49644 2006-04-23  Bruno Haible  <bruno@clisp.org>
49645
49646         * modules/copy-file: Depend on unistd.
49647         * modules/execute: Likewise.
49648         * modules/fatal-signal: Likewise.
49649         * modules/findprog: Likewise.
49650         * modules/mkdtemp : Likewise.
49651         * modules/pipe: Likewise.
49652         * modules/wait-process: Likewise.
49653
49654 2006-04-23  Bruno Haible  <bruno@clisp.org>
49655
49656         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
49657         condition was already detected.
49658         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49659
49660 2006-04-23  Bruno Haible  <bruno@clisp.org>
49661
49662         * lib/copy-file.c: Include <unistd.h> unconditionally.
49663         * lib/execute.c: Likewise.
49664         * lib/fatal-signal.c: Likewise.
49665         * lib/findprog.c: Likewise.
49666         * lib/mkdtemp.c: Likewise.
49667         * lib/pipe.h: Likewise.
49668         * lib/pipe.c: Likewise.
49669         * lib/wait-process.h: Likewise.
49670
49671 2006-04-23  Bruno Haible  <bruno@clisp.org>
49672
49673         * gnulib-tool (func_usage): Fix --import description. Document
49674         --update.
49675         (func_import): Create temporary file in a temporary directory, if
49676         --dry-run is specified. Silence errors from 'grep' when there are no
49677         m4 files in $m4dir.
49678         (func_create_testdir): Silence errors from 'grep' when there are no
49679         m4 files in $m4dir.
49680         Reported by Karl Berry <karl@freefriends.org>.
49681
49682 2006-04-20  Bruno Haible  <bruno@clisp.org>
49683
49684         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
49685         one argument, so that the code will be portable to Autoconf 2.60.
49686         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
49687         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49688         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
49689
49690 2006-04-19  Derek Price  <derek@ximbiot.com>
49691             Eric Blake  <ebb9@byu.net>
49692
49693         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
49694         rather than "/full/path.h".  Update comment to match.  Shorten &
49695         generalize m4_translit call via AS_TR_CPP.
49696
49697 2006-04-19  Derek Price  <derek@ximbiot.com>
49698             Eric Blake  <ebb9@byu.net>
49699
49700         * lib/inttypes.h: Correct grammar in comment.
49701
49702 2006-04-18  Derek Price  <derek@ximbiot.com>
49703             Paul Eggert  <eggert@cs.ucla.edu>
49704
49705         * modules/inttypes: New file.
49706         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
49707
49708 2006-04-18  Derek Price  <derek@ximbiot.com>
49709             Paul Eggert  <eggert@cs.ucla.edu>
49710
49711         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
49712         New files.
49713
49714 2006-04-18  Derek Price  <derek@ximbiot.com>
49715             Paul Eggert  <eggert@cs.ucla.edu>
49716
49717         * lib/inttypes.h: New file.
49718         * lib/strtoimax.c: Assume <inttypes.h>.
49719
49720 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
49721
49722         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
49723         isn't mounted.  Problem reported by Kir Kolyshkin.
49724
49725 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
49726
49727         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
49728         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
49729         Derek R. Price.
49730         * lib/regex.h (RE_DUP_MAX): Update comment to match current
49731         implementation.
49732
49733 2006-04-12  Eric Blake  <ebb9@byu.net>
49734
49735         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
49736         is now done automatically by the corresponding Autoconf macro.
49737
49738 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
49739
49740         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
49741         time_r.h.
49742
49743 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
49744
49745         Merge regex changes from libc, removing some of our
49746         POSIX-conformance changes that were rejected and redoing them in a
49747         less-intrusive way.
49748
49749         * lib/regcomp.c (re_compile_internal, init_dfa):
49750         Length arg is now size_t, not Idx.  All uses changed.
49751         (peek_token): Forward decl now says internal_function.
49752         (__re_error_msgid, __re_error_msgid_idx):
49753         Now static rather than extern with attribute_hidden.
49754         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
49755         For some reason libc prefers K&R style defns for external functions.
49756         (regerror) [!defined _LIBC]: Likewise.
49757         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
49758         (seek_collating_symbol_entry, lookup_collation_sequence_value):
49759         (build_range_exp, build_collating_symbol):
49760         Use K&R-style defn.
49761         (re_compile_fastmap): Use '\0' to memset, not 0.
49762         (utf8_sb_map): Make the calculations more obvious.
49763         (init_dfa, parse_bracket_exp, build_charclass_op):
49764         Call calloc and cast result, as glibc does.
49765         (init_word_char, fetch_token, peek_token, peek_token_bracket):
49766         (build_range_exp, build_collating_symbol):
49767         Now internal functions.
49768
49769         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
49770
49771         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
49772         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
49773         Don't depend on VMS; depend on __VMS instead, for POSIX
49774         namespace cleanness.
49775         (regoff_t): Define to ssize_t, not long int.
49776
49777         Remove the REG_ macros named below.  Instead, make the old names
49778         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
49779         __USE_GNU_REGEX.
49780         (REG_BACKSLASH_ESCAPE_IN_LISTS):
49781         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
49782         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
49783         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
49784         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
49785         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
49786         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
49787         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
49788         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
49789         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
49790         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
49791         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
49792         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
49793         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
49794         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
49795         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
49796         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
49797         (REG_NREGS):
49798         Remove.  All uses replaced by the old RE_* names.
49799         (RE_BACKSLASH_ESCAPE_IN_LISTS):
49800         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
49801         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
49802         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
49803         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
49804         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
49805         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
49806         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
49807         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
49808         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
49809         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
49810         Don't bother having these macros be independent of each others'
49811         values, since they no longer exist in the POSIX name space.
49812
49813         Rename the following member names back to their old names,
49814         unless !__USE_GNU_REGEX.  All uses changed back.
49815         (buffer): Renamed from re_buffer.
49816         (allocated): Renamed from re_allocated.
49817         (used): Renamed from re_used.
49818         (syntax): Renamed from re_syntax.
49819         (fastmap): Renamed from re_fastmap.
49820         (translate): Renamed from re_translate.
49821         (can_be_null): Renamed from re_can_be_null.
49822         (regs_allocated): Renamed from re_regs_allocated.
49823         (fastmap_accurate): Renamed from re_fastmap_accurate.
49824         (no_sub): Renamed from re_no_sub.
49825         (not_bol): Renamed from re_not_bol.
49826         (not_eol): Renamed from re_not_eol.
49827         (newline_anchor): Renamed from re_newline_anchor.
49828         (num_regs): Renamed from rm_num_regs.
49829         (start): Renamed from rm_start.
49830         (end): Renamed from rm_end.
49831
49832         (free_state): Move up a bit.
49833
49834         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
49835         #define to be empty.
49836         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
49837         when that is what is intended.
49838         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
49839         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
49840         (MAX): New macro.
49841         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
49842         All uses changed back to re_malloc, etc.  It's now the caller's
49843         responsibility to check for overflow; all callers changed.
49844         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
49845         (re_x2nrealloc): Remove.
49846         (free_state): Remove decl.
49847
49848         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
49849         (re_set_registers, re_exec):
49850         Use K&R-style defn.
49851
49852         2006-01-31  Roland McGrath  <roland@redhat.com>
49853
49854         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
49855         Reported by Mike Frysinger <vapier@gentoo.org>.
49856
49857         2006-01-15  Andreas Jaeger  <aj@suse.de>
49858
49859         [BZ #1950]
49860         * lib/regex_internal.c (re_string_reconstruct): Adjust for
49861         build_wcs_upper_buffer change.
49862         (build_wcs_upper_buffer): Change return type.
49863
49864         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
49865
49866         * lib/regex_internal.h: Include <stdint.h> if available.
49867
49868         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
49869
49870         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
49871
49872         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
49873
49874         * lib/regcomp.c: Adjust for changed secondary hash function.
49875
49876         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
49877
49878         * lib/regex.h: Pretty printing.
49879         Clean up namespace a bit.
49880
49881         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
49882
49883         * lib/regexec.c (update_cur_sifted_state, check_arrival,
49884         check_arrival_add_next_nodes): Avoid using uninitialized variable.
49885
49886         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
49887                     Ulrich Drepper  <drepper@redhat.com>
49888
49889         [BZ #1302]
49890         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
49891         changed.
49892         (bitset_word_t): Renamed from bitset_word.  All uses changed.
49893
49894         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
49895
49896         [BZ #281]
49897         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
49898         * lib/regcomp.c: Remove unnecessary uses of
49899         unsigned RE_TRANSLATE_TYPE.
49900         * lib/regex_internal.h: Likewise.
49901         * lib/regex_internal.c: Likewise.
49902         * lib/regexec.c: Likewise.
49903         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
49904
49905         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
49906
49907         * lib/regexec.c (find_recover_state): Remove unnecessary
49908         initialization.
49909         (transit_state_bkref): Make DFA a const pointer.
49910         (get_subexp): Likewise.
49911         (check_arrival): Likewise.
49912         (update_cur_sifted_state): Likewise.
49913         (re_search_internal): Likewise.
49914         (prune_impossible_nodes): Likewise.
49915         (acquire_init_state_context): Likewise.
49916         (proceed_next_node): Likewise.
49917         (set_regs): Likewise.
49918         (free_fail_stack_return): Likewise.
49919         (check_arrival_expand_ecl): Mark DFA parameter as const.
49920         (check_arrival_expand_ecl_sub): Likewise.
49921         (check_subexp_limits): Likewise.
49922         (sub_epsilon_src_nodes):  Likewise.
49923         (add_epsilon_src_nodes):  Likewise.
49924         (merge_state_array): Likewise.
49925         (update_regs): Likewise.
49926         (build_trtable): Likewise.
49927         (sift_states_backward): Mark MCTX parameter as const.
49928         (build_sifted_states): Likewise.
49929         (update_cur_sifted_state): Likewise.
49930         (sift_states_mkref): Likewise.
49931         (check_arrival_expand_ecl): Mark eclosure as const.
49932         (check_dst_limits_calc_pos_1): Likewise.
49933         * lib/regex_internal.h (re_match_context_t): Make dfa a const
49934         pointer.
49935
49936         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
49937
49938         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
49939         (transit_state_sb): Likewise.
49940         (transit_state_mb): Likewise.
49941         (sift_states_iter_mb): Likewise.
49942         (check_arrival_add_next_nodes): Likewise.
49943         (check_node_accept_bytes): Change first parameter to pointer-to-const.
49944         [_LIBC] (re_search_2_stub): Use mempcpy.
49945
49946         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
49947         mbrtowc for very simple UTF-8 case.
49948
49949         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
49950         a pointer-to-const.
49951         (re_acquire_state_context): Likewise.
49952         * lib/regex_internal.h: Adjust prototypes.
49953
49954         * lib/regex.c: Prevent using C++ compilers.
49955
49956         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
49957         (re_acquire_state_context): Likewise.
49958
49959 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
49960
49961         * modules/regex (Depends-on): Add ssize_t.
49962
49963 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
49964
49965         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
49966         translation table.
49967
49968 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
49969
49970         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
49971
49972 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
49973             Bruno Haible  <bruno@clisp.org>
49974
49975         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
49976         <sys/types.h> and <inttypes.h>.
49977
49978 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49979
49980         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
49981         `__error_t_defined', so argp.h will not typedef the former.
49982
49983 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49984
49985         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
49986         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
49987         glibc names.  Even if glibc is changed to conform to POSIX, the
49988         traditional names will be available anyway, since regex depends on
49989         the extensions module.  Also, fix a longstanding typo in the
49990         implementation of Spencer ERE test #75 from grep 2.3.  Problems
49991         reported by Emanuele Giaquinta.  Also, change sense of cached
49992         variable, so that the message makes sense.
49993
49994 2006-03-24  Simon Josefsson  <jas@extundo.com>
49995
49996         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
49997         including some doc fixes.
49998         (base64_encode_alloc): Fix +1 bug on allocation failures.
49999
50000 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50001
50002         * lib/base64.c (base64_encode): Do not read past end of array with
50003         unsanitized input on systems with CHAR_BIT > 8.
50004
50005 2006-03-24  Eric Blake  <ebb9@byu.net>
50006
50007         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
50008
50009 2006-03-22  Karl Berry  <karl@gnu.org>
50010
50011         * config/srclist.txt (*setenv.[ch]): get from coreutils.
50012         * config/srclistvars.sh (COREUTILS): new var.
50013
50014 2006-03-17  Jim Meyering  <jim@meyering.net>
50015
50016         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
50017         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
50018
50019 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
50020
50021         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
50022         no longer needs it.  Instead, check that regoff_t is as least
50023         as wide as ptrdiff_t.
50024
50025         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
50026         so that our regex.h stays compatible with the installed regex.
50027         This is helpful for installers who configure --without-included-regex.
50028         Problem reported by Emanuele Giaquinta.
50029
50030 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
50031
50032         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
50033         Typedef to long int, not to off_, as POSIX will likely change
50034         in that direction.
50035
50036 2006-03-15  Eric Blake  <ebb9@byu.net>
50037
50038         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
50039
50040 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
50041
50042         * lib/argp-help.c (validate_uparams): Fix typo
50043         * lib/argp-parse.c (argp_default_options): Consistently begin help
50044         messages with a lowercase letter.
50045
50046 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
50047
50048         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
50049         overrun buffers and shouldn't be used (much as gets shouldn't be
50050         used).
50051         * lib/time_r.c (asctime_r, ctime_r): Likewise.
50052
50053 2006-03-08  Simon Josefsson  <jas@extundo.com>
50054
50055         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
50056         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50057
50058 2006-03-08  Simon Josefsson  <jas@extundo.com>
50059
50060         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
50061         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50062
50063 2006-03-08  Simon Josefsson  <jas@extundo.com>
50064
50065         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
50066         signal that configure disabled the device.
50067
50068 2006-03-08  Simon Josefsson  <jas@extundo.com>
50069
50070         * build-aux/maint.mk: Fix refresh-po, to handle no translated
50071         languages.
50072
50073 2006-03-07  Simon Josefsson  <jas@extundo.com>
50074
50075         * modules/getopt (Depends-on): Add unistd.
50076
50077         * modules/unistd: New file.
50078
50079 2006-03-07  Simon Josefsson  <jas@extundo.com>
50080
50081         * modules/gc-random: New file.
50082
50083 2006-03-07  Simon Josefsson  <jas@extundo.com>
50084
50085         * m4/unistd_h.m4: New file.
50086
50087 2006-03-07  Simon Josefsson  <jas@extundo.com>
50088
50089         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
50090         test to be side-effect free by storing the result in the cache
50091         variable gl_cv_lib_readline, and moving the assignment of
50092         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
50093         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50094
50095 2006-03-07  Simon Josefsson  <jas@extundo.com>
50096
50097         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
50098         error on missing devices (the functions will return an error).
50099
50100         * m4/gc.m4: Move random stuff to gc-random.m4
50101
50102 2006-03-07  Simon Josefsson  <jas@extundo.com>
50103
50104         * lib/unistd_.h: New file.
50105
50106 2006-03-07  Simon Josefsson  <jas@extundo.com>
50107
50108         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
50109
50110 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50111
50112         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
50113         Problem reported by Juan Manuel Guerrero.
50114
50115 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50116
50117         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
50118         the unistd module.
50119         * lib/getlogin_r.c: Likewise.
50120         * lib/getlogin_r.h: Likewise.
50121         * lib/glob.c: Likewise.
50122         * lib/pagealign_alloc.c: Likewise.
50123         * lib/unistd_.h: Remove; no longer needed.
50124
50125 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50126
50127         * MODULES.html.sh (Support for systems lacking POSIX:2001):
50128         Add unistd.
50129         * modules/c-stack (Depends-on): Add unistd.
50130         * modules/getlogin_r: Likewise.
50131         * modules/glob: Likewise.
50132         * modules/pagealign_alloc: Likewise.
50133         * modules/unistd (Files): Remove lib/unistd_.h.
50134         (EXTRA_DIST): Remove.
50135         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
50136         need unistd_.h.
50137         (MOSTLYCLEANFILES): Remove unistd.h-t.
50138
50139 2006-03-03  Simon Josefsson  <jas@extundo.com>
50140
50141         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
50142
50143 2006-03-03  Simon Josefsson  <jas@extundo.com>
50144
50145         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
50146         libidn and bison.
50147
50148 2006-03-03  Simon Josefsson  <jas@extundo.com>
50149
50150         * build-aux/maint.mk: Add indent target.
50151
50152 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
50153
50154         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
50155         our replacement poll.h in any case, to avoid a differing
50156         declaration from a system header.  Seen on AIX.
50157
50158 2006-03-01  Simon Josefsson  <jas@extundo.com>
50159
50160         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
50161         <kasal@ucw.cz>.
50162
50163 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50164
50165         * modules/gettime (Depends-on): Add extensions module.
50166         * modules/nanosleep (Depends-on): Likewise.
50167         * modules/settime (Depends-on): Likewise.
50168
50169 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50170
50171         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
50172         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
50173         pedantically.
50174         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50175         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
50176
50177         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
50178         not "==".  Reported by Ralf Wildenhues.
50179
50180 2006-03-01  Karl Berry  <karl@gnu.org>
50181
50182         * doc/Copyright/request-*: new files, synced from gnuorg.
50183
50184 2006-03-01  Karl Berry  <karl@gnu.org>
50185
50186         * config/srclist.txt (Copyright/*): new entries.
50187
50188 2006-02-28  Simon Josefsson  <jas@extundo.com>
50189
50190         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
50191
50192 2006-02-27  Simon Josefsson  <jas@extundo.com>
50193
50194         * lib/base64.h: Indent #define's.  From Jim Meyering
50195         <jim@meyering.net>.
50196
50197 2006-02-27  Jim Meyering  <jim@meyering.net>
50198
50199         Revert the change of 2006-02-24, so these files can continue
50200         to be sync'd from gettext.
50201         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
50202         of `config.h'.
50203
50204 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
50205
50206         * modules/intprops: New file.
50207         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
50208         Add intprops.
50209         * modules/getloadavg (Files): Remove lib/intprops.h.
50210         (Depends-on): Add intprops.
50211         * modules/human: Likewise.
50212         * modules/inttostr: Likewise.
50213         * modules/openat: Likewise.
50214         * modules/sig2str: Likewise.
50215         * modules/userspec: Likewise.
50216         * modules/utimecmp: Likewise.
50217         * modules/xnanosleep: Likewise.
50218         * modules/xstrtol: Likewise.
50219
50220 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
50221
50222         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
50223         * modules/lock-tests (TESTS): Use $(EXEEXT).
50224         * modules/tls-tests: Likewise.
50225         * modules/argp-tests: Likewise.
50226         (check_PROGRAMS): New var, replacing...
50227         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
50228
50229 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50230
50231         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
50232         `config.h'.
50233
50234 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
50235
50236         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
50237
50238 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50239
50240         Sync from coreutils.
50241         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
50242         gl_CHDIR_SAFER.
50243
50244 2006-02-22  Jim Meyering  <jim@meyering.net>
50245
50246         Sync from coreutils.
50247         * m4/chdir-safer.m4: New file.
50248
50249 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
50250
50251         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
50252         AT_FDCWD exceeds INT_MAX.
50253         * lib/openat.h (AT_FDCWD): Likewise.
50254
50255 2006-02-17  Eric Blake  <address@hidden>
50256
50257         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
50258
50259 2006-02-16  Simon Josefsson  <jas@extundo.com>
50260
50261         * modules/getaddrinfo (Depends-on): Add sys_socket.
50262
50263 2006-02-15  Simon Josefsson  <jas@extundo.com>
50264
50265         * build-aux/maint.mk: Add dsyntax-check rule.
50266
50267 2006-02-15  Eric Blake  <ebb9@byu.net>
50268
50269         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
50270         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
50271         'present but cannot compile' warnings on cygwin.
50272         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
50273         use ws2tcpip.h if sys/socket.h works.
50274         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
50275         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
50276
50277 2006-02-14  Simon Josefsson  <jas@extundo.com>
50278
50279         * modules/maintainer-makefile (Files): Rename.
50280
50281         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
50282         and (the local) Makefile.cfg to maint-cfg.mk.
50283
50284         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
50285         to the latter.
50286
50287         * modules/maintainer-makefile: New module.
50288
50289         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
50290         severaly stripped to make it possible to build it up from scratch
50291         with reliable tests.
50292
50293         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
50294         fixes to permit overriding the default actions when configure and
50295         makefile are not available.
50296
50297 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
50298
50299         Sync from coreutils.
50300         * modules/lstat (Depends-on): Don't depend on xalloc.
50301         (License): Change from GPL to LGPL, since this is now simply a
50302         replacement for a libc function.
50303
50304 2006-02-14  Jim Meyering  <jim@meyering.net>
50305
50306         Sync from coreutils.
50307
50308         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
50309         failure on deficient systems, and simplify gnulib lgpl dependencies.
50310         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
50311         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
50312
50313         * lib/xalloc-die.c: Remove unused definition of N_.
50314
50315 2006-02-14  Jim Meyering  <jim@meyering.net>
50316
50317         Sync from coreutils.
50318         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
50319         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
50320         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
50321         double-quote uses of that variable, to accommodate the rare case in
50322         which getmntent is available in none of the libraries checked.  This
50323         happens at least on FreeBSD 5.0.
50324
50325 2006-02-13  Simon Josefsson  <jas@extundo.com>
50326
50327         * gnulib-tool (Usage): Fix --import, from
50328         karl@freefriends.org (Karl Berry).
50329
50330 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
50331
50332         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
50333
50334 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
50335
50336         * lib/argp-namefrob.h: Restore changes accidentally lost during the
50337         "autoupdate" on 2005-12-12.
50338
50339 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
50340
50341         * modules/closeout (Depends-on): Remove atexit.
50342
50343 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
50344
50345         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
50346         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
50347
50348 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
50349
50350         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
50351         __EXTENSIONS__ if this causes compilation to fail.  Problem
50352         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
50353         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
50354
50355 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
50356
50357         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
50358         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
50359         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
50360         All uses changed.
50361
50362 2006-01-26  Simon Josefsson  <jas@extundo.com>
50363
50364         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
50365         prototype is visible on mingw32.
50366
50367         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
50368         for mingw32.
50369
50370         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
50371         mingw32).
50372
50373 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
50374
50375         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
50376         attempt to open for write; this always fails, at least on POSIX
50377         hosts.  This reinstates the 2006-01-09 change, which was
50378         inadvertently removed.
50379
50380 2006-01-26  Bruno Haible  <bruno@clisp.org>
50381
50382         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
50383         Reported by Paul Eggert.
50384
50385 2006-01-26  Bruno Haible  <bruno@clisp.org>
50386             Paul Eggert  <eggert@cs.ucla.edu>
50387
50388         * lib/stdbool_.h (_Bool)
50389         [(! (defined __cplusplus || defined __BEOS__)
50390           && !defined __GNUC__
50391           && !(defined __HP_cc || defined __xlc__
50392                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
50393                || defined __sgi))]:
50394         #define to signed char in these cases too; this simplifies
50395         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
50396         etc., separately) and makes it more conservative.
50397
50398 2006-01-25  Simon Josefsson  <jas@extundo.com>
50399
50400         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
50401         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
50402         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
50403
50404 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
50405
50406         * lib/argp-namefrob.h: Bugfix. Remove stray #
50407
50408 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
50409
50410         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
50411         so that we test the test.
50412         Check for yet another HP-UX cc bug involving *bool |= bool.
50413
50414 2006-01-25  Karl Berry  <karl@gnu.org>
50415
50416         * config/srclist.txt (vasnprintf.c): sync lost.
50417
50418 2006-01-25  Jim Meyering  <jim@meyering.net>
50419
50420         Sync from the stable (b5) branch of coreutils:
50421
50422         * lib/fts.c (fts_children): Don't let close() clobber errno from
50423         failed fchdir().
50424
50425         * lib/fts.c (fts_stat): When following a symlink-to-directory,
50426         don't necessarily interpret stat-fails+lstat-succeeds as indicating
50427         a dangling symlink.  That can also happen at least for ELOOP.
50428         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
50429         FYI, this bug predates the inclusion of fts.c in coreutils.
50430
50431         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
50432         in their own block, so pre-c99 compilers don't object.
50433
50434         Avoid the double-free (first in fts_read, second in fts_close) that
50435         would occur when an `active' directory is made inaccessible (e.g.,
50436         via chmod a-x) during a traversal.
50437         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
50438         before returning.  Reproduce this failure by
50439         mkdir -p a/b; cd a; chmod a-x . b
50440         Reported by Stavros Passas.
50441
50442 2006-01-25  Jim Meyering  <jim@meyering.net>
50443
50444         * lib/fileblocks.c: Remove more useless parentheses.
50445         * lib/readutmp.h: Likewise.
50446
50447 2006-01-25  Bruno Haible  <bruno@clisp.org>
50448
50449         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
50450         warnings.
50451         Reported by Paul Eggert.
50452
50453 2006-01-25  Bruno Haible  <bruno@clisp.org>
50454
50455         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
50456         rid of a trap command. For Solaris sh.
50457         Reported by Mark D. Baushke <mdb@gnu.org>.
50458
50459 2006-01-24  Simon Josefsson  <jas@extundo.com>
50460
50461         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
50462         Bruno.
50463
50464 2006-01-24  Karl Berry  <karl@gnu.org>
50465
50466         * config/srclist.txt (argp-namefrob.h): sync lost.
50467
50468 2006-01-24  Jim Meyering  <jim@meyering.net>
50469
50470         * modules/openat (Files): Add lib/intprops.h.
50471         From Mark D. Baushke.
50472
50473 2006-01-24  Jim Meyering  <jim@meyering.net>
50474
50475         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
50476         Reported by Mark D. Baushke.
50477
50478 2006-01-24  Jim Meyering  <jim@meyering.net>
50479
50480         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
50481
50482 2006-01-24  Bruno Haible  <bruno@clisp.org>
50483
50484         * modules/strnlen (Maintainer): Change from glibc to all.
50485
50486 2006-01-24  Bruno Haible  <bruno@clisp.org>
50487
50488         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
50489         Patch by Paul Eggert.
50490
50491 2006-01-24  Bruno Haible  <bruno@clisp.org>
50492
50493         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
50494         already has it.
50495         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
50496         2005-11-26.
50497
50498         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
50499         'signed char' to avoid problems with the built-in _Bool type.
50500         Reported by Paul Eggert on 2005-11-26.
50501
50502 2006-01-24  Bruno Haible  <bruno@clisp.org>
50503
50504         * gnulib-tool (func_import): Avoid constructing complicated sed
50505         expressions inside backquote.
50506         Report and solution by Mark D. Baushke <mdb@gnu.org>.
50507
50508 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
50509
50510         These changes imported from libc.
50511         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
50512         test and two separate function calls.
50513         * lib/strndup.c (__strndup): Add libc_hidden_def.
50514
50515 2006-01-23  Simon Josefsson  <jas@extundo.com>
50516
50517         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
50518         Remove the test_*_SOURCES variable: automake infers it by default.
50519         * modules/tls-tests: Likewise.
50520
50521 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50522
50523         Work around porting bugs reported by Dieter in
50524         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
50525         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
50526         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
50527         Include "getopt.h" first, to check interface.
50528         (getenv): Declare only if defined HAVE_DECL_GETENV &&
50529         !HAVE_DECL_GETENV.
50530         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
50531         (__strndup): Revert to K&R-style function dfns, the glibc style.
50532         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
50533         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
50534         Include strnlen.h first, to get prototype properly.
50535         (strnlen): Renamed from __strnlen.
50536         Remove weak alias.
50537
50538 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50539
50540         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
50541
50542 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50543
50544         * config/srclist.txt: Adjust to reflect glibc reorganization.
50545         This affects only comments.
50546
50547 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50548
50549          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
50550          Reported by Bruce Korb <bkorb@gnu.org>.
50551
50552 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
50553
50554         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
50555         to pacify gcc -Wswitch-default.
50556
50557 2006-01-22  Bruno Haible  <bruno@clisp.org>
50558
50559         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
50560         temporary buffer for sprintf, take into account the precision also
50561         for 'd', 'i', 'u', 'o', 'x', 'X'.
50562
50563 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
50564
50565         * modules/argp-tests: New module
50566         * tests/test-argp.c: New file
50567         * tests/test-argp-2.sh: New file
50568
50569 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
50570
50571         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
50572         (__argp_base_name): Removed
50573         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
50574         typo.
50575         (__argp_base_name): Provide macro definition or extern declaration
50576         depending on the configuration
50577
50578 2006-01-20  Simon Josefsson  <jas@extundo.com>
50579
50580         * modules/inet_ntop (Depends-on): Depend on sys_socket.
50581
50582 2006-01-20  Simon Josefsson  <jas@extundo.com>
50583
50584         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
50585
50586 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
50587
50588         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
50589         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
50590         Suggested by Bruno Haible.
50591
50592 2006-01-20  Karl Berry  <karl@gnu.org>
50593
50594         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
50595         until changes propagate, I guess.
50596
50597 2006-01-19  Simon Josefsson  <jas@extundo.com>
50598
50599         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
50600
50601 2006-01-19  Simon Josefsson  <jas@extundo.com>
50602
50603         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
50604
50605 2006-01-19  Simon Josefsson  <jas@extundo.com>
50606
50607         * gnulib-tool: Set check_PROGRAMS.
50608
50609         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
50610         modules/des-tests, modules/gc-arcfour-tests,
50611         modules/gc-arctwo-tests, modules/gc-des-tests,
50612         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
50613         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
50614         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
50615         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
50616         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
50617         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
50618         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
50619         test_*_SOURCES.
50620
50621 2006-01-18  Simon Josefsson  <jas@extundo.com>
50622
50623         * modules/socklen (Depends-on): Depend on sys_socket.
50624
50625 2006-01-18  Simon Josefsson  <jas@extundo.com>
50626
50627         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
50628         modules/des-tests, modules/gc-arcfour-tests,
50629         modules/gc-arctwo-tests, modules/gc-des-tests,
50630         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
50631         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
50632         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
50633         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
50634         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
50635         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
50636         $(EXEEXT) to automake TESTS variable, for mingw32.
50637
50638 2006-01-17  Simon Josefsson  <jas@extundo.com>
50639
50640         * modules/socklen (Include): Need sys/socket.h.
50641
50642 2006-01-17  Bruno Haible  <bruno@clisp.org>
50643
50644         * modules/ssize_t (Include): Add <sys/types.h>.
50645
50646 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
50647
50648         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
50649         it's not portable and it doesn't work with cross-compiles.
50650         Problem reported by Bruno Haible.  Fix missing-$ typo in
50651         'test "gl_cv_ignore_unused_libraries" ...' that prevented
50652         -zignore from being used with Sun's C compiler.
50653
50654 2006-01-12  Simon Josefsson  <jas@extundo.com>
50655
50656         * lib/base64.c: Fix warning, reported by Bruno Haible
50657         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
50658
50659 2006-01-12  Bruno Haible  <bruno@clisp.org>
50660
50661         * modules/ldd: New file.
50662         * build-aux/ldd.sh.in: New file.
50663         * MODULES.html.sh (Support for building libraries and executables): Add
50664         ldd.
50665
50666 2006-01-12  Bruno Haible  <bruno@clisp.org>
50667
50668         * m4/ldd.m4: New file.
50669
50670 2006-01-12  Bruno Haible  <bruno@clisp.org>
50671
50672         * gnulib-tool (func_import, func_create_testdir): Don't go into an
50673         endless loop while replacing $auxdir with build-aux.
50674
50675 2006-01-11  Simon Josefsson  <jas@extundo.com>
50676
50677         * lib/stdint_.h (SIZE_MAX): Add missing (.
50678
50679 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
50680
50681         Sync from coreutils.
50682         * lib/md5.c: Fix commentary typos.
50683         (alignof, UNALIGNED_P): No need for a GCC-specific version.
50684         * lib/md5.h (__attribute__): Remove; unused.
50685         * lib/sha1.c: Fix commentary to match md5 better.
50686         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
50687         so that we don't need to worry about alignment.  All uses changed.
50688         This merges the 2005-10-28 md5 change into sha1.
50689
50690 2006-01-11  Jim Meyering  <jim@meyering.net>
50691
50692         Sync from coreutils.
50693         * lib/md5.c (OP): Fix spacing.
50694
50695 2006-01-11  Bruno Haible  <bruno@clisp.org>
50696
50697         Ensure automatic ordering between gl_LOCK and gl_ARGP.
50698         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
50699         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
50700
50701 2006-01-11  Bruno Haible  <bruno@clisp.org>
50702
50703         Ensure automatic ordering between gl_LOCK and gl_ARGP.
50704         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
50705         the "early" section as well.
50706
50707 2006-01-11  Bruno Haible  <bruno@clisp.org>
50708
50709         Avoid "ar: no archive members specified" error on MacOS X.
50710         * gnulib-tool (func_modules_add_dummy): New function.
50711         (func_import, func_create_testdir): Invoke it.
50712
50713 2006-01-11  Bruno Haible  <bruno@clisp.org>
50714
50715         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
50716         with $auxdir in AC_CONFIG_FILES statements.
50717
50718 2006-01-11  Bruno Haible  <bruno@clisp.org>
50719
50720         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50721         Initialize also noinst_HEADERS to empty.
50722
50723 2006-01-11  Bruno Haible  <bruno@clisp.org>
50724
50725         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
50726         variables.
50727         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
50728         autoreconf.
50729
50730 2006-01-11  Bruno Haible  <bruno@clisp.org>
50731
50732         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
50733         overridable by the user.
50734         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50735
50736 2006-01-10  Simon Josefsson  <jas@extundo.com>
50737
50738         * modules/sys_socket: New file.
50739
50740 2006-01-10  Simon Josefsson  <jas@extundo.com>
50741
50742         * m4/sys_socket_h.m4: New file.
50743
50744 2006-01-10  Simon Josefsson  <jas@extundo.com>
50745
50746         * lib/socket_.h: New file.
50747
50748 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
50749
50750         * modules/readutmp (Maintainer): Add myself.
50751
50752 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
50753
50754         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
50755         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
50756         People who are still concerned with buggy memcmp implementations
50757         can invoke gl_FUNC_MEMCMP themselves.
50758
50759 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
50760
50761         * lib/regex_internal.h (BITSET_WORD_BITS):
50762         Work around a bug in 64-bit PGC (before version 6.1-2), where the
50763         preprocessor mishandles large unsigned values as if they were signed.
50764         Problem reported by Claudio Fontana in
50765         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
50766
50767 2006-01-10  Jim Meyering  <jim@meyering.net>
50768
50769         Avoid the double-free (first in fts_read, second in fts_close) that
50770         would occur when an `active' directory is made inaccessible (e.g.,
50771         via chmod a-x) during a traversal.
50772         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
50773         before returning.  Reproduce this failure by
50774         mkdir -p a/b; cd a; chmod a-x . b
50775         Reported by Stavros Passas.
50776
50777         Sync from coreutils.
50778         * lib/sha1.c: Tweak grammar in a comment.
50779
50780 2006-01-10  Jim Meyering  <jim@meyering.net>
50781
50782         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
50783         Patch by Joerg Sonnenberger.
50784
50785 2006-01-10  Bruno Haible  <bruno@clisp.org>
50786
50787         * modules/readutmp: Depend on module free.
50788         * modules/strtok_r: Depend on module restrict.
50789
50790 2006-01-10  Bruno Haible  <bruno@clisp.org>
50791
50792         * modules/gettext (configure.ac): Add an invocation of
50793         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
50794
50795 2006-01-10  Bruno Haible  <bruno@clisp.org>
50796
50797         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
50798         Reported by Werner Lemberg <wl@gnu.org>.
50799
50800 2006-01-10  Bruno Haible  <bruno@clisp.org>
50801
50802         * lib/localcharset.c: Update from GNU gettext.
50803
50804 2006-01-10  Bruno Haible  <bruno@clisp.org>
50805
50806         * lib/argp.h (__const): Remove macro. Use const instead.
50807         * lib/argp-fmtstream.h (__const): Likewise.
50808         * lib/glob_.h (__const): Remove macro.
50809         * lib/glob-libc.h: Use const instead of __const.
50810
50811 2006-01-10  Bruno Haible  <bruno@clisp.org>
50812
50813         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
50814         variable.
50815         Needed to avoid an automake error regarding the 'gettext' module.
50816
50817 2006-01-09  Simon Josefsson  <jas@extundo.com>
50818
50819         * modules/inet_ntop (Depends-on): Add restrict.
50820
50821 2006-01-09  Simon Josefsson  <jas@extundo.com>
50822
50823         * modules/gc-rijndael-tests (License): Put under LGPL.
50824
50825         * modules/gc-des-tests (License): Likewise.
50826
50827         * modules/gc-arcfour-tests (License): Likewise.
50828
50829         * modules/gc-arctwo-tests (License): Likewise.
50830
50831         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
50832
50833         * modules/gc-hmac-sha1-tests (Files): Likewise.
50834
50835         * modules/gc-hmac-md5-tests (License): Likewise.
50836
50837         * modules/gc-sha1-tests (License): Likewise.
50838
50839         * modules/gc-md5-tests (License): Likewise.
50840
50841         * modules/gc-md4-tests (License): Likewise.
50842
50843         * modules/gc-md2-tests (License): Likewise.
50844
50845         * modules/gc-tests (License): Likewise.
50846
50847         * modules/des-tests (License): Likewise.
50848
50849         * modules/md4-tests (License): Likewise.
50850
50851         * modules/md2-tests (License): Likewise.
50852
50853 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
50854
50855         Sync from coreutils:
50856
50857         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
50858         * modules/lib-ignore: New file.
50859         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
50860         chdir-safer.m4, lchmod.m4.
50861         * modules/openat: Add mkdirat.c, openat-priv.h.
50862
50863 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
50864
50865         Sync from coreutils.
50866         * m4/lib-ignore.m4: New file.
50867         * m4/lchmod.m4: New file.
50868
50869 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
50870
50871         Sync from coreutils.
50872         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
50873         for write access: POSIX says that must fail.
50874         * lib/fts.c (diropen): Likewise.
50875         * lib/save-cwd.c (save_cwd): Likewise.
50876         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
50877         well, for minor improvements on hosts that lack O_DIRECTORY.
50878         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
50879         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
50880         Fall back on chown if open failed with EACCES.
50881
50882         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
50883         Report an error at compile-time if only a 1-second nominal clock
50884         resolution is found.
50885
50886         * lib/lchmod.h: New file.
50887         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
50888         (make_dir_parents): Use lchown rather than chown, and
50889         lchmod rather than chmod.
50890
50891         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
50892         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
50893         "proc" reported by n0dalus.
50894
50895         * lib/mountlist.c: Include <limits.h>.
50896         (dev_from_mount_options)
50897         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
50898         New function.  It no longer assumes "dev=" has the System V meaning
50899         on Linux (since it doesn't).  It also parses "dev=" more carefully.
50900         (read_file_system_list)
50901         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
50902         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
50903         dev= in that case.
50904
50905         * lib/posixtm.h (PDS_PRE_2000): New macro.
50906         * lib/posixtm.c (year): Arg is now syntax_bits rather than
50907         allow_century.  All usages changed.  Reject dates outside the range
50908         1969-1999 if PDS_PRE_2000 is used.
50909
50910 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
50911
50912         Sync from coreutils.
50913         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
50914         (Time of day items): Mention the possibility of leap seconds.
50915         Problem reported by Dr. David Alan Gilbert.
50916
50917 2006-01-09  Jim Meyering  <jim@meyering.net>
50918
50919         Sync from coreutils.
50920
50921         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
50922
50923         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
50924
50925         * lib/modechange.c (mode_compile): Reject an invalid mode string
50926         that starts with an octal digit.  From Andreas Gruenbacher.
50927
50928         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
50929         and dup to open_safer and dup_safer, respectively.
50930         (openat_permissive): Fix typo in comment.
50931
50932         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
50933         "gettext.h"; either no longer needed or are guaranteed by openat.h.
50934         (_): Remove; no longer needed.
50935         (openat): Renamed from rpl_openat; no need for rpl_openat
50936         since openat.h renames openat for us.
50937         Replace most of the body with a call to openat_permissive,
50938         to avoid duplicate code.
50939         Port to (probably hypothetical) environments were mode_t is
50940         wider than int.
50941         (openat_permissive): Require mode arg, so that we can check
50942         types better.  Put it just after flags.  Change cwd failure
50943         indicator from pointer-to-bool to pointer-to-errno-value.
50944         All callers changed.
50945         Invoke openat_save_fail and/or openat_restore_fail if
50946         cwd_errno is null, so that openat can call us.
50947         (openat_permissive, fdopendir, fstatat, unlinkat):
50948         Simplify errno handling to avoid some duplicate code,
50949         as it's OK to set errno on success.
50950         * lib/openat.h: Revamp code so that function macros depend on
50951         __OPENAT_PREFIX only, not also on AT_FDCWD.
50952         (openat_ro): Remove.  Caller changed to use openat_permissive.
50953         (openat_permissive): Now a macro, if not a function.
50954         (openat_restore_fail, openat_save_fail): Now always functions,
50955         since mkdirat needs them even if __OPENAT_PREFIX is defined.
50956
50957         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
50958         and openat.c.
50959         * lib/mkdirat.c: Include openat-priv.h.
50960         Remove definitions of macros defined therein.
50961         * lib/openat.c: Likewise.
50962
50963         * lib/mkdirat.c (mkdirat): New file and function.
50964         * lib/openat.h (mkdirat): Declare.
50965
50966         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
50967
50968         * lib/openat.h (openat_permissive): Declare.
50969         (openat_ro): Define.
50970
50971         * lib/openat.c (EXPECTED_ERRNO): New macro.
50972         (openat_permissive): New function -- used in remove.c rewrite.
50973         (all functions): Set errno just before returning, only if there
50974         was an actual failure.
50975         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
50976
50977         Emulate openat-family functions using Linux's procfs, if possible.
50978         Idea and some code based on Ulrich Drepper's glibc changes.
50979
50980         * lib/openat.c: (BUILD_PROC_NAME): New macro.
50981         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
50982         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
50983         before falling back on save_cwd and restore_cwd.
50984         (fdopendir, fstatat, unlinkat): Likewise.
50985
50986         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
50987         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
50988
50989         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
50990         as second argument to va_arg.  Otherwise, some versions of gcc
50991         warn that `if this code is reached, the program will abort'.
50992
50993 2006-01-09  Jim Meyering  <jim@meyering.net>
50994
50995         Sync from coreutils.
50996         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
50997         Require openat-priv.h.
50998
50999 2006-01-09  Bruno Haible  <bruno@clisp.org>
51000
51001         * modules/strnlen (Include): Use strnlen.h.
51002
51003 2006-01-09  Bruno Haible  <bruno@clisp.org>
51004
51005         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
51006
51007 2006-01-09  Bruno Haible  <bruno@clisp.org>
51008
51009         * lib/sysexit_.h (EX_OK): New macro.
51010         Suggested by Martin Lambers <marlam@marlam.de>.
51011
51012 2006-01-09  Bruno Haible  <bruno@clisp.org>
51013
51014         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
51015         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
51016
51017 2006-01-09  Bruno Haible  <bruno@clisp.org>
51018
51019         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
51020         numbers.
51021
51022 2006-01-09  Bruno Haible  <bruno@clisp.org>
51023
51024         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
51025         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
51026         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
51027         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
51028
51029 2006-01-09  Bruno Haible  <bruno@clisp.org>
51030
51031         * build-aux/javacomp.sh.in: New file, moved from lib/.
51032         * modules/javacomp-script (Files): Update.
51033         (configure.ac): Add AC_CONFIG_FILES invocation.
51034         (EXTRA_DIST): Remove variable.
51035
51036         * build-aux/javaexec.sh.in: New file, moved from lib/.
51037         * modules/javaexec (Files): Update.
51038         (configure.ac): Add AC_CONFIG_FILES invocation.
51039         (EXTRA_DIST): Remove javaexec.sh.in.
51040
51041         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
51042         * modules/csharpcomp-script (Files): Update.
51043         (configure.ac): Add AC_CONFIG_FILES invocation.
51044         (EXTRA_DIST): Remove variable.
51045
51046         * build-aux/csharpexec.sh.in: New file, moved from lib/.
51047         * modules/csharpexec (Files): Update.
51048         (configure.ac): Add AC_CONFIG_FILES invocation.
51049         (EXTRA_DIST): Remove csharpexec.sh.in.
51050
51051 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
51052
51053         Sync from coreutils.
51054
51055         Add POSIX ACL support
51056         * lib/acl.h (copy_acl, set_acl): Add declarations.
51057         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
51058         systems other than Linux.
51059         (chmod_or_fchmod): New function: use fchmod when possible,
51060         and chmod otherwise.
51061         (file_has_acl): Add a POSIX ACL implementation, with a
51062         Linux-specific subcase.
51063         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
51064         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
51065         acls are unsupported.
51066         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
51067         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
51068         are unsupported.
51069
51070 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
51071
51072         Sync from coreutils.
51073         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
51074
51075 2006-01-07  Bruno Haible  <bruno@clisp.org>
51076
51077         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
51078         gl_EARLY.
51079
51080 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51081
51082         * lib/strftime.c (tzname): Don't declare if it is already #defined.
51083         Problem reported for Mingw by Mark Junker.
51084
51085 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51086
51087         * README: Gnulib normally doesn't generate a tarball.
51088
51089 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
51090
51091         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
51092         long int, not int, for nanosecond counts, so that people who are
51093         used to POSIX struct timespec won't be surprised.  Reported by Jim
51094         Meyering.
51095
51096 2005-12-28  Bruno Haible  <bruno@clisp.org>
51097
51098         * build-aux/config.rpath: Update from GNU gettext.
51099
51100 2005-12-16  Jim Meyering  <jim@meyering.net>
51101
51102         * modules/fprintftime: New module.
51103         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
51104
51105 2005-12-16  Jim Meyering  <jim@meyering.net>
51106
51107         * m4/fprintftime.m4: New file.
51108
51109 2005-12-16  Jim Meyering  <jim@meyering.net>
51110
51111         * lib/fprintftime.c, lib/fprintftime.h: New files.
51112
51113 2005-12-15  Simon Josefsson  <jas@extundo.com>
51114
51115         * modules/socklen (configure.ac): Fix M4 macro name, to align with
51116         new m4/socklen.m4.
51117
51118 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51119
51120         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
51121         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
51122
51123 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51124
51125         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
51126         * lib/argp-help.c (fill_in_uparams): Check if the constructed
51127         struct uparams is valid. Fall back to the default values if it is
51128         not.
51129
51130 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51131
51132         * modules/argp (Files): Add argp-pin.c
51133         (Depends-on): dirname
51134         (lib_SOURCES): Add argp-pin.c
51135
51136 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51137
51138         * m4/argp.m4:  Check if program_invocation_name and
51139         program_invocation_short_name are declared and define appropriate
51140         macros if they are not.
51141
51142 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51143
51144         * lib/argp-help.c (__argp_base_name): New function
51145         (__argp_short_program_name): Rewrite using __argp_base_name
51146         * lib/argp-namefrob.h: Define program_invocation_name and
51147         program_invocation_short_name if requested
51148         (__argp_base_name): Add prototype
51149         * lib/argp-parse.c (argp_def): Use gettext wrappers
51150         (argp_default_parser): Use __argp_base_name
51151         * lib/argp-pin.c: New file. Defines program_invocation_name and
51152         program_invocation_short_name on systems that lack them.
51153
51154 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51155
51156         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
51157         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
51158         porting problem reported by Georg Schwarz in
51159         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
51160
51161 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51162
51163         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
51164         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
51165         porting problem reported by Georg Schwarz in
51166         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
51167
51168 2005-12-05  Bruno Haible  <bruno@clisp.org>
51169
51170         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
51171         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
51172         Reported by Mark Junker <mjscod@gmx.de>.
51173
51174 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
51175
51176         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
51177         Use implementation from Albert Chin, with some
51178         comments/corrections by Stepan Kasal and myself.
51179
51180 2005-12-02  Bruno Haible  <bruno@clisp.org>
51181
51182         * gnulib-tool (func_import): Accept GPLed build tool modules when
51183         --lgpl is given.
51184         * modules/csharpcomp-script: New file.
51185         * modules/csharpcomp: Depend on it.
51186         * modules/javacomp-script: New file.
51187         * modules/javacomp: Depend on it.
51188         Suggested by Simon Josefsson.
51189
51190 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
51191
51192         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
51193         statement, to work around an HP-UX 10.20 compiler bug reported by
51194         Peter O'Gorman.
51195
51196 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
51197
51198         * modules/savedir (Depends-on): Add openat.
51199
51200 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
51201
51202         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
51203         (uintmax_t) [defined uintmax_t]: Do not declare.
51204         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
51205         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
51206         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
51207         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
51208         sake of portability to weird hosts that C allows (though we don't
51209         know of any practical examples).
51210
51211         * lib/savedir.h (fdsavedir): New decl.
51212         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
51213         contains most of the former guts of savedir.
51214         (savedir): Use savedirstream.
51215         Include "openat.h".
51216
51217 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51218
51219         * modules/obstack (Files): Add m4/ulonglong.m4.
51220         Problem reported by Davide Angelocola.
51221
51222 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
51223
51224         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
51225         coreutils no longer futzes with rounding modes.
51226
51227 2005-11-14  Jim Meyering  <jim@meyering.net>
51228
51229         * lib/mkstemp-safer.c: Include <config.h>, required for possible
51230         replacement of mkstemp.
51231
51232 2005-11-10  Simon Josefsson  <jas@extundo.com>
51233
51234         * lib/readline.c: Remove EOL.
51235
51236 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51237
51238         * modules/gethrxtime (Depends-on): Add gettime.
51239
51240 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51241
51242         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
51243         or gettimeofday; no longer needed.
51244
51245 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51246
51247         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
51248         time business.
51249         (gethrxtime) [! (HAVE_NANOUPTIME
51250         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
51251         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
51252         our own approximation.
51253
51254 2005-11-08  Eric Blake  <ebb9@byu.net>
51255
51256         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
51257
51258 2005-11-08  Eric Blake  <ebb9@byu.net>
51259
51260         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
51261
51262 2005-11-04  Bruno Haible  <bruno@clisp.org>
51263
51264         * gnulib-tool: Implement --update mode.
51265
51266 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
51267
51268         Fix porting problem reported by Theodoros V. Kalamatianos.
51269         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
51270         Don't assume that futimes failing means we must fail.
51271
51272 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
51273
51274         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
51275         variables to suggest the intended function of the PATH_MAX check.
51276
51277 2005-10-30  Kean Johnston  <jkj@sco.com>
51278
51279         Trivial changes to support SCO systems.
51280         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
51281         as PATH_MAX.
51282         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
51283         where __ptr is null when no I/O is pending.
51284
51285 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
51286
51287         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
51288         leave errno alone.  Problem reported by Dmitry V. Levin.
51289
51290 2005-10-28  Simon Josefsson  <jas@extundo.com>
51291
51292         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
51293         Test more.
51294
51295         * tests/test-gc-md2.c, tests/test-md2.c: New files.
51296
51297         * modules/md2, modules/md2-tests: New files.
51298
51299 2005-10-28  Simon Josefsson  <jas@extundo.com>
51300
51301         * m4/inet_ntop.m4: More tests.
51302
51303         * m4/gc-md2.m4, md2.m4: New file.
51304
51305 2005-10-28  Simon Josefsson  <jas@extundo.com>
51306
51307         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
51308         "restrict" keywords, as per POSIX.  Protect the function
51309         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
51310         Don't use K&R prototypes.  Check the sprintf return values.
51311         Re-define EAFNOSUPPORT if not present.  Indent.
51312
51313         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
51314         suggested by Bruno Haible <bruno@clisp.org>.
51315
51316         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
51317
51318         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
51319
51320         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
51321         libgcrypt).
51322
51323         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
51324
51325         * lib/md2.h, lib/md2.c: New files.
51326
51327 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
51328
51329         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
51330         errno alone.  Problem reported by Frederic Jolliton.
51331
51332 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
51333
51334         * modules/verify (License): Change from GPL to LGPL.  This is a
51335         tiny module and there are apparently near-equivalents that are
51336         under the BSD license.
51337
51338 2005-10-24  Simon Josefsson  <jas@extundo.com>
51339
51340         * modules/sha1: Relicense to LGPL.
51341
51342 2005-10-24  Simon Josefsson  <jas@extundo.com>
51343
51344         * lib/md4.h: Shrink buffer size, now that we changed the type.
51345
51346 2005-10-23  Simon Josefsson  <jas@extundo.com>
51347
51348         * gnulib-tool (func_import): Fix --tests-base.
51349
51350 2005-10-22  Simon Josefsson  <jas@extundo.com>
51351
51352         * modules/arcfour (Depends-on): Need stdint.
51353
51354 2005-10-22  Simon Josefsson  <jas@extundo.com>
51355
51356         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
51357         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
51358
51359 2005-10-22  Simon Josefsson  <jas@extundo.com>
51360
51361         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
51362         suggested by Bruno Haible <bruno@clisp.org>.
51363
51364 2005-10-22  Simon Josefsson  <jas@extundo.com>
51365
51366         * lib/crc.h: Include stddef.h, for size_t.
51367
51368 2005-10-22  Simon Josefsson  <jas@extundo.com>
51369
51370         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
51371         arcfour_context struct (simplify test vector testing in GNU
51372         Shishi).
51373
51374 2005-10-21  Simon Josefsson  <jas@extundo.com>
51375
51376         * modules/des, modules/des-tests: New files.
51377
51378         * modules/gc-des, modules/gc-des-tests: New files.
51379
51380         * tests/test-des.c, tests/test-gc-des.c: New file.
51381
51382 2005-10-21  Simon Josefsson  <jas@extundo.com>
51383
51384         * modules/arctwo, modules/arctwo-tests: New files.
51385
51386         * tests/test-arctwo.c: New file.
51387
51388         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
51389
51390         * tests/test-gc-arctwo.c: New file.
51391
51392 2005-10-21  Simon Josefsson  <jas@extundo.com>
51393
51394         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
51395         Bruno Haible <bruno@clisp.org>.
51396
51397         * m4/gc-des.m4: New file.
51398
51399 2005-10-21  Simon Josefsson  <jas@extundo.com>
51400
51401         * m4/arctwo.m4: New file.
51402
51403         * m4/gc-arctwo.m4: New file.
51404
51405 2005-10-21  Simon Josefsson  <jas@extundo.com>
51406
51407         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
51408         block.
51409
51410 2005-10-21  Simon Josefsson  <jas@extundo.com>
51411
51412         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
51413         <bruno@clisp.org>.
51414
51415         * lib/hmac-sha1.c (hmac_sha1): Likewise.
51416
51417         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
51418         Bruno Haible <bruno@clisp.org>.
51419
51420         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
51421         <bruno@clisp.org>.
51422
51423 2005-10-21  Simon Josefsson  <jas@extundo.com>
51424
51425         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
51426
51427 2005-10-21  Simon Josefsson  <jas@extundo.com>
51428
51429         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
51430
51431 2005-10-21  Simon Josefsson  <jas@extundo.com>
51432
51433         * lib/des.h, lib/des.c: New files.
51434
51435         * lib/gc-gnulib.c: Support DES.c
51436
51437 2005-10-21  Simon Josefsson  <jas@extundo.com>
51438
51439         * lib/arctwo.h, lib/arctwo.c: New files.
51440
51441         * lib/gc-gnulib.c: Support ARCTWO.
51442
51443 2005-10-21  Simon Josefsson  <jas@extundo.com>
51444
51445         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
51446         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51447
51448 2005-10-21  Simon Josefsson  <jas@extundo.com>
51449
51450         * gnulib-tool (func_import, func_create_testdir): Define automake
51451         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
51452         Makefile.am snippet),
51453         suggested by Bruno Haible <bruno@clisp.org>.
51454
51455         * modules/gc (Makefile.am): Use it.
51456
51457 2005-10-21  Bruno Haible  <bruno@clisp.org>
51458
51459         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
51460         patch.
51461
51462 2005-10-19  Simon Josefsson  <jas@extundo.com>
51463
51464         * tests/test-gc-rijndael.c: New file.
51465
51466         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
51467
51468 2005-10-19  Simon Josefsson  <jas@extundo.com>
51469
51470         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
51471         interface too.
51472
51473 2005-10-19  Simon Josefsson  <jas@extundo.com>
51474
51475         * tests/test-gc-arcfour.c: New file.
51476
51477         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
51478
51479 2005-10-19  Simon Josefsson  <jas@extundo.com>
51480
51481         * modules/gc-md4, modules/gc-md4-tests: New file.
51482
51483         * tests/test-gc-md4.c: New file.
51484
51485 2005-10-19  Simon Josefsson  <jas@extundo.com>
51486
51487         * m4/gc-md4.m4: New file.
51488
51489 2005-10-19  Simon Josefsson  <jas@extundo.com>
51490
51491         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
51492         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
51493         <kasal@ucw.cz>.
51494
51495 2005-10-19  Simon Josefsson  <jas@extundo.com>
51496
51497         * m4/gc-arcfour.m4: New file.
51498
51499         * m4/gc-rijndael.m4: New file.
51500
51501 2005-10-19  Simon Josefsson  <jas@extundo.com>
51502
51503         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
51504
51505 2005-10-19  Simon Josefsson  <jas@extundo.com>
51506
51507         * lib/gc-gnulib.c: Support ARCFOUR.
51508
51509 2005-10-19  Simon Josefsson  <jas@extundo.com>
51510
51511         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
51512         support.
51513
51514         * lib/gc.h: Add ECB enum type.
51515
51516         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
51517
51518 2005-10-18  Simon Josefsson  <jas@extundo.com>
51519
51520         * tests/test-md5.c: New file.
51521
51522         * modules/md5-tests: New file.
51523
51524 2005-10-18  Simon Josefsson  <jas@extundo.com>
51525
51526         * tests/test-md4.c: New file.
51527
51528         * modules/md4, modules/md4-tests: New files.
51529
51530 2005-10-18  Simon Josefsson  <jas@extundo.com>
51531
51532         * m4/md4.m4: New file.
51533
51534 2005-10-18  Simon Josefsson  <jas@extundo.com>
51535
51536         * lib/md4.h, lib/md4.c: New files, based on md5.?.
51537
51538 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
51539
51540         * gnulib-tool (func_create_testdir): Omit the second check whether
51541         BUILT_SOURCES in nonempty.
51542
51543 2005-10-17  Simon Josefsson  <jas@extundo.com>
51544
51545         * tests/test-rijndael.c: New file.
51546
51547 2005-10-17  Simon Josefsson  <jas@extundo.com>
51548
51549         * modules/sha1: Depend on stdint instead of md5.
51550
51551         * modules/md5: Depend on stdint, remove uint32_t.
51552
51553 2005-10-17  Simon Josefsson  <jas@extundo.com>
51554
51555         * modules/gc-sha1-tests: New file.
51556
51557         * tests/test-gc-sha1.c: New file.
51558
51559 2005-10-17  Simon Josefsson  <jas@extundo.com>
51560
51561         * m4/md5.m4: Remove call to uint32_t.m4.
51562
51563 2005-10-17  Simon Josefsson  <jas@extundo.com>
51564
51565         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
51566
51567         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
51568         md5.h.
51569
51570         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
51571
51572         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
51573
51574 2005-10-17  Simon Josefsson  <jas@extundo.com>
51575
51576         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
51577
51578 2005-10-17  Simon Josefsson  <jas@extundo.com>
51579
51580         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
51581
51582 2005-10-17  Simon Josefsson  <jas@extundo.com>
51583
51584         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
51585
51586         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
51587
51588 2005-10-17  Bruno Haible  <bruno@clisp.org>
51589
51590         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
51591         that it can also be used in a test.
51592
51593 2005-10-16  Bruno Haible  <bruno@clisp.org>
51594
51595         * gnulib-tool (func_emit_tests_Makefile_am): Also define
51596         TESTS_ENVIRONMENT, so that individual tests can augment it.
51597
51598         * gnulib-tool (func_create_testdir): Use an intermediate target for
51599         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
51600         macros, like $(ALLOCA_H), which cannot be passed through the command
51601         line.
51602
51603 2005-10-15  Simon Josefsson  <jas@extundo.com>
51604
51605         * modules/rijndael-tests: New file.
51606
51607         * modules/rijndael: New file.
51608
51609 2005-10-15  Simon Josefsson  <jas@extundo.com>
51610
51611         * m4/rijndael.m4: New file.
51612
51613 2005-10-15  Simon Josefsson  <jas@extundo.com>
51614
51615         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
51616
51617         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
51618
51619 2005-10-14  Simon Josefsson  <jas@extundo.com>
51620
51621         * tests/test-arcfour.c: New file.
51622
51623         * modules/arcfour, modules/arcfour-tests: New files.
51624
51625 2005-10-14  Simon Josefsson  <jas@extundo.com>
51626
51627         * m4/arcfour.m4: New file.
51628
51629 2005-10-14  Simon Josefsson  <jas@extundo.com>
51630
51631         * lib/arcfour.h, lib/arcfour.c: New files.
51632
51633 2005-10-14  Roland McGrath  <roland@redhat.com>
51634
51635         Import from libc.  [BZ #1331]
51636         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
51637         macro argument.
51638         Reported by Matej Vela <vela@debian.org>.
51639
51640 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
51641
51642         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
51643         include <wchar.h>; no longer needed.
51644
51645 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
51646
51647         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
51648
51649 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
51650         and  Ulrich Drepper  <drepper@redhat.com>
51651
51652         Import from libc.
51653         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
51654         instead of inline stream orientation test and two separate
51655         function calls.  Pay no attention to USE_IN_LIBIO.
51656
51657 2005-10-13  Simon Josefsson  <jas@extundo.com>
51658
51659         * modules/gc-hmac-md5-tests: New file.
51660
51661         * tests/test-gc-hmac-sha1.c: New file.
51662
51663         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
51664
51665         * modules/gc-hmac-md5-tests: New file.
51666
51667         * tests/test-gc-md5.c: New file.
51668
51669         * modules/gc-md5-tests: New file.
51670
51671 2005-10-13  Simon Josefsson  <jas@extundo.com>
51672
51673         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
51674         Move memory allocation outside of loop.
51675
51676 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
51677
51678         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
51679         intermediate directory is in a read-only file system.  Problem
51680         reported by Eric Blake.
51681
51682 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
51683
51684         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
51685
51686 2005-10-12  Simon Josefsson  <jas@extundo.com>
51687
51688         * tests/test-hmac-sha1.c: New file.
51689
51690         * modules/hmac-sha1-tests: New file.
51691
51692         * modules/hmac-sha1: New file.
51693
51694 2005-10-12  Simon Josefsson  <jas@extundo.com>
51695
51696         * modules/gc-sha1: New file.
51697
51698 2005-10-12  Simon Josefsson  <jas@extundo.com>
51699
51700         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
51701
51702         * tests/test-gc-pbkdf2-sha1.c: New file.
51703
51704 2005-10-12  Simon Josefsson  <jas@extundo.com>
51705
51706         * modules/gc-md5, modules/gc-hmac-md5: New files.
51707
51708         * modules/gc (Files): Remove md5, memxor and hmac files.
51709
51710 2005-10-12  Simon Josefsson  <jas@extundo.com>
51711
51712         * m4/gc-pbkdf2-sha1.m4: New file.
51713
51714         * m4/gc-hmac-sha1.m4: New file.
51715
51716         * m4/gc-sha1: New file.
51717
51718         * m4/hmac-sha1.m4: New file.
51719
51720 2005-10-12  Simon Josefsson  <jas@extundo.com>
51721
51722         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
51723
51724         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
51725
51726 2005-10-12  Simon Josefsson  <jas@extundo.com>
51727
51728         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
51729         suggested by Bruno Haible <bruno@clisp.org>.
51730
51731 2005-10-12  Simon Josefsson  <jas@extundo.com>
51732
51733         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
51734
51735 2005-10-12  Simon Josefsson  <jas@extundo.com>
51736
51737         * lib/gc-pbkdf2-sha1.c: New file.
51738
51739         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
51740
51741 2005-10-12  Simon Josefsson  <jas@extundo.com>
51742
51743         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
51744
51745         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
51746
51747 2005-10-12  Simon Josefsson  <jas@extundo.com>
51748
51749         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
51750         GC_USE_HMAC_MD5, respectively.
51751
51752         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
51753         (gc_md5): Fix typo.
51754
51755         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
51756
51757         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
51758
51759         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
51760
51761 2005-10-12  Bruno Haible  <bruno@clisp.org>
51762
51763         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
51764         Reported by Stepan Kasal <kasal@ucw.cz>.
51765
51766 2005-10-11  Simon Josefsson  <jas@extundo.com>
51767
51768         * tests/test-crc.c: New file.
51769
51770         * modules/crc, modules/crc-tests: New files.
51771
51772 2005-10-11  Simon Josefsson  <jas@extundo.com>
51773
51774         * m4/crc.m4: New file.
51775
51776 2005-10-11  Simon Josefsson  <jas@extundo.com>
51777
51778         * lib/gc.h: Add gc_hash and gc_hash_buffer.
51779
51780         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
51781
51782         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
51783
51784 2005-10-11  Simon Josefsson  <jas@extundo.com>
51785
51786         * lib/crc.h, lib/crc.c: New files.
51787
51788         * lib/gc.h (gc_hash_buffer): Add doc.
51789
51790 2005-10-11  Bruno Haible  <bruno@clisp.org>
51791
51792         * modules/c-strcasestr: New file.
51793         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
51794
51795 2005-10-11  Bruno Haible  <bruno@clisp.org>
51796
51797         * modules/c-strcase: New file.
51798         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
51799
51800 2005-10-11  Bruno Haible  <bruno@clisp.org>
51801
51802         * lib/strcasecmp.c: Include limits.h.
51803         (strcasecmp): Avoid integer overflow on exotic platforms.
51804         * lib/strncasecmp.c: Include limits.h.
51805         (strncasecmp): Avoid integer overflow on exotic platforms.
51806         Reported by Paul Eggert.
51807
51808 2005-10-11  Bruno Haible  <bruno@clisp.org>
51809
51810         * lib/c-strcasestr.h: New file, from GNU gettext.
51811         * lib/c-strcasestr.c: New file, from GNU gettext.
51812
51813 2005-10-11  Bruno Haible  <bruno@clisp.org>
51814
51815         * lib/c-strcase.h: New file, from GNU gettext.
51816         * lib/c-strcasecmp.c: New file, from GNU gettext.
51817         * lib/c-strncasecmp.c: New file, from GNU gettext.
51818
51819 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
51820
51821         * modules/mempcpy (License): GPL -> LGPL.
51822         * modules/strchrnul (License): Likewise.
51823         * modules/sysexits (License): Likewise.
51824
51825 2005-10-08  Simon Josefsson  <jas@extundo.com>
51826
51827         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
51828
51829 2005-10-07  Simon Josefsson  <jas@extundo.com>
51830
51831         * m4/memxor.m4: Remove gl_C_RESTRICT call.
51832
51833 2005-10-06  Simon Josefsson  <jas@extundo.com>
51834
51835         * tests/test-hmac-md5.c: New file.
51836
51837         * modules/hmac-md5-tests: New file.
51838
51839         * modules/hmac-md5: New file.
51840
51841 2005-10-06  Simon Josefsson  <jas@extundo.com>
51842
51843         * m4/hmac-md5.m4: New file.
51844
51845         * m4/memxor.m4: Require gl_C_RESTRICT.
51846
51847 2005-10-06  Simon Josefsson  <jas@extundo.com>
51848
51849         * lib/memxor.c (memxor): Avoid casts and warnings.
51850
51851 2005-10-06  Simon Josefsson  <jas@extundo.com>
51852
51853         * lib/hmac-md5.c: New file.
51854
51855         * lib/hmac.h: New file.
51856
51857 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
51858
51859         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
51860         promotes to int, not unsigned int, to catch the AIX 5.3
51861         compiler bug.
51862
51863 2005-10-05  Simon Josefsson  <jas@extundo.com>
51864
51865         * modules/memxor: New file.
51866
51867         * modules/iconv (Files): Move config.rpath to havelib, it is used
51868         there.
51869
51870         * modules/havelib (Files): Add config.rpath.
51871
51872 2005-10-05  Simon Josefsson  <jas@extundo.com>
51873
51874         * m4/memxor.m4: New file.
51875
51876 2005-10-05  Simon Josefsson  <jas@extundo.com>
51877
51878         * lib/memxor.c (memxor): Fix compiler error.
51879
51880         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
51881         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
51882
51883         * lib/memxor.h, lib/memxor.c: New files.
51884
51885         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
51886         we assume all systems have it, suggested by Jim Meyering
51887         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
51888         any systems lack sys/socket.h; mingw32 is known to lack it, but we
51889         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
51890         same reasons.
51891
51892 2005-10-05  Simon Josefsson  <jas@extundo.com>
51893
51894         * config/srclist.txt: Add glibc bug 1423 for md5.h.
51895
51896 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
51897
51898         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
51899         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
51900         needed, since the source code now assumes these .h files.
51901
51902 2005-10-05  Derek Price  <derek@ximbiot.com>
51903
51904         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
51905
51906 2005-10-05  Bruno Haible  <bruno@clisp.org>
51907
51908         * modules/stdint (License): Change to LGPL.
51909
51910 2005-10-04  Simon Josefsson  <jas@extundo.com>
51911
51912         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
51913         D. Baushke" <mdb@gnu.org>.
51914
51915 2005-10-04  Bruno Haible  <bruno@clisp.org>
51916
51917         * lib/verify.h (verify_true): Provide alternative definition for C++.
51918
51919 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
51920
51921         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
51922         (SSIZE_MAX): New macro, if not already defined.
51923         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
51924         than 2 GiB.
51925
51926 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
51927
51928         Sync from coreutils.
51929         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
51930         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
51931         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
51932         ULLONG_MAX doesn't work with 2.7.2.1.
51933
51934 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
51935
51936         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
51937         From Ben Pfaff.
51938
51939         * modules/exclude (Depends-on): Depend on verify.
51940         * modules/strtoimax (Depends-on): Likewise.
51941         * modules/utimecmp (Depends-on): Likewise.
51942
51943 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
51944
51945         * lib/exclude.c: Include verify.h.
51946         (verify): Remove.  All callers changed to use verify.h's version.
51947         * lib/strtoimax.c: Likewise.
51948         * lib/utimecmp.c: Likewis.e
51949
51950         Sync from coreutils.
51951         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
51952         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
51953         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
51954         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
51955         bother returning ENOSYS if settimeofday or stime fails; just let
51956         them return whatever errno they want to return.
51957         * lib/utimens.c: Include unistd.h, for dup2.
51958         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
51959         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
51960
51961 2005-10-02  Jim Meyering  <jim@meyering.net>
51962
51963         Sync from coreutils.
51964         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
51965         from glibc-2.2.5 that fails for read-only files.
51966
51967 2005-10-02  Jim Meyering  <jim@meyering.net>
51968
51969         Sync from coreutils.
51970         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
51971         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
51972         `#if HAVE_CONFIG_H'.
51973         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
51974         Remove AT_FDCWD test.
51975         Do not consume the fd unless successful.
51976         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
51977         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
51978         block, so that we don't even try to compile it if settimeofday is
51979         available.  This works around a compilation failure on OSF1 V5.1,
51980         due to stime requiring a `long int*' while tv_sec is `int'.
51981
51982 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
51983
51984         Sync from coreutils.
51985         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
51986         against `yes', rather than just testing for nonempty.
51987
51988 2005-10-01  Simon Josefsson  <jas@extundo.com>
51989
51990         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
51991         and Darwin.
51992
51993         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
51994         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
51995         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
51996         freeaddrinfo and gai_strerror are declared by the POSIX headers.
51997         Check if struct addrinfo is declared.
51998
51999 2005-10-01  Simon Josefsson  <jas@extundo.com>
52000
52001         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
52002         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
52003         AI_* and EAI_* definitions.  Protect function declarations.
52004
52005 2005-10-01  Jim Meyering  <jim@meyering.net>
52006
52007         Sync from coreutils.
52008
52009         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
52010         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
52011         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
52012         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
52013         in the inet and nsl libraries.  Required on Solaris 5.7.
52014
52015 2005-10-01  Jim Meyering  <jim@meyering.net>
52016
52017         Sync from coreutils.
52018         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
52019         in the inet and nsl libraries.  Required on Solaris 5.7.
52020
52021 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
52022
52023         * lib/getdelim.c (getdelim): Remove unused variables.
52024
52025 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
52026
52027         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
52028         so that the code works even with ancient cpp.  Portability problem
52029         with GCC 2.7.2.1 reported by Thomas M.Ott.
52030
52031 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
52032
52033         * modules/regex (Depends-on): Add strcase.
52034
52035         * modules/gethostname (Licence): Change from GPL to LGPL, since
52036         gethostname.c is a trivial implementation of a standard library
52037         function.
52038         * modules/poll (License): Change from GPL to LGPL, since it's
52039         derived from LGPL code.
52040
52041 2005-09-27  Jim Meyering  <jim@meyering.net>
52042
52043         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
52044         HAVE_CONFIG_H.
52045
52046         * lib/intprops.h (signed_type_or_expr__): Define.
52047         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
52048         for unsigned types.
52049
52050 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
52051
52052         * lib/verify.h (verify_expr): Remove, replacing with:
52053         (verify_true): New macro that returns true instead of void.
52054         (verify_type__): Remove.
52055         (verify): Use verify_true rather than verify_type__.
52056
52057 2005-09-26  Bruno Haible  <bruno@clisp.org>
52058
52059         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
52060         is necessary.
52061         (lib_SOURCES): Remove mbchar.c.
52062         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
52063         (Files): Add m4/mbrtowc.m4.
52064         * modules/mbiter: Likewise.
52065         * modules/mbuiter: Likewise.
52066
52067 2005-09-26  Bruno Haible  <bruno@clisp.org>
52068
52069         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
52070         compile mbchar.c if they are not both present.
52071         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
52072         * m4/mbiter.m4 (gl_MBITER): Likewise.
52073         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
52074         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
52075         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
52076
52077 2005-09-25  Jim Meyering  <jim@meyering.net>
52078
52079         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
52080         also uses socklen_t.
52081
52082 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
52083
52084         * lib/utimens.c (ENOSYS): Define if not already defined.
52085         (futimens): Support having a null PATH if the file descriptor
52086         is nonnegative.
52087
52088         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
52089         Remove.
52090         (__attribute): Define to empty unless GCC 3.1 or later.
52091         This works around a core dump on OpenBSD 3.4, which has GCC
52092         2.95.3, which dumps core when given __attribute__(()).  It also
52093         simplifies other tests, since we really don't want to bother with
52094         worrying about which ancient version of GCC supported what.
52095         Original problem reported by Yoann Vandoorselaere, with part of
52096         the fix suggested by Derek Price.
52097
52098 2005-09-24  Jim Meyering  <jim@meyering.net>
52099
52100         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
52101         so we can once again use a positive bitfield width of 1 -- now we
52102         don't have to explain why we were using a bitfield width of 2.
52103
52104 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
52105
52106         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
52107         and similarly for the other external symbols.  Problem reported
52108         by James Gallager.
52109
52110         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
52111         bug reported by Jim Meyering.
52112
52113         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
52114         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
52115         not needed, since socklen is a prerequisite module.
52116
52117 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
52118
52119         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
52120         Problem reported by Eric Blake.
52121         (getaddrinfo): Initialize se so that it's not garbage.
52122         Redo internal storage allocation so that it doesn't make unportable
52123         assumptions about alignment.
52124         Fix a memory leak.
52125
52126         * lib/utimens.c (futimens): Use futimesat if available.
52127         Prefer it to futimes since it doesn't have the futimes bug.
52128
52129         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
52130         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
52131         Instead, declare a function that returns a pointer to an array,
52132         and use verify_type__ to declare the size of the array.
52133         Problem and germ of a solution reported by Bruno Haible.
52134         (verify_type__): Use 2, not 1, for bitfield size, to avoid
52135         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
52136
52137 2005-09-23  Jim Meyering  <jim@meyering.net>
52138
52139         Sync from coreutils.
52140         Correct build failure (socklen_t not defined) on at least
52141         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
52142         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
52143
52144 2005-09-23  Jim Meyering  <jim@meyering.net>
52145
52146         * modules/getaddrinfo (Depends-on): Add socklen.
52147
52148 2005-09-23  Bruno Haible  <bruno@clisp.org>
52149
52150         * tests/test-verify.c: New file.
52151
52152 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52153
52154         Sync from coreutils.
52155
52156         * modules/argmatch (Depends-on): Add verify.
52157         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
52158         unistd-safer.
52159         * modules/save-cwd (Depends-on): Likewise.
52160
52161         * modules/openat (Files): Add lib/openat-die.c.
52162         (Depends-on): Remove error, exitfail.
52163         Add dirname.
52164
52165         * modules/verify: New file.
52166         * MODULES.html.sh (Diagnostics <assert.h>): New section,
52167         with "verify" module.
52168
52169 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52170
52171         Sync from coreutils.
52172
52173         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
52174         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
52175         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
52176         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
52177         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
52178         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
52179         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
52180         Don't bother checking for string.h, stdlib.h, unistd.h.
52181         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
52182         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
52183         module's job.
52184         * m4/jm-macros.m4 (gl_MACROS): Likewise.
52185         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
52186
52187         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
52188         (gl_GETDATE): Use it.
52189
52190         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
52191
52192 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52193
52194         Sync from coreutils.
52195
52196         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
52197         stat-time.h.
52198         * lib/argmatch.h: Include verify.h
52199         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
52200         (ARGMATCH_ASSERT): Remove; unused.
52201         * lib/canonicalize.c: Assume STDC_HEADERS.
52202         * lib/exclude.c: Include "strcase.h".
52203         * lib/regex_internal.h [!defined _LIBC]: Likewise.
52204         * lib/getusershell.c: Include stdio--.h rather than stdio.h
52205         and stdio-safer.h.
52206         (getusershell): Call fopen, not fopen_safer.
52207         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
52208         Do not include unistd-safer.h.
52209         (save_cwd): Don't call fd_safer; no longer needed
52210         now that we include fcntl--.h.
52211
52212         * lib/getdate.y (relative_time): New type.
52213         (RELATIVE_TIME_0): New constant.
52214         (parser_control): Use relative_time instead of doing it ourselves.
52215         (%union): Add new relative_time rel member.
52216         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
52217         Now typeless.
52218         (relunit, relunit_snumber): Now of type rel.
52219         (zone, rel, relunit, get_date): Adjust to above changes.
52220
52221         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
52222         Do not include unistd-safer.h.
52223         (getloadavg): Don't call fd_safer; no longer needed
52224         now that we include fcntl--.h.
52225
52226         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
52227         (make_dir_parents): Treat ENOSYS like EEXIST.
52228
52229         Improve quality of diagnostics on restore_cwd failure.
52230         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
52231         (make_dir_parents): Last arg is now int * (for errno), not bool *.
52232         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
52233         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
52234         each time through the loop.  Do not diagnose restore_cwd failure;
52235         that is the caller's job (and perhaps the caller does not care).
52236
52237         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
52238         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
52239         If the file already exists but is not a directory, don't bother
52240         to try to make its parents.
52241         Close potential file descriptor leak if we can't chdir("/") (!).
52242         Don't always return true if chdir($PWD) fails; return true only
52243         if the requested action was done successfully (except for the
52244         chdir($PWD)).
52245         Don't log final directory unless we actually made it.
52246         Refactor to avoid duplicate code to fix up permissions.
52247         Don't attempt to fix up parent permissions if chdir($PWD) fails.
52248
52249         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
52250         to make it a bit faster and (I hope) clearer.
52251         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
52252         Fix bug in formats like %2N.
52253
52254         * lib/verify.h: New file.
52255
52256 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52257
52258         Sync from coreutils.
52259         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
52260
52261 2005-09-22  Jim Meyering  <jim@meyering.net>
52262
52263         Sync from coreutils.
52264
52265         * m4/lstat.m4 (gl_FUNC_LSTAT):
52266         Use AC_LIBSOURCES to require lstat.c and lstat.h.
52267         Remove obsolete comment.
52268         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
52269         * m4/xstrtod.m4: Likewise.
52270
52271         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
52272
52273 2005-09-22  Jim Meyering  <jim@meyering.net>
52274
52275         Sync from coreutils.
52276
52277         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
52278
52279         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
52280         the .tm_year member, since otherwise gcc-4.0 would now warn about
52281         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
52282
52283         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
52284         order to avoid an unsuppressible warning from gcc on 64-bit systems.
52285
52286         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
52287         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
52288         when run in a time zone for which daylight savings time is in effect
52289         for the starting date.
52290
52291         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
52292         stop us from restricting permissions of just-created absolute-named
52293         directories.
52294         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
52295         to restore initial working directory.
52296         * lib/mkdir-p.c (make_dir_parents): New parameter:
52297         different_working_dir, to tell caller if/when we change the working
52298         directory and are unable to return to the initial one.
52299         * lib/mkdir-p.h (make_dir_parents): Update prototype.
52300         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
52301         `return false'.  This fixes a bug introduced on 2004-07-30.
52302
52303         * lib/openat.c (fdopendir): Be sure to close the supplied
52304         file descriptor before returning.  This makes our replacement
52305         implementation a little closer to Solaris's, where fdopendir
52306         ties the file descriptor to the returned DIR* pointer.
52307         * lib/openat.c (unlinkat): New function.
52308         * lib/openat.h (unlinkat): Add prototype.
52309         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
52310         (openat_restore_fail): Rename from openat_restore_die.
52311         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
52312
52313         Provide an alternative to exiting immediately upon save_cwd or
52314         restore_cwd failure.  Now, an application can arrange e.g.,
52315         to perform a longjump in that case.
52316         * lib/openat.c: Include dirname.h.
52317         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
52318         (rpl_openat, fdopendir, fstatat): Call openat_save_die
52319         and openat_restore_die rather than calling error directly.
52320         Don't include "error.h" or "exitfail.h"; they're no longer needed.
52321
52322         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
52323         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
52324         define.
52325
52326         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
52327         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
52328                             int utc, int nanoseconds);
52329         Background:
52330         date should not have to allocate a megabyte of virtual memory to
52331         handle a format argument like +%1048575T.  When implemented with
52332         strftime, it must allocate such a buffer, use strftime to fill it
52333         in, print it, then free it.
52334         With fprintftime, it simply prints everything and exits.
52335         With no need for memory allocation, that's one fewer way to fail.
52336         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
52337         optional field width, not before, so we accept %9:z, not %:9z.
52338         (my_strftime): Be sure to use L_('x') for literals.
52339
52340         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
52341         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
52342         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
52343         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
52344         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
52345         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
52346         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
52347         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
52348         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
52349         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
52350         * lib/xgethostname.c, lib/xreadlink.c:
52351         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
52352
52353         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
52354         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
52355         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
52356         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
52357         and don't include <sys/file.h>).
52358
52359 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
52360
52361         Sync from coreutils.
52362
52363         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
52364         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
52365         [!LDAV_DONE]: Avoid unused variable warning.
52366
52367 2005-09-21  Bruno Haible  <bruno@clisp.org>
52368
52369         * lib/unicodeio.h (unicode_to_mb): New declaration.
52370
52371 2005-09-20  Derek Price  <derek@ximbiot.com>
52372
52373         * lib/getaddrinfo.c: Don't include <netdb.h> included from
52374         getaddrinfo.h.
52375
52376 2005-09-20  Bruno Haible  <bruno@clisp.org>
52377
52378         * gnulib-tool: Remove trailing slashes from the values specified for
52379         --source-base, --m4-base, --tests-base, --aux-dir.
52380         Suggested by Simon Josefsson <jas@extundo.com>.
52381
52382 2005-09-20  Bruno Haible  <bruno@clisp.org>
52383
52384         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
52385         func_modules_to_filelist, func_import, func_create_testdir): Make all
52386         sorting results locale-independent, so that gnulib-cache.m4 doesn't
52387         change when gnulib-tool is invoked in a different locale.
52388
52389 2005-09-19  Simon Josefsson  <jas@extundo.com>
52390
52391         * m4/socklen.m4: Fix typo.
52392
52393 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52394
52395         Use a consistent style for including <config.h>.
52396         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
52397         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
52398         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
52399         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
52400         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
52401         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
52402         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
52403         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
52404         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
52405         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
52406         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
52407         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
52408         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
52409         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
52410         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
52411         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
52412         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
52413         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
52414         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
52415         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
52416         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
52417         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
52418         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
52419         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
52420         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
52421         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
52422         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
52423         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
52424         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
52425         lib/xstrtoumax.c, lib/yesno.c:
52426         Standardize inclusion of config.h.
52427         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
52428         lib/inttostr.h:  Removed inclusion of config.h from header files.
52429         * lib/inttostr.c:  Adjusted in-tree users.
52430         * lib/timespec.h: Remove superfluous warning to include config.h.
52431         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
52432         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
52433         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
52434         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
52435         config.h with HAVE_CONFIG_H.
52436
52437 2005-09-19  Jim Meyering  <jim@meyering.net>
52438
52439         * modules/pathmax (License): Change to LGPL.
52440
52441 2005-09-19  Derek Price  <derek@ximbiot.com>
52442
52443         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
52444
52445 2005-09-19  Bruno Haible  <bruno@clisp.org>
52446
52447         * gnulib-tool (import): Provide default for --tests-base.
52448
52449 2005-09-19  Bruno Haible  <bruno@clisp.org>
52450
52451         * doc/quote.texi: New file, extracted from gnulib.texi.
52452         * doc/ctime.texi: New file, extracted from gnulib.texi.
52453         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
52454         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
52455         * doc/gnulib.texi: Include them.
52456
52457 2005-09-18  Bruno Haible  <bruno@clisp.org>
52458
52459         Portability fix.
52460         * gnulib-tool (func_readlink): New function.
52461         (func_ln_if_changed): Use it.
52462
52463 2005-09-18  Bruno Haible  <bruno@clisp.org>
52464
52465         * gnulib-tool: Support --with-tests also with --import.
52466         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
52467         (func_import): Use variables $testsbase and $inctests. Emit a
52468         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
52469         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
52470         SUBDIRS += $testsdir.
52471         (func_create_testdir): Update.
52472
52473 2005-09-18  Bruno Haible  <bruno@clisp.org>
52474
52475         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
52476         instead of $dry_run.
52477         (func_cp_if_changed, func_mv_if_changed): Remove functions.
52478         (func_ln_if_changed): Don't handle dry-run here.
52479         (func_import): In dry-run mode, detect more precisely which actions
52480         would be performed, and don't use "...ing" verbs.
52481
52482 2005-09-18  Bruno Haible  <bruno@clisp.org>
52483
52484         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
52485         (func_import): Use join on two temporary files instead of three nested
52486         loops, in order to determine which files are new or old.
52487
52488 2005-09-18  Bruno Haible  <bruno@clisp.org>
52489
52490         * gnulib-tool (func_import): Comment out code that spits out the
52491         new files with --dry-run.
52492
52493 2005-09-18  Bruno Haible  <bruno@clisp.org>
52494
52495         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
52496
52497 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
52498
52499         * lib/stat-time.h: New file.
52500         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
52501         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
52502         in a different way.
52503         (timespec_cmp): New function.
52504         * lib/utimecmp.c: Include stat-time.h.
52505         (SYSCALL_RESOLUTION): Depend on whether various struct stat
52506         members exist, not on the obsolescent ST_MTIM_NSEC.
52507         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
52508
52509 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
52510
52511         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
52512
52513 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
52514
52515         * MODULES.html.sh (File system functions): Add stat-time.
52516         * modules/stat-time: New file.
52517         * modules/timespec (Files): Remove m4/st_mtim.m4; this
52518         is now done in a different way, by the stat-time module.
52519         * modules/utimecmp (Depends-on): Add stat-time.
52520
52521 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
52522
52523         * m4/st_mtim.m4: Remove.  Superseded by...
52524         * m4/stat-time.m4: New file.
52525         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
52526         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
52527
52528 2005-09-15  Derek Price  <derek@ximbiot.com>
52529
52530         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
52531
52532 2005-09-15  Derek Price  <derek@ximbiot.com>
52533
52534         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
52535         * lib/regex_internal.c: Ditto, using this...
52536         (__GNUC_PREREQ): ...new macro.
52537         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
52538         using...
52539         (__GNUC_PREREQ): ...this new macro.
52540
52541         * lib/strstr.h: Include string.h. Define strstr as a macro here.
52542
52543 2005-09-15  Derek Price  <derek@ximbiot.com>
52544             Paul Eggert  <eggert@cs.ucla.edu>
52545
52546         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
52547         changes, consolidating in...
52548         * lib/regex_internal.h: ...this file.
52549
52550 2005-09-13  Jim Meyering  <jim@meyering.net>
52551
52552         * lib/canon-host.c: Filter through gnu indent and reword comments
52553         slightly.
52554         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
52555
52556 2005-09-13  Derek Price  <derek@ximbiot.com>
52557
52558         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
52559         failure.
52560         Reported by Jim Meyering  <jim@meyering.net>.
52561
52562 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52563
52564         * lib/base64.c: Typo.
52565         (base64_encode): Put b64str in initialized data section.
52566
52567 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
52568
52569         Merge glibc and coreutils changes into gnulib, plus a few
52570         extra fixes.
52571         * lib/md5.c: Use #error rather than a string.
52572         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
52573         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
52574         (__attribute__): Define to empty for non recent-GCC.
52575         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
52576         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
52577         Renamed from their non-__ counterparts, with new macros replacing
52578         them if not _LIBC.  Add __THROW attribute.
52579         (rol): Remove.
52580         (struct md5_ctx): Align buffer if using GCC.
52581         * lib/sha1.h (struct sha1_ctx): Likewise.
52582         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
52583         The old name was backwards.
52584         (NOTSWAP): Remove; not used.
52585         (rol): New macro, moved here from md5.h.
52586         (sha1_process_block): Remove a FIXME that doesn't make sense.
52587
52588 2005-09-12  Derek Price  <derek@ximbiot.com>
52589
52590         Return usable errors from canon-host.
52591         * lib/canon-host.h: New file.
52592         * lib/canon-host.c (canon_host): Wrap...
52593         (canon_host_r): ...this new function, which now relies exclusively on
52594         getaddrinfo.
52595         (ch_strerror): New function.
52596         (last_cherror): New global.
52597         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
52598         interface.
52599         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
52600         void *.
52601         (freeaddrinfo): Free ai->ai_canonname when set.
52602
52603 2005-09-12  Derek Price  <derek@ximbiot.com>
52604
52605         Make canon-host require getaddrinfo.
52606         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
52607         AC_LIBSOURCE canon-host.h.  Call...
52608         (gl_PREREQ_CANON_HOST): ...this new function, which requires
52609         gl_GETADDRINFO.
52610         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
52611
52612 2005-09-12  Derek Price  <derek@ximbiot.com>
52613
52614         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
52615         LGPL.
52616         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
52617
52618 2005-09-12  Derek Price  <derek@ximbiot.com>
52619
52620         * lib/gai_strerror.c: Include config.h when available.  Include
52621         getaddrinfo.h before other headers to test interface.
52622         Reported by Larry Jones <lawrence.jones@ugs.com>.
52623
52624 2005-09-12  Derek Price  <derek@ximbiot.com>
52625             Paul Eggert  <eggert@cs.ucla.edu>
52626
52627         * modules/glob (Files): Add glob-libc.h.
52628
52629 2005-09-12  Derek Price  <derek@ximbiot.com>
52630             Paul Eggert  <eggert@cs.ucla.edu>
52631
52632         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
52633         glob_.h, glob-libc.h.
52634         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
52635
52636 2005-09-12  Derek Price  <derek@ximbiot.com>
52637             Paul Eggert  <eggert@cs.ucla.edu>
52638
52639         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
52640         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
52641         protecting things that should be done only in gnulib contexts.
52642         * lib/glob_.h: New file, containing only the glob things needed for
52643         gnulib.
52644         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
52645         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
52646         (glob, globfree, glob_pattern_p): Now defined simply in terms of
52647         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
52648         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
52649         and to respect the namespace rules better.
52650
52651 2005-09-08  Simon Josefsson  <jas@extundo.com>
52652
52653         * modules/socklen: New file.
52654
52655 2005-09-08  Simon Josefsson  <jas@extundo.com>
52656
52657         * m4/socklen.m4: New file.
52658
52659 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
52660
52661         * modules/utimens (Files): Add m4/utimbuf.m4, since
52662         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
52663         Reported by Sergey Poznyakoff.
52664
52665 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
52666
52667         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
52668         definitions, since that's the preferred style in glibc.
52669         Fix a minor spacing issue, and update copyright notice to match
52670         glibc's.
52671
52672 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
52673
52674         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
52675
52676 2005-09-06  Simon Josefsson  <jas@extundo.com>
52677
52678         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
52679         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
52680
52681 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
52682
52683         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
52684         warning.
52685
52686 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
52687
52688         * config/srclist.txt: Add glibc bug 1302.
52689
52690 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
52691
52692         Change bitset word type from unsigned int to unsigned long int,
52693         as this has better performance on typical 64-bit hosts.
52694         Port bitset code to hosts with unusual word sizes.
52695         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
52696         (build_collating_symbol):
52697         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
52698         argument is a bitset.  This is merely a style issue, but it makes
52699         it clearer that an entire array is expected.
52700         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
52701         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
52702         Port to the case where bitset_word is not the same as unsigned int.
52703         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
52704         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
52705         Likewise.
52706         * lib/regexec.c (check_dst_limits_calc_pos_1,
52707         check_subexp_matching_top):
52708         (build_trtable, group_nodes_into_DFAstates):
52709         Likewise.
52710         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
52711         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
52712         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
52713         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
52714         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
52715         * lib/regcomp.c (optimize_subexps, lower_subexp):
52716         Work even if bitset_word has holes in its bitwise representation.
52717         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
52718         * lib/regexec.c (check_dst_limits_calc_pos_1,
52719         check_subexp_matching_top):
52720         Likewise.
52721         * lib/regex_internal.c (re_string_reconstruct):
52722         Don't assume UCHAR_MAX == 255.
52723         * lib/regex_internal.h (bitset_set_all): Likewise.
52724         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
52725         All uses changed.
52726         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
52727         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
52728         All uses changed.
52729         (BITSET_WORD_MAX): New macro.
52730         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
52731         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
52732         (bitset_empty, bitset_copy):
52733         Prefer sizeof (bitset) to multiplying it out ourselves.
52734         (bitset_not_merge): Remove; unused.
52735         (bitset_contain): Return bool, not unsigned int with one bit on.
52736         All callers changed.
52737         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
52738         alignment than re_node_set; do this by defining a new internal
52739         type struct dests_alloc and using it to allocate memory.
52740
52741 2005-09-05  Bruno Haible  <bruno@clisp.org>
52742
52743         * gnulib-tool (func_import): Fix comparison in handling of symbolic
52744         links.
52745
52746 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
52747
52748         * modules/size_max (Makefile.am): Add size_max.h
52749
52750 2005-09-04  Derek Price  <derek@ximbiot.com>
52751
52752         * gnulib-tool (func_import): Fix reversed $symbolic logic.
52753
52754 2005-09-03  Simon Josefsson  <jas@extundo.com>
52755
52756         * gnulib-tool: Fix typo.
52757
52758 2005-09-03  Simon Josefsson  <jas@extundo.com>
52759
52760         * config/srclist.txt: Add glibc bug 1293.
52761
52762 2005-09-03  Derek Price  <derek@ximbiot.com>
52763
52764         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
52765         From Larry Jones <lawrence.jones@ugs.com>.
52766
52767 2005-09-02  Simon Josefsson  <jas@extundo.com>
52768
52769         * modules/socklen: New file.
52770
52771 2005-09-02  Simon Josefsson  <jas@extundo.com>
52772
52773         * modules/havelib: New module.
52774
52775         * modules/gettext, modules/iconv, modules/lock, modules/readline:
52776         Use havelib.
52777
52778 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
52779
52780         Check for arithmetic overflow when calculating sizes, to prevent
52781         some buffer-overflow issues.  These patches are conservative, in the
52782         sense that when I couldn't determine whether an overflow was possible,
52783         I inserted a run-time check.
52784         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
52785         macros.
52786         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
52787         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
52788         (re_xnrealloc, re_x2nrealloc): New inline functions.
52789         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
52790         parse_bracket_exp):
52791         (build_equiv_class, build_charclass): Check for arithmetic overflow
52792         in size expression calculations.
52793         * lib/regex_internal.c (re_string_realloc_buffers):
52794         (build_wcs_upper_buffer, re_node_set_add_intersect):
52795         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
52796         (re_dfa_add_node, register_state): Likewise.
52797         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
52798         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
52799         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
52800         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
52801
52802 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
52803
52804         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
52805         m4/ulonglong.m4.  Problem reported by Martin Lambers.
52806
52807 2005-09-02  Bruno Haible  <bruno@clisp.org>
52808
52809         Support for lib vs. lib64 distinction on biarch platforms.
52810         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
52811         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
52812         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
52813
52814 2005-09-02  Bruno Haible  <bruno@clisp.org>
52815
52816         * gnulib-tool (import): In the other first-use case, provide defaults
52817         as well.
52818
52819 2005-09-02  Bruno Haible  <bruno@clisp.org>
52820
52821         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
52822         patches not yet found in the latest gettext release.
52823
52824 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
52825
52826         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
52827         to avoid a collision with bits/local_lim.h in glibc.
52828         All uses changed.  Problem reported by Dmitry V. Levin in
52829         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
52830
52831         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
52832         bugs in int versus size_t comparisons.
52833         (re_string_context_at): Fix bug where the code assumed that
52834         Idx is signed.
52835
52836         Use bool where appropriate.
52837         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
52838         All callers changed.
52839         (calc_eclosure_iter): Likewise, for ROOT arg.
52840         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
52841         (build_charclass_op): Likewise, for NON_MATCH arg.
52842         * lib/regex_internal.c (re_string_allocate, re_string_construct):
52843         (re_string_construct_common): Likewise, for ICASE arg.
52844         * lib/regexec.c (re_search_2_stub, re_search_stub):
52845         Likewise, for RET_LEN arg.
52846         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
52847         (set_regs): Likewise, for FL_BACKTRACK arg.
52848         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
52849         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
52850         (calc_eclosure_iter, parse_bracket_exp):
52851         Use bool for internal variables that are booleans.
52852         * lib/regexec.c (re_search_internal, check_matching,
52853         proceed_next_node):
52854         (set_regs, build_sifted_states, sift_states_bkref):
52855         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
52856         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
52857         (find_collation_sequence_value):
52858         Likewise.
52859         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
52860         (re_node_set_compare):
52861         Return bool, not int. All callers changed.
52862         * lib/regexec.c (check_halt_node_context, check_dst_limits):
52863         (build_trtable, check_node_accept): Likewise.
52864         * lib/regex_internal.h: Include stdbool.h.
52865
52866         Fix bugs uncovered when converting to bool.
52867         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
52868         failure instead of charging ahead blindly.
52869         * lib/regex_internal.c (register_state): Likewise.
52870         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
52871         for freeing internal storage.
52872         (group_nodes_into_DFA_states): Use unsigned int, not int, for
52873         bitset pieces used as boolean, to avoid undefined behavior
52874         on hosts that do int overflow checking.
52875
52876 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
52877
52878         * config/srclist.txt: Add glibc bugs 1285-1287.
52879
52880 2005-09-01  Jim Meyering  <jim@meyering.net>
52881
52882         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
52883         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
52884         Require gl_STAT_MACROS, too.
52885
52886 2005-09-01  Bruno Haible  <bruno@clisp.org>
52887
52888         * gnulib-tool (import): In the first-use case, provide defaults.
52889
52890 2005-09-01  Bruno Haible  <bruno@clisp.org>
52891
52892         * gnulib-tool (func_import): Remove the .tmp files.
52893
52894 2005-09-01  Bruno Haible  <bruno@clisp.org>
52895
52896         * gnulib-tool (func_import): Fix handling of symbolic links.
52897
52898 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
52899
52900         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
52901         old glibc regex code mishandles strings longer than 2**31 bytes.
52902         This patch fixes this when the regex code is used in gnulib
52903         (i.e., outside glibc).
52904
52905         This patch should not affect the use of the regex code inside
52906         glibc.  No doubt this problem also needs to be handled for glibc
52907         as well, but the result will be an incompatible change to the
52908         glibc ABI, and the old ABI will have to be supported too.  That
52909         can be the the subject for another patch.
52910
52911         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
52912         governing whether the rest of this patch is active.  By default,
52913         the macro is disabled and the patch has no effect.
52914         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
52915         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
52916         (struct re_pattern_buffer, re_search, re_search_2, re_match):
52917         (re_match_2, re_set_registers): Use the new types.
52918         * lib/regex_internal.h (Idx, re_hashval_t): New types.
52919         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
52920         New macros.
52921         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
52922         (re_string_context_at, bin_tree_t, re_dfastate_t):
52923         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
52924         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
52925         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
52926         (re_string_char_size_at, re_string_wchar_at):
52927         (re_string_elem_size_at):
52928         Use the new types and macros to port to 64-bit hosts.
52929         Use unsigned types for internal values, so that the code
52930         mostly works even for arrays larger than SSIZE_MAX.
52931         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
52932         (search_duplicated_node, calc_eclosure_iter, fetch_number):
52933         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
52934         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
52935         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
52936         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
52937         (calc_inveclosure, parse_dup_op, build_range_exp):
52938         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
52939         (fetch_number, create_token_tree, mark_opt_subexp):
52940         Likewise.
52941         * lib/regex_internal.c (re_string_construct_common,
52942         create_ci_newstate):
52943         (create_cd_newstate, re_string_allocate, re_string_construct):
52944         (re_string_realloc_buffers, build_wcs_upper_buffer):
52945         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
52946         (re_string_reconstruct, re_string_peek_byte_case):
52947         (re_string_fetch_byte_case, re_string_context_at):
52948         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
52949         (re_node_set_init_copy, re_node_set_add_intersect):
52950         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
52951         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
52952         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
52953         (re_acquire_state, re_acquire_state_context, register_state):
52954         Likewise.
52955         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
52956         search_cur_bkref_entry):
52957         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
52958         (re_search_internal, re_search_2_stub, re_search_stub)
52959         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
52960         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
52961         (update_cur_sifted_state, check_dst_limits):
52962         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
52963         (check_subexp_limits, sift_states_bkref, merge_state_array):
52964         (check_subexp_matching_top, get_subexp, get_subexp_sub):
52965         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
52966         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
52967         (expand_bkref_cache, check_node_accept_bytes):
52968         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
52969         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
52970         (acquire_init_state_context, check_halt_node_context):
52971         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
52972         (sift_states_backward, clean_state_log_if_needed):
52973         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
52974         (find_recover_state, transit_state_sb, transit_state_mb):
52975         (transit_state_bkref, build_trtable, match_ctx_clean):
52976         Likewise.
52977         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
52978         to work around an assumption that REG_MISSING is negative.
52979
52980         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
52981         (seek_collating_symbol_entry) [defined _LIBC]:
52982         (lookup_collation_sequence_value) [defined _LIBC]:
52983         (build_range_exp, build_collating_symbol) [defined _LIBC]:
52984         Use prototypes rather than old-style function definitions.
52985         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
52986         (transit_state_sb) [0]:
52987         (find_collation_sequence_value) [defined _LIBC]: Likewise.
52988
52989         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
52990         rm_eo.
52991
52992         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
52993         (optimize_subexps, lower_subexp):
52994         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
52995         since the signed shift might overflow.  Use 1u<<31 instead.
52996         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
52997         Likewise.
52998         * lib/regexec.c (check_dst_limits_calc_pos_1,
52999         check_subexp_matching_top): Likewise.
53000
53001         * lib/regcomp.c (optimize_subexps, lower_subexp):
53002         Use CHAR_BIT rather than 8, for clarity.
53003         * lib/regexec.c (check_dst_limits_calc_pos_1):
53004         (check_subexp_matching_top): Likewise.
53005         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
53006         have to worry about portability issues when shifting it left.
53007         Remove no-longer-needed test for table_size > 0.
53008         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
53009         in a word, as the resulting behavior is undefined.
53010         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
53011         in one case, a <= should have been an <, and in another case the
53012         whole test was missing.
53013         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
53014         the standard name CHAR_BIT.
53015         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
53016         this is not true on one's complement and signed-magnitude hosts.
53017
53018         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
53019         next_last_offset.
53020         (struct re_dfa_t): Remove unused member states_alloc.
53021         * lib/regcomp.c (init_dfa): Don't initialize unused members.
53022
53023 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53024
53025         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
53026         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
53027         and large-file glibc and in 32-bit large-file Solaris.
53028
53029 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53030
53031         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
53032         lengths fit in regoff_t; this isn't true if regoff_t is the same
53033         width as size_t.
53034         * lib/regex.c (re_search_internal): 5th arg is LAST_START
53035         (= START + RANGE) instead of RANGE.  This avoids overflow
53036         problems when regoff_t is the same width as size_t.
53037         All callers changed.
53038         (re_search_2_stub): Check for overflow when adding the
53039         sizes of the two strings.
53040         (re_search_stub): Check for overflow when adding START
53041         to RANGE; if it occurs, substitute the extreme value.
53042
53043 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53044
53045         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
53046
53047 2005-08-31  Jim Meyering  <jim@meyering.net>
53048
53049         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
53050         a pointer-to-const.
53051         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
53052         (register_state): Likewise.
53053         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
53054         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
53055         (group_nodes_into_DFAstates): Likewise.
53056
53057 2005-08-31  Jim Meyering  <jim@meyering.net>
53058
53059         * check-module: Add a FIXME comment.
53060
53061 2005-08-31  Eric Blake  <ebb9@byu.net>
53062
53063         * modules/unistd-safer (Files): Add unistd--.h.
53064         * modules/stdio-safer (Files): Add stdio--.h.
53065
53066 2005-08-31  Derek Price  <derek@ximbiot.com>
53067
53068         * lib/getdelim.c (getdelim): Return EOF on EOF.
53069         Reported by Larry Jones <lawrence.jones@ugs.com>.
53070
53071 2005-08-31  Bruno Haible  <bruno@clisp.org>
53072
53073         Avoid unnecessary diffs in the generated lib/Makefile.am.
53074         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
53075         the generated files.
53076         (func_import): Don't set cmd.
53077
53078 2005-08-31  Bruno Haible  <bruno@clisp.org>
53079
53080         * lib/strstr.c: Include <stddef.h>, for NULL.
53081         * lib/strcasestr.c: Likewise.
53082         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53083
53084 2005-08-31  Bruno Haible  <bruno@clisp.org>
53085
53086         * gnulib-tool: New option --macro-prefix.
53087         (func_import): Use macro_prefix.
53088         (import): Handle option --macro-prefix.
53089
53090 2005-08-31  Bruno Haible  <bruno@clisp.org>
53091
53092         * gnulib-tool (import): Rename most ac_* variables to cached_*.
53093         Also use new variables cached_lgpl, cached_libtool.
53094
53095 2005-08-31  Bruno Haible  <bruno@clisp.org>
53096
53097         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
53098         always instantiating them.
53099
53100 2005-08-31  Bruno Haible  <bruno@clisp.org>
53101
53102         * gnulib-tool (func_import): Read the previous cached settings
53103         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
53104         earlier added by gnulib but are now dropped. Warn when a gnulib file
53105         overwrites a non-gnulib file.
53106
53107 2005-08-31  Bruno Haible  <bruno@clisp.org>
53108
53109         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
53110         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
53111         projects that don't keep autogenerated files in CVS. Put into
53112         actioncmd only the specified modules, not the transitive closure.
53113
53114 2005-08-31  Bruno Haible  <bruno@clisp.org>
53115
53116         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
53117         Create directories that shall be filled.
53118         (import): Don't look for gl_* macros in configure.ac. Recurse across
53119         all directories containing a gnulib-cache.m4 files, if meaningful.
53120
53121 2005-08-31  Bruno Haible  <bruno@clisp.org>
53122
53123         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
53124         (import): Set seen_libtool when we see gl_LIBTOOL.
53125
53126 2005-08-31  Bruno Haible  <bruno@clisp.org>
53127
53128         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
53129         declaration macro definitions from generated gnulib.m4.
53130
53131 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
53132
53133         * lib/iconvme.h: Add prototype for iconv_alloc.
53134
53135 2005-08-29  Simon Josefsson  <jas@extundo.com>
53136
53137         * lib/iconvme.c: Fix errno.
53138
53139 2005-08-29  Bruno Haible  <bruno@clisp.org>
53140
53141         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
53142         that it works when the directory contains spaces.
53143
53144 2005-08-29  Bruno Haible  <bruno@clisp.org>
53145
53146         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
53147
53148 2005-08-29  Bruno Haible  <bruno@clisp.org>
53149
53150         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
53151         Emit more advice.
53152
53153 2005-08-29  Bruno Haible  <bruno@clisp.org>
53154         and Stepan Kasal  <kasal@ucw.cz>
53155
53156         * check-module: If more parameters are given, check each of them
53157         separately; add more exceptions, as noted by Jim Meyering.
53158         (check_module): New procedure.
53159         (%exempt_header): Now contains all exceptions.
53160
53161 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
53162
53163         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
53164
53165 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
53166
53167         * lib/iconvme.c: Split iconv_string into iconv_alloc.
53168
53169 2005-08-28  Bruno Haible  <bruno@clisp.org>
53170
53171         * m4/gnulib-tool.m4: New file.
53172
53173 2005-08-27  Jim Meyering  <jim@meyering.net>
53174
53175         * modules/unistd-safer (Files): Add pipe-safer.c.
53176         * modules/fcntl-safer (Files): Add creat-safer.c.
53177
53178 2005-08-27  Jim Meyering  <jim@meyering.net>
53179
53180         * m4/stdlib-safer.m4: New file.  From coreutils.
53181         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
53182         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
53183         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
53184         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
53185         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
53186
53187 2005-08-27  Jim Meyering  <jim@meyering.net>
53188
53189         * lib/fopen-safer.c: Merge minor changes from coreutils.
53190         * lib/dup-safer.c: Likewise.
53191         * lib/fd-safer.c: Likewise.
53192
53193         Merge from coreutils.
53194         * lib/stdio--.h: New file.
53195         * lib/stdlib--.h: New file.
53196         * lib/mkstemp-safer.c: New file.
53197
53198         GNU tar needs these.
53199         * lib/pipe-safer.c: New file.
53200         * lib/creat-safer.c: New file.
53201         * lib/fcntl--.h (creat): Define to creat_safer.
53202         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
53203         * lib/unistd--.h (pipe): Define to pipe_safer.
53204         * lib/unistd-safer.h: Declare pipe_safer.
53205
53206 2005-08-26  Simon Josefsson  <jas@extundo.com>
53207
53208         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
53209         Haible <bruno@clisp.org>.
53210
53211 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
53212
53213         * lib/regex_internal.h: Remove all references to
53214         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
53215         or better.
53216         (bitset_not, bitset_merge, bitset_not_merge):
53217         (bitset_mask, re_string_allocate, re_string_construct):
53218         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
53219         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
53220         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
53221         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
53222         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
53223         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
53224         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
53225         (re_acquire_state_context):
53226         Remove unnecessary forward decls.
53227         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
53228         Put __attribute at function definition,
53229         now that the function decl has been removed.
53230         * lib/regex_internal.c (re_string_peek_byte_case):
53231         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
53232         Likewise.
53233
53234 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
53235
53236         * m4/regex.m4: Add AC_PREREQ(2.50).
53237         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
53238
53239 2005-08-25  Simon Josefsson  <jas@extundo.com>
53240
53241         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
53242         __fsetlocking.
53243
53244 2005-08-25  Simon Josefsson  <jas@extundo.com>
53245
53246         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
53247         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
53248         GLIBC specific code.
53249
53250 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53251
53252         Make regex safe for g++.  This fixes one real bug (an "err"
53253         that should have been "*err").  g++ problem reported by
53254         Sam Steingold.
53255         * lib/regex_internal.h (re_calloc): New macro, consistent with
53256         re_malloc etc.  All callers of calloc changed to use re_calloc.
53257         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
53258         not int.  All callers changed.
53259         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
53260         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
53261         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
53262         (find_recover_state): Change "err" to "*err"; this fixes what
53263         appears to be a real bug.
53264         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
53265         versus int.
53266
53267 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53268
53269         * modules/regex (Depends-on): Add malloc, since the code
53270         assumes that !malloc(0) means failure.
53271
53272 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53273
53274         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
53275
53276         alloca modernization/simplification for regex.
53277         * lib/regex.c: Remove portability cruft for alloca.  This no longer
53278         needs to be at the start of the file, and can be moved into
53279         regex_internal.h and simplified.
53280         * lib/regex_internal.h: Include <alloca.h>.
53281         (__libc_use_alloca) [!defined _LIBC]: New macro.
53282         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
53283         now works outside glibc.
53284
53285 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53286
53287         * config/srclist.txt: Add glibc bugs 1241, 1245.
53288
53289 2005-08-25  Jim Meyering  <jim@meyering.net>
53290
53291         * lib/open-safer.c: Include <config.h>.
53292         Otherwise, we'd lose LARGEFILE support in any file using
53293         e.g. "fcntl--.h"
53294
53295 2005-08-25  Bruno Haible  <bruno@clisp.org>
53296
53297         * m4/minmax.m4: Require autoconf 2.52.
53298         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
53299         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
53300         alternatives of translit over the alphabet.
53301         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
53302
53303 2005-08-24  Simon Josefsson  <jas@extundo.com>
53304
53305         * tests/test-getpass.c: New file.
53306
53307 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
53308
53309         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
53310         for GNU regex features.
53311
53312 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
53313
53314         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
53315         * lib/regex.h (regerror): Likewise.
53316
53317         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
53318         requires this.  (The code never needed it.)
53319
53320         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
53321         All uses of recently-renamed identifiers changed to use the new,
53322         POSIX-compliant names.  The code will build and run just fine
53323         without these changes, but it's better to eat our own dog food
53324         and use the standard-conforming names.
53325
53326         * lib/regex.h: Fix a multitude of POSIX name space violations.
53327         These changes have an effect only for programs that define
53328         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
53329         do not change anything for programs compiled in the normal way.
53330         Also, there is no effect on the ABI.
53331
53332         (_REGEX_SOURCE): New macro.
53333         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
53334         defined and _GNU_SOURCE is not; this fixes a name space violation.
53335
53336         Rename the following macros to obey POSIX requirements.
53337         The old names are still visible as macros if _REGEX_SOURCE is defined.
53338         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
53339         RE_BACKSLASH_ESCAPE_IN_LISTS.
53340         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
53341         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
53342         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
53343         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
53344         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
53345         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
53346         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
53347         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
53348         (REG_INTERVALS): renamed from RE_INTERVALS.
53349         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
53350         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
53351         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
53352         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
53353         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
53354         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
53355         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
53356         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
53357         RE_UNMATCHED_RIGHT_PAREN_ORD.
53358         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
53359         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
53360         (REG_DEBUG): renamed from RE_DEBUG.
53361         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
53362         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
53363         unusual, since we can't clash with the POSIX REG_ICASE.
53364         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
53365         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
53366         (REG_NO_SUB): renamed from RE_NO_SUB.
53367         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
53368         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
53369         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
53370         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
53371         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
53372         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
53373         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
53374         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
53375         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
53376         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
53377         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
53378         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
53379         RE_SYNTAX_POSIX_MINIMAL_BASIC.
53380         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
53381         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
53382         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
53383         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
53384         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
53385         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
53386         (REG_FIXED): Renamed from REGS_FIXED.
53387         (REG_NREGS): Renamed from RE_NREGS.
53388
53389         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
53390         of other REG_* macros, since POSIX says the user is allowed to
53391         #undef these macros selectively.
53392
53393         (reg_errcode_t): Update comment stating what other tables need
53394         to be consistent.
53395
53396         Rename the following enum values to obey POSIX requirements.
53397         The old names are still visible as macros.
53398         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
53399         is not defined, since GNU is supposed to be a superset of POSIX as
53400         much as possible, and since we want reg_errcode_t to be a signed
53401         type for implementation consistency.
53402         (_REG_NOERROR): Renamed from REG_NOERROR.
53403         (_REG_NOMATCH): Renamed from REG_NOMATCH.
53404         (_REG_BADPAT): Renamed from REG_BADPAT.
53405         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
53406         (_REG_ECTYPE): Renamed from REG_ECTYPE.
53407         (_REG_EESCAPE): Renamed from REG_EESCAPE.
53408         (_REG_ESUBREG): Renamed from REG_ESUBREG.
53409         (_REG_EBRACK): Renamed from REG_EBRACK.
53410         (_REG_EPAREN): Renamed from REG_EPAREN.
53411         (_REG_EBRACE): Renamed from REG_EBRACE.
53412         (_REG_BADBR): Renamed from REG_BADBR.
53413         (_REG_ERANGE): Renamed from REG_ERANGE.
53414         (_REG_ESPACE): Renamed from REG_ESPACE.
53415         (_REG_BADRPT): Renamed from REG_BADRPT.
53416         (_REG_EEND): Renamed from REG_EEND.
53417         (_REG_ESIZE): Renamed from REG_ESIZE.
53418         (_REG_ERPAREN): Renamed from REG_ERPAREN.
53419         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
53420         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
53421         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
53422         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
53423
53424         (_REG_RE_NAME, _REG_RM_NAME): New macros.
53425         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
53426         changed.  But support the old name if the new one is not defined
53427         and if _REGEX_SOURCE.
53428
53429         Change the following member names in struct re_pattern_buffer.
53430         The old names are still supported if !_REGEX_SOURCE.
53431         The new names are always supported, regardless of _REGEX_SOURCE.
53432         (re_buffer): Renamed from buffer.
53433         (re_allocated): Renamed from allocated.
53434         (re_used): Renamed from used.
53435         (re_syntax): Renamed from syntax.
53436         (re_fastmap): Renamed from fastmap.
53437         (re_translate): Renamed from translate.
53438         (re_can_be_null): Renamed from can_be_null.
53439         (re_regs_allocated): Renamed from regs_allocated.
53440         (re_fastmap_accurate): Renamed from fastmap_accurate.
53441         (re_no_sub): Renamed from no_sub.
53442         (re_not_bol): Renamed from not_bol.
53443         (re_not_eol): Renamed from not_eol.
53444         (re_newline_anchor): Renamed from newline_anchor.
53445
53446         Change the following member names in struct re_registers.
53447         The old names are still supported if !_REGEX_SOURCE.
53448         The new names are always supported, regardless of _REGEX_SOURCE.
53449         (rm_num_regs): Renamed from num_regs.
53450         (rm_start): Renamed from start.
53451         (rm_end): Renamed from end.
53452
53453         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
53454         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
53455         Prepend __ to parameter names.
53456
53457         Undo yesterday's changes.
53458
53459 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
53460
53461         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
53462         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
53463         lib/regex.c.
53464
53465 2005-08-24  Jim Meyering  <jim@meyering.net>
53466
53467         Sync from coreutils.
53468         * m4/fcntl-safer.m4: New file.
53469
53470         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
53471         and object files for this module.
53472
53473 2005-08-24  Jim Meyering  <jim@meyering.net>
53474
53475         Sync from coreutils.
53476         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
53477
53478 2005-08-24  Jim Meyering  <jim@meyering.net>
53479
53480         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
53481         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
53482
53483 2005-08-24  Jim Meyering  <jim@meyering.net>
53484
53485         * modules/fcntl-safer: New module.
53486         * modules/fts (Depends-on): Add fcntl-safer.
53487         * MODULES.html.sh (File descriptor based Input/Output):
53488         Add fcntl-safer.
53489
53490 2005-08-24  Bruno Haible  <bruno@clisp.org>
53491
53492         Support for unit test modules.
53493         * modules/README: Mention tests modules.
53494         * modules/TEMPLATE-TESTS: New file.
53495         * gnulib-tool: New options --extract-tests-module, --with-tests and
53496         --tests-base (unused for the moment).
53497         (testsbase, inctests): New variables.
53498         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
53499         (func_verify_module): Exclude TEMPLATE-TESTS.
53500         (func_verify_nontests_module, func_verify_tests_module): New functions.
53501         (func_get_dependencies): Add implicit dependency for tests modules.
53502         (func_get_tests_module): New function.
53503         (func_modules_transitive_closure): When --with-tests was specified,
53504         include the unit tests as well, unless explicitly avoided.
53505         (func_emit_lib_Makefile_am): Ignore the tests modules here.
53506         (func_emit_tests_Makefile_am): New function.
53507         (func_create_testdir): When --with-tests was specified, emit a
53508         tests/ directory.
53509         * MODULES.html.sh (Future developments): Update.
53510
53511 2005-08-24  Bruno Haible  <bruno@clisp.org>
53512
53513         * modules/tls-tests: New file.
53514         * tests/test-tls.c: New file, from GNU gettext.
53515
53516 2005-08-24  Bruno Haible  <bruno@clisp.org>
53517
53518         * modules/lock-tests: New file.
53519         * tests/test-lock.c: New file, from GNU gettext.
53520
53521 2005-08-24  Bruno Haible  <bruno@clisp.org>
53522
53523         * lib/lock.h: Add multiple inclusion guard.
53524         * lib/tls.h: Add multiple inclusion guard.
53525
53526 2005-08-24  Bruno Haible  <bruno@clisp.org>
53527
53528         * gnulib-tool: Add support for the --aux-dir option to
53529         --create-testdir, --create-megatestdir, --test, --megatest.
53530         (func_create_testdir, func_create_megatestdir): Optionally emit a
53531         AC_CONFIG_AUX_DIR directive.
53532         (create-testdir, create-megatestdir, test, megatest): Provide a
53533         default value for $auxdir.
53534
53535 2005-08-24  Bruno Haible  <bruno@clisp.org>
53536
53537         * gnulib-tool (import): Use compound statement instead of subshell
53538         where possible.
53539
53540 2005-08-24  Bruno Haible  <bruno@clisp.org>
53541
53542         * gnulib-tool (import): Change --aux-dir default to "build-aux".
53543
53544 2005-08-24  Bruno Haible  <bruno@clisp.org>
53545
53546         * gnulib-tool (func_version): Update.
53547
53548 2005-08-24  Bruno Haible  <bruno@clisp.org>
53549
53550         * gnulib-tool (func_import, func_create_testdir,
53551         func_create_megatestdir): Quote all autoconf macro arguments.
53552
53553 2005-08-24  Bruno Haible  <bruno@clisp.org>
53554
53555         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
53556         option --force, because --force causes the aclocal.m4 of each
53557         subdirectory to be newer than the corresponding config.h.in.
53558
53559 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
53560
53561         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
53562         All contents moved to gl_REGEX.
53563         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
53564         assume that it does.
53565
53566 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
53567
53568         * lib/regex.h (REG_NOSYS)
53569         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
53570         Define, since POSIX requires it as of 2001.
53571         (_REG_ENOSYS)
53572         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
53573         New private symbol, used to keep the enum signed in all cases.
53574         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
53575         Youngman in
53576         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
53577
53578         * lib/regex_internal.c (re_string_skip_chars, register_state):
53579         (calc_state_hash):
53580         Remove forward decls; no longer needed now that we use prototypes.
53581         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
53582         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
53583         (clean_state_log_if_needed): Likewise.
53584
53585 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
53586
53587         * config/srclist.txt: Add glibc bugs 1231-1233.
53588
53589 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
53590
53591         Fix problems reported by Sam Steingold in
53592         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
53593         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
53594         assumed that reg_errcode_t is a signed type, which is not
53595         necessarily true if _XOPEN_SOURCE is not defined.
53596         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
53597         since some compilers warn about it otherwise.
53598
53599 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
53600
53601         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
53602         (init_word_char, create_initial_state, duplicate_node_closure):
53603         (fetch_token, peek_token_bracket, build_range_exp):
53604         (build_collating_symbol): Remove forward decls; no longer needed
53605         now that we use prototypes.
53606
53607         * lib/regcomp.c:
53608         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
53609         (re_compile_fastmap_iter, regcomp, regerror, regfree):
53610         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
53611         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
53612         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
53613         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
53614         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
53615         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
53616         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
53617         (build_range_exp, build_collating_symbol, parse_bracket_exp):
53618         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
53619         (build_charclass, build_charclass_op, fetch_number, create_tree):
53620         (create_token_tree, mark_opt_subexp, duplicate_tree):
53621         Use prototypes rather than old-style definitions.
53622
53623         * lib/regex_internal.c:
53624         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
53625         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
53626         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
53627         (re_string_reconstruct, re_string_peek_byte_case):
53628         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
53629         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
53630         (re_node_set_init_copy, re_node_set_add_intersect):
53631         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
53632         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
53633         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
53634         (re_acquire_state, re_acquire_state_context, register_state):
53635         (create_ci_newstate, create_cd_newstate, free_state):
53636         Likewise.
53637         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
53638         re_search_2):
53639         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
53640         (re_search_internal, prune_impossible_nodes):
53641         (acquire_init_state_context, check_matching, static):
53642         (check_halt_node_context, check_halt_state_context, proceed_next_node):
53643         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
53644         (update_regs, sift_states_backward, build_sifted_states):
53645         (clean_state_log_if_needed, merge_state_array):
53646         (update_cur_sifted_state, add_epsilon_src_nodes):
53647         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
53648         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
53649         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
53650         (find_recover_state, check_subexp_matching_top, transit_state_mb):
53651         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
53652         (check_arrival, check_arrival_add_next_nodes):
53653         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
53654         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
53655         (check_node_accept_bytes, check_node_accept, extend_buffers):
53656         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
53657         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
53658         (sift_ctx_init):
53659         Likewise.
53660
53661         * lib/regex_internal.h:
53662         (re_string_allocate, re_string_construct, re_string_reconstruct):
53663         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
53664         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
53665         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
53666         (re_string_context_at, re_string_peek_byte_case):
53667         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
53668         is defined, since we now use prototypes always.
53669
53670         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
53671         C89 or better.  All uses removed.
53672
53673 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
53674
53675         * config/srclist.txt: Add glibc bugs 1220-1227.
53676
53677 2005-08-20  Jim Meyering  <jim@meyering.net>
53678
53679         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
53680         of unused local, dfa.
53681
53682 2005-08-20  Bruno Haible  <bruno@clisp.org>
53683
53684         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
53685
53686 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
53687
53688         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
53689         (re_node_set_insert_last, re_dfa_add_node):
53690         Rename local variables to avoid GCC shadowing warnings.
53691
53692 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
53693
53694         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
53695         [defined lint]: Suppress bogus uninitialized-variable warnings.
53696
53697         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
53698         and let the caller return REG_ESPACE if out of space.  This
53699         removes an uninitialied-variable warning with GCC 4.0.1, and also
53700         avoids taking the address of a local variable.  All callers
53701         changed.
53702
53703 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
53704
53705         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
53706         $LIBCSRC/posix/regexec.c.
53707         Add glibc bug 1217 for regcomp.c.
53708
53709 2005-08-19  Jim Meyering  <jim@meyering.net>
53710
53711         * lib/regexec.c (proceed_next_node): Redo local variables to
53712         avoid GCC shadowing warnings.
53713
53714 2005-08-18  Bruno Haible  <bruno@clisp.org>
53715
53716         * lib/strstr.c (strstr): Fix return value in multibyte case.
53717         * lib/strcasestr.c (strcasestr): Likewise.
53718
53719 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
53720
53721         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
53722
53723 2005-08-17  Jim Meyering  <jim@meyering.net>
53724
53725         Make the %s format (seconds since the epoch) work for a negative
53726         number and when used with a zero-padded field width, e.g. %015s.
53727
53728         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
53729         label so that it precedes the code to set `digits'.  Otherwise,
53730         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
53731         print `00-22'.  Now, it prints `-0022', as it should.
53732
53733 2005-08-17  Bruno Haible  <bruno@clisp.org>
53734
53735         * modules/strstr (Files): Add m4/mbrtowc.m4.
53736         (Depends-on): Add mbuiter.
53737
53738 2005-08-17  Bruno Haible  <bruno@clisp.org>
53739
53740         * modules/strcasestr: New file.
53741         * MODULES.html.sh (String handling, based on ANSI C 89): Add
53742         strcasestr.
53743
53744 2005-08-17  Bruno Haible  <bruno@clisp.org>
53745
53746         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
53747
53748 2005-08-17  Bruno Haible  <bruno@clisp.org>
53749
53750         * modules/mbuiter: New file.
53751         * MODULES.html.sh (Extended multibyte and wide character utilities):
53752         Add mbuiter.
53753
53754 2005-08-17  Bruno Haible  <bruno@clisp.org>
53755
53756         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
53757         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
53758
53759 2005-08-17  Bruno Haible  <bruno@clisp.org>
53760
53761         * m4/strcasestr.m4: New file.
53762
53763 2005-08-17  Bruno Haible  <bruno@clisp.org>
53764
53765         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
53766         * lib/strstr.c: Completely rewritten, with multibyte locale support.
53767
53768 2005-08-17  Bruno Haible  <bruno@clisp.org>
53769
53770         * lib/strcasestr.h: New file.
53771         * lib/strcasestr.c: New file.
53772
53773 2005-08-17  Bruno Haible  <bruno@clisp.org>
53774
53775         * lib/strcasecmp.c: Use mbuiter.h.
53776
53777 2005-08-17  Bruno Haible  <bruno@clisp.org>
53778
53779         * lib/mbuiter.h: New file.
53780
53781 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
53782
53783         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
53784         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
53785         and gl_GETOPT are both invoked via different paths (as happens
53786         with GNU tar CVS because it uses both argp and getopt), the former
53787         wins.
53788
53789 2005-08-16  Bruno Haible  <bruno@clisp.org>
53790
53791         * modules/tls: New file.
53792         * MODULES.html.sh (Multithreading): Add tls.
53793
53794 2005-08-16  Bruno Haible  <bruno@clisp.org>
53795
53796         * modules/strnlen1: New file.
53797         * MODULES.html.sh (String handling): Add strnlen1.
53798
53799 2005-08-16  Bruno Haible  <bruno@clisp.org>
53800
53801         * modules/strcase (Files): Add m4/mbrtowc.m4.
53802         (Depends-on): Add strnlen1, mbchar.
53803
53804 2005-08-16  Bruno Haible  <bruno@clisp.org>
53805
53806         * modules/mbiter: New file.
53807         * MODULES.html.sh (Extended multibyte and wide character utilities):
53808         Add mbiter.
53809
53810 2005-08-16  Bruno Haible  <bruno@clisp.org>
53811
53812         * modules/mbfile: New file.
53813         * MODULES.html.sh (Extended multibyte and wide character utilities):
53814         Add mbfile.
53815
53816 2005-08-16  Bruno Haible  <bruno@clisp.org>
53817
53818         * modules/mbchar: New file.
53819         * MODULES.html.sh (Extended multibyte and wide character utilities):
53820         New section.
53821
53822 2005-08-16  Bruno Haible  <bruno@clisp.org>
53823
53824         * m4/tls.m4: New file, from GNU gettext.
53825
53826 2005-08-16  Bruno Haible  <bruno@clisp.org>
53827
53828         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
53829         always.
53830         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
53831
53832 2005-08-16  Bruno Haible  <bruno@clisp.org>
53833
53834         * m4/mbiter.m4: New file.
53835
53836 2005-08-16  Bruno Haible  <bruno@clisp.org>
53837
53838         * m4/mbfile.m4: New file.
53839
53840 2005-08-16  Bruno Haible  <bruno@clisp.org>
53841
53842         * m4/mbchar.m4: New file.
53843
53844 2005-08-16  Bruno Haible  <bruno@clisp.org>
53845
53846         * lib/tls.h: New file, from GNU gettext.
53847         * lib/tls.c: New file, from GNU gettext.
53848
53849 2005-08-16  Bruno Haible  <bruno@clisp.org>
53850
53851         * lib/strnlen1.h: New file.
53852         * lib/strnlen1.c: New file.
53853
53854 2005-08-16  Bruno Haible  <bruno@clisp.org>
53855
53856         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
53857         (mbi_init): Update.
53858         (mbi_avail, mbi_advance): Let the iteration end before the terminating
53859         NUL byte, not after it.
53860
53861 2005-08-16  Bruno Haible  <bruno@clisp.org>
53862
53863         * lib/strcase.h (strcasecmp): Add note in comments.
53864         * lib/strncasecmp.c: Use code from strcasecmp.c.
53865         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
53866         (strcasecmp): Work correctly in multibyte locales.
53867
53868 2005-08-16  Bruno Haible  <bruno@clisp.org>
53869
53870         * lib/mbiter.h: New file.
53871
53872 2005-08-16  Bruno Haible  <bruno@clisp.org>
53873
53874         * lib/mbfile.h: New file.
53875
53876 2005-08-16  Bruno Haible  <bruno@clisp.org>
53877
53878         * lib/mbchar.h: New file.
53879         * lib/mbchar.c: New file.
53880
53881 2005-08-16  Bruno Haible  <bruno@clisp.org>
53882
53883         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
53884         the valid ones. Makes the comparison operations transitive:
53885         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
53886         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
53887
53888 2005-08-15  Simon Josefsson  <jas@extundo.com>
53889
53890         * modules/ssize_t (License): Change to 'unlimited'.
53891
53892         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
53893
53894 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
53895
53896         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
53897         Add comments for each pending glibc patch.
53898
53899 2005-08-15  Bruno Haible  <bruno@clisp.org>
53900
53901         * lib/regex.h (__restrict_arr): Don't define to __restrict if
53902         __cplusplus is defined.
53903
53904 2005-08-14  Jim Meyering  <jim@meyering.net>
53905
53906         Sync from coreutils.
53907
53908         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
53909         Use the hash-table-based cycle-detection code not just when
53910         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
53911         Reported by James Youngman in
53912         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
53913         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
53914         FTS_TIGHT_CYCLE_CHECK.
53915         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
53916         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
53917         once again.
53918         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
53919         * lib/fts.c (fd_safer): Remove decl.
53920         Include fcntl--.h rather than unistd-safer.h
53921         (fts_safe_changedir): Don't call fd_safer; no longer needed
53922         now that we include fcntl--.h.
53923
53924 2005-08-12  Simon Josefsson  <jas@extundo.com>
53925
53926         * modules/getndelim2: Use ssize_t module.
53927         * modules/getnline: Likewise.
53928         * modules/safe-read: Likewise.
53929         * modules/xreadlink: Likewise.
53930
53931         * modules/ssize_t: New file.
53932
53933 2005-08-12  Simon Josefsson  <jas@extundo.com>
53934
53935         * m4/readline.m4: Look for termcap, curses or ncurses if required.
53936
53937 2005-08-12  Simon Josefsson  <jas@extundo.com>
53938
53939         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53940         ssize_t.
53941
53942 2005-08-12  Simon Josefsson  <jas@extundo.com>
53943
53944         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
53945         readline, getdelim and check_version.
53946         (Support for systems lacking ISO C 99: Sizes of integer types):
53947         Add size_max.
53948
53949 2005-08-12  Bruno Haible  <bruno@clisp.org>
53950
53951         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
53952
53953 2005-08-11  Simon Josefsson  <jas@extundo.com>
53954
53955         * modules/readline: New file.
53956
53957         * modules/strnlen (Files): Add strnlen.h.
53958
53959 2005-08-11  Simon Josefsson  <jas@extundo.com>
53960
53961         * m4/readline.m4: New file.
53962
53963 2005-08-11  Simon Josefsson  <jas@extundo.com>
53964
53965         * lib/readline.h, readline.c: New file.
53966
53967 2005-08-11  Simon Josefsson  <jas@extundo.com>
53968
53969         * doc/gnulib.texi (Initial import, Finishing touches): Mention
53970         gl_AVOID.
53971
53972 2005-08-11  Bruno Haible  <bruno@clisp.org>
53973
53974         * lib/strnlen.h (strnlen): Change parameter name to match comment.
53975
53976 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
53977
53978         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
53979
53980 2005-08-10  Simon Josefsson  <jas@extundo.com>
53981
53982         * tests/test-iconvme.c: New file.
53983
53984 2005-08-10  Simon Josefsson  <jas@extundo.com>
53985
53986         * m4/strnlen.m4: New file.
53987
53988         * m4/strndup.m4: Don't check for strnlen declaration, done in
53989         strnlen.m4.
53990
53991 2005-08-10  Simon Josefsson  <jas@extundo.com>
53992
53993         * lib/strndup.c: Use strnlen.h.
53994
53995         * lib/strnlen.h: New file.
53996
53997 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53998
53999         * README: Typos.
54000
54001 2005-08-02  Simon Josefsson  <jas@extundo.com>
54002
54003         * modules/readline: New file.
54004
54005 2005-08-02  Simon Josefsson  <jas@extundo.com>
54006
54007         * modules/getdelim: New file.
54008
54009         * modules/getline: Rewrite, don't use getndelim2.
54010
54011 2005-08-02  Simon Josefsson  <jas@extundo.com>
54012
54013         * m4/getline.m4: Separate out getdelim stuff into separate module.
54014
54015         * m4/getdelim.m4: New file.
54016
54017 2005-08-02  Simon Josefsson  <jas@extundo.com>
54018
54019         * lib/getline.h, getline.c: Rewrite.
54020
54021         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
54022
54023 2005-07-31  Bruno Haible  <bruno@clisp.org>
54024
54025         * lib/lock.h (gl_lock_initializer): New macro.
54026         (gl_lock_define_initialized): Use it.
54027         (gl_rwlock_initializer): New macro.
54028         (gl_rwlock_define_initialized): Use it.
54029         (gl_recursive_lock_initializer): New macro.
54030         (gl_recursive_lock_define_initialized): Use it.
54031
54032 2005-07-30  Karl Berry  <karl@gnu.org>
54033
54034         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
54035         Report from Ben Pfaff, regarding getopt.
54036
54037 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
54038
54039         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
54040         normal way.
54041         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
54042         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
54043         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
54044         (gl_GETOPT): Use the new macros.  Most of the implementation
54045         is moved to the new macros.  This is for programs like Emacs
54046         that don't want all the functionality of gl_GETOPT.
54047
54048 2005-07-26  Bruno Haible  <bruno@clisp.org>
54049
54050         * m4/lock.m4: Update from GNU gettext.
54051
54052 2005-07-26  Bruno Haible  <bruno@clisp.org>
54053
54054         * lib/lock.h: Update from GNU gettext.
54055         * lib/lock.c: Update from GNU gettext.
54056
54057 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
54058
54059         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
54060         obsolescent AC_TRY_RUN.  Include the default includes files, for
54061         'exit'.
54062
54063 2005-07-24  Bruno Haible  <bruno@clisp.org>
54064
54065         * modules/visibility: New file.
54066         * MODULES.html.sh (Misc): Add visibility.
54067
54068 2005-07-24  Bruno Haible  <bruno@clisp.org>
54069
54070         * m4/visibility.m4: New file.
54071
54072 2005-07-24  Bruno Haible  <bruno@clisp.org>
54073
54074         * doc/visibility.texi: New file.
54075
54076 2005-07-22  Bruno Haible  <bruno@clisp.org>
54077
54078         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
54079         $(ALLOCA_H), redundant through BUILT_SOURCES.
54080         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
54081         redundant through BUILT_SOURCES.
54082         * modules/byteswap (Makefile.am): Remove explicit dependency on
54083         $(BYTESWAP_H), redundant through BUILT_SOURCES.
54084         * modules/fnmatch (Makefile.am): Remove explicit dependency on
54085         $(FNMATCH_H), redundant through BUILT_SOURCES.
54086         * modules/getopt (Makefile.am): Remove explicit dependency on
54087         $(GETOPT_H), redundant through BUILT_SOURCES.
54088         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
54089         redundant through BUILT_SOURCES.
54090         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
54091         redundant through BUILT_SOURCES.
54092         * modules/stdbool (Makefile.am): Remove explicit dependency on
54093         $(STDBOOL_H), redundant through BUILT_SOURCES.
54094         * modules/stdint (Makefile.am): Remove explicit dependency on
54095         $(STDINT_H), redundant through BUILT_SOURCES.
54096         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
54097         Remove explicit dependency on $(SYSEXITS_H).
54098         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
54099
54100 2005-07-18  Simon Josefsson  <jas@extundo.com>
54101
54102         * lib/check-version.c (check_version): Accept identical versions too.
54103
54104 2005-07-18  Bruno Haible  <bruno@clisp.org>
54105
54106         * modules/lock: New file.
54107         * MODULES.html.sh (Multithreading): New section.
54108
54109 2005-07-18  Bruno Haible  <bruno@clisp.org>
54110
54111         * m4/lock.m4: New file, from GNU gettext.
54112
54113 2005-07-18  Bruno Haible  <bruno@clisp.org>
54114
54115         * lib/lock.h: New file, from GNU gettext.
54116         * lib/lock.c: New file, from GNU gettext.
54117
54118 2005-07-18  Bruno Haible  <bruno@clisp.org>
54119
54120         * lib/lock.h (gl_once_t): New type.
54121         (gl_once_define, gl_once): New macros.
54122         * lib/lock.c (fresh_once): New variable.
54123         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
54124         functions.
54125
54126 2005-07-16  Simon Josefsson  <jas@extundo.com>
54127
54128         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
54129         workaround, suggested by Bruno.
54130
54131 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
54132
54133         * modules/xalloc (Depends-on): Add xalloc-die.
54134         * modules/xvasprintf (Depends-on): Add xalloc-die.
54135
54136 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
54137
54138         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
54139         with a minor change.
54140
54141 2005-07-15  Bruno Haible  <bruno@clisp.org>
54142
54143         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
54144         When using lib/poll.c, define poll as rpl_poll.
54145
54146 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
54147
54148         * modules/argp (Depends-on): Remove unlocked-io.
54149
54150 2005-07-14  Derek Price  <derek@ximbiot.com>
54151
54152         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
54153         for glob symlink bug.
54154
54155 2005-07-14  Bruno Haible  <bruno@clisp.org>
54156
54157         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
54158         Instead, test for *_unlocked function declarations directly.
54159
54160 2005-07-11  Simon Josefsson  <jas@extundo.com>
54161
54162         * modules/size_max: New file.
54163
54164         * modules/xsize: Depend on size_max module for size_max.m4.
54165
54166 2005-07-11  Simon Josefsson  <jas@extundo.com>
54167
54168         * lib/size_max.h: New file.
54169
54170 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
54171
54172         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
54173         copyright symbol and the year.
54174         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
54175         (version_etc_va): Use parameterized copyright notice.
54176         Reword to conform to the current GNU coding standards.
54177
54178 2005-07-11  Karl Berry  <karl@gnu.org>
54179
54180         * doc/gnulib.texi (Quoting): new node.
54181         (Initial import): more info, from Patrice.
54182
54183 2005-07-11  Bruno Haible  <bruno@clisp.org>
54184
54185         * gnulib-tool (func_usage): Document option --avoid.
54186         (Command line options): Handle --avoid.
54187         (func_acceptable): New function.
54188         (func_modules_transitive_closure): Use it.
54189
54190 2005-07-11  Bruno Haible  <bruno@clisp.org>
54191
54192         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
54193         Reported by Jim Meyering.
54194
54195 2005-07-10  Bruno Haible  <bruno@clisp.org>
54196
54197         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
54198         Needed when size_t is smaller than 'unsigned int'.
54199         Reported by Paul Eggert.
54200
54201 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54202
54203         * modules/argp (Depends-on): Add unlocked-io
54204
54205 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54206
54207         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
54208         block of defines.
54209
54210 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
54211
54212         * config/srclist.txt: Comment out regcomp.c, since we have a porting
54213         fix now.
54214
54215 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
54216         and Paul Eggert  <eggert@cs.ucla.edu>
54217
54218         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
54219         in wint_t, not wchar_t.  Remove now-unnecessary cast.
54220
54221 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54222
54223         * modules/regex (Files): Add lib/regex_internal.c,
54224         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
54225         (Depends-on): Add extensions.
54226         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
54227
54228 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54229
54230         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
54231         pathconf.
54232         * m4/same.m4 (gl_SAME): Likewise.
54233         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
54234
54235         * m4/regex.m4: Adjust to new libc regex implementation.
54236         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
54237         all the .c and .h parts of (the new) regex.
54238         Quote the m4 stuff better.
54239         Check for RE_ICASE bug of old gnulib.
54240         Check for REG_STARTEND of recent libc.
54241         Rename local variables from jm_* to gl_*.
54242         Quote operand of "test -f".
54243         Say "recent enough" version of libc, not "version 2".
54244         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
54245         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
54246         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
54247         Remove check for btowc, isascii.
54248         Require AM_LANGINFO_CODESET.
54249
54250 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54251
54252         * lib/regex.c, regex.h: Sync from libc.
54253         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
54254         * lib/regexec.c:
54255         New files, synced from libc, except that regex_internal.h
54256         currently has a small porting fix.
54257
54258 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54259
54260         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
54261         regex_internal.c, regexec.c.
54262         Add regex_internal.h too, but as a comment, since the libc version
54263         is currently broken in gnulib mode.
54264
54265 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
54266
54267         Support programs like Emacs that use gnulib but not gettext.
54268         * MODULES.html.sh (Internationalization functions): Add gettext-h.
54269         * modules/gettext-h: New file.
54270         * modules/gettext (Files): Remove lib/gettext.h.
54271         (Depends-on): Add gettext-h.
54272         (Makefile.am): Remove lib_SOURCES.
54273         * modules/argmatch, modules/c-stack, modules/closeout:
54274         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
54275         * modules/execute, modules/file-type, modules/getaddrinfo:
54276         * modules/getopt, modules/human, modules/javacomp:
54277         * modules/javaexec, modules/mkdir-p, modules/obstack:
54278         * modules/openat, modules/pagealign_alloc, modules/pipe:
54279         * modules/quotearg, modules/regex, modules/rpmatch:
54280         * modules/unicodeio, modules/userspec, modules/version-etc:
54281         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
54282         * modules/xsetenv:
54283         Depend on gettext-h, not gettext.
54284
54285 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
54286
54287         * gnulib-tool (func_import): Add support for 'public domain' license.
54288         * modules/alloca, modules/atexit, modules/memmove:
54289         Now public domain, not GPL.
54290         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
54291         * modules/realloc, modules/strerror, modules/strtod:
54292         Now LGPL, not GPL.
54293
54294 2005-07-05  Bruno Haible  <bruno@clisp.org>
54295
54296         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
54297         autoconf CVS. Needed for mingw.
54298
54299 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54300
54301         Remove the dependency of the strftime module on the tzset module.
54302         * modules/strftime (Depends-on): Remove dependency on tzset.
54303
54304 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54305
54306         Remove the dependency of the strftime module on the tzset module.
54307         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
54308         gl_FUNC_TZSET_CLOBBER.
54309
54310 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54311
54312         Remove the dependency of the strftime module on the tzset module.
54313         * lib/strftime.c (my_strftime)
54314         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
54315         Copy the input structure, to work around some of the bug with
54316         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
54317         Solaris releases, you should also use the tzset module, but we won't
54318         require it as a dependency any more since we don't want LGPLed code
54319         to depend on GPLed code.
54320
54321 2005-07-02  Jim Meyering  <jim@meyering.net>
54322
54323         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
54324         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
54325         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
54326         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
54327
54328 2005-07-02  Jim Meyering  <jim@meyering.net>
54329
54330         * lib/backupfile.c (backup_args): Change a `0' to NULL.
54331
54332 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
54333
54334         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
54335         declares only 'struct timespec;' (!).
54336
54337 2005-07-01  Jim Meyering  <jim@meyering.net>
54338
54339         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
54340         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
54341         * lib/save-cwd.c, tempname.c:
54342         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
54343         and don't include <sys/file.h>).
54344
54345 2005-06-29  Jim Meyering  <jim@meyering.net>
54346
54347         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
54348         type name.  Use the variable name instead.
54349         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
54350         Likewise.
54351
54352 2005-06-28  Simon Josefsson  <jas@extundo.com>
54353
54354         * modules/check-version (Files): Add check-version.m4.
54355
54356 2005-06-28  Simon Josefsson  <jas@extundo.com>
54357
54358         * m4/check-version.m4: New file, suggested by Jim Meyering
54359         <jim@meyering.net>.
54360
54361 2005-06-28  Simon Josefsson  <jas@extundo.com>
54362
54363         * lib/check-version.h, lib/check-version.c: New files.
54364
54365 2005-06-28  Simon Josefsson  <jas@extundo.com>
54366
54367         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
54368         collision with global variable.  Better indentation.  Don't
54369         increment buffer pointer beyond buffer end.  Based on comments
54370         from Paul Eggert <eggert@cs.ucla.edu>.
54371
54372         * lib/base64.h: Indent.
54373
54374 2005-06-28  Simon Josefsson  <jas@extundo.com>
54375
54376         * doc/gnulib.texi (Library version handling): New section.
54377
54378 2005-06-28  Jim Meyering  <jim@meyering.net>
54379
54380         * check-module (find_included_lib_files): Hard-code another
54381         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
54382         but modules/fts-lgpl (correctly) does not list those files.
54383
54384         * modules/canonicalize (Files): Add lib/pathmax.h.
54385
54386 2005-06-25  Simon Josefsson  <jas@extundo.com>
54387
54388         * modules/check-version: New file.
54389
54390 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
54391
54392         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
54393         initializer of struct addrinfo, as an indication that we don't
54394         care how many members the structure has.
54395
54396 2005-06-24  Derek Price  <derek@ximbiot.com>
54397         and Bruno Haible  <bruno@clisp.org>
54398
54399         Remove stat module & update lstat.
54400         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
54401         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
54402         * m4/stat.m4: Remove this file.
54403
54404 2005-06-24  Derek Price  <derek@ximbiot.com>
54405         and Bruno Haible  <bruno@clisp.org>
54406
54407         Remove stat module & update lstat.
54408         * lib/stat.c: Remove this file...
54409         (slash_aware_lstat): ...moving this content and its support...
54410         * lib/lstat.c (rpl_lstat): ...into here.
54411         * lib/lstat.h: New file.
54412
54413 2005-06-24  Derek Price  <derek@ximbiot.com>
54414         and Bruno Haible  <bruno@clisp.org>
54415
54416         Remove stat module & update lstat.
54417         * config/srclist.txt (libc sources): Remove stat.
54418
54419 2005-06-24  Derek Price  <derek@ximbiot.com>
54420         and Bruno Haible  <bruno@clisp.org>
54421
54422         Remove stat module & update lstat.
54423         * MODULES.html.sh (stat): Remove.
54424         * MODULES.html: Regenerated.
54425         * modules/lstat (Description): Correct function name.
54426         (Files): Add "lstat.h".
54427         (Depends-on): Remove stat, add xalloc, stat-macros.
54428         * modules/stat: Remove this file.
54429         (Include): Add "lstat.h", remove <sys/stat.h>.
54430
54431 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
54432
54433         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
54434         (ranged_convert): Don't save conversion in a temporary struct.
54435         This causes a warning with GCC 4.0.0, and anyway in the typical
54436         case it's not worth the extra 100 bytes or so of code.
54437         (ranged_convert, __mktime_internal): When calling a function via a
54438         pointer P, use P () rather than (*P) (), as we now assume C89 or
54439         better.
54440
54441 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
54442
54443         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
54444         "who -r" failed to give output.  Problem reported by Tim Waugh.
54445
54446         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
54447         (xcalloc): Use it to avoid needless tests.
54448         Problem reported by Jim Meyering.
54449
54450 2005-06-20  Derek Price  <derek@ximbiot.com>
54451
54452         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
54453         unnecessary for Autoconfs > 2.59c.
54454
54455 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54456
54457         * lib/argp.h (__option_is_short): Check upper limit of
54458         __key. Isprint() requires its argument to have the value
54459         of an unsigned char or EOF.
54460
54461 2005-06-16  Jim Meyering  <jim@meyering.net>
54462
54463         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
54464         when either N or S is zero.
54465
54466 2005-06-16  Derek Price  <derek@ximbiot.com>
54467
54468         * m4/bison.m4: Declare YACC & YFLAGS precious.
54469
54470 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
54471
54472         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
54473         multibyte string or pattern, fall back on unibyte matching.
54474         Problem reported by James Youngman.
54475
54476 2005-06-08  Bruno Haible  <bruno@clisp.org>
54477
54478         * modules/csharpcomp: New file.
54479         * MODULES.html.sh (C#): Add csharpcomp.
54480
54481 2005-06-08  Bruno Haible  <bruno@clisp.org>
54482
54483         * m4/csharpcomp.m4: New file, from GNU gettext.
54484
54485 2005-06-08  Bruno Haible  <bruno@clisp.org>
54486
54487         * lib/csharpcomp.h: New file, from GNU gettext.
54488         * lib/csharpcomp.c: New file, from GNU gettext.
54489         * lib/csharpcomp.sh.in: New file, from GNU gettext.
54490
54491 2005-06-08  Bruno Haible  <bruno@clisp.org>
54492
54493         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
54494         warning on mingw.
54495
54496 2005-06-07  Derek Price  <derek@ximbiot.com>
54497
54498         Sync from CVS.
54499         * lib/glob_.h: Indent nested #ifdef.
54500
54501 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54502
54503         Sync from coreutils.
54504         Use "file name" when talking about file names, instead of "filename"
54505         or "path", as per the GNU coding standards.
54506         * lib/mkdir-p.c: Renamed from makepath.c.
54507         (make_dir_parents): Renamed from make_path.  All callers changed.
54508         * lib/mkdir-p.h: Likewise.  All includers changed.
54509         * lib/filenamecat.c: Renamed from path-concat.c.
54510         (file_name_concat): Renamed from path_concat.  All callers changed.
54511         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
54512         * lib/filenamecat.h: Likewise.  All includers changed.
54513         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
54514         in comments or local variable names.
54515         * lib/basename.c: Likewise.
54516         * lib/canonicalize.c, canonicalize.h: Likewise.
54517         * lib/dirname.c, dirname.h: Likewise.
54518         * lib/euidaccess.c: Likewise.
54519         * lib/exclude.c: Likewise
54520         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
54521         * lib/fsusage.c, fsuage.h: Likewise.
54522         * lib/fts.c, fts_.h: Likewise.
54523         * lib/getcwd.c: Likewise.
54524         * lib/getloadavg.c: Likewise.
54525         * lib/mkstemp.c: Likewise.
54526         * lib/mountlist.c, mountlist.h: Likewise.
54527         * lib/openat.c, openat.h: Likewise.
54528         * lib/readlink-stub.c: Likewise.
54529         * lib/readutmp.c, readutmp.h: Likewise.
54530         * lib/rename.c: Likewise.
54531         * lib/rmdir.c: Likewise.
54532         * lib/same.c: Likewise.
54533         * lib/savedir.c: Likewise.
54534         * lib/stripslash.c: Likewise.
54535         * lib/tempname.c: Likewise.
54536         * lib/xreadlink.c: Likewise.
54537         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
54538         All uses changed.
54539         * lib/exclude.h: Likewise.
54540
54541         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
54542         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
54543         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
54544         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
54545         * lib/pathmax.h: Include <limits.h> unconditionally, since other
54546         files have been getting away with it for years (MORE/BSD 4.3
54547         is extinct now).
54548         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
54549         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
54550
54551         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
54552         Define to 256, not 255, as per modern POSIX.
54553
54554 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54555
54556         Sync from coreutils.
54557         Use "file name" when talking about file names, instead of "filename"
54558         or "path", as per the GNU coding standards.
54559         * MODULES.html.sh: mkdir-p renamed from makepath.
54560         filenamecat renamed from path-concat.
54561         * modules/filenamecat: Renamed from modules/path-concat.
54562         (Files): filenamecat.h and filenamecat.c renamed from
54563         path-concat.h and path-concat.c.
54564         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
54565         (Include): filenamecat.h, not path-concat.h.
54566         * modules/mkdir-p: Renamed from modules/makepath.
54567         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
54568         makepath.c.
54569         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
54570         (Include): mkdir-p.h, not makepath.h.
54571
54572 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54573
54574         Sync from coreutils.
54575         * m4/mkdir-p.m4: Renamed from makepath.m4.
54576         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
54577         Rename files from makepath.c to mkdir-p.c, and from
54578         makepath.h to mkdir-p.h.
54579         * m4/filenamecat.m4: Renamed from path-concat.m4.
54580         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
54581         Rename files from path-concat.c to filenamecat.c,
54582         and from path-concat.h to filenamecat.h.
54583         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
54584         "file name" in local variables or comments.
54585         * m4/rename.m4: Likewise.
54586
54587 2005-06-01  Bruno Haible  <bruno@clisp.org>
54588
54589         * modules/csharpexec: New file.
54590         * MODULES.html.sh (C#): New section.
54591
54592 2005-06-01  Bruno Haible  <bruno@clisp.org>
54593
54594         * m4/csharp.m4: New file, from GNU gettext.
54595         * m4/csharpexec.m4: New file, from GNU gettext.
54596
54597 2005-06-01  Bruno Haible  <bruno@clisp.org>
54598
54599         * lib/csharpexec.h: New file, from GNU gettext.
54600         * lib/csharpexec.c: New file, from GNU gettext.
54601         * lib/csharpexec.sh.in: New file, from GNU gettext.
54602
54603 2005-05-31  Derek Price  <derek@ximbiot.com>
54604             Paul Eggert  <eggert@cs.ucla.edu>
54605
54606         Sync from cvs.
54607         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
54608
54609 2005-05-31  Derek Price  <derek@ximbiot.com>
54610             Paul Eggert  <eggert@cs.ucla.edu>
54611
54612         Sync from cvs.
54613         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
54614
54615 2005-05-29  Derek Price  <derek@ximbiot.com>
54616
54617         * config/srclist.txt (glob_.h, glob.c): Add these files.
54618
54619 2005-05-29  Derek Price  <derek@ximbiot.com>
54620
54621         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
54622         * modules/glob: New file.
54623         * modules/getlogin_r: Add link to POSIX spec in description.
54624
54625 2005-05-29  Derek Price  <derek@ximbiot.com>
54626             Paul Eggert  <eggert@cs.ucla.edu>
54627
54628         * m4/glob.m4: New file.
54629
54630 2005-05-29  Derek Price  <derek@ximbiot.com>
54631             Paul Eggert  <eggert@cs.ucla.edu>
54632
54633         * lib/glob_.h, lib/glob.c: New files.
54634
54635 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
54636
54637         * modules/fts (Files): Remove m4/inttypes-pri.m4.
54638         * modules/fts-lgpl (Depends-on): Remove gettext.
54639
54640 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
54641
54642         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
54643         and don't require gt_INTTYPES_PRI.
54644
54645 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
54646
54647         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
54648
54649         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
54650         the configuration hassle isn't worth it.
54651         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
54652         (LONGEST_MODIFIER, PRIuMAX): Remove.
54653
54654 2005-05-27  Bruno Haible  <bruno@clisp.org>
54655
54656         * lib/getlogin_r.h: Remove second include of <stddef.h>.
54657
54658 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54659
54660         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
54661         _POSIX_PTHREAD_SEMANTICS for Solaris.
54662
54663 2005-05-25  Derek Price  <derek@ximbiot.com>
54664
54665         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
54666
54667 2005-05-25  Derek Price  <derek@ximbiot.com>
54668             Paul Eggert  <eggert@cs.ucla.edu>
54669
54670         * modules/getlogin_r, m4/getlogin_r.m4: New files.
54671         * lib/getlogin_r.c, getlogin_r.h: New files.
54672
54673 2005-05-25  Bruno Haible  <bruno@clisp.org>
54674             Derek Price  <derek@ximbiot.com>
54675
54676         * lib/getlogin_r.h: Simplify API documentation.
54677
54678 2005-05-23  Derek Price  <derek@ximbiot.com>
54679
54680         * modules/minmax (Files): Add m4/minmax.m4.
54681         (configure.ac): Add gl_MINMAX.
54682
54683 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
54684
54685         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
54686         so that unistd-safer.h (GPL'ed code) need not be included.
54687
54688 2005-05-22  Bruno Haible  <bruno@clisp.org>
54689
54690         * m4/minmax.m4: New file.
54691         Based on a patch by Derek Price <derek@ximbiot.com>.
54692
54693 2005-05-22  Bruno Haible  <bruno@clisp.org>
54694
54695         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
54696         (INT64_MIN): Fix definition.
54697         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
54698
54699         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
54700         NEED_SIGNED_INT_TYPES.
54701
54702         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
54703         HAVE_SYSTEM_INTTYPES.
54704
54705 2005-05-22  Bruno Haible  <bruno@clisp.org>
54706
54707         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
54708         Also include <sys/param.h> if it defines MIN, MAX.
54709         Based on a patch by Derek Price <derek@ximbiot.com>.
54710
54711 2005-05-21  Jim Meyering  <jim@meyering.net>
54712
54713         * modules/fts (Files): Add m4/inttypes-pri.m4.
54714         (Depends-on): Add lstat and remove gettext.  Alphabetize.
54715
54716 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
54717
54718         New fts module.
54719         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
54720         (setup_dir, free_dir): New functions.
54721         (enter_dir, leave_dir): Define trivial
54722         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
54723         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
54724         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
54725         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
54726         Move to fts-cycle.c.
54727         (fts_open): Use setup_dir.
54728         (fts_close): Use free_dir.
54729         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
54730         This adds a label and some gotos, but the alternatives were messier.
54731         Check for memory allocation failure when entering a dir.
54732         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
54733         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
54734         (FTS): New member fts_cycle, that is a union that contains the
54735         old active_dir_ht and cycle_state.  All uses changed to mention
54736         fts_cycle.ht and fts_cycle.state.
54737         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
54738         fts.c, with the following changes:
54739         (setup_dir, free_dir): New functions.
54740         (enter_dir): Now returns bool.  Return true if successful, false
54741         if memory exhausted.  All callers changed.
54742         Do not bother partly cleaning up on
54743         memory allocation failure; that is free_dir's job.
54744         However, free ad if hash_insert fails, to avoid memory leak.
54745         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
54746         fts->fts_options to see which union member to use.
54747
54748 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
54749
54750         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
54751         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
54752
54753 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
54754
54755         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
54756
54757 2005-05-20  Jim Meyering  <jim@meyering.net>
54758
54759         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
54760         Now a macro, to pacify GCC.
54761
54762 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
54763
54764         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
54765         of -1.
54766
54767 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
54768
54769         * lib/chown.c (rpl_chown): Return -1 on failure.
54770
54771 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
54772
54773         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
54774         Don't check for stddef.h.
54775         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
54776         don't use its results.
54777         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
54778         since we include them unconditionally.  Don't require
54779         AM_STDBOOL_H, since stdbool is a prerequisite.
54780         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
54781         since we assume C89 or better.
54782         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
54783         as we don't use their results.
54784         Don't check for fchdir, memmove, memset, strrchr, as we use
54785         them unconditionally.
54786         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
54787         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
54788
54789 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
54790
54791         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
54792         Include <stddef.h> unconditionally, since we assume C89 now.
54793         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
54794         * lib/fts.c: Include fts_.h first, to check interface.
54795         Do not include intprops.h; no longer needed.
54796         Include cycle-check.h and hash.h, since fts_.h no longer does.
54797         Remove unnecessary casts of closedir to void.
54798         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
54799         decide whether to decrement nlinks.
54800         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
54801         (FTS): Use struct hash_table * instead of Hash_table, so that
54802         we no longer need to include hash.h here.
54803
54804 2005-05-18  Jim Meyering  <jim@meyering.net>
54805
54806         * modules/dirfd (License): Change to LGPL.  Most of the code
54807         is already in the public domain.
54808
54809 2005-05-18  Jim Meyering  <jim@meyering.net>
54810
54811         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
54812         Reported by Yoann Vandoorselaere.
54813
54814 2005-05-17  Jim Meyering  <jim@meyering.net>
54815
54816         * m4/fts.m4: New file, from coreutils.
54817
54818 2005-05-17  Jim Meyering  <jim@meyering.net>
54819
54820         * lib/fts.c, lib/fts_.h: New files, from coreutils.
54821
54822 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
54823
54824         Sync from coreutils.
54825         * m4/unlinkdir.m4: New file.
54826
54827 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
54828
54829         Sync from coreutils.
54830         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
54831         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
54832         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
54833         White space changes only.
54834         * lib/makepath.c (make_path): Port to hosts where leading "//" is
54835         special.
54836         * lib/yesno.c: Include getline.h, not ctype.h.
54837         (yesno): Don't remove leading white space; POSIX doesn't allow it.
54838         Use getline to remove arbitrary restriction on response length.
54839
54840 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
54841
54842         * config/srclist-update: Spell out "Street" in FSF postal
54843         mail address; this is the style the FSF seems to prefer.
54844
54845         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
54846         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
54847         this updates FSF postal mail address.
54848
54849         Sync from coreutils.
54850         * modules/unlinkdir: New file.
54851         * modules/yesno (Depends-on): Add getline.
54852         * MODULES.html.sh (File system functions): Add unlinkdir.
54853
54854 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54855
54856         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
54857         lib/strsep.h:
54858         Change the initial comment to refer to GPL, not LGPL.
54859         gnulib-tool will change it to LGPL as needed.
54860
54861         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
54862         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
54863         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
54864         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
54865         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
54866         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
54867         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
54868         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
54869         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
54870         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
54871         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
54872         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
54873         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
54874         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
54875         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
54876         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
54877         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
54878         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
54879         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
54880         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
54881         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
54882         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
54883         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
54884         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
54885         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
54886         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
54887         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
54888         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
54889         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
54890         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
54891         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
54892         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
54893         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
54894         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
54895         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
54896         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
54897         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
54898         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
54899         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
54900         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
54901         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
54902         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
54903         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
54904         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
54905         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
54906         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
54907         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
54908         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
54909         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
54910         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
54911         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
54912         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
54913         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
54914         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
54915         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
54916         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
54917         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
54918         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
54919         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
54920         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
54921         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
54922         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
54923         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
54924         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
54925         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
54926         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
54927         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
54928         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
54929         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
54930         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
54931         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
54932         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
54933         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
54934         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
54935         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
54936         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
54937         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
54938         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
54939         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
54940         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
54941         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
54942         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
54943         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
54944         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
54945         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
54946         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
54947         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
54948         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
54949         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
54950         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
54951         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
54952         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
54953         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
54954         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
54955         lib/yesno.c, lib/yesno.h:
54956         Update FSF postal mail address.
54957
54958 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54959
54960         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
54961         tests/test-memmem.c, tests/test-stpncpy.c:
54962         Update FSF postal mail address.
54963
54964 2005-05-13  Bruno Haible  <bruno@clisp.org>
54965
54966         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
54967         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
54968         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
54969         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
54970         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
54971         Add support for 64-bit integers in the MSVC compiler.
54972
54973 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54974
54975         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
54976
54977 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
54978
54979         * gnulib-tool (func_import): Sort and uniquify recommended includes.
54980
54981 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
54982
54983         * doc/getdate.texi (General date syntax): Don't say that date
54984         date --iso-8601=ns generates acceptable dates; it doesn't yet.
54985         Problem reported by Nic Ferrier.
54986
54987 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54988
54989         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
54990         specified in ai_socktype. Fix invalid ai_protocol
54991         check. ai_protocol is usually set to 0 or depending on
54992         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
54993         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
54994         ai_socktype / ai_protocol in the returned addrinfo structure.
54995
54996 2005-05-10  Simon Josefsson  <jas@extundo.com>
54997
54998         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
54999         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55000
55001 2005-05-10  Karl Berry  <karl@gnu.org>
55002
55003         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
55004         (from http://www.gnu.org/licenses).
55005         * doc/COPYING.LIB: also rename to COPYING.LESSER.
55006         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
55007         fdl.texi suffices.
55008
55009 2005-05-10  Karl Berry  <karl@gnu.org>
55010
55011         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
55012         (COPYING.DOC): remove.
55013
55014         * config/srclist-update: new FSF address.
55015
55016 2005-05-10  Derek Price  <derek@ximbiot.com>
55017
55018         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
55019         possible.
55020
55021 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55022             Bruno Haible  <bruno@clisp.org>
55023
55024         * modules/inet_ntop: New file.
55025         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55026         inet_ntop.
55027
55028 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55029             Bruno Haible  <bruno@clisp.org>
55030
55031         * m4/inet_ntop.m4: New file.
55032
55033 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55034             Bruno Haible  <bruno@clisp.org>
55035
55036         * lib/inet_ntop.h: New file.
55037         * lib/inet_ntop.c: New file, from glibc with modifications.
55038
55039 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
55040
55041         * modules/time_r (License): Change to LGPL.
55042         * modules/extensions (License): Change to LGPL.  Actually,
55043         the license is more permissive than that, but currently gnulib-tool
55044         doesn't know how to handle more-permissive licenses.
55045
55046         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
55047         Problem reported by Dave Love.
55048
55049 2005-05-08  Jim Meyering  <jim@meyering.net>
55050
55051         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
55052         blank.
55053
55054 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
55055
55056         * modules/argmatch (Depends-on): Add stdbool.
55057         * modules/backupfile (Depends-on): Likewise.
55058         * modules/chdir-long (Depends-on): Likewise.
55059         * modules/closeout (Depends-on): Likewise.
55060         * modules/cycle-check (Depends-on): Likewise.
55061         * modules/dirname (Depends-on): Likewise.
55062         * modules/fnmatch (Depends-on): Likewise.
55063         * modules/fsusage (Depends-on): Likewise.
55064         * modules/fwriteerror (Depends-on): Likewise.
55065         * modules/getcwd (Depends-on): Likewise.
55066         * modules/getloadavg (Depends-on): Likewise.
55067         * modules/hard-locale (Depends-on): Likewise.
55068         * modules/makepath (Depends-on): Likewise.
55069         * modules/mountlist (Depends-on): Likewise.
55070         * modules/nanosleep (Depends-on): Likewise.
55071         * modules/posixtm (Depends-on): Likewise.
55072         * modules/quotearg (Depends-on): Likewise.
55073         * modules/readtokens (Depends-on): Likewise.
55074         * modules/readtokens0 (Depends-on): Likewise.
55075         * modules/readutmp (Depends-on): Likewise.
55076         * modules/save-cwd (Depends-on): Likewise.
55077         * modules/strftime (Depends-on): Likewise.
55078         * modules/userspec (Depends-on): Likewise.
55079         * modules/utimecmp (Depends-on): Likewise.
55080         * modules/xgetcwd (Depends-on): Likewise.
55081         * modules/xnanosleep (Depends-on): Likewise.
55082         * modules/xstrtod (Depends-on): Likewise.
55083         * modules/yesno (Depends-on): Likewise.
55084
55085 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55086
55087         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
55088         needless checks.
55089
55090 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55091
55092         Merge from coreutils.  Among other things,
55093         add bulletproofing for cases where stdin, stdout, or stderr are closed.
55094         * lib/fd-safer.c: New file.
55095         * lib/fcntl-safer.h, open-safer.c: Remove.
55096         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
55097         * lib/dup-safer.c: Include unistd-safer.h first.
55098         Don't include errno.h.
55099         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
55100         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
55101         * lib/file-type.c: Rely on file-type.h change.
55102         * lib/getloadavg.c: Include unistd-safer.h.
55103         (getloadavg): Use safer open.
55104         * lib/getusershell.c: Include "stdio-safer.h".
55105         (getusershell): Use safer fopen.
55106         * lib/long-options.c (long_options): Use NULL rather than 0.
55107         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
55108         'free'.
55109         * lib/modechange.c: Likewise.
55110         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
55111         (MODE_DONE): New constant.
55112         (struct mode_change): Remove 'next' member.
55113         (make_node_op_equals): New function; like the old one of the
55114         same name, except it allocates an array.
55115         (mode_compile, mode_create_from_ref): Use it.
55116         (mode_compile): Allocate result as an array, not a linked list.
55117         Parse octal string ourself, so that we catch mistakes like "+0".
55118         (mode_adjust): Arg is an array, not a linked list.
55119         * lib/modechange.c: Include stat-macros.h, xalloc.h.
55120         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
55121         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
55122         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
55123         Remove.  This is now stat-macros.h's job.
55124         (talloc): Remove.  All callers replaced by xalloc, so that
55125         our invokers don't have to worry about reporting memory failures.
55126         (make_node_op_equals): Remove.
55127         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
55128         New constants.
55129         (struct mode_change): Moved here from modechange.h.
55130         (mode_append_entry): Remove.
55131         (mode_compile): Remove MASKED_OPS arg, since it encouraged
55132         apps to have incorrect behavior.  Use simpler algorithm for head
55133         and tail.  Don't futz with umask; that's now the job of mode_adjust.
55134         Detect more invalid usages rather than having somewhat-random behavior.
55135         Don't insert an "a=" action, as that leads to incorrect behavior.
55136         (mode_compile, mode_create_from_ref): Return NULL on error instead
55137         of an enum, since now there's only one way to have an error.  All
55138         callers changed.
55139         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
55140         at the correct time.  Simplify calculation of "+u" and its ilk.
55141         Don't mishandle "+X".
55142         (mode_free): Remove "register" and localize decls.
55143         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
55144         (struct mode_change): Move to modechange.c; callers don't
55145         need to see this stuff.
55146         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
55147         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
55148         (mode_change, mode_adjust): Reflect the new signatures noted above.
55149         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
55150         that might redefine system include files.
55151         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
55152         (my_usleep): Use NULL rather than (void *) 0.
55153         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
55154         Use siginterrupt to specify that system calls should be interrupted.
55155         (rpl_nanosleep): Move initialization of suspended closer to call of
55156         my_usleep.
55157         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
55158         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
55159         (desirable_utmp_entry): New function.
55160         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
55161         using x2nrealloc, to simplify logic.
55162         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
55163         size calculation.  Do not assume utmp file is a regular file.
55164         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
55165         (READ_UTMP_CHECK_PIDS): New constant.
55166         * lib/save-cwd.c: Include unistd-safer.h.
55167         (save_cwd): Use fd_safer.
55168         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
55169         [!_LIBC] Include "stat-macros.h" instead.
55170         * lib/unistd-safer.h (fd_safer): New decl.
55171
55172 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55173
55174         * modules/getloadavg (Depends-on): Add unistd-safer.
55175         * modules/getusershell (Depends-on): Add stdio-safer.
55176         * modules/lstat (Depends-on): Remove xalloc.
55177         * modules/mkstemp (Depends-on): Add stat-macros.
55178         * modules/modechange (Depends-on): Remove xstrtol.
55179         Add stat-macros, xalloc.
55180         * modules/save-cwd (Depends-on): Add unistd-safer.
55181         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
55182         * modules/unistd-safer (Files): Add lib/fd-safer.c
55183         (Makefile.am): Remove lib_SOURCES.
55184
55185         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
55186         Remove fcntl-safer; unistd-safer supersedes it.
55187
55188 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55189
55190         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
55191         AC_HEADER_STAT.
55192         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
55193         (gl_PREREQ_CHOWN): Remove.
55194         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
55195         it.  Don't require AC_HEADER_STAT.
55196         (gl_PREREQ_LSTAT): Remove.
55197         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
55198         Don't require AC_HEADER_STAT.
55199         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
55200         (gl_PREREQ_RMDIR): Remove.
55201         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
55202         mention stat-macros.h or AC_HEADER_STAT, since we'll make
55203         the stat-macros module a prerequisite.
55204         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
55205         * m4/filemode.m4 (gl_FILEMODE): Likewise.
55206         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
55207         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
55208         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
55209         variable names.
55210         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
55211         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
55212         variable prefixes.
55213         * m4/fcntl-safer.m4: Remove.
55214         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
55215         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
55216         Invoke gl_PREREQ_FD_SAFER.
55217         (gl_PREREQ_FD_SAFER): New macro.
55218         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
55219         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
55220         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
55221         Remove duplicate call to AC_LIBOBJ(readutmp).
55222         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
55223
55224         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
55225         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
55226
55227 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55228
55229         * MODULES.html.sh (Misc): Add byteswap.
55230
55231 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55232
55233         * modules/getcwd (Depends-on): Add extensions.
55234         * modules/openat (Depends-on): Likewise.
55235
55236 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55237
55238         * modules/byteswap: New file.
55239
55240 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55241
55242         * m4/byteswap.m4: New file.
55243
55244 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55245
55246         * lib/byteswap_.h: New file.
55247
55248 2005-04-25  Karl Berry  <karl@gnu.org>
55249
55250         * m4/gettext.m4: Update from GNU gettext 0.14.4.
55251
55252 2005-04-25  Albert Chin  <china@thewrittenword.com>
55253
55254         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
55255         Toolkit C bug.
55256
55257 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
55258
55259         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
55260         (func_ln_if_changed) Remove forcibly for no error message
55261         in case file does not exist.
55262
55263 2005-04-19  Simon Josefsson  <jas@extundo.com>
55264
55265         * gnulib-tool (Options): Make --symlink mean --symbolic.
55266
55267 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
55268
55269         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
55270
55271 2005-04-16  Simon Josefsson  <jas@extundo.com>
55272
55273         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
55274
55275 2005-04-15  Simon Josefsson  <jas@extundo.com>
55276
55277         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
55278
55279 2005-04-15  Simon Josefsson  <jas@extundo.com>
55280
55281         * gnulib-tool: Rename --symlink to --symbolic.
55282
55283 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
55284
55285         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
55286         symbolic links to files instead of copying/moving.  Add --aux-dir,
55287         specifying directory relative --dir where auxiliary build tools
55288         are placed.
55289
55290 2005-04-14  Bruno Haible  <bruno@clisp.org>
55291
55292         * modules/allocsa (License): Change to LGPL.
55293         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55294
55295 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55296
55297         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
55298         that "UTC +1 second" continues to work.  Problem reported
55299         by Dmitry V. Levin.
55300         (relunit_snumber): New rule.
55301         (relunit): Use it.
55302
55303 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
55304
55305         * lib/getdate.y (universal_time_zone_table): New constant.
55306         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
55307         universal_time_zone_table.
55308         (lookup_zone): Prefer universal_time_zone_table to
55309         local_time_zone_table, so that "GMT" time stamps are allowed in
55310         London during the summer.  Problem reported by Ian Abbott.
55311
55312 2005-04-12  Jim Meyering  <jim@meyering.net>
55313
55314         * lib/human.c (humblock): Set *options even when returning due to
55315         xstrtoumax conversion failure.  Thanks to a used-uninitialized
55316         warning from gcc-4.
55317
55318 2005-04-09  Jim Meyering  <jim@meyering.net>
55319
55320         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
55321         -Wuninitialized: initialize tm0.tm_year.
55322
55323 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55324
55325         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
55326         count, since there's no maximum.  All uses changed.
55327         Add member dsts_seen.
55328         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
55329         not being INT_MAX.
55330         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
55331         Use pc_rels_seen to decide whther a date is absolute.
55332
55333         * lib/getdate.y (number): Don't overwrite year.
55334         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
55335         check.
55336
55337 2005-04-02  Simon Josefsson  <jas@extundo.com>
55338
55339         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
55340         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
55341
55342 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
55343
55344         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
55345         where no absolute path name can be longer than PATH_MAX.
55346
55347 2005-03-27  Jim Meyering  <jim@meyering.net>
55348
55349         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
55350
55351 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
55352
55353         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
55354         "one's complement" -> "ones' complement" in comment, as per Knuth.
55355         "value of type" -> "type or expression" in comment.
55356         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
55357
55358 2005-03-26  Jim Meyering  <jim@meyering.net>
55359
55360         Comment nits.
55361         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
55362         Correct typos: s/or/of/.
55363
55364 2005-03-26  Jim Meyering  <jim@meyering.net>
55365
55366         * modules/check-include-files: Move to ../ and rename to...
55367         * check-module: ...this.
55368
55369 2005-03-25  Jim Meyering  <jim@meyering.net>
55370
55371         * modules/xvasprintf (Files): Add xalloc.h.
55372
55373 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
55374
55375         * modules/gettext (Files): config/config.rpath ->
55376         build-aux/config.rpath
55377         * modules/iconv (Files): Likewise.
55378         Problem reported by Oskar Liljeblad.
55379
55380 2005-03-23  Jim Meyering  <jim@meyering.net>
55381
55382         * modules/check-include-files: New script to check for
55383         missing dependencies, multiple includes, etc.
55384
55385         * modules/c-strtold (Depends-on): Add xalloc.
55386         * modules/c-strtod (Depends-on): Add xalloc.
55387         * modules/hash (Depends-on): Add xalloc.
55388         (Files): Remove lib/xalloc.h.
55389
55390         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
55391         * modules/userspec (Files): Add lib/inttostr.h.
55392
55393 2005-03-23  Jim Meyering  <jim@meyering.net>
55394
55395         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
55396
55397 2005-03-22  Jim Meyering  <jim@meyering.net>
55398
55399         * modules/stat-macros: New module.
55400         * modules/canonicalize, modules/euidaccess, modules/file-type,
55401         * modules/filemode, modules/lchown, modules/makepath,
55402         * modules/rmdir, modules/stat: Depend on new stat-macros module
55403         rather than listing lib/stat-macros.h manually.
55404         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
55405
55406 2005-03-22  Jim Meyering  <jim@meyering.net>
55407
55408         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
55409
55410 2005-03-22  Bruno Haible  <bruno@clisp.org>
55411
55412         * config/srclist.txt: Replace target directory 'config' with
55413         'build-aux'.
55414         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
55415         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
55416         ../build-aux/.
55417
55418 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
55419
55420         * modules/chdir-long (Depends-on): Add mempcpy.
55421
55422         * modules/acl, modules/backupfile, modules/c-strtod,
55423         modules/c-strtold, modules/canon-host, modules/canonicalize,
55424         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
55425         modules/exclude, modules/exitfail, modules/file-type,
55426         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
55427         modules/getdate, modules/getline, modules/getpagesize,
55428         modules/getpass, modules/getugroups, modules/group-member,
55429         modules/hard-locale, modules/hash, modules/human, modules/idcache,
55430         modules/inttostr, modules/long-options, modules/makepath,
55431         modules/md5, modules/memcasecmp, modules/memcoll,
55432         modules/modechange, modules/mountlist, modules/path-concat,
55433         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
55434         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
55435         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
55436         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
55437         modules/strftime, modules/strndup, modules/strverscmp,
55438         modules/timespec, modules/unlocked-io, modules/userspec,
55439         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
55440         modules/yesno:
55441         Remove lib_SOURCES line from Makefile.am section, as this is now
55442         done automatically by the corresponding Autoconf macro.
55443
55444 2005-03-21  Jim Meyering  <jim@meyering.net>
55445
55446         Changes imported from coreutils.
55447
55448         * lib/cycle-check.c: Don't include xalloc.h.
55449
55450         * lib/path-concat.c: Don't include assert.h.
55451         (path_concat): Remove assertion that would have triggered
55452         for ABASE starting with more than one slash.
55453         Reported by Andreas Schwab.
55454
55455         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
55456         properly when ABASE is an absolute file name.
55457         Correct the description of this function.
55458         Include <assert.h>.
55459         Add an assertion and a test driver.
55460         This fixes a bug introduced on 2004-07-02.
55461         Andreas Schwab reported the resulting failure of cp --parents:
55462         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
55463
55464 2005-03-21  Jim Meyering  <jim@meyering.net>
55465
55466         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
55467         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
55468
55469 2005-03-21  Jim Meyering  <jim@meyering.net>
55470         and  Paul Eggert  <eggert@cs.ucla.edu>
55471
55472         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
55473         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
55474         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
55475         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
55476         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
55477         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
55478         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
55479         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
55480         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
55481         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
55482         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
55483         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
55484         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
55485         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
55486         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
55487         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
55488         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
55489         for these modules.
55490
55491 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
55492
55493         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
55494         (which shouldn't happen), generate nothing instead of returning 0
55495         immediately, so that nstrftime (NULL, ...) doesn't return 0.
55496
55497 2005-03-16  Bruno Haible  <bruno@clisp.org>
55498
55499         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
55500         HAVE_LONGLONG_64BIT.
55501
55502 2005-03-16  Bruno Haible  <bruno@clisp.org>
55503
55504         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
55505         HAVE_LONGLONG_64BIT.
55506
55507 2005-03-16  Bruno Haible  <bruno@clisp.org>
55508
55509         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
55510         HAVE_LONGLONG_64BIT.
55511
55512 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
55513
55514         * lib/strftime.c (my_strftime): Prepend space to format so that we can
55515         reliably distinguish strftime failure from empty output on POSIX
55516         hosts.
55517
55518 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
55519
55520         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
55521         (iconv_string): Don't guess a size-zero buffer, as that might cause
55522         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
55523         result would be 'too large', where 'too large' is (heuristically)
55524         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
55525         overflow concerns.  This will prevent some unwanted malloc failures
55526         when the inputs are very large.
55527
55528 2005-03-15  Karl Berry  <karl@gnu.org>
55529
55530         * config/srclist.txt (config.rpath): from gettext.
55531         * config/config.rpath: update.
55532
55533 2005-03-15  Bruno Haible  <bruno@clisp.org>
55534
55535         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
55536         to 'negate'.
55537
55538         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
55539         variable.
55540
55541         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
55542         results.
55543
55544 2005-03-14  Simon Josefsson  <jas@extundo.com>
55545
55546         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
55547         <fx@gnu.org>.
55548
55549 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
55550
55551         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
55552         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
55553         intprops.h.
55554         * lib/strtol.c: Likewise.
55555
55556 2005-03-14  Jim Meyering  <jim@meyering.net>
55557
55558         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
55559         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
55560         to be nonzero so that we (and caller) can detect the difference
55561         between a valid zero-length expansion and an error return, even
55562         when the underlying strftime fails before writing anything into
55563         that location.
55564
55565 2005-03-14  Bruno Haible  <bruno@clisp.org>
55566
55567         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
55568         Update from GNU gettext 0.14.3.
55569
55570 2005-03-10  Jim Meyering  <jim@meyering.net>
55571
55572         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
55573
55574 2005-03-10  Jim Meyering  <jim@meyering.net>
55575
55576         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
55577         so that this module works on systems without fchdir.
55578
55579 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
55580
55581         Factor int-properties macros into a single file, except for
55582         glibc-related files.
55583         * lib/intprops.h: New file.
55584         * lib/getloadavg.c: Include it instead of limits.h.
55585         (INT_STRLEN_BOUND): Remove.
55586         * lib/human.c: Include intprops.h.
55587         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
55588         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
55589         302/1000.
55590         * lib/inttostr.h: Include intprops.h instead of limits.h.
55591         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
55592         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
55593         for consistency with intprops.h.
55594         (time_t_is_integer, twos_complement_arithmetic): Use them.
55595         * lib/sig2str.h: Include <signal.h>, intprops.h.
55596         (INT_STRLEN_BOUND): Remove.
55597         * lib/strftime.c (TYPE_SIGNED): Remove.
55598         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
55599         * lib/strtol.c: Adjust comments to match intprops.h.
55600         * lib/userspec.c: Include intprops.h.
55601         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
55602         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
55603         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
55604         instead of rolling our own expressions.
55605         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
55606
55607         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
55608         instead of int.
55609         (my_strftime): Do not mishandle years close to INT_MAX, by doing
55610         the right thing even if adding 1900 would overflow.  Similarly
55611         for tm_mon + 1 and tm_yday + 1.
55612         Make %Y always equivalent to %C%y, and similarly for %G and %g.
55613         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
55614         (DO_SIGNED_NUMBER): New macro.
55615         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
55616
55617 2005-03-07  Bruno Haible  <bruno@clisp.org>
55618
55619         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
55620
55621 2005-03-07  Bruno Haible  <bruno@clisp.org>
55622
55623         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
55624
55625 2005-03-04  Derek R. Price  <derek@ximbiot.com>
55626
55627         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
55628         (func_import): Only replace files via --import when they have actually
55629         changed.
55630
55631 2005-03-03  Derek R. Price  <derek@ximbiot.com>
55632
55633         * m4/mmap-anon.m4: New file.
55634         * m4/pagealign_alloc.m4: New file.
55635
55636 2005-03-03  Derek R. Price  <derek@ximbiot.com>
55637             Bruno Haible  <bruno@clisp.org>
55638
55639         * modules/pagealign_alloc: New file.
55640         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
55641
55642 2005-03-03  Derek R. Price  <derek@ximbiot.com>
55643             Bruno Haible  <bruno@clisp.org>
55644
55645         * lib/pagealign_alloc.h: New file.
55646         * lib/pagealign_alloc.c: New file.
55647
55648 2005-03-03  Bruno Haible  <bruno@clisp.org>
55649
55650         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
55651         Use an all-permissive copyright notice, recommended by RMS.
55652
55653 2005-03-02  Bruno Haible  <bruno@clisp.org>
55654
55655         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
55656         of AIX, the replacement has to be done only after <string.h> is
55657         included, therefore not in config.h. stpncpy.h does the replacement,
55658         and stpncpy.c uses it.
55659
55660 2005-03-02  Bruno Haible  <bruno@clisp.org>
55661
55662         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
55663         stpncpy.c uses it.
55664
55665 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
55666
55667         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
55668         The workaround isn't strictly needed for POSIX conformance, and
55669         it's too much of a pain to configure and maintain.  We'll ask
55670         people to fix their kernels instead.
55671         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
55672         (NANOSLEEP_BUG_WORKAROUND): Remove.
55673         (xnanosleep): Remove the workaround.
55674
55675 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
55676
55677         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
55678         Reported by Derek Price.
55679         (Include): Add "timespec.h".
55680
55681         * modules/xnanosleep (Depends-on): Remove gethrxtime.
55682
55683 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
55684
55685         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
55686         to detect nanosleep bug.
55687
55688 2005-03-01  Bruno Haible  <bruno@clisp.org>
55689
55690         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
55691
55692 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
55693
55694         * modules/gethrxtime: New file.
55695         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
55696         (Depends-on): Add gethrxtime.
55697         (configure.ac): Add gl_XNANOSLEEP.
55698         (Makefile.am): Remove lib_SOURCES line.
55699
55700 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
55701
55702         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
55703         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
55704
55705 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
55706
55707         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
55708         * lib/timespec.h (gettime): Return void, since it always
55709         succeeds now.  All uses changed.
55710         * lib/gettime.c (gettime) Likewise.
55711         [HAVE_NANOTIME]: Prefer nanotime.
55712         Assume gettimeofday succeeds, as POSIX requires.
55713         Assime time () succeeds, since other code already does.
55714         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
55715         (timespec_subtract): Remove.
55716         (NANOSLEEP_BUG_WORKAROUND): New constant.
55717         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
55718         things considerably.  Use it only on GNU/Linux hosts, since the
55719         workaround shouldn't be needed elsewhere.
55720
55721 2005-02-24  Bruno Haible  <bruno@clisp.org>
55722
55723         * modules/gettext (Files): Add m4/glibc2.m4.
55724
55725 2005-02-24  Bruno Haible  <bruno@clisp.org>
55726
55727         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
55728         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
55729         * m4/progtest.m4:
55730         Update from GNU gettext 0.14.2.
55731         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
55732
55733 2005-02-24  Bruno Haible  <bruno@clisp.org>
55734
55735         * lib/localcharset.c: Update from GNU gettext 0.14.2.
55736         * lib/config.charset: Update from GNU gettext 0.14.2.
55737
55738 2005-02-24  Bruno Haible  <bruno@clisp.org>
55739
55740         * lib/gettext.h: Update from GNU gettext 0.14.2.
55741
55742 2005-02-23  Simon Josefsson  <jas@extundo.com>
55743
55744         * m4/iconvme.m4: New file.
55745
55746 2005-02-23  Jim Meyering  <jim@meyering.net>
55747
55748         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
55749         change.
55750         Thanks to Bruno Haible for catching it.
55751
55752 2005-02-22  Simon Josefsson  <jas@extundo.com>
55753
55754         * modules/iconvme: New file.
55755
55756         * MODULES.html.sh: Add iconvme.
55757
55758 2005-02-22  Simon Josefsson  <jas@extundo.com>
55759
55760         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
55761
55762 2005-02-22  Simon Josefsson  <jas@extundo.com>
55763
55764         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
55765
55766 2005-02-22  Jim Meyering  <jim@meyering.net>
55767
55768         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
55769         s/ifndef/ifdef/.
55770
55771 2005-02-20  Neil Conway  <neilc@samurai.com>
55772
55773         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
55774         returned by OSX/Darwin if the specified buffer is not large
55775         enough for the hostname.
55776
55777 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55778
55779         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
55780         pass it to _help, otherwise the latter coredumps trying to
55781         dereference state.root_argp.
55782
55783 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55784
55785         * modules/chdir-long (Depends-on): Add memrchr.
55786         * modules/memrchr (Files): Add lib/memrchr.h.
55787         (Include): "memrchr.h".
55788
55789 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55790
55791         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
55792
55793 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55794
55795         * lib/memrchr.h: New file.
55796         * lib/chdir-long.c: Include it.
55797         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
55798         Don't bother including stddef.h.
55799
55800 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
55801
55802         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
55803         inclusion.
55804         Include <sys/types.h>, for dev_t.
55805         (ME_DUMMY, ME_REMOTE): Move from here....
55806         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
55807         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
55808         Dmitry V. Levin.
55809         Include mountlist.h first, to test the interface.
55810
55811 2005-01-29  Bruno Haible  <bruno@clisp.org>
55812
55813         * lib/progname.c (program_name): Initialize.
55814         Needed when linking statically on MacOS X.
55815
55816 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
55817
55818         Sync from coreutils.
55819         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
55820         (Depends-on): Add c-strtod.
55821         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
55822
55823 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
55824
55825         Sync from coreutils.
55826         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
55827
55828         Remove files that are specific to coreutils.
55829         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
55830
55831 2005-01-28  Bruno Haible  <bruno@clisp.org>
55832
55833         * modules/javacomp: New file.
55834         * MODULES.html.sh (Java): Add javacomp.
55835
55836 2005-01-28  Bruno Haible  <bruno@clisp.org>
55837
55838         * m4/javacomp.m4: New file, from GNU gettext.
55839
55840 2005-01-28  Bruno Haible  <bruno@clisp.org>
55841
55842         * lib/javacomp.sh.in: New file, from GNU gettext.
55843         * lib/javacomp.h: New file, from GNU gettext.
55844         * lib/javacomp.c: New file, from GNU gettext.
55845
55846 2005-01-26  Simon Josefsson  <jas@extundo.com>
55847
55848         * lib/gai_strerror.c: Use GPL in header.
55849
55850 2005-01-26  Bruno Haible  <bruno@clisp.org>
55851
55852         * modules/javaexec: New file.
55853         * MODULES.html.sh (Java): Add javaexec.
55854
55855 2005-01-26  Bruno Haible  <bruno@clisp.org>
55856
55857         * m4/javaexec.m4: New file, from GNU gettext.
55858
55859 2005-01-26  Bruno Haible  <bruno@clisp.org>
55860
55861         * lib/javaexec.sh.in: New file, from GNU gettext.
55862         * lib/javaexec.h: New file, from GNU gettext.
55863         * lib/javaexec.c: New file, from GNU gettext.
55864
55865 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55866
55867         * modules/lchown (Depends-on): Remove lchown.h
55868
55869 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55870
55871         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
55872         must be defined if the header file was not found, in order
55873         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
55874
55875 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55876
55877         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
55878         initializers for struct pentry_state.
55879         (__argp_error): Check return value of __asprintf
55880         (__argp_failure): Translate error message
55881
55882         * lib/argp-parse.c: Removed braces around the expansion of N_()
55883
55884 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55885
55886         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
55887         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
55888         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
55889         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
55890         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
55891         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
55892         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
55893         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
55894         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
55895         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
55896         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
55897         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
55898         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
55899         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
55900         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
55901         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
55902         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
55903         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
55904         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
55905         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
55906         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
55907         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
55908         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
55909         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
55910         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
55911         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
55912         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
55913         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
55914         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
55915         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
55916         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
55917         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
55918         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
55919         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
55920         xstrtol.m4, xstrtoumax.m4, yesno.m4:
55921         Use an all-permissive copyright notice, recommended by RMS.
55922
55923 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
55924
55925         * modules/chdir-long (Depends-on): Remove mempcpy.
55926
55927 2005-01-21  Jim Meyering  <jim@meyering.net>
55928
55929         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
55930         same value as for Solaris 9.
55931
55932         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
55933         component length.  This included changing the parameter to be
55934         of type `char *' rather than `char const *'.
55935         * lib/chdir-long.h (chdir_long): Update prototype.
55936
55937         * lib/openat.c (fdopendir, fstatat): New functions.
55938         * lib/openat.h: Include headers required for use of DIR and struct
55939         stat.
55940         [AT_SYMLINK_NOFOLLOW]: Define.
55941         (fdopendir, fstatat): Add prototypes.
55942
55943 2005-01-21  Bruno Haible  <bruno@clisp.org>
55944
55945         * modules/classpath: New file.
55946         * MODULES.html.sh (Java): Add classpath.
55947
55948 2005-01-21  Bruno Haible  <bruno@clisp.org>
55949
55950         * lib/classpath.h: New file, from GNU gettext.
55951         * lib/classpath.c: New file, from GNU gettext.
55952
55953 2005-01-20  Simon Josefsson  <jas@extundo.com>
55954
55955         * modules/version-etc-fsf: New file.
55956
55957 2005-01-20  Simon Josefsson  <jas@extundo.com>
55958
55959         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
55960         * lib/version-etc.c: Remove version_etc_copyright.
55961         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
55962         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
55963
55964 2005-01-20  Simon Josefsson  <jas@extundo.com>
55965
55966         * lib/base64.h (isbase64): Add.
55967
55968         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
55969         using a unsigned prototype, don't inline.
55970         (base64_decode): Use it.
55971
55972 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
55973
55974         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
55975         it.
55976
55977 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
55978
55979         * lib/save-cwd.c (save_cwd): Remove code to support the case
55980         where fchdir is missing or flaky.
55981
55982 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
55983
55984         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
55985
55986 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
55987
55988         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
55989         AC_LIBSOURCES now does this.
55990         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
55991         with new ullong_max module.
55992
55993 2005-01-19  Bruno Haible  <bruno@clisp.org>
55994
55995         * modules/sh-quote: New file.
55996         * MODULES.html.sh (Executing programs): Add sh-quote.
55997
55998 2005-01-19  Bruno Haible  <bruno@clisp.org>
55999
56000         * lib/sh-quote.h: New file, from GNU gettext.
56001         * lib/sh-quote.c: New file, from GNU gettext.
56002
56003 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56004
56005         Merge from coreutils.
56006         * m4/ullong_max.m4: New file.
56007         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
56008         (gl_MACROS): Assume localeconv exists.
56009
56010 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56011
56012         Merge changes from coreutils, as described below in several
56013         changelogs dated today.
56014
56015         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
56016         (O_DIRECTORY): Remove; not needed here, since "." must be
56017         a directory.  All uses removed.
56018         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
56019         universal on Suns, and we also need to test for IRIX.
56020         Revamp code to use 'if' rather than '#if'.
56021         Avoid unnecessary comparison of cwd->desc to 0.
56022
56023         * lib/utimens.c (futimens): Robustify the previous patch, by checking
56024         for known valid error numbers rather than observed invalid ones.
56025
56026 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56027
56028         * modules/ullong_max: New file.
56029
56030         * modules/chdir-long, modules/openat: New files.
56031         * modules/save-cwd (Depends-on): Depend on chdir-long.
56032         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
56033
56034 2005-01-18  Jim Meyering  <jim@meyering.net>
56035
56036         Merge from coreutils.
56037         * m4/chdir-long.m4, m4/openat.m4: New files.
56038         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
56039         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
56040         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
56041         is sane and DOES follow symlinks.  Besides, testing 20 different
56042         systems found no broken chown implementations.
56043         Prompted by a change in rsync's copy of this macro.
56044         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
56045
56046         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
56047
56048         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
56049         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
56050         NULL-means-set-to-current-time semantics.
56051         Remove temporary file immediately, rather than waiting
56052         for configure's at-exit trap code to do it.
56053
56054 2005-01-18  Jim Meyering  <jim@meyering.net>
56055
56056         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56057
56058         * lib/utimens.c (futimens): Account for the fact that futimes
56059         can also fail with errno == ENOSYS or errno == ENOENT.
56060         Patch from Dmitry V. Levin.
56061
56062         Change the name of the robust chdir function from chdir to chdir_long.
56063         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
56064         (restore_cwd): Use chdir_long, not chdir.
56065         * lib/chdir-long.c: Renamed from chdir.c.
56066         * lib/chdir-long.h: Renamed from chdir.h.
56067         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
56068         Hurd.
56069
56070 2005-01-18  Bruno Haible  <bruno@clisp.org>
56071
56072         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
56073         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
56074         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
56075         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
56076         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
56077         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
56078         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
56079         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
56080         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
56081         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
56082         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
56083         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
56084         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
56085         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
56086         Use an all-permissive copyright notice, recommended by RMS.
56087
56088 2005-01-18  Bob Proulx  <bob@proulx.com>
56089
56090         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
56091         simplify offsetof() macro construct to avoid compile failure with
56092         native HP-UX 11.0 ANSI C compiler.
56093
56094 2005-01-17  Bruno Haible  <bruno@clisp.org>
56095
56096         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
56097         redundant because stpncpy.m4 takes care of it.
56098
56099 2005-01-17  Bruno Haible  <bruno@clisp.org>
56100
56101         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
56102
56103 2005-01-17  Bruno Haible  <bruno@clisp.org>
56104
56105         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
56106         used.
56107
56108 2005-01-17  Bruno Haible  <bruno@clisp.org>
56109
56110         * lib/fwriteerror.h (fwriteerror): Change specification to include
56111         fclose.
56112         * lib/fwriteerror.c: Include <stdbool.h>.
56113         (fwriteerror): At the end, close the file stream. Record whether
56114         stdout was already closed.
56115
56116 2005-01-17  Bruno Haible  <bruno@clisp.org>
56117
56118         * lib/execute.c (environ): Declare if needed.
56119         * lib/pipe.c (environ): Likewise.
56120         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
56121
56122 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56123
56124         * modules/argp: Depend on vsnprintf
56125
56126 2005-01-10  Jim Meyering  <jim@meyering.net>
56127
56128         * modules/closeout (Depends-on): Add atexit.
56129
56130 2005-01-06  Bruno Haible  <bruno@clisp.org>
56131
56132         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
56133
56134 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56135
56136         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
56137         definitions to be after all include files, to avoid collisions.
56138         Problem reported by Bob Proulx.
56139
56140 2005-01-04  Jim Meyering  <jim@meyering.net>
56141
56142         Changes imported from coreutils.
56143         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
56144         as the mkstemp template, use a temporary directory and an
56145         8.3-friendly template to avoid trouble on systems like DJGPP.
56146         Reported by Juan M. Guerrero via Stepan Kasal.
56147         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
56148         close. Remove the temporary directory right away, rather than waiting
56149         for configure's at-exit trap code to do it.
56150         Suggestion from Stepan Kasal.
56151
56152 2005-01-01  Simon Josefsson  <jas@extundo.com>
56153
56154         * gnulib-tool: Print #include directives when --import'ing.
56155
56156 2004-12-28  Simon Josefsson  <jas@extundo.com>
56157
56158         * tests/test-base64.c: Include required header files.  Remove
56159         unused variables.
56160
56161 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56162
56163         * modules/error (Depends-on): Remove gettext.
56164
56165 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56166
56167         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
56168         not needed.  This removes a dependency on the gettext module.
56169         [defined _LIBC]: Do not include <libintl.h>; not needed.
56170
56171 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
56172
56173         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
56174         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
56175
56176 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
56177
56178         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
56179         HAVE_DECL_STRTOLD.
56180
56181 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56182
56183         * modules/getdate (Depends-on): Remove alloca-opt.
56184
56185 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56186
56187         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
56188
56189 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56190
56191         * lib/argp-parse.c: Include <stddef.h>.
56192         (alignof, alignto): New macros.
56193         (parser_init): Don't assume that void * is aligned sufficiently
56194         for struct option.
56195
56196         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
56197         need to extend the stack.
56198         (YYINITDEPTH): New macro, so that the initial stack isn't overly
56199         large.
56200
56201 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56202
56203         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
56204
56205 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
56206
56207         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
56208         (2004-10-24) change.  Apparently this was a false alarm.
56209
56210         * modules/getdate: Depend on alloca-opt, not alloca.
56211
56212 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
56213
56214         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
56215         Remove now-obsolete comment about AIX.
56216         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
56217         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
56218         (YYMAXDEPTH): New macro.
56219
56220 2004-12-18  Simon Josefsson  <jas@extundo.com>
56221
56222         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
56223
56224 2004-12-18  Bruno Haible  <bruno@clisp.org>
56225
56226         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
56227
56228 2004-12-18  Bruno Haible  <bruno@clisp.org>
56229
56230         * lib/fatal-signal.c (fatal_signals): Make non-const.
56231         (init_fatal_signals): New function.
56232         (uninstall_handlers, install_handlers): Ignore signals that were set to
56233         SIG_IGN.
56234         (at_fatal_signal): Call init_fatal_signals.
56235         (init_fatal_signal_set): Likewise. Ignore signals that were set to
56236         SIG_IGN.
56237         Reported by Paul Eggert.
56238
56239 2004-12-18  Bruno Haible  <bruno@clisp.org>
56240
56241         * doc/alloca.texi: New file.
56242         * doc/alloca-opt.texi: New file.
56243
56244 2004-12-17  Jim Meyering  <jim@meyering.net>
56245
56246         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
56247         Otherwise, install-sh could exit with improper exit status when
56248         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
56249
56250 2004-12-16  Simon Josefsson  <jas@extundo.com>
56251
56252         * tests/test-base64.c: Add license.
56253
56254 2004-12-15  Stepan Kasal  <address@hidden>
56255
56256         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
56257
56258 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
56259
56260         * modules/getcwd (Files): Add m4/d-ino.m4.
56261         Suggested by Mark D. Baushke.
56262
56263 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
56264
56265         * lib/getdate.y (textint): New member "negative".
56266         (time_zone_hhmm): New function.
56267         Expect 14 shift-reduce conflicts, not 13.
56268         (o_colon_minutes): New rule.
56269         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
56270         (yylex): Set the "negative" member of signed numbers.
56271
56272 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
56273
56274         * doc/getdate.texi (Time of day items, Time zone items):
56275         Describe new formats +00:00, UTC+00:00.
56276
56277 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
56278
56279         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
56280         spurious "-l"s.  Problem reported by Stepan Kasal.
56281
56282 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
56283
56284         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
56285         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
56286
56287 2004-12-04  Simon Josefsson  <jas@extundo.com>
56288
56289         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
56290         Vandoorselaere <yoann@prelude-ids.org>.
56291
56292 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
56293
56294         Changes imported from coreutils.
56295         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
56296         exist.
56297         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
56298
56299 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
56300
56301         Changes imported from coreutils.
56302         * lib/hard-locale.c: Assume <locale.h> exists.
56303         Include "strdup.h".
56304         (GLIBC_VERSION): New macro.
56305         (hard_locale): Assume setlocale exists.
56306         Rewrite to avoid #ifdef.
56307         Use strdup rather than malloc + strcpy.
56308         * lib/human.c: Assume <locale.h> exists.
56309         (human_readable): Assume localeconv exists.
56310
56311 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
56312
56313         * modules/hard-locale (Depends-on): Add strdup.
56314
56315 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
56316
56317         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
56318         convert T2, not T.  (Imported from libc.)
56319
56320 2004-11-30  Simon Josefsson  <jas@extundo.com>
56321
56322         * modules/restrict (License): Change to LGPL.
56323
56324 2004-11-30  Simon Josefsson  <jas@extundo.com>
56325
56326         * m4/restrict.m4: Add copyright and copying conditions.
56327
56328 2004-11-30  Simon Josefsson  <jas@extundo.com>
56329
56330         * m4/base64.m4: New file.
56331
56332 2004-11-30  Simon Josefsson  <jas@extundo.com>
56333
56334         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
56335         base64.
56336
56337         * tests/test-base64.c: New file.
56338
56339         * modules/base64: New file.
56340
56341 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
56342
56343         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
56344         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
56345
56346         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
56347
56348 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
56349
56350         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
56351         (__getcwd.c): Don't restore errno; glibc doesn't.
56352         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
56353         first, falling back to our code only if its results look suspicious.
56354         Ensure that the resulting buffer is only as large as necessary.
56355
56356         * lib/readutmp.c: Include readutmp.h first.
56357         Include <errno.h>, since readutmp.h no longer does that.
56358         * lib/readutmp.h: Don't include <errno.h>,
56359         <sys/param.h>, <time.h>; not needed to establish interface.
56360         (errno): Remove decl.
56361         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
56362         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
56363         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
56364
56365 2004-11-28  Simon Josefsson  <jas@extundo.com>
56366
56367         * lib/base64.h, base64.c: New file.
56368
56369 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
56370
56371         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
56372
56373 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
56374
56375         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
56376         (Depends-on): Remove pathmax, same.  Add mempcpy.
56377         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
56378         (Makefile.am): Append getcwd.h to lib_SOURCES.
56379         (Include): Add getcwd.h.
56380         (Maintainer): Change from Jim Meyering to "all, glibc",
56381         since getdate now uses intended-for-glibc code.
56382         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
56383         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
56384
56385 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
56386
56387         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
56388         HP's ANSI C compiler.
56389         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
56390         Declaring int functions causes warnings on some modern systems and
56391         shouldn't be needed to compile on ancient ones.
56392         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
56393         defined.
56394
56395         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
56396         with the following changes.
56397         (__set_errno): Parenthesize properly.
56398         Include <stdbool.h>.
56399         (MIN, MAX, MATCHING_INO): New macros.
56400         (__getcwd): Define with prototype, not K&R form.
56401         Use heuristics to allocate default buffer on stack if possible.
56402         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
56403         behavior, and to avoid the PATH_MAX limit when computing
56404         ../../../../...
56405         Use MATCHING_INO to compare inode number to file.
56406         Check for arithmetic overflow in size calculations.
56407         Fix bug in reallocation of dot array that caused getcwd to fail
56408         on directories nested deeper than 75.
56409         Be more careful about saving errno on error.
56410         Do not use realloc; use only free+malloc, as this is a bit
56411         more flexible and avoids a needless copy operation.
56412         Do not inspect st_dev and st_ino for symbolic links; POSIX
56413         doesn't specify the latter.
56414         Check for closedir errors.
56415         Avoid needless casts.
56416         Use "#ifdef weak_alias" around weak_alias, to be like other
56417         glibc code.
56418         The following changes to getcwd.c have effect only when used in
56419         gnulib; they have no effect inside glibc proper.
56420         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
56421         as alloca isn't used.
56422         (alloca, __alloca): Likewise.
56423         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
56424         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
56425         unconditionally, as gnulib assumes C89 or better.
56426         Do not include <sys/param.h>.
56427         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
56428         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
56429         better.
56430         (NULL) [!defined NULL]: Remove; we assume C89 or better.
56431         Include <dirent.h> in a way that is compatible with modern Autoconf.
56432         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
56433         New macros, if not already defined.
56434         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
56435         Use "_LIBC", not "defined _LIBC", for consistency.
56436         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
56437         a mempcpy module.
56438         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
56439         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
56440         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
56441         credit only to Jim Meyering and adjust the copyright dates.
56442         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
56443         <stdlib.h>, <unistd.h>, "pathmax.h".
56444         Instead, include "xgetcwd.h" (first) and "getcwd.h".
56445         (INITIAL_BUFFER_SIZE): Remove.
56446         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
56447
56448 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
56449
56450         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
56451         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
56452         Use the _ONCE methods, for efficiency.
56453         Check for fcntl.h.  In test program, include <errno.h>
56454         and <fcntl.h> if available.  Remove old K&R cruft from
56455         test program.  Check for common errors in GNU/Linux,
56456         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
56457         don't do AC_LIBOBJ, as that's getcwd.m4's job.
56458         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
56459         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
56460         name accordingly.
56461         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
56462         accommodate new getcwd.c.
56463         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
56464         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
56465         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
56466         that's all we need now.
56467
56468 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56469
56470         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
56471         argp-parse.c depends on getopt internals, that means we should
56472         always use our getopt, to be on the safe side.
56473         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
56474         order not to spoil the result of an eventual previous invocation
56475         of gl_GETOPT_SUBSTITUTE.
56476
56477 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56478
56479         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
56480         redefinition warnings. To avoid them, include the defines
56481         in `#if !defined __need_getopt ... #endif'. The only place
56482         where __getopt_argv_const is used is in definitions
56483         of getopt_long and getopt_long_only below, which are as well
56484         protected by `#ifndef __need_getopt'.
56485         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
56486         __need_getopt after including <stdio.h> and <unistd.h> These
56487         headers might have defined it.
56488
56489 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
56490
56491         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
56492
56493 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
56494
56495         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
56496         (futimens): New function, which uses futimes if available.
56497         (futimens, utimens): Support timespec==NULL, with same semantics
56498         as utime and utimens.
56499         * lib/utimens.h (futimens): New decl.
56500
56501 2004-11-23  Jim Meyering  <jim@meyering.net>
56502
56503         * lib/getopt_.h: Remove trailing blanks.
56504
56505 2004-11-23  Jim Meyering  <jim@meyering.net>
56506
56507         * lib/__fpending.c: Add comment.
56508
56509 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
56510
56511         * modules/canonicalize (Depends-on): Add xreadlink.
56512         Problem reported by James Youngman.
56513
56514 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56515
56516         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
56517         New macros.
56518         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
56519         optopt): Use them instead of invoking ## directly; otherwise, the
56520         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
56521
56522 2004-11-19  Bruno Haible  <bruno@clisp.org>
56523
56524         * lib/strtok_r.c: Move comments from here...
56525         * lib/strtok_r.h: ... to here.
56526
56527 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56528
56529         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
56530         implementations that mishandle size_t overflow.
56531
56532 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56533
56534         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
56535         might fail.  Problem reported by Yoann Vandoorselaere.
56536         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
56537         implementations that mishandle size_t overflow.
56538
56539 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56540
56541         * modules/canon-host (Depends-on): Add strdup.
56542
56543 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56544
56545         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
56546
56547 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56548
56549         * lib/canon-host.c: Include "strdup.h".
56550         (canon_host): Use getaddrinfo if available, so that IPv6 works.
56551         Use strdup instead of malloc/strcpy to duplicate strings.
56552
56553         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
56554         (human_space_before_unit): New constant.
56555         * lib/human.c (human_readable): Support it.
56556
56557         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
56558         (xgetcwd): Set errno correctly when failing.
56559         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
56560         the failure is actually due to a PATH_MAX problem.
56561
56562         Further getopt changes to make it more likely that glibc will
56563         buy the changes back.
56564         * lib/getopt.c (POSIXLY_CORRECT): New constant.
56565         (getopt): Use it, so to preserve glibc semantic
56566         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
56567         when compiling for libc.
56568         * lib/getopt_.h (__getopt_argv_const): Bring it back.
56569         (getopt_long, getopt_long_only): Use it.
56570
56571         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
56572         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
56573         (getopt): Argv is now char * const *, as per standard.
56574         (_getopt_internal_r, _getopt_internal): Argv is now char **,
56575         not char *__getopt_argv_const *.
56576         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
56577         _getopt_long_only_r): Likewise.
56578         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
56579         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
56580         _getopt_long_r, _getopt_long_only_r): Likewise.
56581         * lib/getopt_.h (__getopt_argv_const): Remove.
56582         (getopt): Argv is now char * const *, as per standard.
56583
56584         * lib/getdate.y (tORDINAL): New token.
56585         (day, relunit): Allow it for relative times.
56586         (relative_time_table): Use tORDINAL for ordinals.
56587
56588 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56589
56590         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
56591         Document that "second" isn't allowed as an ordinal number.
56592
56593 2004-11-16  Jim Meyering  <jim@meyering.net>
56594
56595         * modules/closeout (Depends-on): Add fpending.
56596
56597 2004-11-15  Jim Meyering  <jim@meyering.net>
56598
56599         * lib/closeout.c: Include "__fpending.h" once again.
56600         Include <stdbool.h>.
56601         (close_stdout): Don't fail just because stdout was closed initially,
56602         since some programs don't write to stdout in the normal course of
56603         operation (other than --version and --help), and we don't want this
56604         function to make e.g. `touch file >&-' fail.
56605         But do fail if it was closed and someone has tried to write to it.
56606         E.g., `printf foo >&-' must fail.
56607
56608 2004-11-13  Jim Meyering  <jim@meyering.net>
56609
56610         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
56611
56612 2004-11-12  Simon Josefsson  <jas@extundo.com>
56613
56614         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
56615         small doc fix is still pending.
56616
56617 2004-11-11  Simon Josefsson  <jas@extundo.com>
56618
56619         * modules/strtok_r: New file.
56620
56621         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56622         strtok_r.
56623
56624 2004-11-11  Simon Josefsson  <jas@extundo.com>
56625
56626         * m4/strtok_r.m4: New file.
56627
56628         * m4/getopt.m4: Replace opterr.
56629
56630 2004-11-11  Simon Josefsson  <jas@extundo.com>
56631
56632         * lib/strtok_r.h, strtok_r.c: New file.
56633
56634 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
56635
56636         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
56637         of replacing opterr, getopt, etc.  This should handle the
56638         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
56639
56640 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
56641
56642         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
56643         we can stop lying to compilers about the constness of argv when we
56644         are compiled outside glibc.
56645         (getopt, getopt_long, getopt_long_only): Use it.
56646         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
56647         _getopt_internal, getopt): Likewise.
56648         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
56649         _getopt_long_only_r): Likewise.
56650         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
56651         _getopt_long_r, _getopt_long_only_r): Likewise.
56652
56653         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
56654         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
56655         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
56656         the other external symbols.
56657         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
56658         declaration, since the above renaming now works around collisions.
56659
56660 2004-11-11  Jim Meyering  <jim@meyering.net>
56661
56662         * lib/linebreak.c: Remove trailing blanks.
56663         * lib/alloca_.h: Likewise.
56664         * lib/acosl.c: Likewise.
56665         * lib/euidaccess.c: Likewise.
56666         * lib/allocsa.h: Likewise.
56667
56668 2004-11-10  Simon Josefsson  <jas@extundo.com>
56669
56670         * m4/getaddrinfo.m4: New file.
56671
56672 2004-11-10  Simon Josefsson  <jas@extundo.com>
56673
56674         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
56675
56676 2004-11-10  Simon Josefsson  <jas@extundo.com>
56677
56678         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56679         getaddrinfo.
56680
56681         * modules/getaddrinfo: New file.
56682
56683 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
56684
56685         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
56686
56687 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
56688
56689         * lib/mktime.c (SHR): New macro, which is a portable
56690         substitute for >> that should work even on Crays.
56691         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
56692         Problem reported by Mark D. Baushke in
56693         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
56694         * lib/getdate.y (SHR): Likewise.
56695         (tm_diff): Use it.
56696         * lib/strftime.c (SHR): Likewise.
56697         (tm_diff): Use it.
56698         * lib/quotearg.c (struct quoting_options): Use unsigned int for
56699         quote_these_too, so that right shifts are well defined.  All uses
56700         changed.
56701
56702 2004-11-10  Jim Meyering  <jim@meyering.net>
56703
56704         Ensure that no close failure goes unreported.
56705         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
56706         return early when it seems there's nothing to flush.
56707         Don't include __fpending.h.
56708
56709 2004-11-10  Jim Meyering  <jim@meyering.net>
56710
56711         * modules/closeout (Depends-on): Remove fpending.
56712
56713 2004-11-10  Jim Meyering  <jim@meyering.net>
56714
56715         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
56716
56717 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56718
56719         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
56720         gl_FUNC_STRFTIME.
56721         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
56722         and AC_REQUIRE when possible, to avoid duplicate checks.
56723         Check for <wchar.h>.
56724
56725 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56726
56727         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
56728
56729 2004-11-09  Bruno Haible  <bruno@clisp.org>
56730
56731         * m4/sockpfaf.m4: New file.
56732
56733 2004-11-05  Bruno Haible  <bruno@clisp.org>
56734
56735         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
56736         Reported by Mark D. Baushke <mdb@cvshome.org>.
56737
56738 2004-11-04  Bruno Haible  <bruno@clisp.org>
56739
56740         2004-09-11  Bruno Haible  <bruno@clisp.org>
56741                 * allocsa.valgrind: New file.
56742         2004-02-06  Bruno Haible  <bruno@clisp.org>
56743                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
56744                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
56745                 Reported by Christopher Seip <chris.seip@hp.com>.
56746
56747 2004-11-04  Bruno Haible  <bruno@clisp.org>
56748
56749         * modules/allocsa (Files): Add lib/allocsa.valgrind.
56750         (Makefile.am): Distribute it.
56751
56752 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
56753
56754         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
56755         with errno == ERANGE if the buffer is too small.
56756         Problem reported by Mark D. Baushke.
56757
56758 2004-11-03  Albert Chin  <china@thewrittenword.com>
56759             Paul Eggert  <eggert@cs.ucla.edu>
56760
56761         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
56762         equivalent, substitute $ac_type for equivalent type rather than
56763         blindly using uint32_t *always* which won't work if uint32_t is not
56764         available.  Define _UINT32_T to work around typedef of uint32_t if
56765         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
56766         2.5.1.
56767
56768 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
56769
56770         * m4/jm-macros.m4: Sync from coreutils.
56771         (gl_MACROS): Check for mbrlen, for pathchk.
56772         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
56773
56774 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
56775
56776         * lib/xreadlink.c (MAXSIZE): New macro.
56777         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
56778         size does not exceed MAXSIZE.  Avoid cast.
56779         As suggested by Mark D. Baushke in
56780         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
56781         if readlink fails with buffer size just under MAXSIZE, try again
56782         with MAXSIZE.
56783
56784 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
56785
56786         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
56787
56788 2004-11-02  Derek R. Price  <derek@ximbiot.com>
56789         and  Paul Eggert  <eggert@cs.ucla.edu>
56790
56791         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
56792         (get_date): Overparenthesize to avoid GCC warning.
56793
56794 2004-11-02  Bruno Haible  <bruno@clisp.org>
56795
56796         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
56797         returns void.
56798
56799 2004-11-02  Bruno Haible  <bruno@clisp.org>
56800
56801         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
56802         function returns void.
56803
56804 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
56805
56806         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
56807         fflush_unlocked, flockfile, funlockfile, funlockfile,
56808         fputs_unlocked, putc_unlocked.
56809
56810 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
56811
56812         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
56813         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
56814         already declared.
56815
56816 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
56817
56818         * modules/getdate (Files): Add doc/getdate.texi.
56819         (Depends-on): Add setenv, xalloc.
56820
56821 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
56822
56823         * lib/getdate.y: Add support for TZ="foo" within a date string.
56824         Fix some bugs near time_t boundaries.  Reject dates with
56825         out-of-range components, e.g., "Sept 31".
56826         Include <stdlib.h>, "setenv.h", "xalloc.h".
56827         (ISDIGIT_LOCALE): Remove; unused.
56828         Note that the TZ and time functions used here are not reentrant.
56829         (mktime_ok, get_tz): New functions.
56830         (TZBUFSIZE): New constant.
56831         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
56832         This requires that we sometimes generate our own TZ="XXX..." setting.
56833
56834 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
56835
56836         * doc/getdate.texi: New file, from coreutils with modifications for
56837         the new TZ parsing.
56838
56839 2004-10-27  Derek R. Price  <derek@ximbiot.com>
56840
56841         * lib/mktime.c (not_equal_tm): Remove redundant check.
56842
56843 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56844
56845         * modules/regex (lib_SOURCES): Add regex.c.
56846         Reported by James Youngman in
56847         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
56848
56849 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56850
56851         * lib/getdate.y: Use Bison 1.875 features, and some minor
56852         code cleanups.  This change does not affect semantics.
56853         Don't include <stdlib.h>; no longer needed.
56854         Don't include unlocked-io.h; only the "#if TEST" code uses
56855         stdio, and performance isn't crucial there.
56856         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
56857         Bison 1.875 features as described below.
56858         All uses of "PC." replaced by "pc->".
56859         (YYSTYPE): Add a forward declaration.
56860         (yylex, yyerror): Use full prototypes in forward decls.
56861         Use "%pure-parser" rather than obsolescent "%pure_parser".
56862         Use %parse-param and %lex-param instead of obsolescent
56863         YYPARSE_PARAM and YYLEX_PARAM.
56864         (meridian_table, month_and_day_table, time_units_table,
56865         relative_time_table, time_zone_table, military_table,
56866         lookup_zone, lookup_word, get_date):
56867         Use NULL instead of 0 where appropriate.
56868         (to_hour): Avoid abort (), to avoid a dependency on
56869         stdlib.h.
56870         (yyerror, yylex): Now accepts parser_control * arg.
56871         (main) [TEST]: Use '\0' rather than 0 for char.
56872
56873 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
56874
56875         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
56876
56877 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
56878
56879         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
56880         It's now the caller's responsibility to handle the case where
56881         !HAVE_GETPAGESIZE && !defined getpagesize.
56882
56883         * lib/mktime.c (leapyear): Arg is long int, not int.
56884
56885 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
56886
56887         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
56888
56889 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
56890
56891         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
56892         missing.  Problem reported by James Youngman.
56893
56894 2004-10-16  Simon Josefsson  <jas@extundo.com>
56895
56896         * gnulib-tool: Fix comments.  Fix parse problem.
56897         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
56898
56899 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
56900
56901         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
56902         implementation of getopt_long.  Problem reported by Alexander Taler in:
56903         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
56904
56905 2004-10-15  Bruno Haible  <bruno@clisp.org>
56906
56907         * gnulib-tool: Untabify. Initialize supplied_libname.
56908         (func_usage): More homogenous output.
56909         (func_modules_transitive_closure, func_modules_to_filelist,
56910         func_emit_lib_Makefile_am): New functions.
56911         (func_import): New function, extracted from big case statement. Use
56912         func_get_license, func_modules_transitive_closure,
56913         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
56914         opt_lgpl. Don't use test -a, as it's not portable.
56915         (func_create_testdir): Use func_modules_transitive_closure,
56916         func_modules_to_filelist, func_emit_lib_Makefile_am.
56917
56918 2004-10-15  Bruno Haible  <bruno@clisp.org>
56919
56920         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
56921
56922 2004-10-15  Bruno Haible  <bruno@clisp.org>
56923
56924         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
56925         the portions belonging to each module.
56926         Suggested by Derek Robert Price <derek@ximbiot.com>.
56927
56928 2004-10-12  Simon Josefsson  <jas@extundo.com>
56929
56930         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
56931         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
56932         to real functions.
56933
56934 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56935
56936         * modules/vsnprintf: New file.
56937
56938 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56939
56940         * m4/vsnprintf.m4: New file.
56941
56942 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56943
56944         * lib/vsnprintf.h: New file.
56945         * lib/vsnprintf.c: New file.
56946
56947 2004-10-11  Bruno Haible  <bruno@clisp.org>
56948
56949         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
56950         vsnprintf.
56951
56952 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
56953
56954         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
56955
56956 2004-10-07  Bruno Haible  <bruno@clisp.org>
56957
56958         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
56959         fits into the provided buffer.
56960
56961 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56962
56963         * lib/diacrit.c, diacrit.h: Add GPL notice.
56964
56965         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
56966         notice.
56967         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
56968         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
56969         This avoids a potential constant-folding bug.
56970
56971 2004-10-05  Bruno Haible  <bruno@clisp.org>
56972
56973         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
56974         for the declaration of strsep.
56975
56976 2004-10-05  Bruno Haible  <bruno@clisp.org>
56977
56978         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
56979
56980 2004-10-04  Simon Josefsson  <jas@extundo.com>
56981
56982         * modules/memmem: New file.
56983         * tests/test-memmem.c: New file.
56984         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
56985
56986 2004-10-04  Simon Josefsson  <jas@extundo.com>
56987
56988         * m4/memmem.m4: New file.
56989
56990 2004-10-04  Simon Josefsson  <jas@extundo.com>
56991
56992         * lib/memmem.h: New file.
56993         * lib/memmem.c: New file, taken from glibc.
56994
56995 2004-10-04  Simon Josefsson  <jas@extundo.com>
56996
56997         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
56998         '#ifdef USE_UNLOCKED_IO'.
56999
57000 2004-10-04  Simon Josefsson  <jas@extundo.com>
57001
57002         * config/srclist.txt: Add memmem from glibc.
57003
57004 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57005
57006         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
57007
57008         * modules/argmatch, modules/argp, modules/closeout, modules/error,
57009         modules/exclude, modules/getdate, modules/getline,
57010         modules/getndelim2, modules/getpass, modules/getpass-gnu,
57011         modules/getusershell, modules/linebuffer, modules/md5,
57012         modules/mountlist, modules/posixtm, modules/readtokens,
57013         modules/readutmp, modules/regex, modules/sha1,
57014         modules/version-etc, modules/yesno:
57015         Remove dependency on unlocked-io.
57016
57017 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57018
57019         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
57020
57021         * m4/unlocked-io.m4: Add copyright notice.
57022         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
57023
57024 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57025
57026         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
57027         * lib/xmalloc.c (xmemdup): Likewise.
57028         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
57029         XFREE): Remove these long-obsolescent macros.
57030         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
57031         * lib/xstrdup.c: Remove.
57032
57033         * lib/regex.c (re_comp): Cast gettext return value to char *,
57034         Problem reported by Martin Neitzel via Mark D. Baushke.
57035
57036 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57037
57038         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
57039         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
57040         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
57041         regex.c, sha1.c, version-etc.c, yesno.c:
57042         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
57043         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
57044         the includer's responsibility.
57045
57046         Sync from coreutils.
57047
57048         * lib/modechange.c (mode_compile): Don't decrement a pointer that
57049         points to the start of a string, as the C Standard says the
57050         resulting behavior is undefined.
57051
57052         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
57053         simple -> simple_backups, numbered_existing ->
57054         numbered_existing_backups, numbered -> numbered_backups
57055         to avoid shadowing problems.  All uses changed.
57056         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
57057         * lib/backupfile.c (check_extension, numbered_backup):
57058         Rename locals to avoid shadowing 'basename'.
57059         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
57060         once.
57061
57062         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
57063         * lib/.cvsignore: Add getopt.h.
57064
57065 2004-10-04  Bruno Haible  <bruno@clisp.org>
57066
57067         * modules/README: New file.
57068         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
57069         not a module.
57070
57071 2004-10-02  Jim Meyering  <jim@meyering.net>
57072
57073         * lib/dirfd.h, getpagesize.h: Add copyright notice.
57074
57075 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57076
57077         * modules/strsep: New file.
57078
57079 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57080
57081         * m4/strsep.m4: New file.
57082
57083 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57084
57085         * lib/strsep.h: New file.
57086         * lib/strsep.c: New file.
57087
57088 2004-10-01  Simon Josefsson  <jas@extundo.com>
57089
57090         * lib/snprintf.c (snprintf): Handle size==0.
57091
57092 2004-10-01  Simon Josefsson  <jas@extundo.com>
57093             Bruno Haible  <bruno@clisp.org>
57094
57095         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
57096         (snprintf): Declare 'args'.
57097
57098 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
57099
57100         * lib/snprintf.c: Remove comments as to why each header is needed.
57101
57102 2004-10-01  Bruno Haible  <bruno@clisp.org>
57103
57104         * MODULES.html.sh: Add strsep.
57105
57106 2004-09-30  Simon Josefsson  <jas@extundo.com>
57107
57108         * modules/snprintf: New file.
57109
57110 2004-09-30  Simon Josefsson  <jas@extundo.com>
57111
57112         * m4/snprintf.m4: New file.
57113
57114 2004-09-30  Simon Josefsson  <jas@extundo.com>
57115
57116         * lib/snprintf.h, lib/snprintf.c: New files.
57117
57118 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57119
57120         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
57121         (hol_entry_help): Never translate an empty string.
57122         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
57123         * lib/argp.h (OPTION_NO_TRANS): New option.
57124
57125 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57126
57127         * modules/argp (Maintainer): Replace Simon Josefsson
57128         by Sergey Poznyakoff.
57129
57130 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57131
57132         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
57133         changes merged back into glibc.
57134
57135 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57136
57137         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
57138
57139 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
57140
57141         * lib/xvasprintf.c: Include xalloc.h.
57142         (xvasprintf): Use xalloc_die, not xmalloc_die.
57143
57144 2004-09-29  Bruno Haible  <bruno@clisp.org>
57145
57146         * modules/alloca-opt: New file, derived from modules/alloca.
57147         * modules/allocsa: Depend on alloca-opt instead of alloca.
57148         * modules/setenv: Likewise.
57149         * modules/vasnprintf: Likewise.
57150         * MODULES.html.sh: Add alloca-opt.
57151
57152 2004-09-28  Simon Josefsson  <jas@extundo.com>
57153
57154         * gnulib-tool: New parameter --lgpl, to asseert that modules are
57155         LGPL, and to replace license template from GPL to LGPL.
57156
57157 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
57158
57159         * modules/dummy: Change license to LGPL.
57160
57161 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
57162
57163         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
57164
57165 2004-09-24  Simon Josefsson  <jas@extundo.com>
57166
57167         * modules/minmax (License): Change from GPL to LGPL.
57168
57169 2004-09-23  Simon Josefsson  <jas@extundo.com>
57170
57171         * gnulib-tool (--import): Typo.
57172
57173 2004-09-23  Simon Josefsson  <jas@extundo.com>
57174
57175         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
57176
57177 2004-09-22  Bruno Haible  <bruno@clisp.org>
57178
57179         * modules/*: Add 'License' field.
57180         * gnulib-tool: Accept --extract-license option.
57181         (func_get_license): New function.
57182
57183 2004-09-21  Bruno Haible  <bruno@clisp.org>
57184
57185         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
57186         Reported by Simon Josefsson.
57187
57188 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57189
57190         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
57191         gl_AC_TYPE_LONG_LONG.
57192
57193 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57194
57195         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
57196
57197 2004-09-18  Simon Josefsson  <jas@extundo.com>
57198         and  Paul Eggert  <eggert@cs.ucla.edu>
57199
57200         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
57201         calls with autoreconf.  Define GL_LIB.
57202
57203 2004-09-14  Karl Berry  <karl@gnu.org>
57204
57205         * config/srclist.txt: unsync setenv.c, sigh.
57206
57207 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57208
57209         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
57210         Problem reported by Bruno Haible in:
57211         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
57212
57213 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57214
57215         * config/srclist.txt: Comment out argp-pvh.c.
57216
57217 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
57218
57219         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
57220         in case some system header has #define'd it.  Problem reported by
57221         Soeren D. Schulze in
57222         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
57223
57224 2004-09-09  Karl Berry  <karl@gnu.org>
57225
57226         * regex.[ch]: delete from the root.  These were supposed to be
57227                 synced with emacs cvs, but this has not happened for about
57228                 a year, and anyway nothing else uses emacs regex.[ch].
57229                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
57230                 lib/regex[.ch] is untouched.
57231
57232 2004-09-09  Bruno Haible  <bruno@clisp.org>
57233
57234         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
57235
57236 2004-09-09  Bruno Haible  <bruno@clisp.org>
57237
57238         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
57239         modifications.
57240         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
57241
57242 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
57243
57244         * modules/xvasprintf: New file.
57245         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
57246
57247 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
57248
57249         * lib/xvasprintf.h: New file.
57250         * lib/xvasprintf.c: New file.
57251         * lib/xasprintf.c: New file.
57252
57253 2004-09-08  Bruno Haible  <bruno@clisp.org>
57254
57255         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
57256
57257 2004-09-08  Bruno Haible  <bruno@clisp.org>
57258
57259         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
57260         length is > INT_MAX.
57261         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
57262         more.
57263
57264 2004-09-08  Bruno Haible  <bruno@clisp.org>
57265
57266         * lib/stdint_.h: New file, taken from GNU clisp.
57267
57268 2004-09-08  Bruno Haible  <bruno@clisp.org>
57269             Oskar Liljeblad  <oskar@osk.mine.nu>
57270
57271         * modules/stdint: New file.
57272         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
57273
57274 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57275
57276         Import from coreutils.
57277         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
57278         strings on unbounded length.  alloca's performance benefits aren't
57279         that important here.
57280         (V_STRDUP): Remove.
57281         (parse_with_separator): New function, with most of the internals
57282         of the old parse_user_spec.  Allow user to omit both user and group,
57283         for compatibility with FreeBSD.
57284         Clone only the user name, not the entire spec.
57285         Do not set *uid, *gid unless entirely successful.
57286         Avoid memory leak in some failing cases.
57287         Fix regression for USER.GROUP reported by Dmitry V. Levin in
57288         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
57289         (parse_user_spec): Rewrite to use parse_with_separator.
57290
57291 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57292
57293         * modules/userspec: Don't depend on alloca.
57294
57295 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57296
57297         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
57298
57299 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57300
57301         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
57302         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
57303         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
57304
57305 2004-08-16  Simon Josefsson  <jas@extundo.com>
57306
57307         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
57308         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
57309         Add --dry-run for --import.
57310         Let user provided command line parameters override configure.ac
57311         settings.
57312
57313 2004-08-12  Simon Josefsson  <jas@extundo.com>
57314
57315         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
57316         as discussed with Paul Eggert in threads rooted at
57317         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
57318         and
57319         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
57320         Before, the test was empty, and relied on ELIDE_CODE in source
57321         code.)
57322         (gl_PREREQ_GETOPT): New macro.
57323         (gl_GETOPT): Use them.
57324
57325 2004-08-12  Simon Josefsson  <jas@extundo.com>
57326
57327         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
57328         * lib/getopt_.h: Renamed from getopt.h.
57329
57330 2004-08-12  Simon Josefsson  <jas@extundo.com>
57331
57332         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
57333         Change default library name from libfoo to libgnu.
57334         Now, if you have a configure.ac that says:
57335                 gl_SOURCE_BASE(gl)
57336                 gl_M4_BASE(gl/m4)
57337                 gl_MODULES(error getopt etcetera)
57338                 gl_INIT
57339         you can import all you need by running:
57340                 ../gnulib/gnulib-tool --import
57341
57342         * modules/getopt (Files): Rename getopt.h to getopt_.h.
57343         (Makefile.am): Rewrite, use logic from argz.
57344         (Include): Use <getopt.h> instead of "getopt.h".
57345
57346 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57347
57348         * modules/argp (Files): Add m4/unlocked-io.m4.
57349         (Depends-on): Add extensions.
57350
57351 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57352
57353         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
57354         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
57355         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
57356         Check for program_invocation_name, program_invocation_short_name,
57357         flockfile, funlockfile, features.h, _getopt_long_only_r.
57358
57359 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57360
57361         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
57362         its complicated substitute.
57363         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
57364         and program_invocation_name.
57365         (__argp_basename) [!_LIBC]: Remove; the only use was
57366         replaced by its body.
57367         (__argp_short_program_name): Change condition from
57368         !defined __argp_short_program_name to
57369         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
57370         to match argp-namefrob.h.
57371         (__argp_failure): Don't assume strerror_r returns char *.
57372         * lib/argp-parse.c (N_): Define unconditionally.
57373         (argp_default_options): Fill out initializers with 0 to avoid
57374         gcc warnings.
57375
57376 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57377
57378         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
57379         getopt1.c.
57380
57381 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57382
57383         Merge from coreutils.
57384
57385         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
57386
57387         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
57388         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
57389
57390 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57391
57392         Merge from coreutils.
57393
57394         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
57395         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
57396         for Reliant Unix 5.43.
57397
57398         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
57399         (union fooround): Use uintmax_t, not long int.
57400         The rest is a merge from libc:
57401         [defined _LIBC]: Include <shlib-compat.h>.
57402         (_obstack) [defined _LIBC]: Remove after 2.3.4.
57403
57404         * lib/settime.c (settime): Recode to avoid warning with
57405         Sun Forte C 6U2.
57406
57407         * lib/strverscmp.c: Convert to UTF-8.
57408
57409 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57410
57411         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
57412         m4/uintmax_t.m4.
57413
57414 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57415
57416         * modules/xalloc-die: New file.
57417         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
57418
57419         * modules/md5 (Files): Add m4/uint32_t.m4.
57420         * modules/sha1: Renamed from modules/sha.
57421         (Files):
57422         Rename lib/sha.h to lib/sha1.h.
57423         Rename lib/sha.c to lib/sha1.c.
57424         Rename m4/sha.m4 to m4/sha1.m4.
57425         (lib_SOURCES): Likewise.
57426         (configure.ac): Rename gl_SHA to gl_SHA1.
57427         (Include): sha.h -> sha1.h.
57428
57429 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57430
57431         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
57432         * m4/sha1.m4: Renamed from sha.m4.
57433         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
57434
57435 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57436
57437         * lib/obstack.h (obstack_empty_p):
57438         Don't assume that chunk->contents is suitably aligned.
57439         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
57440         Likewise. Problem reported by Benno in
57441         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
57442
57443         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
57444         readable.  This could be improved further but it'd take some work.
57445
57446 2004-08-08  Simon Josefsson  <jas@extundo.com>
57447
57448         * modules/xgethostname (Depends-on): Remove exit and error (not
57449         used).
57450
57451         * modules/getpass-gnu: Add getpass.h.
57452         (Depends-on): Add stdbool.
57453         * modules/getpass: Add getpass.h.
57454
57455 2004-08-08  Simon Josefsson  <jas@extundo.com>
57456
57457         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
57458         Check getpass declaration.
57459
57460 2004-08-08  Simon Josefsson  <jas@extundo.com>
57461
57462         * lib/xgethostname.c: Don't include error.h (not used).
57463
57464         * lib/getpass.h: Add.
57465         * lib/getpass.c: Include getpass.h first.
57466
57467 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
57468
57469         * lib/xalloc-die.c: New file.
57470         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
57471         All uses removed.
57472         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
57473         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
57474         xalloc-die.c.
57475         (_, N_, xalloc_die): Move to xalloc-die.c.
57476         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
57477         so that we needn't mess with xalloc_msg_memory_exhausted.
57478
57479         * lib/sha1.h: Renamed from sha.h.
57480         (SHA1_H): Renamed from _SHA_H.
57481         (sha1_ctx): Renamed from sha_ctx.
57482         (sha1_init_ctx): Renamed from sha_init_ctx.
57483         (sha1_process_block): Renamed from sha_process_block.
57484         (sha1_process_bytes): Renamed from sha_process_bytes.
57485         (sha1_finish_ctx): Renamed from sha_finish_ctx.
57486         (sha1_read_ctx): Renamed from sha_read_ctx.
57487         (sha1_stream): Renamed from sha_stream.
57488         (sha1_buffer): Renamed from sha_buffer.
57489         * lib/sha1.c: Likewise; renamed from sha.c.
57490         Do not include <sys/types.h>.
57491         Include <stddef.h> rather than <stdlib.h>.
57492
57493 2004-08-08  Bruno Haible  <bruno@clisp.org>
57494
57495         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
57496         FILESYSTEM_PREFIX_LEN.
57497         * lib/progreloc.c: Likewise.
57498         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
57499
57500 2004-08-06  Simon Josefsson  <jas@extundo.com>
57501
57502         * modules/progname (Depends-on): Don't depend on stdbool.
57503
57504 2004-08-06  Simon Josefsson  <jas@extundo.com>
57505
57506         * modules/getsubopt: New file.
57507         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57508         getsubopt.
57509
57510 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57511
57512         More merge from coreutils.
57513
57514         * m4/utimens.m4, m4/utimecmp.m4: New files.
57515         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
57516         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
57517         prereq.m4, sha.m4: Import changes from coreutils.
57518
57519 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57520
57521         More merge from coreutils.
57522         * modules/raise, modules/readtokens0, modules/utimens:
57523         * modules/utimecmp, module/xnanosleep: New files.
57524         * modules/strftime: Add lib/strftime.h.
57525         Change include from <time.h> to "strftime.h".
57526         * modules/yesno: Add lib/yesno.h.
57527         * modules/backupfile: Remove lib/addext.c.
57528         * modules/euidaccess: Add stat-macros.h.
57529         * modules/canonicalize, modules/euidaccess,
57530         modules/filemode, modules/lchown, modules/makepath,
57531         modules/rmdir, modules/stat: Likewise.
57532
57533 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57534
57535         Merge from tar.
57536         * lib/argp-help.c (make_hol, hol_append): Don't assume that
57537         SIZE_MAX is a valid preprocessor constant.
57538         (__argp_basename): Change from "#ifndef _LIBC"
57539         to "#ifndef __argp_short_program_name", so that
57540         we don't compile these functions for tar.
57541
57542         More merges from coreutils.
57543         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
57544         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
57545         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
57546         * lib/addext.c: Remove; no longer needed.
57547         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
57548         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
57549         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
57550         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
57551         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
57552         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
57553         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
57554         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
57555         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
57556         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
57557         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
57558         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
57559         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
57560         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
57561         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
57562         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
57563         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
57564         Import changes from coreutils.
57565
57566 2004-08-05  Simon Josefsson  <jas@extundo.com>
57567
57568         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
57569
57570 2004-08-05  Simon Josefsson  <jas@extundo.com>
57571
57572         * m4/getsubopt.m4: New file.
57573
57574 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57575
57576         Merge from coreutils.
57577
57578         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
57579         * m4/getcwd-path-max.m4: New files.
57580
57581         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
57582         FILESYSTEM_PREFIX_LEN ->
57583         FILE_SYSTEM_PREFIX_LEN.
57584         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
57585         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
57586         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
57587         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
57588
57589         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
57590         prerequisite modules now handle the DOS stuff.
57591         Don't check for unistd.h.
57592
57593 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57594
57595         Merge from coreutils.
57596
57597         * lib/.gdb-history: Remove; this doesn't belong here.
57598
57599         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
57600         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
57601         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
57602         * lib/getcwd.c: New files.
57603
57604         * lib/dirname.h: Include <stdbool.h>.
57605         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
57606         for consistency with POSIX terminology.  All uses changed.
57607         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
57608         (strip_trailing_slashes): Use bool for booleans.
57609         * lib/stripslash.c (strip_trailing_slashes): Likewise.
57610
57611         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
57612         sometimes returns a positive errno value even when it succeeds.
57613         (print_errno_message) [!LIBC]: Fall back on strerror if
57614         __strerror_r fails.
57615
57616         * lib/path-concat.c (mempcpy): Don't define if a system header defines
57617         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
57618         (longest_relative_suffix): New function.
57619         (path_concat): Use it.  Assume first argument is not NULL.
57620         Port to DOS.  Omit redundant separators.
57621         Report an error instead of returning NULL.
57622         Use mempcpy instead of memcpy.
57623         (xpath_concat): Remove: not declared or used.
57624
57625         * lib/same.h: Include <stdbool.h>
57626         (same_name): Return bool, not int.
57627         * lib/same.c (same_name): Likewise.
57628         (errno): Don't declare; we assume C89 or better now.
57629
57630         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
57631         if not already defined.
57632
57633         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
57634         * lib/dup-safer.c (errno): Likewise.
57635
57636 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57637
57638         Merge from coreutils.
57639         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
57640         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
57641         * modules/path-concat: Don't depend on strdup.
57642
57643 2004-08-03  Simon Josefsson  <jas@extundo.com>
57644
57645         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
57646         * lib/progname.h: Don't include stdbool.h.
57647
57648 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
57649
57650         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
57651         * MODULES.html.sh (func_all_modules): Remove fatal.
57652
57653 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
57654
57655         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
57656
57657 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
57658
57659         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
57660         working.
57661
57662 2004-08-02  Simon Josefsson  <jas@extundo.com>
57663
57664         * lib/getsubopt.h: New file, with comments from Bruno Haible.
57665         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
57666         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
57667
57668 2004-08-01  Simon Josefsson  <jas@extundo.com>
57669
57670         * lib/xgetdomainname.c: Include stdlib.h, for free().
57671
57672 2004-07-19  Bruno Haible  <bruno@clisp.org>
57673
57674         * MODULES.html.sh (func_all_modules): Add dummy.
57675
57676 2004-07-16  Simon Josefsson  <jas@extundo.com>
57677
57678         * modules/dummy: New file.
57679
57680 2004-07-16  Simon Josefsson  <jas@extundo.com>
57681
57682         * lib/dummy.c: New file.
57683
57684 2004-07-16  Bruno Haible  <bruno@clisp.org>
57685
57686         * lib/backupfile.h: Add extern "C" for C++.
57687         * lib/closeout.h: Likewise.
57688         * lib/copy-file.h: Likewise.
57689         * lib/findprog.h: Likewise.
57690         * lib/full-write.h: Likewise.
57691         * lib/pathname.h: Likewise.
57692         * lib/progname.h: Likewise.
57693         * lib/stpcpy.h: Likewise.
57694         * lib/stpncpy.h: Likewise.
57695         * lib/strcase.h: Likewise.
57696         * lib/strstr.h: Likewise.
57697         * lib/xalloc.h: Likewise.
57698
57699         * lib/mbswidth.h: Add extern "C" for C++.
57700         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
57701
57702 2004-07-13  Robert Millan  <robertmh@gnu.org>
57703
57704         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
57705
57706 2004-07-09  Simon Josefsson  <jas@extundo.com>
57707
57708         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
57709         failed without this.)
57710
57711 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
57712
57713         * modules/chown (Files): Add lib/fchown-stub.c, since
57714         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
57715
57716 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
57717
57718         * lib/fchown-stub.c: New file.
57719
57720 2004-06-24  Jim Meyering  <jim@meyering.net>
57721
57722         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
57723
57724 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57725
57726         * modules/argz: Omit "#include".
57727
57728         * MODULES.html.sh (func_all_modules): Add calloc, to match
57729         2004-06-01 addition of calloc module.
57730
57731 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57732
57733         * m4/argz.m4: New file, which is autoupdated from libtool.
57734
57735 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57736
57737         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
57738         libtool.
57739
57740 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57741
57742         * config/srclist-update: Don't insist on "USA." before the
57743         close-comment, as libtool omits the period and puts the */ on a
57744         separate line.
57745         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
57746         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
57747
57748 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
57749
57750         * modules/argz: New file.
57751         * MODULES.html.sh (func_all_modules): Add argz.
57752
57753 2004-06-12  Jim Meyering  <jim@meyering.net>
57754         and  Paul Eggert  <eggert@cs.ucla.edu>
57755
57756         * modules/hash (Files): Add lib/xalloc.h.
57757         * modules/pipe (Depends-on): Add wait-process.
57758         * modules/stat (Depends-on): Add xalloc.
57759         * modules/userspec (Files): Add lib/userspec.h.
57760         * modules/xstrto
57761
57762         Upgrade from gettext-0.13.
57763         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
57764         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
57765         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
57766
57767 2004-06-10  Jim Meyering  <jim@meyering.net>
57768
57769         * lib/calloc.c: New file.
57770
57771 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
57772
57773         * lib/getdate.y (yylex): Allow space between sign and number.
57774         Problem reported by Dan Jacobson.
57775
57776 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
57777
57778         Merge from coreutils CVS.
57779
57780         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
57781         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
57782         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
57783         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
57784         xstrtol.m4: Fix copyright date and/or serial number.
57785
57786         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
57787         See if we need an fchown replacement.
57788         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
57789         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
57790         and use the replacement function if we detect either defect.
57791
57792         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
57793         gl_UTIMECMP.
57794
57795 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
57796         and  Jim Meyering  <jim@meyering.net>
57797
57798         Merge from coreutils CVS.
57799
57800         * lib/stat-macros.h: New file, with contents from file-type.h
57801         and coreutils' system.h.
57802         * lib/file-type.c: Include "stat-macros.h".
57803         * lib/file-type.h (file_type): Move all macro definitions to new file,
57804         stat-macros.h.
57805
57806         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
57807         Wrap old code with this conditional.
57808         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
57809         function that does not dereference symlinks.
57810         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
57811
57812         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
57813         dependency problems.
57814         (xreadlink): Accept new arg SIZE, for efficiency.
57815         All decls and uses changed.
57816         * lib/xreadlink.h: Include <stddef.h>, for size_t.
57817
57818         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
57819         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
57820
57821         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
57822         sysexits.h.
57823
57824 2004-06-01  Jim Meyering  <jim@meyering.net>
57825
57826         * m4/calloc.m4: New file.
57827
57828 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
57829
57830         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
57831         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
57832         Also, fix a typo in a diagnostic.
57833
57834 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
57835
57836         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
57837         or AC_FUNC_REALLOC.
57838
57839 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
57840
57841         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
57842         macros to be defined.
57843         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
57844         the allocator returns NULL because the requested size is zero.
57845
57846 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
57847
57848         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
57849         var.  Add comment explaining why libc still defines it.  This
57850         merges the following patch from glibc:
57851         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
57852
57853 2004-05-20  Andreas Schwab  <schwab@suse.de>
57854
57855         * m4/free.m4: Replace free if it not known to work, not the other
57856         way round.
57857
57858 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
57859
57860         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
57861         present in glibc since revision 1.1 of this file.
57862         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
57863         obstack_alignment_mask, obstack_alloc, obstack_base,
57864         obstack_blank, obstack_blank_fast, obstack_chunk_size,
57865         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
57866         obstack_grow0, obstack_init, obstack_int_grow,
57867         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
57868         obstack_next_free, obstack_object_size, obstack_ptr_grow,
57869         obstack_ptr_grow_fast, obstack_room): Remove declarations of
57870         nonexistent functions.
57871
57872 2004-05-18  Karl Berry  <karl@gnu.org>
57873
57874         * config/srclist.txt: break link for vasnprintf.c.
57875
57876 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
57877
57878         Port obstack to the AS/400, where pointers are 16 bytes wide and
57879         you cannot cast an integer to a valid pointer.  This patch is
57880         currently waiting to be integrated into glibc; see
57881         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
57882
57883         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
57884         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
57885         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
57886         (struct obstack): temp member is now a union of a pointer and
57887         an integer, instead of an integer.  All integer uses changed.
57888         This does not affect the physical layout of struct obstack,
57889         except on hosts (like the AS/400) where the size or alignment of
57890         void * is greater than that of ptrdiff_t.
57891         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
57892         __STDC__)]: Store temporary in pointer member of union, not
57893         integer member.
57894         * lib/obstack.c: Include <stddef.h>, for offsetof.
57895         (struct fooalign): Remove; it doesn't need a name.
57896         (union fooround): Change double to long double, and add void *.
57897         (DEFAULT_ALIGNMENT): Use offsetof to compute.
57898         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
57899         not a macro.  Hence the values are always int; so remove all
57900         casts-to-int in uses.
57901
57902 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
57903
57904         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
57905         we can get this patch merged into glibc.
57906
57907 2004-05-17  Derek R. Price  <derek@ximbiot.com>
57908             Paul Eggert  <eggert@cs.ucla.edu>
57909
57910         * m4/argp: Depend on alloca.
57911
57912 2004-05-17  Derek R. Price  <derek@ximbiot.com>
57913             Paul Eggert  <eggert@cs.ucla.edu>
57914
57915         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
57916         freecoding.
57917
57918 2004-05-17  Bruno Haible  <bruno@clisp.org>
57919
57920         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
57921         precision that consists of a '.' followed by an empty digit string.
57922         Patch by Tor Lillqvist <tml@iki.fi>.
57923
57924 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
57925
57926         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
57927         for backward compatibility with older code.  We need our own
57928         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
57929         it under some other name, and our alloca.h will define it.
57930
57931 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
57932             Derek Price  <derek@ximbiot.com>
57933
57934         * lib/alloca.c: Include <alloca.h>, to get our interface.
57935         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
57936         include <alloca.h> first.  Use C89 prototype for alloca; this
57937         requires including <stddef.h> for size_t.  Use extern "C" if C++.
57938         Use #elif for simplicity, since we can assume C89 now.
57939         Don't try to source the system alloca.h since it will not be found
57940         and to prevent recursively including its replacement.
57941         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
57942         * lib/regex.c: Likewise.
57943
57944 2004-05-16  Derek Price  <derek@ximbiot.com>
57945             Paul Eggert  <eggert@cs.ucla.edu>
57946
57947         getline cleanup.  This changes the getndelim2 API: both order of
57948         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
57949         no delimiter).
57950
57951         * lib/getline.c: Don't include stddef.h or stdio.h, since our
57952         interface does that.
57953         (getline): Always use getdelim, so that we don't have two
57954         copies of this code.
57955         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
57956         if available.
57957         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
57958         (GETNDELIM2_MAXIMUM): New macro.
57959         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
57960         instead of the old practice of delim2==0.  All callers changed.
57961         Return -1 on overflow, instead of returning junk.
57962         Do not set *linesize unless allocation succeeds.
57963         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
57964         that we include sys/types.h.
57965         * lib/getnline.h: Likewise.
57966         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
57967         (getndelim2): Reorder arguments.
57968         * lib/getnline.c (getnline, getndelim):
57969         Don't discard the NMAX argument.
57970         (getnline): Invoke getndelim, to avoid code duplication.
57971         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
57972         of (size_t) -1 by callers of the getnline family.
57973
57974 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
57975
57976         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
57977         Check for gettimeofday.
57978         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
57979         Check for settimeofday, stime.
57980
57981 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
57982
57983         * lib/nanosleep.c (suspended): Change its type from int to
57984         sig_atomic_t volatile.
57985         (first_call): Make it private to rpl_nanosleep, and have it
57986         be zero initially as that's a bit faster.
57987         (my_usleep): Round up fractional times instead of truncating them,
57988         as this is the usual meaning for 'sleep'.
57989
57990         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
57991         doesn't work.
57992         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
57993         (ENOSYS): Define if not defined.
57994         (settime): Fall back on stime if it exists and settimeofday fails.
57995         But don't bother with fallbacks if a method fails with errno == EPERM.
57996
57997 2004-05-11  Jim Meyering  <jim@meyering.net>
57998
57999         Prior to this change, the save_cwd caller required read access to the
58000         current directory on most systems (ones with the fchdir function).
58001
58002         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
58003         fails, try write-only, and finally, resort to using xgetcwd.
58004
58005 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
58006
58007         * lib/obstack.c, obstack.h: Import changes from libc.
58008
58009 2004-04-28  Bruno Haible  <bruno@clisp.org>
58010
58011         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
58012         also implicitly appends .exe to executables.
58013         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
58014         accepts Windows pathnames.
58015         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
58016         Treat Cygwin like Windows, since it now accepts Windows pathnames.
58017         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
58018         Treat Cygwin like Windows, since it now accepts Windows pathnames.
58019         Reported by Derek Robert Price <derek@ximbiot.com>.
58020
58021 2004-04-21  Karl Berry  <karl@gnu.org>
58022
58023         * config/srclist.txt (localcharset.c): break sync.
58024
58025 2004-04-20  Paul Eggert  <eggert@twinsun.com>
58026
58027         * m4/host-os.m4: Add a copyright notice.
58028
58029 2004-04-20  Jim Meyering  <jim@meyering.net>
58030
58031         Change UTILS_ to gl_ in AC_DEFINE'd names.
58032         Change utils_- and jm_-prefixed variables, too.
58033         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
58034         UTILS_FUNC_MKDIR_TRAILING_SLASH.
58035         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
58036
58037         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
58038         Don't emit trailing blanks.
58039         Also rename jm_-prefixed variables to have gl_ prefix.
58040
58041         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
58042         Also rename jm_-prefixed variables to have gl_ prefix.
58043
58044         * m4/jm-macros.m4: Reflect the renamings.
58045         * m4/prereq.m4: Likewise.
58046
58047 2004-04-20  Jim Meyering  <jim@meyering.net>
58048
58049         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
58050         memory.
58051
58052 2004-04-20  Jim Meyering  <jim@meyering.net>
58053             Bruno Haible  <bruno@clisp.org>
58054
58055         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
58056         memory when realloc fails.
58057
58058 2004-04-19  Jim Meyering  <jim@meyering.net>
58059
58060         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
58061         now that readutmp.c may call `free (0)'.
58062
58063 2004-04-19  Bruno Haible  <bruno@clisp.org>
58064
58065         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
58066         * m4/inttypes_h.m4: Likewise.
58067         * m4/stdint_h.m4: Likewise.
58068         * m4/intmax_t.m4: Likewise.
58069         * m4/uintmax_t.m4: Likewise.
58070
58071 2004-04-18  Jim Meyering  <jim@meyering.net>
58072
58073         * m4/prereq.m4: Don't forbid jm_ prefix.
58074
58075         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
58076         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
58077         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
58078         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
58079         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
58080         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
58081         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
58082         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
58083         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
58084         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
58085         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
58086         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
58087         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
58088         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
58089         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
58090         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
58091         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
58092         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
58093         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
58094
58095 2004-04-18  Jim Meyering  <jim@meyering.net>
58096
58097         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
58098         failure, don't leak memory and do call END_UTMP_ENT.
58099
58100 2004-04-16  Jim Meyering  <jim@meyering.net>
58101
58102         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
58103         coreutils' stat program.
58104         (gl_PREREQ): Don't require jm_PREREQ_STAT.
58105
58106 2004-04-11  Paul Eggert  <eggert@twinsun.com>
58107
58108         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
58109         C89.
58110         (CHAR_BIT): Remove, since we assume C89.
58111         Include <stdint.h> if available, as per current Autoconf CVS advice.
58112
58113 2004-03-31  Jim Meyering  <jim@meyering.net>
58114
58115         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
58116         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
58117         * m4/xalloc.m4: Likewise.
58118
58119 2004-03-30  Paul Eggert  <eggert@twinsun.com>
58120
58121         Merge from coreutils.
58122
58123         * m4/inttostr.m4: New file.
58124         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
58125         Require AM_STDBOOL_H and gl_TIMESPEC instead.
58126         Require gl_CLOCK_TIME.
58127         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
58128
58129 2004-03-30  Paul Eggert  <eggert@twinsun.com>
58130
58131         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
58132         not bool, to be more consistent with Unix conventions.
58133         Suggested by Bruno Haible.
58134
58135         Merge from coreutils.
58136
58137         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
58138         * lib/umaxtostr.c: New files.
58139
58140         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
58141         the usual <time.h> dance.
58142         (get_date): Change signature to support fractional time stamps.
58143         All callers changed.
58144         * lib/getdate.y: Include "getdate.h" first, as we can now
58145         assume C89 and don't need to worry about 'const'.
58146         Similarly, include "unlocked-io.h" near start, not in middle.
58147         Include <limits.h>.
58148         (textint.value): Use long int rather than int.
58149         (textint.digits): Use size_t rather than int.
58150         (BILLION, LOG10_BILLION): New constants.
58151         (parser_control): New member rel_ns.  Members day_ordinal,
58152         time_zone, month, day, hour, minutes, rel_year, rel_month,
58153         rel_day, rel_hour, rel_minutes, rel_seconds
58154         are now long int, not int.  Member seconds is now struct timespec,
58155         not int.  New member timespec_seen.  Members dates_seen, days_seen,
58156         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
58157         not int.
58158         (%union.intval): Now long int, not int.
58159         New member timespec.
58160         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
58161         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
58162         (spec): Now is a timespec or an item list.
58163         (timespec, items): New nonterminals.
58164         (time, rel, relunit, number, get_date):
58165         Add support for fractional seconds.
58166         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
58167         (gmtime, localtime, mktime): Remove decls; not needed with C89.
58168         (to_hour): First arg is now long int, not int.
58169         (to_year): Returns long int, not int.
58170         Don't treat year -70 like 70.
58171         (tm_diff): Returns long int, not int.
58172         (lookup_word): Use bool instead of int when appropriate.
58173         (yylex): Use size_t for count, not int.
58174         Detect overflow when parsing large integer constants.
58175         Add support for fractions.
58176         (get_date): Make pointers 'const' if possible.
58177         Use more-portable code to detect integer overflow.
58178         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
58179         Don't use ctime; it's not reliable if the year has >4 digits.
58180
58181         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
58182         This is for compatibility with BSD.
58183
58184         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
58185         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
58186         From coreutils' system.h.
58187
58188         * lib/userspec.c: Don't include "posixver.h".
58189         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
58190         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
58191         compatible extension.  Simplify code by removing a boolean int
58192         that was always nonzero if a string was nonnull.
58193
58194 2004-03-30  Jim Meyering  <jim@meyering.net>
58195
58196         Merge from coreutils.
58197
58198         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
58199         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
58200         on some systems one must include <grp.h> before it.
58201         Reported by Christian Krackowizer.
58202
58203 2004-03-30  Jim Meyering  <jim@meyering.net>
58204
58205         Merge from coreutils.
58206
58207         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
58208
58209         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
58210         an empty input stream.
58211
58212         * lib/readtokens.c: Include <stdbool.h>.
58213         (readtoken): Use `size_t' rather than int/long.
58214         All callers adjusted.
58215         Use `bool' rather than `int' where appropriate.
58216         Use memset rather than an explicit loop.
58217         Use x2nrealloc rather than xrealloc.
58218         Allow the use of `\0' as a delimiter.
58219         (readtokens): Likewise.
58220         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
58221
58222 2004-03-30  Jim Meyering  <jim@meyering.net>
58223
58224         * m4/realloc.m4: Remove file, since now it does no more than
58225         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
58226         the `configure.ac' section of module/realloc.
58227         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
58228
58229 2004-03-30  Bruno Haible  <bruno@clisp.org>
58230
58231         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
58232         nonnull.
58233
58234 2004-03-29  Paul Eggert  <eggert@twinsun.com>
58235
58236         Merge changes to getloadavg.c from coreutils and Emacs.
58237
58238         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
58239         Define to an expression, not to the empty string.
58240         Include cloexec.h and xalloc.h.
58241         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
58242         Use set_cloexec_flag rather than rolling our own.
58243         * lib/cloexec.c, lib/cloexec.h: New files.
58244
58245 2004-03-29  Paul Eggert  <eggert@twinsun.com>
58246
58247         * m4/cloexec.m4: New file.
58248
58249 2004-03-18  Paul Eggert  <eggert@twinsun.com>
58250
58251         * lib/getopt.h: Sync with libc CVS.
58252
58253 2004-03-18  Paul Eggert  <eggert@twinsun.com>
58254             Bruno Haible  <bruno@clisp.org>
58255
58256         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
58257         mbswidth.
58258
58259 2004-03-18  Paul Eggert  <eggert@twinsun.com>
58260             Bruno Haible  <bruno@clisp.org>
58261
58262         * lib/mbswidth.h: Include <wchar.h> only if
58263         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
58264         <wchar.h>.
58265         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
58266
58267 2004-03-09  Paul Eggert  <eggert@twinsun.com>
58268
58269         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
58270         Sync with libc CVS.
58271         * lib/getopt_int.h: New file, also synced from libc.
58272
58273 2004-03-09  Paul Eggert  <eggert@twinsun.com>
58274
58275         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
58276         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
58277         Bring back getopt.c, getopt.h, getopt1.c.
58278
58279 2004-03-07  Paul Eggert  <eggert@twinsun.com>
58280
58281         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
58282         All uses changed.  Check for sa_sigaction member; this fixes
58283         a bug first reported by Jason Andrade in
58284         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
58285
58286 2004-03-07  Paul Eggert  <eggert@twinsun.com>
58287
58288         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
58289         '#if' expressions.  Unlike the code it replaces, it does not
58290         depend on (defined _SC_PAGESIZE).  However, it does depend on
58291         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
58292         first reported by Jason Andrade in
58293         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
58294
58295 2004-02-25  Simon Josefsson  <jas@extundo.com>
58296
58297         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
58298
58299 2004-02-25  Simon Josefsson  <jas@extundo.com>
58300
58301         * lib/strdup.h: New file.
58302         * lib/strdup.c: Include it.
58303         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
58304         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
58305
58306 2004-02-23  Karl Berry  <karl@gnu.org>
58307
58308         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
58309         (from fencepost.gnu.org:/gd/gnuorg).
58310
58311 2004-02-23  Karl Berry  <karl@gnu.org>
58312
58313         * config/srclistvars.sh (GNUORG) [karl]: redefine.
58314         * config/srclist.txt: add maintain/standards documents.
58315
58316 2004-02-18  Bruno Haible  <bruno@clisp.org>
58317
58318         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
58319         Reported by Derek Robert Price <derek@ximbiot.com>.
58320
58321 2004-02-16  Karl Berry  <karl@gnu.org>
58322
58323         * config/mkinstalldirs, install-sh: update from automake.
58324
58325 2004-02-06  Karl Berry  <karl@gnu.org>
58326
58327         * m4/po.m4: update from gettext 0.14.1.
58328
58329 2004-02-06  Karl Berry  <karl@gnu.org>
58330
58331         * lib/config.charset: update from gettext 0.14.1.
58332
58333 2004-02-05  Paul Eggert  <eggert@twinsun.com>
58334
58335         Add comments and code, prompted by suggestions from Bruno Haible
58336         for sh-quote.
58337         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
58338         describing the enum quoting_style values.
58339         * lib/quotearg.c (quotearg_alloc): New function.
58340         (quotearg_buffer_restyled): Treat lone { and } as special.
58341         Treat = as special.  Work around bug with older shells
58342         that "see" a '\' that is really the 2nd byte of a multibyte char.
58343         Quote empty string with shell_quoting_style.
58344
58345 2004-02-03  Bruno Haible  <bruno@clisp.org>
58346
58347         * m4/pipe.m4: New file, from GNU gettext.
58348
58349 2004-02-03  Bruno Haible  <bruno@clisp.org>
58350
58351         * lib/pipe.h: New file, from GNU gettext.
58352         * lib/pipe.c: New file, from GNU gettext.
58353
58354 2004-01-27  Bruno Haible  <bruno@clisp.org>
58355
58356         * m4/execute.m4: New file, from GNU gettext.
58357
58358 2004-01-27  Bruno Haible  <bruno@clisp.org>
58359
58360         * lib/execute.h: New file, from GNU gettext.
58361         * lib/execute.c: New file, from GNU gettext.
58362         * lib/w32spawn.h: New file, from GNU gettext.
58363
58364 2004-01-24  Paul Eggert  <eggert@twinsun.com>
58365
58366         Merge from diffutils.
58367
58368         * lib/file-type.c (file_type): Add typed memory objects.
58369         * lib/file-type.h (S_TYPEISTMO): New macro.
58370
58371         * lib/c-stack.h (c_stack_action): Remove argv argument.
58372         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
58373         (die): Don't calculate message unless segv_action returns.
58374         (get_stack_location, min_address_from_argv, max_address_from_argv,
58375         volatile stack_base, volatile_stack_size): Remove.
58376         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
58377         that every segmentation violation is a stack overflow.  (Ouch!)
58378         See Debian bug 136249 (still outstanding) for more info about why
58379         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
58380
58381 2004-01-24  Paul Eggert  <eggert@twinsun.com>
58382
58383         Exit-status fix from coreutils.
58384
58385         Use exit_failure consistently in place of EXIT_FAILURE,
58386         so that program exit statuses are consistent on failure.
58387
58388         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
58389         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
58390         * lib/argmatch.h: Comment fix to match the above.
58391         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
58392         Now a macro referring to exit_failure, instead of a separate
58393         variable.  Include "exitfail.h" to get it.
58394         * lib/xstrtol.h: Include "exitfail.h".
58395         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
58396
58397         * lib/long-options.c (parse_long_options): Use prototype
58398         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
58399         for clarity.
58400
58401 2004-01-21  Jim Meyering  <jim@meyering.net>
58402
58403         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
58404         so as not to conflict with a different-sized __mktime_internal
58405         function in GNU libc.
58406         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
58407         Problem building statically-linked `ls' reported by Michael Brunnbauer.
58408
58409 2004-01-20  Karl Berry  <karl@gnu.org>
58410
58411         * config/config.guess: update from config.
58412
58413         * config/srclistvars.sh: GNUWWWLICENSES for karl.
58414
58415 2004-01-20  Bruno Haible  <bruno@clisp.org>
58416
58417         Safer stack allocation.
58418         * lib/setenv.c: Include allocsa.h.
58419         (alloca): Remove fallback definition.
58420         (freea): Remove macro.
58421         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
58422         instead of freea.
58423
58424 2004-01-20  Bruno Haible  <bruno@clisp.org>
58425
58426         * m4/eealloc.m4: New file, from GNU gettext.
58427
58428 2004-01-20  Bruno Haible  <bruno@clisp.org>
58429
58430         * m4/allocsa.m4: New file, from GNU gettext.
58431
58432 2004-01-20  Bruno Haible  <bruno@clisp.org>
58433
58434         * lib/xallocsa.h: New file, from GNU gettext.
58435         * lib/xallocsa.c: New file, from GNU gettext.
58436
58437 2004-01-20  Bruno Haible  <bruno@clisp.org>
58438
58439         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
58440
58441 2004-01-20  Bruno Haible  <bruno@clisp.org>
58442
58443         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
58444         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
58445         specially.
58446
58447 2004-01-20  Bruno Haible  <bruno@clisp.org>
58448
58449         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
58450         patch.
58451
58452 2004-01-20  Bruno Haible  <bruno@clisp.org>
58453
58454         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
58455
58456 2004-01-20  Bruno Haible  <bruno@clisp.org>
58457
58458         * lib/eealloc.h: New file.
58459
58460 2004-01-20  Bruno Haible  <bruno@clisp.org>
58461
58462         * lib/binary-io.h: Avoid warnings on Cygwin.
58463
58464 2004-01-20  Bruno Haible  <bruno@clisp.org>
58465
58466         * lib/allocsa.h: New file, from GNU gettext.
58467         * lib/allocsa.c: New file, from GNU gettext.
58468
58469 2004-01-18  Karl Berry  <karl@gnu.org>
58470
58471         * doc/gpl.texi, doc/lgpl.texi: new files.
58472
58473 2004-01-18  Karl Berry  <karl@gnu.org>
58474
58475         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
58476         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
58477
58478 2004-01-15  Paul Eggert  <eggert@twinsun.com>
58479
58480         Merge from coreutils.
58481
58482         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
58483         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
58484         (gl_DEFAULT_POSIX2_VERSION): Move
58485         the documentation from 'configure' into 'config.hin',
58486         so that 'configure --help' isn't burdened by it and
58487         we don't have to worry about its formatting there.
58488         Reword the documentation so that it's more succinct
58489         and can be run together into a single paragraph.
58490         * m4/same.m4 (gl_SAME): Check for pathconf.
58491
58492 2004-01-15  Paul Eggert  <eggert@twinsun.com>
58493
58494         Merge from coreutils.
58495
58496         * lib/posixver.c: Include posixver.h.
58497
58498         * lib/same.c: Include <stdbool.h>, <limits.h>.
58499         (_POSIX_NAME_MAX): Define if not defined.
58500         (MIN): New macro.
58501         (same_name): If file names are silently truncated, report
58502         that the file names are the same if they are the same after
58503         the silent truncation.
58504
58505         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
58506         conversion function.
58507         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
58508         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
58509         longer needed.
58510
58511 2004-01-15  Jim Meyering  <jim@meyering.net>
58512
58513         Merge from coreutils.
58514
58515         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
58516         if no library is required.
58517         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
58518         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
58519         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
58520         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
58521         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
58522         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
58523         value, $ac_cv_search_crypt, if it's "none required".
58524         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
58525         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
58526         not gl_FUNC_GETLOADAVG.
58527         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
58528         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
58529
58530 2004-01-15  Jim Meyering  <jim@meyering.net>
58531
58532         Merge from coreutils.
58533
58534         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
58535         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
58536         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
58537
58538         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
58539         optional configure-time default.
58540
58541         * lib/version-etc.c (version_etc_copyright): Update copyright date.
58542
58543         * lib/xreadlink.c (xreadlink): Correct outdated comment.
58544
58545 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
58546
58547         Merge from coreutils.
58548
58549         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
58550         value, $ac_cv_search_nanosleep, if it's "none required".
58551
58552 2004-01-14  Paul Eggert  <eggert@twinsun.com>
58553
58554         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
58555         with like-named macro in fnmatch.c.
58556         (EXT): Use an internal constant instead.
58557
58558         Merge fnmatch patches from glibc.
58559         * lib/fnmatch.c (mbsinit): Remove define.
58560         Add libc_hidden_ver (__fnmatch, fnmatch).
58561         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
58562         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
58563
58564 2004-01-14  Karl Berry  <karl@gnu.org>
58565
58566         * config/install-sh: update from automake.
58567
58568 2004-01-13  Karl Berry  <karl@gnu.org>
58569
58570         * config/install-sh: update from automake.
58571
58572 2004-01-09  Karl Berry  <karl@gnu.org>
58573
58574         * config/install-sh: update from automake.
58575
58576 2004-01-05  Karl Berry  <karl@gnu.org>
58577
58578         * config/config.{sub,guess}: update from config.
58579
58580 2003-12-31  Karl Berry  <karl@gnu.org>
58581
58582         * config/depcomp: update from automake.
58583
58584 2003-12-14  Karl Berry  <karl@gnu.org>
58585
58586         * lib/config.charset: update from gettext-runtime.
58587
58588 2003-12-03  Paul Eggert  <eggert@twinsun.com>
58589
58590         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
58591         Bug reported by Alfred M. Szmidt.
58592
58593 2003-12-03  Bruno Haible  <bruno@clisp.org>
58594
58595         * m4/gettext.m4: Upgrade from gettext-0.13.
58596         * m4/po.m4: Upgrade from gettext-0.13.
58597         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
58598         * m4/intmax.m4: New file, from gettext-0.13.
58599         * m4/printf-posix.m4: New file, from gettext-0.13.
58600
58601 2003-11-29  Karl Berry  <karl@gnu.org>
58602
58603         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
58604
58605 2003-11-25  Paul Eggert  <eggert@twinsun.com>
58606             Bruno Haible  <bruno@clisp.org>
58607
58608         * lib/printf-parse.h: Don't include sys/types.h.
58609         (ARG_NONE): New macro.
58610         (char_directive): Change type of *arg_index fields to size_t.
58611         * lib/printf-parse.c: Don't include sys/types.h.
58612         (SSIZE_MAX): Remove macro.
58613         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
58614         Remove unnecessary overflow check.
58615         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
58616         fields.
58617
58618 2003-11-25  Bruno Haible  <bruno@clisp.org>
58619
58620         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
58621
58622 2003-11-25  Bruno Haible  <bruno@clisp.org>
58623
58624         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
58625         gt_TYPE_SSIZE_T.
58626
58627 2003-11-24  Paul Eggert  <eggert@twinsun.com>
58628
58629         * modules/alloca: Remove dependency on xalloc.
58630
58631 2003-11-24  Paul Eggert  <eggert@twinsun.com>
58632
58633         * lib/alloca.c: Remove dependency on xalloc module.
58634         (xalloc_die): Remove.
58635         (memory_full) [!defined emacs]: New macro.
58636         [!defined emacs]: Don't include xalloc.h.
58637         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
58638         address arithmetic overflows.  Change datatypes a bit to avoid
58639         unnecessary casts.
58640
58641 2003-11-22  Jim Meyering  <jim@meyering.net>
58642
58643         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
58644         s/size/size_t/.
58645
58646 2003-11-21  Karl Berry  <karl@gnu.org>
58647
58648         * config/config.{sub,guess}: update from config.
58649
58650 2003-11-18  Karl Berry  <karl@gnu.org>
58651
58652         * config/config.{sub,guess}: update from config.
58653
58654         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
58655
58656 2003-11-17  Paul Eggert  <eggert@twinsun.com>
58657
58658         * README: Mention that S+T cannot overflow if S is the size of
58659         an existing object and T is sufficiently small.
58660
58661 2003-11-17  Jim Meyering  <jim@meyering.net>
58662
58663         On systems without utime and without a utimes function capable of
58664         dealing with a NULL struct utimbuf* argument, this utime replacement
58665         could -- in unusual circumstances -- leak a file descriptor.
58666         * lib/utime.c: Include <unistd.h> and <errno.h>.
58667         (utime_null): Be sure to close `fd' and to preserve errno.
58668         Reported by Geoff Collyer via Arnold Robbins.
58669
58670 2003-11-17  Bruno Haible  <bruno@clisp.org>
58671
58672         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
58673         (Depends-on): Add xsize.
58674
58675 2003-11-17  Bruno Haible  <bruno@clisp.org>
58676
58677         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
58678
58679 2003-11-17  Bruno Haible  <bruno@clisp.org>
58680
58681         * lib/vasnprintf.c (alloca): Remove fallback definition.
58682         (freea): Remove definition.
58683         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
58684         Reported by Paul Eggert.
58685
58686 2003-11-16  Paul Eggert  <eggert@twinsun.com>
58687             Bruno Haible  <bruno@clisp.org>
58688
58689         Protect against address arithmetic overflow.
58690         * lib/printf-args.h: Include stddef.h.
58691         (arguments): Change type of field 'count' to size_t.
58692         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
58693         'unsigned int' where appropriate.
58694         * lib/printf-parse.h: Include sys/types.h.
58695         (char_directive): Change type of *arg_index fields to ssize_t.
58696         (char_directives): Change type of fields 'count', max_*_length to
58697         size_t.
58698         * lib/printf-parse.c: Include sys/types.h and xsize.h.
58699         (SSIZE_MAX): Define fallback value.
58700         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
58701         instead of 'int' where appropriate. Check a_allocated, d_allocated
58702         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
58703         * lib/vasnprintf.c: Include xsize.h.
58704         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
58705         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
58706         overflow. Avoid wraparound when converting a width or precision from
58707         decimal to binary.
58708
58709 2003-11-16  Bruno Haible  <bruno@clisp.org>
58710
58711         Update from GNU gettext.
58712         * lib/printf-parse.c: Generalize to it can be compiled for wide
58713         strings.
58714         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
58715         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
58716         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
58717         SNPRINTF): New macros.
58718         Don't include <alloca.h> if the file is used inside libintl.
58719         (local_wcslen): New function, for Solaris 2.5.1.
58720         (VASNPRINTF): Use it instead of wcslen.
58721
58722 2003-11-16  Bruno Haible  <bruno@clisp.org>
58723
58724         * lib/xsize.h (xmax): New function.
58725         (xsum, xsum3, xsum4): Declare as "pure" functions.
58726
58727 2003-11-12  Paul Eggert  <eggert@twinsun.com>
58728
58729         * modules/xalloc (Files): Undo latest change, since xalloc.h
58730         no longer needs SIZE_MAX or PTRDIFF_MAX.
58731
58732 2003-11-12  Paul Eggert  <eggert@twinsun.com>
58733
58734         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
58735         gl_PTRDIFF_MAX.
58736
58737 2003-11-12  Paul Eggert  <eggert@twinsun.com>
58738
58739         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
58740         "return", to pacify some unknown compiler.  Problem reported
58741         by Joerg Schilling.
58742
58743 2003-11-12  Paul Eggert  <eggert@twinsun.com>
58744
58745         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
58746         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
58747         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
58748         heuristic is just as accurate as far as we know, and it removes a
58749         dependency on size_max.m4 and ptrdiff_max.m4.
58750
58751 2003-11-11  Bruno Haible  <bruno@clisp.org>
58752
58753         * modules/xsize (Files): Add m4/size_max.m4.
58754         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
58755
58756 2003-11-11  Bruno Haible  <bruno@clisp.org>
58757
58758         * m4/size_max.m4: New file.
58759         * m4/ptrdiff_max.m4: New file.
58760         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
58761         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
58762         (gl_XALLOC): Invoke it.
58763
58764 2003-11-11  Bruno Haible  <bruno@clisp.org>
58765
58766         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
58767         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
58768         defined.
58769
58770 2003-11-10  Paul Eggert  <eggert@twinsun.com>
58771
58772         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
58773         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
58774         rejected some allocations of exactly SIZE_MAX - 2 bytes.
58775         From Bruno Haible.
58776         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
58777         not (size_t) -1, since it's defined here.
58778
58779 2003-11-09  Karl Berry  <karl@gnu.org>
58780
58781         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
58782
58783 2003-11-06  Paul Eggert  <eggert@twinsun.com>
58784
58785         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
58786         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
58787         Reject sizes of exactly SIZE_MAX bytes.
58788         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
58789         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
58790
58791 2003-11-05  Bruno Haible  <bruno@clisp.org>
58792
58793         * lib/xsize.h: Include limits.h, to avoid a possible collision with
58794         SIZE_MAX defined in <limits.h> on Solaris.
58795
58796 2003-11-04  Jim Meyering  <jim@meyering.net>
58797
58798         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
58799         variable names, rather than @VAR@.
58800         * modules/poll: Likewise.
58801
58802 2003-11-04  Bruno Haible  <bruno@clisp.org>
58803
58804         * modules/xsize: New file.
58805         * modules/linebreak: Depend on xsize.
58806         * MODULES.html.sh (func_all_modules): Add xsize.
58807
58808 2003-11-04  Bruno Haible  <bruno@clisp.org>
58809
58810         * m4/xsize.m4: New file.
58811
58812 2003-11-04  Bruno Haible  <bruno@clisp.org>
58813
58814         * lib/xsize.h: New file.
58815         * lib/linebreak.c: Include xsize.h.
58816         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
58817         argument for overflow.
58818         Suggested by Paul Eggert.
58819
58820 2003-11-03  Karl Berry  <karl@gnu.org>
58821
58822         * config/config.{guess,sub}: update from config.
58823
58824 2003-11-03  Jim Meyering  <jim@meyering.net>
58825
58826         * modules/userspec (lib_SOURCES): Add userspec.h.
58827         (Include): Add "userspec.h".
58828         Improve description.
58829
58830 2003-11-03  Jim Meyering  <jim@meyering.net>
58831
58832         * lib/userspec.c: Include "userspec.h".
58833         * lib/userspec.h: New file.
58834
58835 2003-11-03  Bruno Haible  <bruno@clisp.org>
58836
58837         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
58838
58839 2003-11-03  Bruno Haible  <bruno@clisp.org>
58840
58841         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
58842         available, to avoid (extremely rare) race condition.
58843         Suggested by Paul Eggert.
58844
58845 2003-11-02  Karl Berry  <karl@gnu.org>
58846
58847         * config/srclist.txt (vasprintf.c): sync broken, sigh.
58848
58849 2003-10-31  Paul Eggert  <eggert@twinsun.com>
58850
58851         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
58852         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
58853         (read_filesystem_list): Set and use me_type_malloced.
58854         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
58855         whatever the type happens to be), for brevity and consistency.
58856         Check for size calculation overflow on Alphas running OSF/1.
58857
58858 2003-10-31  Jim Meyering  <jim@meyering.net>
58859
58860         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
58861
58862         * lib/linebuffer.c: Include <string.h> for declaration of memset.
58863
58864 2003-10-30  Paul Eggert  <eggert@twinsun.com>
58865             Bruno Haible  <bruno@clisp.org>
58866
58867         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
58868         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
58869
58870 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
58871
58872         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
58873         netbsd*-gnu*.  Suggested by Robert Millan.
58874
58875 2003-10-29  Paul Eggert  <eggert@twinsun.com>
58876
58877         * modules/group-member: Depend on stdbool.
58878
58879 2003-10-29  Paul Eggert  <eggert@twinsun.com>
58880
58881         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
58882
58883 2003-10-29  Paul Eggert  <eggert@twinsun.com>
58884
58885         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
58886         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
58887         after the 'gnu' in these cases.  This fixes some bugs in the
58888         previous change, and is based on suggestions by Robert Millan.
58889
58890 2003-10-29  Paul Eggert  <eggert@twinsun.com>
58891
58892         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
58893         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
58894         no longer needed.
58895         * lib/quotearg.c (quotearg_n_options): Use it.
58896         * lib/group-member.c: Include <stdbool.h>.
58897         (free_group_info): Arg is now const *; don't free arg.
58898         (get_group_info): Now returns bool and accepts struct group_info *,
58899         rather than returning a malloc'ed struct group_info *.
58900         All uses changed.  Check for overflow in internal size calculation.
58901
58902         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
58903         rather than xmalloc/xrealloc.
58904         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
58905         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
58906         conformance bug: the old code used a pointer after freeing the
58907         storage that it addressed.
58908         * lib/hash.c (hash_initialize): Simplify the code by using
58909         xalloc_oversized rather than doing it by hand.
58910         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
58911         the buffer preserved.  Use free and xmalloc instead.
58912         * lib/quotearg.c (quotearg_n_options): Likewise.
58913         Use a simpler test for size overflow.  Don't use xalloc_oversized
58914         because unsigned int might be wider than size_t (!); this suggests
58915         that we should switch from unsigned int to size_t for slot numbers.
58916
58917 2003-10-28  Paul Eggert  <eggert@twinsun.com>
58918
58919         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
58920         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
58921         NetBSD kernels.  Requested by Richard Stallman.
58922
58923 2003-10-27  Paul Eggert  <eggert@twinsun.com>
58924
58925         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
58926         to allocate the returned structure.  Do not allocate a subarray,
58927         as x2nrealloc will do that.
58928         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
58929         instead of xnrealloc.
58930         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
58931
58932 2003-10-27  Bruno Haible  <bruno@clisp.org>
58933
58934         * lib/stdbool_.h: Better support for BeOS.
58935
58936 2003-10-26  Paul Eggert  <eggert@twinsun.com>
58937
58938         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
58939         now uses inline.
58940
58941 2003-10-26  Paul Eggert  <eggert@twinsun.com>
58942
58943         * lib/xalloc.h (xalloc_oversized): New static inline function, for
58944         callers that want to do their own size-overflow checking.  Include
58945         <stdbool.h>, since xalloc_oversized returns bool.
58946         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
58947         to use xalloc_oversized.
58948
58949         Add two functions x2realloc, x2nrealloc, for programs that grow
58950         arrays dynamically by doubling their sizes.
58951         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
58952         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
58953         New functions.
58954
58955         Port to C99 semantics for 'inline' of external functions.
58956         Bug reported by Bruno Haible.
58957         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
58958         with the old contents of xnmalloc.
58959         (xnmalloc, xmalloc): Use it.
58960         (xnrealloc_inline): New static inline function,
58961         with the old contents of xnrealloc.
58962         (xnrealloc, xrealloc): Use it.
58963
58964         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
58965         that.
58966
58967 2003-10-26  Karl Berry  <karl@gnu.org>
58968
58969         * config/srclist.txt (COPYING.DOC): no longer available from
58970         /gd/gnuorg; don't know where the ultimate source is.
58971
58972 2003-10-25  Paul Eggert  <eggert@twinsun.com>
58973
58974         Fix several address-calculation bugs in the hash modules,
58975         plus some minor code cleanup.
58976
58977         * lib/hash.h: Include <stdbool.h>, for bool.
58978         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
58979         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
58980         hash_get_n_entries, hash_get_max_bucket_length,
58981         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
58982         hash_rehash): Use size_t rather than unsigned.
58983         * lib/hash.c (struct hash_table, hash_get_n_buckets,
58984         hash_get_n_buckets_used, hash_get_n_entries,
58985         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
58986         hash_get_entries, hash_do_for_each, hash_string, is_prime,
58987         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
58988         Likewise.
58989         (SIZE_MAX): Define if not defined.
58990         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
58991         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
58992         hash_print):
58993         Use const * when possible.
58994         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
58995         (check_tuning): Fix bug: if tuning parameters were very close to
58996         0 or 1, rounding errors could have caused subscript violations.
58997         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
58998         (hash_initialize): Add 'fail:' label
58999         to free table and return NULL, and use it to simplify code.
59000         Use calloc rather than clearing the storage ourself.
59001         (hash_initialize, hash_rehash): Check for arithmetic overflow in
59002         buffer size calculations.
59003         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
59004         Include <stddef.h>, for size_t.
59005         * lib/hash-pjw.c (hash_pjw): Likewise.
59006         Switch to method described by Bruno Haible.
59007         Include <limits.h>, for CHAR_BIT.
59008         (SIZE_BITS): New macro.
59009
59010 2003-10-23  Paul Eggert  <eggert@twinsun.com>
59011
59012         * m4/getline.m4 (AM_FUNC_GETLINE):
59013         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
59014         hosts.  Problem reported by Derek Robert Price in
59015         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
59016         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
59017         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
59018
59019 2003-10-21  Paul Eggert  <eggert@twinsun.com>
59020
59021         * lib/getndelim2.c (getndelim2): When size calculation overflows,
59022         ceiling the allocation at NMAX bytes rather than silently
59023         discarding input bytes before NMAX is reached.  This makes
59024         a difference only if NMAX exceeds SIZE_MAX / 2.
59025
59026         * lib/obstack.c: Merge from glibc.
59027         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
59028         Add libc_hidden_def (_obstack_newchunk).
59029         (_obstack_free) [! defined _LIBC]: Remove.
59030         [defined _LIBC]: Make a strong alias from obstack_free, rather than
59031         a clone of the function body.
59032         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
59033         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
59034
59035         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
59036         glibc.
59037         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
59038         arg to memcpy.
59039
59040         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
59041         (obstack_ptr_grow_fast, obstack_int_grow_fast):
59042         Don't use lvalue casts, as GCC plans to remove support for them
59043         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
59044         was also present in the non-GCC version, indicating that this
59045         code had always been buggy and had never been widely used.
59046         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
59047         Use the fast variant of each macro, rather than copying the
59048         definiens of the fast variant; that way, we'll be more likely to
59049         catch future bugs in the fast variants.
59050
59051 2003-10-20  Bruno Haible  <bruno@clisp.org>
59052
59053         * modules/wait-process: New file.
59054         * MODULES.html.sh (func_all_modules): Add wait-process.
59055
59056 2003-10-20  Bruno Haible  <bruno@clisp.org>
59057
59058         * m4/wait-process.m4: New file.
59059
59060 2003-10-20  Bruno Haible  <bruno@clisp.org>
59061
59062         * lib/wait-process.h: New file, from GNU gettext.
59063         * lib/wait-process.c: New file, from GNU gettext.
59064
59065 2003-10-19  Jim Meyering  <jim@meyering.net>
59066
59067         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
59068         HPUX 10.20.
59069
59070 2003-10-18  Karl Berry  <karl@gnu.org>
59071
59072         * config/config.guess: update from config.
59073
59074 2003-10-16  Paul Eggert  <eggert@twinsun.com>
59075
59076         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
59077         (getgroups): First arg is int, not size_t.
59078         Don't let 'free' mangle errno.
59079
59080 2003-10-16  Paul Eggert  <eggert@twinsun.com>
59081
59082         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
59083
59084 2003-10-16  Karl Berry  <karl@gnu.org>
59085
59086         * config/config.{guess,sub}: update from config.
59087
59088 2003-10-16  Jim Meyering  <jim@meyering.net>
59089
59090         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
59091         memcpy.
59092
59093 2003-10-15  Paul Eggert  <eggert@twinsun.com>
59094
59095         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
59096         (SIZE_MAX): Remove.
59097         (new_exclude, add_exclude_file): Initial size no longer needs to
59098         be a power of 2.
59099         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
59100         our own address arithmetic overflow checking.
59101
59102         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
59103         (fnmatch): Do not alloca more than 2000 wide characters;
59104         instead, use malloc for large buffers.
59105         Check for address arithmetic overflow, and return -1
59106         with errno set to ENOMEM in that case.
59107         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
59108         (NEW_PATTERN): Do not alloca more than 8000 bytes;
59109         instead, return -1.  Check for address arithmetic overflow.
59110
59111 2003-10-14  Paul Eggert  <eggert@twinsun.com>
59112
59113         Handle invalid suffixes and overflow independently, so that
59114         callers can treat them independently as needed.  Fix some bugs in
59115         suffix handling, e.g., "100k@" was not diagnosed as an invalid
59116         suffix for a human-readable blocksize.  The major caller-visible
59117         change is the addition of a new
59118         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
59119         that both overflow and suffix chars were found.
59120
59121         * lib/human.c (humblock): Don't check separately for invalid suffix
59122         char; that is xstrtoumax's job (now that its bug is fixed).
59123         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
59124         INTMAX_MAX]: New macros.
59125         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
59126         TYPE_MAXIMUM): New macros.
59127         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
59128         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
59129         if overflow occurs, as it's what __strtol does and it's more useful
59130         in practice.
59131         (__xstrtol): If __strtol reports some error other than ERANGE,
59132         reflect it to the caller as LONGINT_INVALID.  If it reports
59133         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
59134         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
59135         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
59136         value.
59137         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
59138         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
59139         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
59140         [defined UINTMAX_MAX]: New macros.
59141
59142 2003-10-14  Bruno Haible  <bruno@clisp.org>
59143
59144         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
59145
59146 2003-10-14  Bruno Haible  <bruno@clisp.org>
59147
59148         * m4/sig_atomic_t: New file, from GNU gettext.
59149         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
59150
59151 2003-10-14  Bruno Haible  <bruno@clisp.org>
59152
59153         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
59154         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
59155         Also use volatile where needed.
59156
59157 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59158
59159         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
59160         Change maintainer from Bruno Haible to 'all'.
59161
59162 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59163
59164         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
59165
59166 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59167
59168         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
59169         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
59170         and define in terms of the other primitives.
59171         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
59172         (SIZE_MAX): Define if not already defined.
59173         (array_size_overflow): New function.
59174         (xalloc_die): Abort instead of exiting if 'error' returns.
59175         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
59176         (xmalloc, xrealloc): Use them.
59177         (xcalloc): Check for address arithmetic overflow.
59178         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
59179         a bit faster than strcpy.
59180
59181 2003-10-10  Simon Josefsson  <jas@extundo.com>
59182
59183         * modules/argp (Depends-on): Add restrict and strcase.
59184
59185 2003-10-10  Simon Josefsson  <jas@extundo.com>
59186
59187         * m4/argp.m4: Add AC_C_INLINE.
59188
59189 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59190
59191         Merge getpass from libc, plus a few fixes.
59192
59193         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
59194         Include <stdbool.h>.
59195         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
59196         __fsetlocking to empty.
59197         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
59198         do include <bits/libc-lock.h>.
59199         Do not include <fcntl.h>; not needed.
59200         [_LIBC]: Include <wchar.h>.
59201         (NOTCANCEL_MODE): New macro.
59202         (flockfile, funlockfile) [_LIBC]: New macros.
59203         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
59204         [!_LIBC]: New macros.
59205         (call_fclose): New function.
59206         (getpass): Use it.  Save tty stream separately; this simplifies the
59207         code and makes it more reliable if stdin happens to equal stdout.
59208         Invoke __fsetlocking on tty.
59209         Handle thread cancellation if needed.
59210         Namespace cleanup (use __tcgetattr, __getline).
59211         Use bool for Booleans.
59212         [USE_IN_LIBIO]: Handle wide streams.
59213         [!_LIBC]: Unconditionally do the fseek, since we don't know what
59214         stream might go where.
59215
59216         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
59217         doesn't have to include <stdio.h> before us.
59218         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
59219         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
59220         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
59221         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
59222         if not declared, so that we can use getpass.c code from libc without
59223         rewriting it.
59224         (flockfile, ftrylockfile, funlockfile): New macros.
59225
59226 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59227
59228         * modules/getpass: Depend on stdbool.
59229
59230 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59231
59232         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
59233
59234 2003-10-07  Karl Berry  <karl@gnu.org>
59235
59236         * config/config.{guess,sub}: update from config.
59237
59238 2003-10-06  Jim Meyering  <jim@meyering.net>
59239             Bruno Haible  <bruno@clisp.org>
59240
59241         This lets translators provide better translations for the
59242         "Written by ..." part of --version output.
59243         * lib/version-etc.h: Include stdarg.h.
59244         (version_etc_copyright): Declare as readonly.
59245         (version_etc): Make this function variadic with a NULL-terminated list
59246         of author name strings.
59247         (version_etc_va): New declaration.
59248         * lib/version-etc.c: Include stdarg.h, stdlib.h.
59249         (version_etc_copyright): Declare as readonly.
59250         (version_etc_va): New function. Provide a different translatable string
59251         for each possible number of authors < 10. Abbreviate when there are 10
59252         authors or more.
59253         (version_etc): Make this function variadic. Call version_etc_va.
59254         Suggestion from Gary V. Vaughan.
59255
59256         * lib/long-options.h (parse_long_options): Change prototype: the
59257         authors string is moved to the end and becomes variadic.
59258         * lib/long-options.c: Include stdarg.h.
59259         (parse_long_options): Make this function variadic, too.
59260         Call version_etc_va, not version_etc.
59261
59262 2003-10-06  Bruno Haible  <bruno@clisp.org>
59263
59264         * modules/version-etc-2: Remove file.
59265         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
59266
59267 2003-10-06  Bruno Haible  <bruno@clisp.org>
59268
59269         * modules/fatal-signal: New file.
59270         * MODULES.html.sh (func_all_modules): Add fatal-signal.
59271
59272 2003-10-06  Bruno Haible  <bruno@clisp.org>
59273
59274         * m4/fatal-signal.m4: New file.
59275         * m4/signalblocking.m4: New file, from GNU gettext.
59276
59277 2003-10-06  Bruno Haible  <bruno@clisp.org>
59278
59279         * lib/version-etc-2.h: Remove file.
59280         * lib/version-etc-2.c: Remove file.
59281
59282 2003-10-06  Bruno Haible  <bruno@clisp.org>
59283
59284         * lib/fatal-signal.h: New file, from GNU gettext.
59285         * lib/fatal-signal.c: New file, from GNU gettext.
59286
59287 2003-10-05  Paul Eggert  <eggert@twinsun.com>
59288
59289         * README: Rework advice for preventing empty .o files.
59290         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
59291         not <sys/types.h>.
59292
59293 2003-10-04  Karl Berry  <karl@gnu.org>
59294
59295         * lib/argp*: update from libc.
59296
59297 2003-10-04  Karl Berry  <karl@gnu.org>
59298
59299         * config/config.{guess,sub}: update from config.
59300
59301 2003-10-02  Bruno Haible  <bruno@clisp.org>
59302
59303         * modules/lchown (Include): Add lchown.h.
59304         * modules/time_r (Include): Use "..." syntax.
59305         * modules/xgetdomainname (Include): Add xgetdomainname.h.
59306
59307 2003-10-01  Simon Josefsson  <jas@extundo.com>
59308
59309         * MODULES.html.sh (func_all_modules): Move gethostname from section
59310         'based on' to section 'lacking' POSIX:2001.
59311
59312 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
59313
59314         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
59315         to output mode on the same stream.
59316
59317 2003-09-29  Paul Eggert  <eggert@twinsun.com>
59318
59319         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
59320         Fix arg typo in previous patch.
59321
59322 2003-09-28  Jim Meyering  <jim@meyering.net>
59323
59324         * lib/error.c: Correct cpp indentation.
59325
59326 2003-09-27  Paul Eggert  <eggert@twinsun.com>
59327
59328         * modules/free: New file.
59329
59330 2003-09-27  Paul Eggert  <eggert@twinsun.com>
59331
59332         * m4/free.m4: New file.
59333
59334 2003-09-27  Paul Eggert  <eggert@twinsun.com>
59335
59336         * lib/minmax.h (MIN, MAX)
59337         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
59338         Omit the special code that used __typeof__, since we worry that
59339         it could be more trouble than it's worth.  See:
59340         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
59341         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
59342
59343         * lib/free.c: New file.
59344
59345 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
59346
59347         Trivial fixes to Makefile.am parts of module listings.
59348         * modules/strstr: Append strstr.h to lib_SOURCES.
59349         * modules/strcase: Likewise, for strcase.h.
59350
59351 2003-09-27  Karl Berry  <karl@gnu.org>
59352
59353         * config/mkinstalldirs: update from automake.
59354
59355 2003-09-26  Paul Eggert  <eggert@twinsun.com>
59356
59357         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
59358         (error_tail): Do not loop, reallocating temporary buffer, since
59359         the output cannot contain more wide characters than the input
59360         contains bytes, the size must be big enough already.  This avoids
59361         one potential size overflow calculation.  Check for size overflow
59362         when calculating temporary buffer size.  Free temporary buffer
59363         when done, if it was allocated with malloc; this plugs a memory
59364         leak.  Remove casts from void * to pointers, that are no longer
59365         needed now that we're assuming C89 or better.
59366
59367         Merge error changes from glibc.
59368
59369         * lib/error.c, error.h: Update copyright notice header to match glibc.
59370         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
59371         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
59372         Disable cancellation while printing error.
59373         * lib/error.h: Prepend __ to parameter names.
59374
59375 2003-09-26  Jim Meyering  <jim@meyering.net>
59376
59377         * lib/error.c (error_tail): Move some declarations
59378         into inner scope where the local variables are used.
59379
59380 2003-09-26  Bruno Haible  <bruno@clisp.org>
59381
59382         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
59383         stpncpy().
59384         Don't define stpncpy through config.h; it's now done through stpncpy.h.
59385
59386 2003-09-26  Bruno Haible  <bruno@clisp.org>
59387
59388         * lib/stpncpy.h (gnu_stpncpy): New declaration.
59389         (stpncpy): Define as alias for gnu_stpncpy.
59390         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
59391
59392 2003-09-25  Simon Josefsson  <jas@extundo.com>
59393
59394         * lib/xgetdomainname.h: New file.
59395         * lib/xgetdomainname.c: New file.
59396
59397 2003-09-25  Simon Josefsson  <jas@extundo.com>
59398             Bruno Haible  <bruno@clisp.org>
59399
59400         * modules/getdomainname: New file.
59401         * modules/xgetdomainname: New file.
59402         * MODULES.html.sh (func_all_modules): Add getdomainname,
59403         xgetdomainname.
59404
59405 2003-09-25  Simon Josefsson  <jas@extundo.com>
59406             Bruno Haible  <bruno@clisp.org>
59407
59408         * m4/getdomainname.m4: New file.
59409
59410 2003-09-25  Simon Josefsson  <jas@extundo.com>
59411             Bruno Haible  <bruno@clisp.org>
59412
59413         * lib/getdomainname.h: New file.
59414         * lib/getdomainname.c: New file.
59415
59416 2003-09-25  Karl Berry  <karl@gnu.org>
59417
59418         * lib/argp-fmtstream.c, argp-help.c: update from libc.
59419
59420 2003-09-25  Karl Berry  <karl@gnu.org>
59421
59422         * config/install-sh: update from automake.
59423
59424 2003-09-25  Bruno Haible  <bruno@clisp.org>
59425
59426         * modules/version-etc-2: New file, from modules/version-etc with
59427         modifications.
59428         * MODULES.html.sh (func_all_modules): Add version-etc-2.
59429
59430 2003-09-25  Bruno Haible  <bruno@clisp.org>
59431
59432         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
59433         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
59434
59435 2003-09-24  Simon Josefsson  <jas@extundo.com>
59436
59437         * modules/xgethostname: Add xgethostname.h.
59438
59439 2003-09-24  Paul Eggert  <eggert@twinsun.com>
59440
59441         * lib/linebuffer.c (freebuffer): Don't free the argument, just
59442         the buffer associated with the argument.  Bug reported by
59443         Simon Josefsson.
59444
59445 2003-09-24  Paul Eggert  <eggert@twinsun.com>
59446
59447         * README: Document assumptions that 'int' is at least 32 bits
59448         wide, that integer arithmetic is 2's complement without overflow,
59449         that there are no holes in integer values, that adding sizes of
59450         two nonoverlapping objects can't overflow, and that all-bits-zero
59451         yields scalar zero.  Fix spelling and capitalization typos.
59452
59453 2003-09-19  Karl Berry  <karl@gnu.org>
59454
59455         * lib/argp.h: update from libc.
59456
59457 2003-09-17  Paul Eggert  <eggert@twinsun.com>
59458
59459         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
59460         to avoid spurious warnings like "AC_RUN_IFELSE was called before
59461         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
59462
59463 2003-09-17  Paul Eggert  <eggert@twinsun.com>
59464
59465         * gnulib-tool: Use "test -h", not "test -L", for portability
59466         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
59467         (tags_regexp): Remove, since \| doesn't conform to POSIX.
59468         (sed_extract_prog): Issue s commands one-by-one, rather than
59469         using \| in one s command.
59470
59471 2003-09-16  Paul Eggert  <eggert@twinsun.com>
59472
59473         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
59474         input error, instead of returning NULL the next time we are called
59475         (and therefore losing track of errno).
59476
59477 2003-09-16  Bruno Haible  <bruno@clisp.org>
59478
59479         * gnulib-tool (func_create_testdir): Warn about duplicated
59480         dependencies.
59481
59482 2003-09-15  Paul Eggert  <eggert@twinsun.com>
59483
59484         * modules/argmatch, modules/fatal, modules/obstack,
59485         modules/xalloc, modules/xgethostname: Sort dependencies by
59486         importance, not alphabetically.
59487
59488 2003-09-15  Paul Eggert  <eggert@twinsun.com>
59489
59490         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
59491         fails, so that the caller gets the proper errno.
59492
59493         * lib/readutmp.c (read_utmp): Likewise.
59494         Check for fstat error.  Close stream and free storage
59495         when failing.
59496
59497 2003-09-14  Karl Berry  <karl@gnu.org>
59498
59499         * config/srclist.txt (strdup.c): disable for c89 changes.
59500
59501 2003-09-14  Jim Meyering  <jim@meyering.net>
59502
59503         * lib/getloadavg.c: Correct cpp indentation.
59504         * lib/strdup.c: Likewise.
59505         * lib/vasnprintf.c: Likewise.
59506
59507 2003-09-14  Bruno Haible  <bruno@clisp.org>
59508
59509         * modules/fwriteerror: New file.
59510         * MODULES.html.sh (func_all_modules): Add fwriteerror.
59511
59512 2003-09-14  Bruno Haible  <bruno@clisp.org>
59513
59514         * lib/fwriteerror.h: New file.
59515         * lib/fwriteerror.c: New file.
59516
59517 2003-09-12  Paul Eggert  <eggert@twinsun.com>
59518
59519         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
59520         modules/xgethostname, modules/xalloc: Depend on exit.
59521
59522 2003-09-12  Paul Eggert  <eggert@twinsun.com>
59523
59524         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
59525
59526         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
59527         and AC_MINIX, too, so that their extensions are available.
59528
59529         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
59530         This macro has been superseded by gl_BACKUPFILE.
59531
59532         More patches to assume C89 or better.
59533
59534         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
59535
59536         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
59537         unconditionally.
59538         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
59539         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
59540         Include <string.h>, <stdlib.h> unconditionally.
59541         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
59542         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
59543         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
59544         headers or for string.h.
59545         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
59546         or strtoul.
59547
59548         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
59549         headers.
59550         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
59551         * m4/userspec.m4 (gl_USERSPEC): Likewise.
59552         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
59553         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
59554         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59555         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
59556         memcpy, memset.
59557         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
59558         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
59559         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
59560         strtol.
59561         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
59562         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
59563         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
59564         strtoul.
59565
59566 2003-09-12  Paul Eggert  <eggert@twinsun.com>
59567
59568         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
59569         * lib/obstack.c [!defined _LIBC]: Likewise.
59570         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
59571         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
59572         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
59573
59574         More changes to assume C89 or better.
59575
59576         * lib/error.c (error_tail): Assume vprintf.
59577
59578         * lib/argmatch.c (getenv): Remove decl.
59579         * lib/progreloc.c (get_full_program_name): Define via prototype.
59580         * lib/setenv.c (clearenv): Likewise.
59581         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
59582         needed.
59583         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
59584         (malloc, memcpy): Remove decls.
59585         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
59586         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
59587         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
59588         (memcpy): Remove macro.
59589         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
59590         (__P): Remove.  All uses removed.
59591         (PTR): Remove.  All uses changed to void *.
59592         (CHAR_BIT, NULL): Remove.
59593         (spaces, zeros, memset_space, memset_zero)
59594         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
59595         Remove.
59596         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
59597         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
59598         Define with prototype.
59599         Remove now-unnecessary prototype decl.
59600         (extra_args_spec): Assume ANSI C.  All uses changed.
59601         (extra_args_spec_iso): Remove.
59602         (my_strftime, emacs_strftimeu): Define via prototype.
59603         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
59604         unconditionally.
59605         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
59606         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
59607         (strtoul, strtol): Remove decls.
59608         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
59609         LONG_MAX): Remove.
59610         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
59611         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
59612         (LOCALE_PARAM_PROTO): New macro.
59613         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
59614         (INTERNAL (strtol), strtol): Define with a prototype.
59615         (PARAMS): Remove.  All uses removed.
59616         * lib/tempname.c: Include <string.h> unconditionally.
59617         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
59618         * lib/xgethostname.c (main): Define with a prototype.
59619         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
59620         Include <stdlib.h> unconditionally.
59621         (calloc, malloc, realloc, free): Remove decls.
59622         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
59623         Include <stdlib.h> unconditionally.  Sort include file names.
59624         (strtod): Remove.
59625         (xstrtod): Define with a prototype.
59626         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
59627         (strtol, strtoul): Remove decls.
59628
59629 2003-09-11  Paul Eggert  <eggert@twinsun.com>
59630
59631         More patches to assume C89 or better.
59632         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
59633         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
59634         string.h, memchr, STDC_HEADERS.
59635
59636 2003-09-11  Paul Eggert  <eggert@twinsun.com>
59637
59638         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
59639         Include <stdlib.h>, <string.h> unconditionally.
59640         Remove now-unnecessary cast to char *.
59641         * lib/strnlen.c: Include <string.h> unconditionally.
59642         * lib/yesno.c (yesno): Define with a prototype.
59643
59644 2003-09-11  Bruno Haible  <bruno@clisp.org>
59645
59646         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
59647
59648 2003-09-10  Jim Meyering  <jim@meyering.net>
59649
59650         * lib/error.c: Correct indentation of cpp directives.
59651
59652 2003-09-10  Bruno Haible  <bruno@clisp.org>
59653
59654         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
59655         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
59656         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
59657         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
59658         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
59659         <stdlib.h> and <string.h> checks.
59660         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
59661         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
59662
59663 2003-09-10  Bruno Haible  <bruno@clisp.org>
59664
59665         * lib/strcspn.c: Include <string.h> unconditionally.
59666         * lib/strpbrk.c: Include <string.h> unconditionally.
59667         * lib/strstr.c: Include <string.h> unconditionally.
59668         * lib/unicodeio.c: Include <string.h> unconditionally.
59669         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
59670         * lib/unsetenv.c: Likewise.
59671         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
59672         * lib/yesno.c: Include <stdlib.h> unconditionally.
59673         (rpmatch): Add prototype.
59674
59675 2003-09-09  Paul Eggert  <eggert@twinsun.com>
59676
59677         More patches to assume C89 or better.
59678         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
59679         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
59680         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
59681         or for string.h.
59682         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
59683         stdlib.h.
59684         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
59685         C headers.
59686         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
59687         string.h.
59688         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
59689         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
59690         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
59691         or for string.h.
59692         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
59693         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
59694         C headers.
59695         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
59696         memcpy.
59697         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
59698         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
59699         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
59700         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
59701         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
59702         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
59703         string.h, free.
59704         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
59705         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
59706         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
59707         C headers, or for string.h.
59708         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
59709         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
59710         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
59711         headers, memory.h, stdlib.h, string.h, strings.h.
59712         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
59713         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
59714         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
59715         strchr.
59716         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
59717         headers, memory.h, string.h.
59718         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
59719         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
59720         free.
59721         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
59722         headers.
59723         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
59724         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
59725         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
59726         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
59727         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
59728
59729 2003-09-09  Paul Eggert  <eggert@twinsun.com>
59730
59731         More K&R removal.
59732
59733         * lib/acosl.c (main): Use a prototype.
59734         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
59735         tanl.c: Likewise.
59736
59737         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
59738
59739         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
59740         (getopt, etopt_long, getopt_long_only, _getopt_internal)
59741         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
59742         with a prototype.
59743         * lib/getopt.c (const): Remove macro.
59744         Include <string.h> unconditionally.
59745         (my_index): Remove; all uses changed to strchr.
59746         (strlen): Remove decl.
59747         (exchange): Remove forward decl; no longer needed.
59748         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
59749         Define with prototype.
59750         * lib/getopt1.c (const): Remove macro.
59751         (getopt_long, getopt_long_only, main): Define with prototype.
59752
59753         * lib/getugroups.c: Include <string.h> unconditionally.
59754
59755         * lib/getusershell.c: Include <stdlib.h> unconditionally.
59756         (getusershell, setusershell, endusershell, readname, main):
59757         Define with prototypes.
59758
59759         * lib/group-member.c: Include group-member.h first.
59760         Include <stdlib.h> unconditionally.
59761
59762         * lib/hard-locale.c: Include hard-locale.h first.
59763         Include <stdlib.h>, <string.h> unconditionally.
59764
59765         * lib/hash.c (free, malloc): Remove decls.
59766         Include <stdlib.h> unconditionally.
59767
59768         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
59769         (getenv): Do not declare.
59770
59771         * lib/idcache.c: Include <string.h> unconditionally.
59772
59773         * lib/long-options.c: Include long-options.h first, to test interface.
59774         Include <stdlib.h> unconditionally.
59775
59776         * lib/makepath.c: Include makepath.h first, to test interface.
59777         Include <stdlib.h> and <string.h> unconditionally.
59778
59779         * lib/linebuffer.c: Include <stdlib.h>.
59780         (free): Remove decl.
59781
59782         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
59783         stddef.h. rpl_malloc returns void *, not char *.
59784         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
59785         prototype.
59786
59787         * lib/md5.h: Include <limits.h> unconditionally.
59788         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
59789         (__P): Remove; all uses removed.
59790         * lib/md5.c: Include "md5.h" first.
59791         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
59792         md5_buffer, md5_process_bytes, md5_process_block):
59793         Define with prototypes.
59794         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
59795         * lib/sha.c: Include "sha.h" first.
59796         Include <stdlib.h>, <string.h> unconditionally.
59797
59798         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
59799         * lib/memcmp.c (__ptr_t): Likewise.
59800         * lib/memrchr.c (__ptr_t): Likewise.
59801         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
59802         Include <string.h> unconditionally.
59803         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
59804         * lib/memchr.c: Include <stdlib.h> unconditionally.
59805         * lib/memchr.c (LONG_MAX): Remove.
59806         * lib/memrchr.c (LONG_MAX): Likewise.
59807         * lib/memchr.c (__memchr): Define via a prototype.
59808         * lib/memrchr.c (__memrchr): Likewise.
59809         * lib/memcmp.c (__P): Remove, and remove all uses.
59810         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
59811         Remove forward decls; no longer needed.
59812         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
59813         Use types required by C89 in prototype.
59814
59815         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
59816         * lib/savedir.c: Likewise.
59817         * lib/mkdir.c (free): Remove decl.
59818         * lib/rmdir.c (rmdir): Define with a prototype.
59819         * lib/savedir.c: Include savedir.h first, to test interface.
59820
59821         * lib/mktime.c (STDC_HEADERS): Remove.
59822         Include <stdlib.h>, <string.h> unconditionally.
59823
59824         * lib/modechange.c: Include <stdlib.h> unconditionally.
59825         (malloc): Remove decl.
59826
59827         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
59828         (free): Remove decl.
59829
59830         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
59831         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
59832         (This type really should be intptr_t, but that's a C99ism.)
59833         (_obstack_memcpy): Remove: all uses changed to memcpy.
59834         Include <string.h> unconditionally.
59835         (struct obstack): Assume __STDC__ for types of members
59836         chunkfun, freefun, extra_arg.
59837         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
59838         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
59839         obstack_begin, obstack_specify_allocation,
59840         obstack_specify_allocation_with_arg, obstack_chunkfun,
59841         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
59842         Remove unprototyped decls and the macros that use them.
59843         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
59844         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
59845         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
59846         (defined __STDC__ && __STDC__)]:
59847         Remove nonprototyped code.
59848         Include <stdlib.h> unconditionally.
59849         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
59850         _obstack_allocated_p, _obstack_free, obstack_free,
59851         _obstack_memory_used, print_and_abort):
59852         Define using prototypes.
59853         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
59854         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
59855         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
59856         obstack_next_free, obstack_object_size, obstack_room) [0]:
59857         Remove unused, unprototyped code.
59858
59859         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
59860
59861         * lib/physmem.c (physmem_total, physmem_available, main): Define
59862         with prototypes.
59863
59864         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
59865         (main): Define with a prototype.
59866
59867         * lib/posixver.c (getenv): Remove decl.
59868
59869         * lib/putenv.c (malloc): Returns void *, not char *.
59870         Include <string.h> unconditionally.
59871         (strchr, memcpy, NULL): Do not define.
59872
59873         * lib/readtokens.c: Include readtokens.h first, to test interface.
59874         Include <stdlib.h>, <string.h> unconditionally.
59875         (init_tokenbuffer): Define with a prototype.
59876
59877         * lib/regex.c (PARAMS): Remove.  All uses removed.
59878         All uses of _RE_ARGS removed, too.
59879         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
59880         unconditionally.
59881         (bzero): Assume memset exists.
59882         (memcmp, memcpy, NULL): Remove.
59883         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
59884         char, or assignments to local vars of type signed char.
59885         (init_syntax_once, PREFIX(extract_number_and_incr),
59886         PREFIX(print_partial_compiled_pattern),
59887         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
59888         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
59889         PREFIX(regex_grow_registers), PREFIX(regex_compile),
59890         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
59891         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
59892         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
59893         wcs_compile_range, byte_compile_range, truncate_wchar,
59894         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
59895         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
59896         count_mbs_length, wcs_re_match_2_internal,
59897         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
59898         PREFIX(alt_match_null_string_p),
59899         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
59900         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
59901         regfree, PREFIX(extract_number)): Define with prototype.  Remove
59902         now-unnecessary declaration, if any.
59903         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
59904         regcomp, regexec):
59905         Remove now-unnecessary casts among pointer types.
59906         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
59907
59908         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
59909         (free): Remove decl.
59910
59911         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
59912
59913         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
59914         (free): Remove decl.
59915
59916         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
59917         * lib/xgetcwd.c: Likewise.
59918
59919         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
59920         (free): Remove decl.
59921
59922         * lib/strchrnul.c (strchrnul): Define with a prototype.
59923         Fix bug: c_in was not converted to char before searching.
59924
59925         The following changes are not K&R related:
59926
59927         * lib/group-member.h: Include <sys/types.h>, so that this file is
59928         self-contained.
59929         * lib/makepath.h: Likewise.
59930
59931         * lib/getusershell.c (readname, default_index, line_size, readname):
59932         Use size_t, not int, for sizes.
59933         (readname): If the size overflows, report an error instead of
59934         looping forever.
59935
59936 2003-09-09  Paul Eggert  <eggert@twinsun.com>
59937
59938         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
59939         libc.
59940
59941 2003-09-09  Paul Eggert  <eggert@twinsun.com>
59942
59943         * README: New section: portability guidelines.
59944
59945 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
59946
59947         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
59948         C89 spec.
59949
59950 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
59951
59952         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
59953
59954 2003-09-08  Paul Eggert  <eggert@twinsun.com>
59955
59956         Assume C89 or better; remove K&R cruft.
59957         A few of these changes were first proposed by Derek Robert Price
59958         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
59959
59960         * lib/addext.c: Include <string.h> unconditionally.
59961         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
59962         Don't declare getenv or malloc.
59963
59964         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
59965         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
59966         (NULL): Remove.
59967         (find_stack_direction, alloca): Use prototypes.
59968
59969         * lib/atexit.c (atexit): Define using a prototype.
59970
59971         * lib/basename.c, dirname.c, stripslash.c:
59972         Include <string.h> unconditionally.
59973
59974         * lib/bcopy.c: Include <stddef.h>.
59975         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
59976
59977         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
59978
59979         * lib/error.h (error, error_at_line, error_print_progname)
59980         [! (defined (__STDC__) && __STDC__)]: Remove decls.
59981         * lib/error.c: Include error.h first, to check interface.
59982         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
59983         (VA_START): Remove; all uses changeed to va_start.
59984         (exit, strerror): Remove decls.
59985         (error_print_progname): Prototype uncondionally.
59986         Don't include <errno.h>; no longer needed.
59987         (private_strerror): Remove.
59988         (error_tail): Always define.
59989         (error, error_at_line): Assume C89 or better; always use prototypes.
59990         * lib/fatal.c: Include "fatal.h" first, to test interface.
59991         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
59992         (VA_START): Remove; all uses changed to va_start.
59993         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
59994         this case.
59995         (exit): Remove decl.
59996         (fatal): Prototype unconditionally.  Assume va_start works.
59997         Abort at end, to pacify gcc.
59998
59999         * lib/euidaccess.c (main): Define with a prototype.
60000
60001         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
60002
60003         * lib/exitfail.c: Include <stdlib.h> unconditionally.
60004
60005         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
60006         prototypes.
60007         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
60008         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
60009         (getenv): Remove decl.
60010         (fnmatch): Define using a prototype.
60011         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
60012         (FCT): Define using a prototype.
60013
60014         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
60015
60016         * lib/gethostname.c: Include <stddef.h>.
60017         (gethostname): Define with prototype.  Length is size_t, not int.
60018
60019 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60020
60021         Assume C89 or better; remove K&R cruft.
60022         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
60023         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
60024         string.h, getenv, malloc.
60025         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
60026         headers.
60027         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
60028         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
60029         do not check for strerror.
60030         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
60031         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
60032         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
60033         do not check for doprnt or vprintf.
60034         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
60035         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
60036
60037 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60038
60039         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
60040         getversion.c should have been removed then, but was accidentally
60041         preserved.
60042
60043         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
60044         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
60045
60046 2003-09-08  Karl Berry  <karl@gnu.org>
60047
60048         * config/config.sub, config.guess, srclistvars.sh: update from savannah
60049                 config, forget about prep.
60050
60051         * config/depcomp, missing: update from automake.
60052
60053 2003-09-07  Paul Eggert  <eggert@twinsun.com>
60054
60055         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
60056         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
60057
60058 2003-09-07  Paul Eggert  <eggert@twinsun.com>
60059
60060         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
60061         copy_tm_result.  Bug reported by Simon Josefsson in
60062         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
60063
60064 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60065
60066         * m4/time_r.m4: New file.
60067         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
60068         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
60069         is. Check for timegm declaration.
60070         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
60071         Do not check for gmtime_r.
60072         Replace mktime if __mktime_internal does not exist and if mktime
60073         hasn't been replaced already.
60074
60075 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60076
60077         * lib/time_r.c, lib/time_r.h: New files.
60078
60079         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
60080         __localtime_r.
60081         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
60082         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
60083
60084         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
60085         __gmtime_r.
60086         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
60087         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
60088         Include <time_r.h>.
60089
60090         * lib/timegm.c: Switch to glibc implementation, with the following
60091         changes:
60092         [defined HAVE_CONFIG_H]: Include <config.h>.
60093         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
60094         (__mktime_internal) [!defined _LIBC]: New decl.
60095         (__gmtime_r) [!defined _LIBC]: New macro and function.
60096         (timegm): Use a prototype, since gnulib assumes C89.
60097         Do not bother declaring tmp to be const, as it's not really usefu.
60098         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
60099         (timegm): Declare only if HAVE_DECL_TIMEGM.
60100
60101 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60102
60103         * MODULES.html.sh (func_all_modules): Add time_r.
60104         * modules/time_r: New file.
60105         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
60106         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
60107
60108 2003-09-03  Paul Eggert  <eggert@twinsun.com>
60109
60110         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
60111         Bug reported by Lute Kamstra in
60112         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
60113
60114         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
60115         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
60116         course with correspondingly smaller numbers for tomorrow and
60117         yesterday.  From Tadayoshi Funaba.  Originally installed into
60118         sh-utils on 1999-08-07, but the patch got lost (I guess during the
60119         coreutils merge?).
60120
60121 2003-08-31  Simon Josefsson  <jas@extundo.com>
60122
60123         * modules/timegm: New file.
60124         * MODULES.html.sh (func_all_modules): Add timegm.
60125
60126 2003-08-31  Simon Josefsson  <jas@extundo.com>
60127
60128         * m4/timegm.m4: New file.
60129
60130 2003-08-31  Simon Josefsson  <jas@extundo.com>
60131
60132         * lib/timegm.h: New file.
60133         * lib/timegm.c: New file.  Based on
60134         wget-1.8.2/src/http.c:mktime_from_utc.
60135
60136 2003-08-31  Karl Berry  <karl@gnu.org>
60137
60138         * lib/argp.h: update from libc.
60139
60140 2003-08-28  Bruno Haible  <bruno@clisp.org>
60141
60142         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
60143         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
60144         followed by '#define fnmatch fnmatch_posix' gives an error.
60145
60146 2003-08-28  Bruno Haible  <bruno@clisp.org>
60147
60148         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
60149         warning on QNX, which defines O_BINARY to 000000.
60150
60151 2003-08-27  Jim Meyering  <jim@meyering.net>
60152
60153         * m4/mkstemp.m4: Require that the system mkstemp be able to create
60154         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
60155         would fail after 32.  Reported by Danny Levinson.  Details here:
60156         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
60157
60158 2003-08-24  Bruno Haible  <bruno@clisp.org>
60159
60160         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
60161         MSVC7 <stdio.h> is included later.
60162
60163 2003-08-22  Simon Josefsson  <jas@extundo.com>
60164
60165         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
60166
60167 2003-08-20  Karl Berry  <karl@gnu.org>
60168
60169         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
60170
60171 2003-08-20  Bruno Haible  <bruno@clisp.org>
60172
60173         * modules/progname: New file.
60174         * MODULES.html.sh (func_all_modules): Add progname.
60175
60176 2003-08-20  Bruno Haible  <bruno@clisp.org>
60177
60178         * lib/progname.h: New file, from GNU gettext.
60179         * lib/progname.c: New file, from GNU gettext.
60180         * lib/progreloc.c: New file, from GNU gettext.
60181
60182 2003-08-19  Jim Meyering  <jim@meyering.net>
60183
60184         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
60185         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
60186
60187 2003-08-19  Bruno Haible  <bruno@clisp.org>
60188
60189         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
60190         more.
60191
60192 2003-08-19  Bruno Haible  <bruno@clisp.org>
60193
60194         * lib/xstrdup.c: Assume <string.h> exists.
60195
60196 2003-08-18  Paul Eggert  <eggert@twinsun.com>
60197
60198         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
60199         in makefile rules.
60200
60201 2003-08-18  Jim Meyering  <jim@meyering.net>
60202
60203         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
60204         * m4/lib-ld.m4: Likewise.
60205
60206 2003-08-18  Jim Meyering  <jim@meyering.net>
60207
60208         * lib/setenv.h: Indent nested cpp directive.
60209         * lib/vasnprintf.c: Remove trailing blanks.
60210
60211 2003-08-17  Simon Josefsson  <jas@extundo.com>
60212
60213         * modules/xstrndup: New file.
60214         * MODULES.html.sh (func_all_modules): Add xstrndup.
60215
60216 2003-08-17  Simon Josefsson  <jas@extundo.com>
60217
60218         * modules/argp: Fix autoconf macro name. Add more dependencies.
60219
60220 2003-08-17  Simon Josefsson  <jas@extundo.com>
60221
60222         * m4/xstrndup.m4: New file.
60223
60224 2003-08-17  Simon Josefsson  <jas@extundo.com>
60225
60226         * m4/argp.m4: New file.
60227
60228 2003-08-17  Simon Josefsson  <jas@extundo.com>
60229             Bruno Haible  <bruno@clisp.org>
60230
60231         * lib/xstrndup.h: New file.
60232         * lib/xstrndup.c: New file.
60233
60234 2003-08-17  Bruno Haible  <bruno@clisp.org>
60235
60236         * modules/strndup (Files, Include): Add lib/strndup.h.
60237
60238 2003-08-17  Bruno Haible  <bruno@clisp.org>
60239
60240         * modules/euidaccess (Files): Add lib/euidaccess.h.
60241
60242 2003-08-17  Bruno Haible  <bruno@clisp.org>
60243
60244         * lib/strndup.h: New file.
60245
60246 2003-08-17  Bruno Haible  <bruno@clisp.org>
60247
60248         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
60249         like AC_GNU_SOURCE.
60250         * modules/extensions (configure.ac): Comment out the invocation of
60251         gl_USE_SYSTEM_EXTENSIONS.
60252
60253 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60254
60255         Merges from coreutils, etc.
60256         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
60257         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
60258         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
60259         fixing a typo.
60260         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
60261         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
60262
60263 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60264
60265         Document merge from coreutils.
60266         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
60267         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
60268         * modules/utime: Add m4/utimes-null.m4.
60269
60270 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60271
60272         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
60273         space, undoing this 2003-08-12 change:
60274         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
60275
60276 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60277
60278         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
60279         strtoul.c from libc, undoing this 2003-08-12 change:
60280         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
60281
60282 2003-08-16  Jim Meyering  <jim@meyering.net>
60283
60284         Merges from coreutils.
60285         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
60286         prefix.  Adjust cache variables similarly.  Create 500 rather than
60287         just 300 files, to exercise bug on Darwin6.5, too.
60288         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
60289         $missing_dir.
60290         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
60291         AM_SYS_POSIX_TERMIOS.
60292         Reported by mkc@mathdogs.com.
60293         Also change use of $am_cv_sys_posix_termios
60294         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
60295         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
60296         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
60297         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
60298         in /proc/mounts until it finds one with matching device number.  This
60299         is unnecessary when the FILE argument *is* a mount point.  No stat call
60300         is necessary in that case.  So, disable the statvfs-testing code on
60301         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
60302         as RedHat bug# 84846.
60303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
60304         to 1MB, so as not to render systems with no stack size limit (e.g.,
60305         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
60306         Include <unistd.h>.  On some systems,
60307         it is required for the definition of _SC_PAGESIZE.
60308
60309 2003-08-16  Jim Meyering  <jim@meyering.net>
60310
60311         Merge from coreutils.
60312         * lib/xstrtoimax.c: #else #if -> #elif.
60313         * lib/xstrtoumax.c: Likewise.
60314
60315 2003-08-16  Jim Meyering  <jim@meyering.net>
60316
60317         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
60318         * m4/utimes.m4: Removed.
60319         * m4/utimes-null.m4: Renamed from utimes.m4.
60320
60321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
60322         to 1MB, so as not to render systems with no stack size limit (e.g.,
60323         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
60324         Include <unistd.h>.  On some systems,
60325         it is required for the definition of _SC_PAGESIZE.
60326
60327 2003-08-16  Jim Meyering  <jim@meyering.net>
60328         and Paul Eggert  <eggert@cs.ucla.edu>
60329
60330         Merges from coreutils, etc.
60331
60332         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
60333         using the latest version from cvs.  This avoids problems with #line
60334         directives using a vendor (Sun) compiler.
60335         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
60336         Don't set GETGROUPS_LIB here; now it's
60337         done via getgroups.m4's wrapper function.
60338         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
60339         rather than just in sh-util/configure.in, so that the
60340         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
60341         same.
60342         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
60343         AC_FUNC_GETLOADAVG where to find getloadavg.c.
60344         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
60345         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
60346         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
60347         Remove code that is now done by the newly-required macros.
60348         Append $(EXEEXT) to DF_PROG.
60349         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
60350         Do not invoke or require the following here,
60351         since prereq.m4 or some gnulib .m4 now does this for us:
60352         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
60353         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
60354         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
60355         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
60356         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
60357         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
60358         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
60359         AC_FUNC_OBSTACK.
60360         Do not replace the following functions, as this is now the job
60361         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
60362         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
60363         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
60364         atexit getpass, strdup, getpagesize.
60365         Replace 'raise'.
60366         Do not check for the following functions, as this is now the job
60367         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
60368         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
60369         setregid.
60370         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
60371         Check for sys/sysctl.h.
60372         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
60373         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
60374         of checking for ssize_t ourselves.
60375
60376         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
60377         Require every macro that gnulib/modules/* suggests for us.
60378         (jm_PREREQ_ADDEXT): New macro.
60379         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
60380         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
60381
60382         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
60383         (gl_PHYSMEM): Use it.
60384         Also check for `table' function.
60385         Check for new headers and functions.
60386         Add check for sys/sysmp.h.
60387         With suggestions from Kaveh Ghazi.
60388         Ignore headers that are present but cannot be compiled.  This
60389         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
60390         C 5.4.
60391
60392 2003-08-15  Paul Eggert  <eggert@twinsun.com>
60393
60394         Document merge from coreutils.
60395         * modules/userspec: Depend on posixver.
60396         * modules/strftime: Depend on tzset.
60397
60398 2003-08-15  Paul Eggert  <eggert@twinsun.com>
60399
60400         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
60401         rather than tab, after '#' in shell-script copyright notices.
60402         Suggested by Bruno Haible.
60403
60404 2003-08-15  Paul Eggert  <eggert@twinsun.com>
60405
60406         * config/srclist-update: Use three spaces, rather than tab, after '#'
60407         in shell-script copyright notices.  Suggested by Bruno Haible.
60408         Remove unnecessary parenthesization in regular expression.
60409
60410 2003-08-15  Jim Meyering  <jim@meyering.net>
60411
60412         Merge from coreutils.
60413         * lib/xgethostname.c: Include <stdlib.h>.
60414         (xghostname): Don't exit for anything other than memory-related
60415         failure; just return NULL.
60416         * lib/userspec.c: Include "posixver.h".
60417         (parse_user_spec): Accept `.' as a separator only
60418         in pre-POSIX-200112 mode.
60419         * lib/strtoimax.c: Use #elif rather than #else #if.
60420         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
60421         Remove function, now that we can rely on a working tzset function.
60422         [!_LIBC]: Ensure that the required autoconf test has been run.
60423         [!defined _NL_CURRENT && HAVE_STRFTIME]:
60424         Use underlying_strftime for %r.
60425         * lib/sha.c: Merge in some clean-up and optimization changes from
60426         glibc.
60427         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
60428         Ensure that it is a multiple of 64.
60429         Rearrange loop exit tests so as to avoid performing an
60430         additional fread after encountering an error or EOF.
60431         * lib/realloc.c: Update copyright date.
60432
60433 2003-08-15  Jim Meyering  <jim@meyering.net>
60434         and Paul Eggert  <eggert@twinsun.com>
60435
60436         Merge from coreutils.
60437         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
60438         member but strut utmpx does not.  Needed for AIX 4.3.3.
60439         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
60440
60441 2003-08-15  Jim Meyering  <jim@meyering.net>
60442         and Paul Eggert  <eggert@cs.ucla.edu>
60443
60444         Merges from coreutils, etc.
60445         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
60446         Require gl_FUNC_TZSET_CLOBBER.
60447         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
60448         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
60449         members.
60450
60451 2003-08-14  Paul Eggert  <eggert@twinsun.com>
60452
60453         Help the merge from coreutils.
60454         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
60455         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
60456         * m4/tzset.m4: Use it too.
60457
60458 2003-08-14  Paul Eggert  <eggert@twinsun.com>
60459
60460         * modules/tzset: New file.
60461
60462 2003-08-14  Jim Meyering  <jim@meyering.net>
60463
60464         Merges from coreutils.
60465         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
60466         variable names, rather than @FNMATCH_H@.
60467         * modules/alloca: Likewise for $(ALLOCA_H).
60468
60469         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
60470         the three copies of the literal target, `fnmatch.h'.
60471         * modules/alloca (alloca.h): Likewise.
60472
60473 2003-08-14  Jim Meyering  <jim@meyering.net>
60474
60475         Merge from coreutils.
60476         * m4/tzset.m4: New file.
60477         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
60478         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
60479         otherwise, AIX 5.1 systems would end up using the latter.
60480         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
60481         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
60482         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
60483         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
60484
60485 2003-08-14  Jim Meyering  <jim@meyering.net>
60486
60487         Merge from coreutils.
60488         * lib/obstack.h: Whitespace changes.
60489         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
60490         and xcalloc return values.
60491         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
60492         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
60493         hang on OSF/1 5.1 for DIR on both local and remote file systems.
60494         Reported by (and fix confirmed by) Nelson H. F. Beebe.
60495         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
60496         error from mntctl.
60497         Use mntctl's return value to drive the entry-processing loop, since
60498         we can't rely on the value of the vmt_length member in the last
60499         entry.  On some systems doing so could result in exhausting
60500         virtual memory.  Based in part on a patch from Mike Jetzer.
60501
60502 2003-08-14  Jim Meyering  <jim@meyering.net>
60503         and Paul Eggert  <eggert@twinsun.com>
60504
60505         Merges from coreutils, plus other fixes.
60506         * lib/physmem.c: Merge in portability changes from gcc/libiberty
60507         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
60508         for credits and details.  Thanks to Kaveh Ghazi for helping
60509         to keep these files in sync.
60510         (ARRAY_SIZE): Define it.
60511         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
60512         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
60513         (memcasecmp): Don't assume size_t fits in unsigned int.
60514         Remove casts and duplicate code.
60515         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
60516         (memcpy): Remove definition.
60517         Merge in some clean-up and optimization changes from glibc.
60518         [BLOCKSIZE]: Move definition to top of file.
60519         Ensure that it is a multiple of 64.
60520         Rearrange loop exit tests so as to avoid performing an
60521         additional fread after encountering an error or EOF.
60522         * lib/md5.h (md5_uintptr): Define.
60523         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
60524         return to the initial working directory.  Preserve errno
60525         for caller.
60526         * lib/idcache.c: Include "xalloc.h".
60527         (xmalloc, xrealloc): Remove decls.
60528         (getuser): Remove casts no longer required in C89.
60529         * lib/human.c: Include stdio.h, for sprintf.
60530         * lib/group-member.c: Include "xalloc.h".
60531         (xmalloc, xrealloc): Remove decls.
60532         (get_group_info): Remove casts no longer required in C89.
60533         * lib/getusershell.c (readname): Remove casts no longer required in
60534         C89.
60535         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
60536         * lib/getline.c: Whitespace fix, from coreutils.
60537
60538 2003-08-13  Paul Eggert  <eggert@twinsun.com>
60539
60540         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
60541         Check for isascii.
60542
60543         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
60544         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
60545         Undo previous (whitespace-only) change.
60546
60547 2003-08-13  Paul Eggert  <eggert@twinsun.com>
60548
60549         * lib/exclude.c: Include <ctype.h>
60550         (IN_CTYPE_DOMAIN): New macro.
60551         (is_space): New fn.
60552         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
60553         and empty lines.
60554
60555         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
60556         Undo previous (whitespace-only) change.
60557
60558 2003-08-13  Paul Eggert  <eggert@twinsun.com>
60559
60560         * config/srclist-update: Change update back to the old behavior,
60561         leaving whitespace alone.  Use one 'sed' command rather than a
60562         pipeline.
60563         (fixlicense): Now a variable, not a function.
60564         (remove_trailing_blanks): Remove.
60565         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
60566         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
60567         Undo previous (whitespace-only) change.
60568
60569 2003-08-12  Paul Eggert  <eggert@twinsun.com>
60570
60571         Merge from coreutils.
60572         * modules/euidaccess: Add lib_SOURCES, include for new
60573         file euidaccess.h
60574
60575 2003-08-12  Paul Eggert  <eggert@twinsun.com>
60576
60577         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
60578         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
60579         Normalize leading white space and remove trailing white space.
60580
60581         Merge from coreutils
60582         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
60583
60584         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
60585         0.12.1.  These files are now being upgraded automatically by
60586         ../config/srclist-update.
60587
60588 2003-08-12  Paul Eggert  <eggert@twinsun.com>
60589
60590         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
60591         Normalize leading white space and remove trailing white space.
60592         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
60593         notice, as per ../config/srclist-update.
60594
60595         Merge from coreutils.
60596         * lib/euidaccess.h: New file.
60597         * lib/euidaccess.c: Include it.
60598         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
60599         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
60600         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
60601
60602 2003-08-12  Paul Eggert  <eggert@twinsun.com>
60603
60604         * config/srclist-update: Add copyright notice.
60605         (remove_id_lines, remove_trailing_blanks): New constants.
60606         (fixfile): Use them to normalize spacing a bit in copied files.
60607         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
60608         Normalize leading white space and remove trailing white space.
60609
60610         * config/texinfo.tex: Sync with texinfo.
60611
60612         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
60613         strtoul.c from libc, to merge coreutils whitespace changes.
60614
60615         * config/srclist.txt: Get the following m4 files from gettext:
60616         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
60617         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
60618         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
60619         wint_t.m4.
60620
60621 2003-08-12  Karl Berry  <karl@gnu.org>
60622
60623         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
60624         been made.
60625
60626 2003-08-11  Paul Eggert  <eggert@twinsun.com>
60627
60628         * modules/gnu-source, m4/gnu-source.m4:
60629         Remove; we're assuming Autoconf 2.54 or later now.
60630         Suggested by Bruno Haible.
60631         * MODULES.html.sh (func_all_modules): Remove gnu-source.
60632
60633 2003-08-11  Bruno Haible  <bruno@clisp.org>
60634
60635         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
60636
60637 2003-08-11  Bruno Haible  <bruno@clisp.org>
60638
60639         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
60640         (vasnprintf): Use it instead of wcslen.
60641
60642 2003-08-11  Bruno Haible  <bruno@clisp.org>
60643
60644         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
60645         value to ensure that _Bool promotes to int. Use #define for _Bool when
60646         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
60647
60648 2003-08-10  Karl Berry  <karl@gnu.org>
60649
60650         * lib/regex.h: update from libc (whitespace fix).
60651
60652 2003-08-09  Paul Eggert  <eggert@twinsun.com>
60653
60654         Merge some files from coreutils.  These changes were
60655         originally made by Jim Meyering.
60656         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
60657         many older Unixes require this.
60658         * lib/alloca.c (alloca): Remove cast to argument of free;
60659         no longer needed in C89.
60660         * lib/alloca_.h, regex.h: Fix white space to match
60661         what GNU indent does.
60662
60663 2003-08-09  Paul Eggert  <eggert@twinsun.com>
60664
60665         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
60666         apparently Emacs's Unicode mode got confused before my 2003-08-05
60667         checkin.
60668
60669 2003-08-08  Paul Eggert  <eggert@twinsun.com>
60670
60671         * m4/extensions.m4: New file.
60672         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
60673         Require gl_USE_SYSTEM_EXTENSIONS.
60674         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
60675         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
60676
60677 2003-08-08  Paul Eggert  <eggert@twinsun.com>
60678
60679         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
60680         * modules/extensions, modules/gnu-source: New files.
60681         * modules/timespec, modules/unlocked-io: Depend on extensions.
60682
60683 2003-08-07  Paul Eggert  <eggert@twinsun.com>
60684
60685         * modules/restrict: New file.
60686         * MODULES.html.sh (func_all_modules): Add restrict.
60687         * modules/regex: Depend on restrict.
60688
60689 2003-08-07  Paul Eggert  <eggert@twinsun.com>
60690
60691         * m4/restrict.m4: New file.
60692         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
60693
60694 2003-08-07  Bruno Haible  <bruno@clisp.org>
60695
60696         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
60697         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
60698
60699 2003-08-07  Bruno Haible  <bruno@clisp.org>
60700
60701         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
60702         makes the module 'getndelim2' compatible with the module 'getline'.
60703
60704 2003-08-05  Paul Eggert  <eggert@twinsun.com>
60705
60706         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
60707         byte with "\201" to avoid glitches when editing that source file
60708         with multi-gnome-terminal.
60709
60710 2003-08-05  Paul Eggert  <eggert@twinsun.com>
60711
60712         * lib/bumpalloc.h: Remove.
60713
60714 2003-08-05  Paul Eggert  <eggert@twinsun.com>
60715
60716         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
60717         * modules/bumpalloc: Remove.
60718
60719 2003-08-04  Paul Eggert  <eggert@twinsun.com>
60720
60721         * lib/getloadavg.c: Change copyright notice and spacing to conform to
60722         GNU coding style.
60723
60724         Merge from coreutils.
60725         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
60726         1. From glibc.
60727         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
60728         from Karl Berry, implemented by Jim Meyering.
60729         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
60730         from Dmitry V. Levin.
60731         Remove anachronistic cast of xrealloc.
60732         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
60733         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
60734         type. Otherwise, it wouldn't compile with at least /bin/cc on
60735         ymp-cray-unicos9.0.2.X.
60736         Combine two mostly-identical uses of alloca into one.
60737         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
60738
60739 2003-08-04  Dave Love  <d.love@dl.ac.uk>
60740
60741         [From Emacs.]
60742
60743         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
60744         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
60745         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
60746         obsolete NLIST_NAME_UNION.
60747         [__GNU__]: Undef BSD and FSCALE.
60748         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
60749
60750 2003-08-03  Paul Eggert  <eggert@twinsun.com>
60751
60752         * lib/stdbool_.h (_Bool): Make it signed char, instead of
60753         an enum type, so that it's guaranteed to promote to int.  See:
60754         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
60755
60756 2003-08-03  Karl Berry  <karl@gnu.org>
60757
60758         * config/depcomp: update from automake.
60759
60760 2003-07-31  Paul Eggert  <eggert@twinsun.com>
60761
60762         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
60763         (strerror): Don't assume that a printable int fits in 14 bytes.
60764
60765 2003-07-31  Bruno Haible  <bruno@clisp.org>
60766
60767         * modules/getpass-gnu: New file.
60768         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
60769
60770 2003-07-31  Bruno Haible  <bruno@clisp.org>
60771
60772         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
60773
60774 2003-07-24  Karl Berry  <karl@gnu.org>
60775
60776         * config/missing: update from automake.
60777
60778 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
60779             Bruno Haible  <bruno@clisp.org>
60780
60781         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
60782         * lib/getline.c (getline, getdelim): Likewise.
60783         Remove _GNU_SOURCE define; now it's defined in config.h through
60784         m4/getline.m4.
60785
60786 2003-07-23  Karl Berry  <karl@gnu.org>
60787
60788         * config/config.sub: update from prep.
60789
60790 2003-07-22  Paul Eggert  <eggert@twinsun.com>
60791
60792         * modules/xalloc (Depends-on): Add exitfail.
60793         * modules/xmemcoll: Likewise.
60794
60795 2003-07-22  Paul Eggert  <eggert@twinsun.com>
60796
60797         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
60798         over-parenthesization in macros.
60799
60800         Sync with coreutils.
60801
60802         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
60803         required by C99.
60804
60805         Use `exit_failure' for xalloc and xmemcoll instead of their own
60806         private exit-failure variables.
60807         * lib/xalloc.h (xalloc_exit_failure): Remove.
60808         * lib/xmalloc.c: Likewise.  Include exitfail.h.
60809         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
60810         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
60811         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
60812         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
60813
60814 2003-07-20  Jim Meyering  <jim@meyering.net>
60815
60816         * modules/closeout (Depends-on): Add exitfail.
60817         Suggestion from Bruno Haible.
60818
60819 2003-07-19  Karl Berry  <karl@gnu.org>
60820
60821         * config/config.sub: update from prep.
60822
60823 2003-07-18  Paul Eggert  <eggert@twinsun.com>
60824
60825         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
60826         Remove.
60827         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
60828         to test that it can stand by itself.  Include "exitfail.h".
60829         Clients should set exit_failure instead.
60830         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
60831
60832 2003-07-18  Bruno Haible  <bruno@clisp.org>
60833
60834         * modules/getndelim2: New file.
60835         * modules/getline: Share files with module getndelim2.
60836         * modules/getnline: Depend on getndelim2 instead of sharing files with
60837         it. Add getnline.c to lib_SOURCES.
60838         * MODULES.html.sh (func_all_modules): Add getndelim2.
60839
60840 2003-07-18  Bruno Haible  <bruno@clisp.org>
60841
60842         * m4/getndelim2.m4: New file.
60843         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
60844         invoke gl_PREREQ_GETNDELIM2.
60845         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
60846         gl_PREREQ_GETNDELIM2.
60847         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
60848         gl_GETNDELIM2.
60849
60850 2003-07-18  Bruno Haible  <bruno@clisp.org>
60851
60852         * lib/getndelim2.h: New file.
60853         * lib/getndelim2.c: Make into a module of its own. Include config.h,
60854         getndelim2.h.
60855         (getndelim2): Make non-static. Change return type to ssize_t.
60856         * lib/getline.h: Change argument names.
60857         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
60858         * lib/getnline.c: Include getndelim2.h.
60859
60860 2003-07-18  Andreas Schwab  <schwab@suse.de>
60861
60862         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
60863
60864 2003-07-17  Karl Berry  <karl@gnu.org>
60865
60866         * config/config.sub: update from prep.
60867
60868 2003-07-17  Bruno Haible  <bruno@clisp.org>
60869
60870         * modules/getnline: New file.
60871         * modules/getline: Add lib/getndelim2.c to source file list.
60872         * MODULES.html.sh (func_all_modules): Add getnline.
60873
60874 2003-07-17  Bruno Haible  <bruno@clisp.org>
60875
60876         * m4/getnline.m4: New file.
60877
60878 2003-07-17  Bruno Haible  <bruno@clisp.org>
60879
60880         * m4/Makefile.am.in: Remove file.
60881         * m4/Makefile.am: Remove file.
60882         * m4/Makefile.in: Remove file.
60883
60884 2003-07-17  Bruno Haible  <bruno@clisp.org>
60885
60886         * lib/getnline.h: New file.
60887         * lib/getnline.c: New file.
60888         * lib/getndelim2.c: New file, extracted from getline.c.
60889         (getndelim2): Renamed from getdelim2, with added nmax argument.
60890         * lib/getline.c: Include getndelim2.c.
60891         (getdelim2): Moved out to getndelim2.c.
60892         (getline, getdelim): Update.
60893
60894 2003-07-17  Bruno Haible  <bruno@clisp.org>
60895
60896         * lib/Makefile.am: Remove file.
60897         * lib/Makefile.in: Remove file.
60898
60899 2003-07-17  Bruno Haible  <bruno@clisp.org>
60900
60901         * configure.in: Remove file.
60902         * Makefile.in: Remove file.
60903
60904 2003-07-17  Bruno Haible  <bruno@clisp.org>
60905
60906         * MODULES.html.sh: Put the </BODY> right before </HTML>.
60907
60908 2003-07-16  Karl Berry  <karl@gnu.org>
60909
60910         * config/srclist-update: was running fixlicense twice, which caused
60911                 texinfo.tex to be nullified for some reason.  Simplify,
60912                 $gplsrc is no longer needed as far as I can see?
60913
60914 2003-07-16  Jim Meyering  <jim@meyering.net>
60915
60916         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
60917
60918 2003-07-15  Paul Eggert  <eggert@twinsun.com>
60919
60920         * config/srclist.txt: Get the following files from gettext-runtime/intl
60921         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
60922         ref-del.sin.  From Bruno Haible.
60923         * config/srclist-update (fixfile): Change grep pattern again, since the
60924         previous fix didn't work (there was another trailing $).  Use
60925         '[$]' to escape the $s.
60926
60927 2003-07-15  Karl Berry  <karl@gnu.org>
60928
60929         * lib/vasnprintf.c: update from gettext.
60930
60931 2003-07-15  Karl Berry  <karl@gnu.org>
60932
60933         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
60934         gets expanded when surrounded by '$'.
60935
60936 2003-07-15  Jim Meyering  <jim@meyering.net>
60937
60938         * modules/save-cwd: Don't depend on error.  From Derek Price.
60939
60940 2003-07-15  Jim Meyering  <jim@meyering.net>
60941
60942         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
60943
60944 2003-07-14  Simon Josefsson  <jas@extundo.com>
60945
60946         * modules/mempcpy: New file.
60947         * MODULES.html.sh (func_all_modules): Add mempcpy.
60948
60949 2003-07-14  Simon Josefsson  <jas@extundo.com>
60950
60951         * m4/mempcpy.m4: New file.
60952
60953 2003-07-14  Simon Josefsson  <jas@extundo.com>
60954
60955         * lib/mempcpy.h: New file.
60956         * lib/mempcpy.c: New file.
60957
60958 2003-07-14  Paul Eggert  <eggert@twinsun.com>
60959
60960         * modules/getdate, modules/posixtm: Depend on mktime.
60961
60962 2003-07-14  Paul Eggert  <eggert@twinsun.com>
60963
60964         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
60965         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
60966         unicodeio.c, unicodeio.h, unlocked-io.h:
60967         Switch from LGPL to GPL.
60968
60969 2003-07-14  Paul Eggert  <eggert@twinsun.com>
60970
60971         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
60972         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
60973         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
60974         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
60975         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
60976         updated automatically by ../config/srclist-update.  This changes
60977         their license from LPGL to GPL.
60978
60979 2003-07-14  Paul Eggert  <eggert@twinsun.com>
60980
60981         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
60982         assumed to refer to the root of the most recent stable gettext version.
60983         * config/srclistvars.sh: Add defaults for eggert.
60984         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
60985         Match "This program" as well as "The program".  This is needed
60986         for gettext.
60987
60988 2003-07-14  Jim Meyering  <jim@meyering.net>
60989
60990         Don't emit diagnostics.  Let callers do that.
60991         * lib/save-cwd.c: Don't include "error.h".
60992         (save_cwd): Don't call error.  Ensure that errno is valid
60993         when returning nonzero.
60994
60995         * lib/save-cwd.h (restore_cwd): Update prototype.
60996         * lib/save-cwd.c (restore_cwd): Remove two parameters.
60997         Simplify.  Don't call error upon failure.  Let callers do that.
60998         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
60999         when auditing is enabled.  But don't bother updating the #if.
61000
61001 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
61002
61003         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
61004         it breaks C++ compilation.
61005         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
61006
61007 2003-07-10  Simon Josefsson  <jas@extundo.com>
61008
61009         * modules/strchrnul (Makefile.am): Add strchrnul.h.
61010
61011 2003-07-10  Jim Meyering  <jim@meyering.net>
61012
61013         * m4/clock_time.m4: Remove trailing blank.
61014         * m4/intmax_t.m4: Likewise.
61015
61016 2003-07-10  Jim Meyering  <jim@meyering.net>
61017
61018         * lib/vasnprintf.c: Remove trailing blanks.
61019         Make cpp indentation consistent.
61020
61021 2003-07-09  Paul Eggert  <eggert@twinsun.com>
61022
61023         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
61024         posixver.c, strftime.c, strnlen.c, strverscmp.c:
61025         Switch from LGPL to GPL.
61026
61027 2003-07-09  Paul Eggert  <eggert@twinsun.com>
61028
61029         * config/srclist.txt: Sort sublists.  Add
61030         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
61031         that differ from gnulib for one reason or another; we'd like this list
61032         to be smaller but for now let's document what we have.
61033
61034 2003-07-08  Paul Eggert  <eggert@twinsun.com>
61035
61036         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
61037         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
61038         and sweeter "eval x=$x".
61039         * config/srclist.txt: Get lib/argp* from glibc.
61040
61041 2003-07-07  Paul Eggert  <eggert@twinsun.com>
61042
61043         * lib/mktime.c: Fix some boundary cases and remove need for floating
61044         point.
61045
61046         Issue a compile-time diagnostic if time_t is floating point, or if
61047         two's complement arithmetic is not in effect, or if arithmetic
61048         right shift does not propagate the sign.  These assumptions were
61049         all in the original code but they weren't checked.
61050
61051         (TIME_T_MIDPOINT, verify): New macros.
61052         (__isleap): Remove; it has integer overflow problems.
61053         (leapyear): New function, without those problems.
61054         (ydhms_tm_diff): Remove; splitting into two parts.
61055         (ydhms_diff): New function, containing the arithmetic part of
61056         the old ydhms_tm_diff function.  Issue a compile-time
61057         diagnostic if we are not using C99 integer division.
61058         Avoid casts when possible.
61059         (guess_time_tm): New function, containing the checking part of
61060         the old ydhms_tm_diff function.  Return the new value, rather than
61061         the difference between it and the old.  Accept a new argument T
61062         so that *T specifies the old value.  Check for overflow in the result.
61063
61064         (__mktime_internal): Use a time_t offset, not a long int offset.
61065         This undoes the 2003-06-04 change, which is no longer needed now
61066         that we have better overflow checking.
61067         (localtime_offset): Likewise.
61068
61069         (__mktime_internal): Avoid harmful overflow on hosts where time_t
61070         and long are 64-bit but int is only 32-bit.
61071         (ydhms_diff): Use long int to store year1 and yday1.
61072         Issue a compile-time diagnostic if long int is not wide enough.
61073
61074         (__mktime_internal): Use long int to store adjusted year and yday.
61075         Use plain C rather than preprocessor commands, if that doesn't
61076         affect efficiency.
61077         Check for overflow (and try to repair) after each probe
61078         rather than checking only at the very end.  This avoids some bugs
61079         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
61080         does not equal GMT offset at maximum time).
61081         Use integer to check for overflow rather than floating point; this
61082         is more portable to non-IEEE hosts, and is a tad faster.
61083         When we detect that we are oscillating between two values,
61084         don't check whether tm_isdst has the requested value, since
61085         we already know the answer.  When tm_isdst has the wrong value,
61086         use a different heuristic to find the right one, based on the
61087         extreme values actually observed in practice in tz2003a,
61088         rather than the (overly optimistic) "previous 3 calendar quarters".
61089
61090         (not_equal_tm, print_tm, check_result): Use "const T" rather than
61091         "T const" to accommodate glibc style.
61092         (check_result): Use less-confusing report format.  "long" -> "long int.
61093         (main): Likewise.
61094         Don't loop if the iteration overflows time_t.
61095         Allow a negative step in the iteration.
61096
61097 2003-07-06  Karl Berry  <karl@gnu.org>
61098
61099         * config/depcomp: update from automake.
61100         * config/config.sub: update from prep.
61101
61102 2003-07-03  Karl Berry  <karl@gnu.org>
61103
61104         * config/config.guess: update from prep.
61105
61106 2003-07-01  Paul Eggert  <eggert@twinsun.com>
61107
61108         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
61109         xreadlink.c now includes it unconditionally.
61110
61111 2003-07-01  Paul Eggert  <eggert@twinsun.com>
61112
61113         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
61114         having it depend on HAVE_SYS_TYPES_H.
61115
61116 2003-07-01  Bruno Haible  <bruno@clisp.org>
61117
61118         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
61119         <sys/types.h> should be sufficient.
61120         Reported by Paul Eggert.
61121
61122 2003-06-26  Karl Berry  <karl@gnu.org>
61123
61124         * config/depcomp: update from automake.
61125
61126 2003-06-26  Bruno Haible  <bruno@clisp.org>
61127
61128         * modules/human: Depend on module stdbool.
61129
61130 2003-06-25  Bruno Haible  <bruno@clisp.org>
61131
61132         * modules/readlink: New file.
61133         * modules/xreadlink: Depend on it.
61134         * MODULES.html.sh (func_all_modules): Add readlink.
61135
61136 2003-06-25  Bruno Haible  <bruno@clisp.org>
61137
61138         * m4/readlink.m4: New file.
61139
61140 2003-06-25  Bruno Haible  <bruno@clisp.org>
61141
61142         * lib/readlink.c: New file.
61143
61144 2003-06-22  Karl Berry  <karl@gnu.org>
61145
61146         * config/srclist.txt: update mkinstalldirs from automake.
61147         * config/mkinstalldirs: update.
61148
61149 2003-06-22  Bruno Haible  <bruno@clisp.org>
61150
61151         Portability to mingw32.
61152         * m4/ssize_t.m4: New file, from GNU gettext.
61153         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
61154         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
61155
61156 2003-06-22  Bruno Haible  <bruno@clisp.org>
61157
61158         * modules/safe-read: Add m4/ssize_t.m4.
61159         * modules/xreadlink: Add m4/ssize_t.m4.
61160
61161 2003-06-20  Bruno Haible  <bruno@clisp.org>
61162
61163         Assume C89, so PARAMS isn't needed.
61164         * lib/unicodeio.h (PARAMS): Remove.
61165         * lib/unicodeio.c: Don't use PARAMS.
61166
61167 2003-06-18  Karl Berry  <karl@gnu.org>
61168
61169         * config/config.{guess,sub}: update from prep.
61170
61171 2003-06-18  Jim Meyering  <jim@meyering.net>
61172
61173         Merge changes from coreutils.
61174         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
61175         Remove explicit declarations of xmalloc and realloc.
61176         Include xalloc.h.
61177         (read_utmp): Remove anachronistic cast of xmalloc.
61178
61179 2003-06-17  Paul Eggert  <eggert@twinsun.com>
61180
61181         Assume C89, so PARAMS isn't needed.
61182         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
61183         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
61184         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
61185         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
61186         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
61187         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
61188         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
61189         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
61190         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
61191         lib/xstrtod.h, lib/xstrtol.h: Likewise.
61192         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
61193         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
61194         no longer needed. Anyway, config.h should always be included before any
61195         other file.
61196
61197 2003-06-11  Simon Josefsson  <jas@extundo.com>
61198
61199         * modules/sysexits: New file.
61200         * MODULES.html.sh (func_all_modules): Add sysexits.
61201
61202 2003-06-11  Simon Josefsson  <jas@extundo.com>
61203
61204         * lib/sysexit_.h: New file.
61205
61206 2003-06-11  Derek Price  <derek@ximbiot.com>
61207
61208         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
61209         necessary.
61210
61211 2003-06-11  Bruno Haible  <bruno@clisp.org>
61212
61213         * m4/sysexits.m4: New file.
61214
61215 2003-06-10  Simon Josefsson  <jas@extundo.com>
61216
61217         * lib/argp.h: New file, from glibc.
61218         * lib/argp-ba.c: New file, from glibc.
61219         * lib/argp-eexst.c: New file, from glibc.
61220         * lib/argp-fmtstream.c: New file, from glibc.
61221         * lib/argp-fmtstream.h: New file, from glibc.
61222         * lib/argp-fs-xinl.c: New file, from glibc.
61223         * lib/argp-help.c: New file, from glibc.
61224         * lib/argp-namefrob.h: New file, from glibc.
61225         * lib/argp-parse.c: New file, from glibc.
61226         * lib/argp-pv.c: New file, from glibc.
61227         * lib/argp-pvh.c: New file, from glibc.
61228         * lib/argp-xinl.c: New file, from glibc.
61229
61230 2003-06-10  Simon Josefsson  <jas@extundo.com>
61231
61232         * modules/strchrnul: New file.
61233
61234 2003-06-10  Simon Josefsson  <jas@extundo.com>
61235
61236         * modules/argp: New file.
61237
61238 2003-06-10  Simon Josefsson  <jas@extundo.com>
61239
61240         * m4/strchrnul.m4: New file.
61241
61242 2003-06-10  Simon Josefsson  <jas@extundo.com>
61243
61244         * lib/strchrnul.h: New file.
61245         * lib/strchrnul.c: New file.
61246
61247 2003-06-10  Bruno Haible  <bruno@clisp.org>
61248
61249         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
61250
61251 2003-06-07  Karl Berry  <karl@gnu.org>
61252
61253         * config/config.{guess,sub}: update from prep.
61254
61255 2003-06-07  Jim Meyering  <jim@meyering.net>
61256
61257         * modules/strtod: Use $(...) notation, not @...@ for
61258         AC_REPLACE'd variables.
61259         * modules/localcharset: Likewise.
61260
61261 2003-06-07  Jim Meyering  <jim@meyering.net>
61262
61263         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
61264         in place of my name in the copyright comment.
61265         Remove definition and uses of __P.
61266
61267         From coreutils.
61268         * lib/stat.c: Don't declare xmalloc explicitly.
61269         Instead, include "xalloc.h".
61270         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
61271         xrealloc, and xcalloc return values.
61272         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
61273         Improve comment.
61274         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
61275
61276 2003-06-07  Bruno Haible  <bruno@clisp.org>
61277
61278         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
61279         avoid AC_CONFIG_LINKS.
61280         * modules/fnmatch (Makefile.am): Use explicit creation rule for
61281         fnmatch.h, to avoid AC_CONFIG_LINKS.
61282         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
61283
61284 2003-06-07  Bruno Haible  <bruno@clisp.org>
61285
61286         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
61287         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
61288         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
61289         directory.
61290         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
61291         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
61292         directory.
61293
61294 2003-06-06  Jim Meyering  <jim@meyering.net>
61295
61296         Merge from coreutils.
61297         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
61298         Consolidate declarations and initializations of *_base* locals.
61299
61300         Merge from coreutils.
61301         This avoids a core dump on systems without GNU putenv,
61302         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
61303         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
61304         (unsetenv): New static function, from GNU libc.
61305         (rpl_putenv): Use it.
61306
61307         * lib/modechange.c: Remove trailing blanks.
61308
61309         Merge from coreutils.
61310         * lib/fsusage.c: Remove declaration of statfs.
61311         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
61312
61313         * lib/posixtm.c: Include <stdbool.h> unconditionally.
61314
61315 2003-06-06  Jim Meyering  <jim@meyering.net>
61316
61317         * lib/stdbool_.h: Renamed from stdbool.h.in.
61318
61319 2003-06-06  Jim Meyering  <jim@meyering.net>
61320             Bruno Haible  <bruno@clisp.org>
61321
61322         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
61323         Adjust Makefile.am snippet not to redirect directly to target.
61324         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
61325
61326 2003-06-05  Paul Eggert  <eggert@twinsun.com>
61327
61328         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
61329         mismatch, look in future quarters as well as past.  This fixes a
61330         bug when processing fall-backwards gaps immediately after a long
61331         period of daylight-saving time.
61332
61333         * lib/mktime.c: Assume freestanding C89 or better.
61334         (HAVE_LIMITS_H): Remove.  Assume it's 1.
61335         (__P): Remove; not used.
61336         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
61337         (mktime, not_equal_tm, print_tm, check_result,
61338         main): Use prototypes.  Use const * where appropriate.
61339         (main): Fix typo in testing code that uncovered by above changes.
61340         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
61341
61342 2003-06-04  Paul Eggert  <eggert@twinsun.com>
61343
61344         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
61345         locale.h, localeconv.  This merges changes from coreutils.
61346
61347         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
61348         It can be removed after the next Autoconf is released.
61349         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
61350         needed.
61351
61352 2003-06-04  Paul Eggert  <eggert@twinsun.com>
61353
61354         * lib/mktime.c: Fix Debian bug 177940
61355         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
61356         (localtime_offset): Now long int, not time_t, because we want it
61357         to be guaranteed to be signed.  All uses changed.
61358         (__mktime_internal): If overflow would occur when adding offset,
61359         don't add it.
61360
61361         Merge 'human' changes from coreutils.  Rewrite to support
61362         locale-specific notations like thousands separators.
61363         * lib/human.c: Simplify authorship notice.
61364         Include human.h immediately after config.h.
61365         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
61366         <limits.h>: Do not include, since human.h does.
61367         (SIZE_MAX, UINTMAX_MAX): New macros.
61368         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
61369         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
61370         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
61371         (power_letter): Renamed from suffixes.
61372         (generate_suffix_backwards): Remove.
61373         (adjust_value): Now takes int style (because of human.h changes)
61374         and long double value (for greater precision on some platforms).
61375         (group_number): New function.
61376         (human_readable): Use it.  Use integer options, not enum.
61377         Put the options before the sizes in the arg list.
61378         Support all the new options.
61379         The old human_readable function has been removed;
61380         use inttostr.h instead.
61381         (human_readable, default_block_size, humblock):
61382         Use uintmax_t, not int, for block sizes.
61383         (human_readable_inexact, block_size_types): Remove.
61384         (block_size_opts): New constant.
61385         (human_options): Renamed from human_block_size, with new signature
61386         that allows block sizes up to UINTMAX_MAX.  All callers changed.
61387         * lib/human.h: Add copyright and authorship notice.
61388         Include <limits.h> and <stdbool.h> unconditionally.
61389         (PARAMS): Remove.  All uses removed.
61390         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
61391         (enum human_inexact_style): Remove tag; now a nameless enum.
61392         (human_floor, human_ceiling, human_round_to_even): Now have
61393         values 2, 0, 1 rather than -1, 1, 0.
61394         (human_group_digits, human_suppress_point_zero, human_autoscale,
61395         human_base_1024, human_SI, human_B): New constants.
61396         (human_readable_inexact, human_block_size): Remove.
61397         (human_readable): Size args are now uintmax_t, not int.
61398         (human_options): New decl.
61399
61400         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
61401         unnecessary now that we assume C89 or better.  This change
61402         imported from coreutils.
61403
61404         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
61405         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
61406         in the 2003-05-30 sync from glibc.
61407
61408         .h files should stand alone, but we shouldn't include <sys/types.h>
61409         if we can get away with just <stddef.h>.
61410
61411         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
61412         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
61413         rather than <sys/types.h>, as we merely need size_t.
61414         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
61415         to get size_t.
61416         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
61417         Include <stdio.h>, to get FILE.
61418         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
61419         memcasecmp.h has included <stddef.h> and all we need is size_t.
61420         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
61421         our interface, instead of including <sys/types.h>
61422
61423 2003-06-04  Paul Eggert  <eggert@twinsun.com>
61424
61425         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
61426         now, as glibc mktime is buggy on non-glibc systems.
61427
61428 2003-06-03  Karl Berry  <karl@gnu.org>
61429
61430         * config/config.sub: update from prep.
61431
61432 2003-06-02  Paul Eggert  <eggert@twinsun.com>
61433
61434         [from coreutils]
61435         Fix some minor time-related bugs with POSIX time arguments.
61436         Some valid time stamps were being rejected (notably -1, and
61437         time stamps before 1900 on 64-bit hosts).  And some invalid
61438         time stamps were being accepted, e.g. September 31.
61439
61440         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
61441         that we can return (time_t) -1 successfully.
61442         * lib/posixtm.c: Likewise.
61443         [HAVE_STDBOOL_H]: Include <stdbool.h>.
61444         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
61445         (t): Remove static var.
61446         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
61447         of static var.  All uses changed.
61448         (year): Do not reject years before 1900; they can occur with
61449         64-bit time_t.
61450         (posix_time_parse): Do not check for out-of-range components;
61451         that is now the caller's responsibility, since our checks were
61452         only approximations.
61453         (posixtime): Use mktime to check for out-of-range components,
61454         since it knows them exactly.
61455         If mktime returns (time_t) -1, check whether an error actually occurred
61456         by invoking localtime on -1.
61457         (main) [TEST_POSIXTIME]: Check for input data errors, and report
61458         posixtime failures better.
61459         Improve the test data (in comments only).
61460
61461 2003-06-02  Karl Berry  <karl@gnu.org>
61462
61463         * config/mkinstalldirs (version): new variable.
61464         (--version): new option.
61465         (usage): improve message.
61466
61467 2003-05-30  Karl Berry  <karl@gnu.org>
61468
61469         * lib/mktime.c: update from libc.
61470
61471 2003-05-30  Bruno Haible  <bruno@clisp.org>
61472
61473         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
61474         * config/config.rpath: Upgrade to gettext-0.12.1.
61475
61476 2003-05-30  Bruno Haible  <bruno@clisp.org>
61477
61478         * m4/gettext.m4: Upgrade to gettext-0.12.1.
61479         * m4/nls.m4: New file, from gettext-0.12.1.
61480         * m4/po.m4: New file, from gettext-0.12.1.
61481         * m4/progtest.m4: Upgrade to gettext-0.12.1.
61482
61483 2003-05-30  Bruno Haible  <bruno@clisp.org>
61484
61485         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
61486         * lib/localcharset.h: Likewise.
61487         * lib/localcharset.c: Likewise.
61488
61489 2003-05-29  Karl Berry  <karl@gnu.org>
61490
61491         * config/config.rpath: update from gettext.
61492
61493 2003-05-28  Paul Eggert  <eggert@twinsun.com>
61494
61495         Assume the headers required for C89 freestanding compilers.
61496         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
61497         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
61498         * m4/human.m4 (gl_HUMAN): Likewise.
61499         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
61500         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
61501         * m4/userspec.m4 (gl_USERSPEC): Likewise.
61502         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
61503         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61504         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
61505
61506 2003-05-28  Paul Eggert  <eggert@twinsun.com>
61507
61508         Assume the headers required for C89 freestanding compilers.
61509         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
61510         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
61511         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
61512         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
61513         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
61514         define, since <limits.h> is guaranteed to do that.
61515         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
61516         * lib/exclude.c: Include <stdbool.h> unconditionally.
61517         * lib/tempname.c: Include <stddef.h> unconditionally.
61518         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
61519         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
61520         <stddef.h> does that.
61521         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
61522         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
61523         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
61524         needed.
61525         * lib/xstrtol.c: Likewise.
61526         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
61527         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
61528
61529         * lib/addext.c (addext): Use assignment rather than cast, to avoid
61530         warnings on some platforms.
61531
61532         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
61533         arbitrarily.
61534
61535 2003-05-26  Jim Meyering  <jim@meyering.net>
61536
61537         Merge in a change from coreutils:
61538         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
61539         that is guaranteed to be `no'.  Use `no_such_member' to indicate
61540         that condition, rather than `-1' which is slightly misleading.
61541         Change the name of the cache variable to have the gl_ prefix.
61542         Prompted by a patch from Richard Dawe for DJGPP.
61543
61544 2003-05-24  Karl Berry  <karl@gnu.org>
61545
61546         * config/config.guess: update from prep.
61547
61548 2003-05-22  Karl Berry  <karl@gnu.org>
61549
61550         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
61551
61552 2003-05-20  Karl Berry  <karl@gnu.org>
61553
61554         * config/config.guess: update from prep.
61555
61556 2003-05-18  Karl Berry  <karl@gnu.org>
61557
61558         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
61559         might actually be set by the user.
61560
61561         * config/depcomp, install-sh, mdate-sh: update from automake.
61562
61563 2003-05-17  Bruno Haible  <bruno@clisp.org>
61564
61565         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
61566         invalid expansion for AC_EGREP_CPP.
61567         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
61568         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
61569         Suggested by Akim Demaille <akim@epita.fr> in
61570         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
61571
61572 2003-05-12  Jim Meyering  <jim@meyering.net>
61573
61574         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
61575         the space-padded-by-default conversion specifiers, %e, %k, %l.
61576
61577 2003-05-12  Bruno Haible  <bruno@clisp.org>
61578
61579         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
61580         the string is longer than 4 KB.
61581
61582 2003-05-11  Karl Berry  <karl@gnu.org>
61583
61584         * config/config.{guess,sub}: update from prep.
61585
61586 2003-05-09  Bruno Haible  <bruno@clisp.org>
61587
61588         * modules/error: Add m4/strerror_r.m4 to file list.
61589
61590 2003-05-03  Bruno Haible  <bruno@clisp.org>
61591
61592         Upgrade to Unicode-4.0.
61593         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
61594         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
61595         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
61596         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
61597         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
61598         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
61599         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
61600         Change width of U+E0100..U+E01EF from 1 to 0.
61601
61602 2003-04-25  Jim Meyering  <jim@meyering.net>
61603
61604         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
61605         of type size_t, not int.
61606
61607 2003-04-25  Bruno Haible  <bruno@clisp.org>
61608
61609         * lib/copy-file.c: Include <stddef.h>, for size_t.
61610
61611 2003-04-21  Paul Eggert  <eggert@twinsun.com>
61612
61613         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
61614         code which expansion is under static control.  Patch imported from
61615         Akim Demaille's patch to Bison; see
61616         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
61617
61618 2003-04-14  Bruno Haible  <bruno@clisp.org>
61619
61620         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
61621
61622 2003-04-11  Jim Meyering  <jim@meyering.net>
61623
61624         Merge changes from Coreutils.
61625
61626         2003-03-22  Jim Meyering  <jim@meyering.net>
61627
61628         * lib/strftime.c (widen): Cast alloca return value to proper type.
61629
61630         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
61631
61632         From GNU libc.
61633         * lib/strftime.c (my_strftime): Handle very large width
61634         specifications for numeric values correctly.  Improve checks for
61635         overflow.
61636
61637         2003-01-19  Jim Meyering  <jim@meyering.net>
61638
61639         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
61640         definitions.
61641         (nl_get_alt_digit) [! defined my_strftime]: Define.
61642         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
61643         _nl_get_alt_digit and _nl_get_walt_digit.
61644
61645         * lib/strftime.c (my_strftime): Merge in locale-related changes from
61646         libc. These changes have no effect outside of _LIBC.
61647
61648 2003-04-10  Bruno Haible  <bruno@clisp.org>
61649
61650         * modules/findprog: New file.
61651         * MODULES.html.sh (func_all_modules): Add it.
61652
61653 2003-04-10  Bruno Haible  <bruno@clisp.org>
61654
61655         * m4/findprog.m4: New file.
61656         * m4/eaccess.m4: New file.
61657
61658 2003-04-10  Bruno Haible  <bruno@clisp.org>
61659
61660         * lib/findprog.h: New file, from GNU gettext.
61661         * lib/findprog.c: New file, from GNU gettext.
61662
61663 2003-04-05  Jim Meyering  <jim@meyering.net>
61664
61665         Merge changes from Coreutils.
61666
61667         * lib/exclude.h (PARAMS): Remove definition and uses.
61668         * lib/exclude.c: Remove uses of `PARAMS'.
61669
61670         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
61671         Add test-cases for DOS filenames. Declare program_name.
61672         (main): Set up program_name.  Patch by Rich Dawe.
61673
61674         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
61675         error from mntctl.
61676         Use mntctl's return value to drive the entry-processing loop, since
61677         we can't rely on the value of the vmt_length member in the last
61678         entry.  On some systems doing so could result in exhausting
61679         virtual memory.  Based in part on a patch from Mike Jetzer.
61680
61681 2003-04-04  Bruno Haible  <bruno@clisp.org>
61682
61683         * modules/linebreak: New file.
61684         * MODULES.html.sh (func_all_modules): Add it.
61685
61686 2003-04-04  Bruno Haible  <bruno@clisp.org>
61687
61688         * m4/linebreak.m4: New file.
61689
61690 2003-04-04  Bruno Haible  <bruno@clisp.org>
61691
61692         * lib/linebreak.h: New file, from GNU gettext.
61693         * lib/linebreak.c: New file, from GNU gettext with slight
61694         modifications.
61695         * lib/lbrkprop.h: New file, from GNU gettext.
61696
61697 2003-04-03  Bruno Haible  <bruno@clisp.org>
61698
61699         * modules/utf8-ucs4: New file.
61700         * modules/utf16-ucs4: New file.
61701         * modules/ucs4-utf8: New file.
61702         * modules/ucs4-utf16: New file.
61703         * MODULES.html.sh (func_all_modules): Add them.
61704
61705 2003-04-03  Bruno Haible  <bruno@clisp.org>
61706
61707         * m4/utf-ucs4.m4: New file.
61708         * m4/ucs4-utf.m4: New file.
61709
61710 2003-04-03  Bruno Haible  <bruno@clisp.org>
61711
61712         * lib/utf8-ucs4.h: New file, from GNU gettext.
61713         * lib/utf16-ucs4.h: New file, from GNU gettext.
61714         * lib/ucs4-utf8.h: New file, from GNU gettext.
61715         * lib/ucs4-utf16.h: New file, from GNU gettext.
61716
61717 2003-04-02  Bruno Haible  <bruno@clisp.org>
61718
61719         * modules/binary-io: New file.
61720         * MODULES.html.sh (func_all_modules): Add it.
61721
61722 2003-04-02  Bruno Haible  <bruno@clisp.org>
61723
61724         * lib/binary-io.h: New file, from GNU gettext.
61725
61726 2003-04-01  Bruno Haible  <bruno@clisp.org>
61727
61728         * modules/pathname: New file.
61729         * MODULES.html.sh (func_all_modules): Add it.
61730
61731 2003-04-01  Bruno Haible  <bruno@clisp.org>
61732
61733         * lib/pathname.h: New file, from GNU gettext.
61734         * lib/concatpath.c: New file, from GNU gettext.
61735
61736 2003-03-30  Bruno Haible  <bruno@clisp.org>
61737
61738         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
61739
61740 2003-03-30  Bruno Haible  <bruno@clisp.org>
61741
61742         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
61743         function chown() doesn't exist.
61744
61745 2003-03-28  Bruno Haible  <bruno@clisp.org>
61746
61747         * modules/copy-file: New file.
61748         * MODULES.html.sh (func_all_modules): Add it.
61749
61750 2003-03-28  Bruno Haible  <bruno@clisp.org>
61751
61752         * m4/copy-file.m4: New file.
61753
61754 2003-03-28  Bruno Haible  <bruno@clisp.org>
61755
61756         * lib/copy-file.h: New file, from GNU gettext.
61757         * lib/copy-file.c: New file, from GNU gettext.
61758
61759 2003-03-18  Jim Meyering  <jim@meyering.net>
61760
61761         * lib/quote.c (quote_n): Fix typo in comment.
61762
61763 2003-03-18  Bruno Haible  <bruno@clisp.org>
61764
61765         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
61766         checking.
61767         * m4/onceonly_2_57.m4: Likewise.
61768
61769 2003-03-17  Bruno Haible  <bruno@clisp.org>
61770
61771         * m4/onceonly.m4: Require autoconf 2.54 or newer.
61772         (m4_quote): Remove macro.
61773         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
61774
61775 2003-03-14  Jim Meyering  <jim@meyering.net>
61776
61777         Merge changes from Coreutils.
61778         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
61779         to be const, in order to avoid warnings.
61780         (obstack_room): Likewise.
61781         (obstack_empty_p): Likewise.
61782
61783 2003-03-14  Bruno Haible  <bruno@clisp.org>
61784
61785         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
61786         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
61787
61788 2003-03-13  Paul Eggert  <eggert@twinsun.com>
61789
61790         Merge changes from Bison.
61791         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
61792         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
61793         when compiling Bison 1.875's `bitset bset = obstack_alloc
61794         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
61795         * lib/hash.c: Include <stdbool.h> unconditionally.
61796
61797 2003-03-13  Paul Eggert  <eggert@twinsun.com>
61798
61799         * m4/onceonly.m4 (m4_quote): New macro.
61800         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
61801         Quote AC_FOREACH variable-expansions properly.
61802
61803 2003-03-13  Paul Eggert  <eggert@twinsun.com>
61804
61805         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
61806
61807 2003-03-09  Paul Eggert  <eggert@twinsun.com>
61808
61809         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
61810         Reported by Bruce Becker; see:
61811         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
61812
61813 2003-03-03  Paul Eggert  <eggert@twinsun.com>
61814             Bruno Haible  <bruno@clisp.org>
61815
61816         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
61817         Reported by John Hughes, see
61818         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
61819
61820 2003-02-20  Bruno Haible  <bruno@clisp.org>
61821
61822         * MODULES.html.sh (func_all_modules): Add poll.
61823
61824 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
61825
61826         * modules/poll: New file.
61827
61828 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
61829
61830         * lib/poll_.h: New file.
61831         * lib/poll.c: New file.
61832
61833 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
61834
61835         * m4/poll.m4: New file.
61836
61837 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
61838
61839         * modules/mathl: New file.
61840
61841 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
61842
61843         * lib/mathl.h: New file.
61844         * lib/acosl.c: New file.
61845         * lib/asinl.c: New file.
61846         * lib/atanl.c: New file.
61847         * lib/ceill.c: New file.
61848         * lib/cosl.c: New file.
61849         * lib/expl.c: New file.
61850         * lib/floorl.c: New file.
61851         * lib/frexpl.c: New file.
61852         * lib/ldexpl.c: New file.
61853         * lib/logl.c: New file.
61854         * lib/sincosl.c: New file.
61855         * lib/sinl.c: New file.
61856         * lib/sqrtl.c: New file.
61857         * lib/tanl.c: New file.
61858         * lib/trigl.c: New file.
61859         * lib/trigl.h: New file.
61860
61861 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
61862
61863         * m4/mathl.m4: New file.
61864
61865 2003-02-18  Bruno Haible  <bruno@clisp.org>
61866
61867         * MODULES.html.sh (func_all_modules): Add mathl.
61868
61869 2003-02-17  Bruno Haible  <bruno@clisp.org>
61870
61871         * modules/mkdtemp: New module.
61872         * MODULES.html.sh (func_all_modules): Add it.
61873
61874 2003-02-17  Bruno Haible  <bruno@clisp.org>
61875
61876         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
61877
61878 2003-02-17  Bruno Haible  <bruno@clisp.org>
61879
61880         * lib/mkdtemp.h: New file, from GNU gettext.
61881         * lib/mkdtemp.c: New file, from GNU gettext.
61882
61883 2003-02-02  Jim Meyering  <jim@meyering.net>
61884
61885         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
61886         e.g. glibc-2.2.93.
61887
61888 2003-01-31  Bruno Haible  <bruno@clisp.org>
61889
61890         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
61891         'rpl_rename'.
61892         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
61893         'rpl_strnlen'.
61894         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
61895         'rpl_strtod'.
61896         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
61897         'rpl_utime'.
61898
61899 2003-01-31  Bruno Haible  <bruno@clisp.org>
61900
61901         * lib/rename.c: #undef rename before defining rpl_rename.
61902         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
61903
61904 2003-01-30  Bruno Haible  <bruno@clisp.org>
61905
61906         * modules/vasnprintf, modules/vasprintf: New modules.
61907         * MODULES.html.sh (func_all_modules): Add them.
61908
61909 2003-01-30  Bruno Haible  <bruno@clisp.org>
61910
61911         * m4/signed.m4: New file, from GNU gettext.
61912         * m4/longdouble.m4: New file, from GNU gettext.
61913         * m4/wchar_t.m4: New file, from GNU gettext.
61914         * m4/wint_t.m4: New file, from GNU gettext.
61915         * m4/vasnprintf.m4: New file.
61916         * m4/vasprintf.m4: New file.
61917
61918 2003-01-30  Bruno Haible  <bruno@clisp.org>
61919
61920         * lib/printf-args.h: New file, from GNU gettext.
61921         * lib/printf-args.c: New file, from GNU gettext.
61922         * lib/printf-parse.h: New file, from GNU gettext.
61923         * lib/printf-parse.c: New file, from GNU gettext.
61924         * lib/vasnprintf.h: New file, from GNU gettext.
61925         * lib/vasnprintf.c: New file, from GNU gettext.
61926         * lib/asnprintf.c: New file, from GNU gettext.
61927         * lib/vasprintf.h: New file, from GNU gettext with modifications.
61928         * lib/vasprintf.c: New file, from GNU gettext.
61929         * lib/asprintf.c: New file, from GNU gettext.
61930
61931 2003-01-29  Bruno Haible  <bruno@clisp.org>
61932
61933         * modules/stpncpy: New module.
61934         * MODULES.html.sh (func_all_modules): Add it.
61935
61936 2003-01-29  Bruno Haible  <bruno@clisp.org>
61937
61938         * m4/stpncpy.m4: New file.
61939
61940 2003-01-29  Bruno Haible  <bruno@clisp.org>
61941
61942         * lib/stpncpy.h: New file, from GNU gettext with modifications.
61943         * lib/stpncpy.c: New file, from GNU gettext with modifications.
61944
61945 2003-01-28  Bruno Haible  <bruno@clisp.org>
61946
61947         * modules/c-ctype: New module.
61948         * MODULES.html.sh (func_all_modules): Add it.
61949
61950 2003-01-28  Bruno Haible  <bruno@clisp.org>
61951
61952         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
61953         Paul Eggert.
61954         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
61955         Paul Eggert.
61956
61957 2003-01-27  Bruno Haible  <bruno@clisp.org>
61958
61959         * modules/xsetenv: New module.
61960         * MODULES.html.sh (func_all_modules): Add it.
61961
61962 2003-01-27  Bruno Haible  <bruno@clisp.org>
61963
61964         * lib/xsetenv.h: New file, from GNU gettext.
61965         * lib/xsetenv.c: New file, from GNU gettext.
61966
61967 2003-01-23  Jim Meyering  <jim@meyering.net>
61968
61969         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
61970         from working on systems without dirfd (at least Irix and OSF1/Tru64).
61971
61972 2003-01-23  Bruno Haible  <bruno@clisp.org>
61973
61974         * modules/minmax: New module.
61975         * MODULES.html.sh (func_all_modules): Add it.
61976
61977 2003-01-23  Bruno Haible  <bruno@clisp.org>
61978
61979         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
61980         Eggert.
61981
61982 2003-01-22  Bruno Haible  <bruno@clisp.org>
61983
61984         * modules/exit: New module.
61985         * MODULES.html.sh (func_all_modules): Add it.
61986
61987 2003-01-22  Bruno Haible  <bruno@clisp.org>
61988
61989         * lib/exit.h: New file, from GNU gettext.
61990
61991 2003-01-19  Bruno Haible  <bruno@clisp.org>
61992
61993         * gnulib-tool: Recognize option --extract-maintainer.
61994         (func_get_maintainer): New function.
61995         * modules/*: Add Maintainer entry.
61996
61997 2003-01-16  Jim Meyering  <jim@meyering.net>
61998
61999         * m4/regex.m4: The `regex' struct is both input and output.
62000         Initialize it before each use.  Patch by Tim Waugh.
62001
62002 2003-01-16  Bruno Haible  <bruno@clisp.org>
62003
62004         * MODULES.html.sh: Add a table of contents. Add the module name as
62005         leftmost column. Add hyperlinks.
62006
62007 2003-01-15  Bruno Haible  <bruno@clisp.org>
62008
62009         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
62010
62011 2003-01-15  Bruno Haible  <bruno@clisp.org>
62012
62013         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
62014         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
62015         suffix.
62016
62017 2003-01-15  Bruno Haible  <bruno@clisp.org>
62018
62019         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
62020
62021 2003-01-15  Bruno Haible  <bruno@clisp.org>
62022
62023         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
62024         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
62025
62026 2003-01-14  Jim Meyering  <jim@meyering.net>
62027
62028         * lib/same.c (same_name): Tweak a comment.
62029
62030 2003-01-14  Bruno Haible  <bruno@clisp.org>
62031
62032         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
62033         when a string comparison is sufficient.
62034
62035 2003-01-14  Bruno Haible  <bruno@clisp.org>
62036
62037         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
62038         'unsigned int'.
62039
62040 2003-01-14  Bruno Haible  <bruno@clisp.org>
62041
62042         * lib/hash-pjw.c: Add comment about low quality of this function.
62043
62044 2003-01-13  Bruno Haible  <bruno@clisp.org>
62045
62046         * modules/stpcpy: Distribute lib/stpcpy.h.
62047         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
62048
62049 2003-01-13  Bruno Haible  <bruno@clisp.org>
62050
62051         * modules/*: Add a description.
62052         * modules/strpbrk: Fix Makefile.am snippet.
62053         * modules/strtoimax: Fix dependencies.
62054         * modules/strtoumax: Likewise.
62055
62056 2003-01-13  Bruno Haible  <bruno@clisp.org>
62057
62058         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
62059         * modules/alloca (Makefile.am): All object files depend on alloca.h.
62060         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
62061
62062 2003-01-13  Bruno Haible  <bruno@clisp.org>
62063
62064         * gnulib-tool (func_create_testdir): Store config/* files in the main
62065         directory.
62066         * config.rpath: Move to ...
62067         * config/config.rpath: ... here.
62068         * modules/gettext: Contains config/config.rpath, not config.rpath.
62069         * modules/iconv: Likewise.
62070
62071 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62072
62073         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62074         to avoid collisions with libcurses and libreadline.
62075
62076         * m4/getstr.m4: Remove.
62077         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
62078
62079 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62080
62081         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62082         to avoid collisions with libcurses and libreadline.
62083
62084         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
62085         * lib/getstr.h, getstr.c: Remove.
62086         * lib/getline.c: Include "getline.h", to check interface.
62087         Move body of old getstr.c here: this defines MIN_CHUNK and
62088         declares getdelim2, which is renamed from getstr.
62089         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
62090
62091         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
62092         All uses changed.
62093         * lib/linebuffer.h: Likewise.
62094         (readline): Remove backward-compatibility macro.
62095
62096 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62097
62098         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62099         to avoid collisions with libcurses and libreadline.
62100         * getstr: Remove.
62101         * MODULES.html.sh: Remove getstr.
62102         * modules/getline: Depend on unlocked-io, not getstr.
62103
62104 2003-01-12  Jim Meyering  <jim@meyering.net>
62105
62106         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
62107
62108 2003-01-10  Bruno Haible  <bruno@clisp.org>
62109
62110         * modules/alloca: Change Makefile.am requirements. Simplify Include
62111         requirements. Add lib/alloca_.h to file list.
62112
62113 2003-01-10  Bruno Haible  <bruno@clisp.org>
62114
62115         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
62116
62117 2003-01-10  Bruno Haible  <bruno@clisp.org>
62118
62119         * lib/alloca_.h: New file.
62120         * lib/getdate.y: Unconditionally include alloca.h.
62121         * lib/makepath.c: Likewise.
62122         * lib/setenv.c: Likewise.
62123         * lib/userspec.c: Likewise.
62124
62125 2003-01-09  Karl Berry  <karl@gnu.org>
62126
62127         * MODULES.html.sh: include `dirname $0` in PATH, to find
62128         gnulib-tool.
62129
62130 2003-01-09  Bruno Haible  <bruno@clisp.org>
62131
62132         * modules/stdbool: Change configure.ac, Makefile.am requirements.
62133         Simplify Include requirements. Add lib/stdbool.h.in to file list.
62134
62135 2003-01-09  Bruno Haible  <bruno@clisp.org>
62136
62137         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
62138
62139 2003-01-09  Bruno Haible  <bruno@clisp.org>
62140
62141         * lib/stdbool.h.in: New file.
62142
62143 2003-01-09  Bruno Haible  <bruno@clisp.org>
62144
62145         * gnulib-tool (func_all_modules): Ignore files ending in ~.
62146         * MODULES.html.sh: Likewise.
62147
62148 2003-01-08  Jim Meyering  <jim@meyering.net>
62149
62150         * lib/full-write.c: Undefine and define-away `const' after inclusion
62151         of errno.h, not before.  Suggestion from Bruno Haible.
62152
62153 2003-01-08  Bruno Haible  <bruno@clisp.org>
62154
62155         * modules/full-read: Depend on full-write.
62156
62157 2003-01-08  Bruno Haible  <bruno@clisp.org>
62158
62159         * lib/safe-read.c: Include specification header first, to ensure its
62160         selfcontainedness.
62161         * lib/full-write.c: Likewise.
62162
62163 2003-01-07  Jim Meyering  <jim@meyering.net>
62164
62165         * lib/full-write.c: Rework so that it may serve to define full_read,
62166         too.
62167         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
62168
62169 2003-01-07  Bruno Haible  <bruno@clisp.org>
62170
62171         * lib/strtoimax.c: Include <stdint.h> as an alternative to
62172         <inttypes.h>.
62173         * lib/xstrtol.h: Likewise.
62174         * lib/xstrtoimax.c: Likewise.
62175         * lib/xstrtoumax.c: Likewise.
62176         * lib/human.h: Likewise.
62177
62178         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
62179         on systems that have <inttypes.h> but not <stdint.h>.
62180
62181 2003-01-07  Bruno Haible  <bruno@clisp.org>
62182
62183         * MODULES.html.sh: Add copyright notice.
62184         (missed_files): Omit CVS directory entries.
62185         (func_module): Make it work with sed-3.02.
62186         * MODULES.txt: Remove file.
62187
62188 2003-01-06  Jim Meyering  <jim@meyering.net>
62189
62190         * lib/version-etc.c: Update year in translatable copyright string.
62191
62192 2003-01-03  Karl Berry  <karl@gnu.org>
62193
62194         * config/config.{guess,sub}: update from prep.
62195
62196 2003-01-02  Karl Berry  <karl@gnu.org>
62197
62198         * doc/COPYING.DOC: belatedly updated to 1.2.
62199
62200 2003-01-01  Karl Berry  <karl@gnu.org>
62201
62202         * gnulib-tool (func_verify_module): report module name $module in
62203         error message, not $1.
62204         * gnulib-tool (create-testdir): don't complain if destdir couldn't
62205         be created, only if it doesn't exist.
62206         * gnulib-tool (last_checkin_date): don't expand the $Date here.
62207
62208 2002-12-31  Paul Eggert  <eggert@twinsun.com>
62209
62210         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
62211
62212 2002-12-31  Paul Eggert  <eggert@twinsun.com>
62213
62214         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
62215         memcmp if strcoll doesn't work.
62216
62217 2002-12-31  Bruno Haible  <bruno@clisp.org>
62218
62219         * lib/utime.c (utime_null): No need to call ftruncate if the file was
62220         nonempty.
62221
62222 2002-12-31  Bruno Haible  <bruno@clisp.org>
62223
62224         * lib/memcoll.c (STRCOLL): New macro.
62225         (memcoll): Use it.
62226
62227 2002-12-31  Bruno Haible  <bruno@clisp.org>
62228
62229         * lib/localcharset.h: New file.
62230         * lib/localcharset.c: Include it.
62231         * lib/unicodeio.c: Likewise.
62232
62233 2002-12-31  Bruno Haible  <bruno@clisp.org>
62234
62235         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
62236         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
62237
62238 2002-12-31  Bruno Haible  <bruno@clisp.org>
62239
62240         * lib/getline.h: Include <stddef.h>, for size_t.
62241
62242         * lib/unicodeio.h: Include <stddef.h>, for size_t.
62243         * lib/unicodeio.c: Don't include <stddef.h>.
62244
62245 2002-12-31  Bruno Haible  <bruno@clisp.org>
62246
62247         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
62248         HAVE_TM_ZONE.
62249
62250 2002-12-24  Karl Berry  <karl@gnu.org>
62251
62252         * config/config.guess: update from prep.
62253
62254 2002-12-24  Bruno Haible  <bruno@clisp.org>
62255
62256         General infrasructure.
62257         * m4/README: Rewritten.
62258         * m4/onceonly.m4: New file.
62259         * m4/onceonly_2_57.m4: New file.
62260
62261         Module atexit.
62262         * m4/atexit.m4: New file.
62263
62264         Module strtod.
62265         * m4/strtod.m4: New file.
62266
62267         Module strtol.
62268         * m4/strtol.m4: New file.
62269
62270         Module strtoul.
62271         * m4/strtoul.m4: New file.
62272
62273         Module memchr.
62274         * m4/memchr.m4: New file.
62275
62276         Module memcmp.
62277         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
62278         (jm_FUNC_MEMCMP): Invoke it.
62279
62280         Module memcpy.
62281         * m4/memcpy.m4: New file.
62282
62283         Module memmove.
62284         * m4/memmove.m4: New file.
62285
62286         Module memset.
62287         * m4/memset.m4: New file.
62288
62289         Module strcspn.
62290         * m4/strcspn.m4: New file.
62291
62292         Module strpbrk.
62293         * m4/strpbrk.m4: New file.
62294
62295         Module strstr.
62296         * m4/strstr.m4: New file.
62297
62298         Module strerror.
62299         * m4/strerror.m4: New file.
62300
62301         Module mktime.
62302         * m4/mktime.m4: Renamed from jm-mktime.m4.
62303         (gl_PREREQ_MKTIME): New macro.
62304         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
62305
62306         Module malloc.
62307         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
62308         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
62309         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
62310
62311         Module realloc.
62312         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
62313         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
62314         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
62315
62316         Module strftime.
62317         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
62318         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
62319         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
62320         gl_TM_GMTOFF.
62321         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
62322
62323         Module xalloc.
62324         * m4/xalloc.m4: New file.
62325
62326         Module alloca.
62327         * m4/alloca.m4: New file.
62328
62329         Module putenv.
62330         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
62331         (jm_FUNC_PUTENV): Invoke it.
62332
62333         Module setenv.
62334         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
62335         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
62336         when invoked twice.
62337         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
62338         gt_FUNC_SETENV.
62339
62340         Module memrchr.
62341         * m4/memrchr.m4: New file.
62342
62343         Module stpcpy.
62344         * m4/stpcpy.m4: New file.
62345
62346         Module strcase.
62347         * m4/strcase.m4: New file.
62348
62349         Module strdup.
62350         * m4/strdup.m4: New file.
62351
62352         Module strnlen.
62353         * m4/strnlen.m4: New file.
62354
62355         Module strndup.
62356         * m4/strndup.m4: New file.
62357
62358         Module xstrtod.
62359         * m4/xstrtod.m4: New file.
62360
62361         Module xstrtol.
62362         * m4/xstrtol.m4: New file.
62363
62364         Module getdate.
62365         * m4/getdate.m4: New file.
62366
62367         Module unlocked-io.
62368         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
62369         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
62370         * m4/jm-glibc-io.m4n: Remove file.
62371
62372         Module long-options.
62373         * m4/long-options.m4: New file.
62374
62375         Module md5.
62376         * m4/md5.m4: New file.
62377
62378         Module sha.
62379         * m4/sha.m4: New file.
62380
62381         Module getstr.
62382         * m4/getstr.m4: New file.
62383
62384         Module getline.
62385         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
62386         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
62387         <sys/types.h>, for size_t. Use the function name gnu_getline, not
62388         simply getline. Infoke gl_PREREQ_GETLINE.
62389
62390         Module obstack.
62391         * m4/obstack.m4: New file.
62392
62393         Module hash.
62394         * m4/hash.m4: New file.
62395
62396         Module readtokens.
62397         * m4/readtokens.m4: New file.
62398
62399         Module strverscmp.
62400         * m4/strverscmp.m4: New file.
62401
62402         Module stdbool.
62403         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
62404         OSF/1.
62405
62406         Module strtoll.
62407         * m4/strtoll.m4: New file.
62408
62409         Module strtoull.
62410         * m4/strtoull.m4: New file.
62411
62412         Module strtoimax.
62413         * m4/strtoimax.m4: New file.
62414
62415         Module strtoumax.
62416         * m4/strtoumax.m4: New file.
62417
62418         Module xstrtoimax.
62419         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
62420         jm_AC_PREREQ_XSTRTOIMAX.
62421         Moved the strtol prerequisites to strtol.m4.
62422         Moved the strtoll prerequisites to strtoll.m4.
62423         Moved the strtoimax prerequisites to strtoimax.m4.
62424
62425         Module xstrtoumax.
62426         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
62427         jm_AC_PREREQ_XSTRTOUMAX.
62428         Moved the strtoul prerequisites to strtoul.m4.
62429         Moved the strtoull prerequisites to strtoull.m4.
62430         Moved the strtoumax prerequisites to strtoumax.m4.
62431
62432         Module chown.
62433         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
62434         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
62435
62436         Module dup2.
62437         * m4/dup2.m4: New file.
62438
62439         Module ftruncate.
62440         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
62441         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
62442
62443         Module getgroups.
62444         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
62445         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
62446
62447         Module gettimeofday.
62448         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
62449         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
62450         gl_PREREQ_GETTIMEOFDAY.
62451
62452         Module mkdir.
62453         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
62454         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
62455
62456         Module mkstemp.
62457         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
62458         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
62459         jm_AC_TYPE_UINTMAX_T.
62460         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
62461
62462         Module stat.
62463         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
62464         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
62465
62466         Module lstat.
62467         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
62468         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
62469
62470         Module timespec.
62471         * m4/timespec.m4 (gl_TIMESPEC): New macro.
62472         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
62473         * m4/st_mtim.m4: Indentation.
62474
62475         Module nanosleep.
62476         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
62477         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
62478         gl_PREREQ_NANOSLEEP.
62479
62480         Module regex.
62481         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
62482         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
62483         (gl_REGEX): New macro.
62484
62485         Module rename.
62486         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
62487         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
62488
62489         Module rmdir.
62490         * m4/rmdir.m4: New file.
62491
62492         Module utime.
62493         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
62494         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
62495         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
62496
62497         Module dirname.
62498         * m4/dirname.m4: New file.
62499
62500         Module getopt.
62501         * m4/getopt.m4: New file.
62502
62503         Module unistd-safer.
62504         * m4/unistd-safer.m4: New file.
62505
62506         Module fnmatch.
62507         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
62508         declaration.
62509         (gl_PREREQ_FNMATCH_EXTRA): New macro.
62510         (gl_FUNC_FNMATCH_POSIX): New macro.
62511         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
62512         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
62513         simply fnmatch.
62514
62515         Module exclude.
62516         * m4/exclude.m4: New file.
62517
62518         Module human.
62519         * m4/human.m4: New file.
62520
62521         Module acl.
62522         * m4/acl.m4: Nop.
62523
62524         Module backupfile.
62525         * m4/backupfile.m4: New file.
62526         * m4/d-ino.m4: Indentation.
62527
62528         Module fsusage.
62529         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
62530         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
62531         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
62532
62533         Module dirfd.
62534         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
62535         requirements.
62536
62537         Module euidaccess.
62538         * m4/euidaccess.m4: New file.
62539
62540         Module file-type.
62541         * m4/file-type.m4: New file.
62542
62543         Module fileblocks.
62544         * m4/fileblocks.m4: New file.
62545
62546         Module filemode.
62547         * m4/filemode.m4: New file.
62548
62549         Module isdir.
62550         * m4/isdir.m4: New file.
62551
62552         Module lchown.
62553         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
62554         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
62555
62556         Module makepath.
62557         * m4/makepath.m4: New file.
62558
62559         Module modechange.
62560         * m4/modechange.m4: New file.
62561
62562         Module mountlist.
62563         * m4/mountlist.m4: New file.
62564         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
62565         Indentation.
62566
62567         Module path-concat.
62568         * m4/path-concat.m4: New file.
62569
62570         Module pathmax.
62571         * m4/pathmax.m4: New file.
62572
62573         Module same.
62574         * m4/same.m4: New file.
62575
62576         Module save-cwd.
62577         * m4/save-cwd.m4: New file.
62578
62579         Module savedir.
62580         * m4/savedir.m4: New file.
62581
62582         Module xgetcwd.
62583         * m4/xgetcwd.m4: New file.
62584         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
62585
62586         Module xreadlink.
62587         * m4/xreadlink.m4: New file.
62588
62589         Module safe-read.
62590         * m4/safe-read.m4: New file.
62591
62592         Module safe-write.
62593         * m4/safe-write.m4: New file.
62594
62595         Module closeout.
62596         * m4/closeout.m4: New file.
62597
62598         Module stdio-safer.
62599         * m4/stdio-safer.m4: New file.
62600
62601         Module getpass.
62602         * m4/getpass.m4: New file.
62603
62604         Module getugroups.
62605         * m4/getugroups.m4: New file.
62606
62607         Module group-member.
62608         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
62609         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
62610
62611         Module idcache.
62612         * m4/idcache.m4: New file.
62613
62614         Module userspec.
62615         * m4/userspec.m4: New file.
62616
62617         Module gettime.
62618         * m4/clock_time.m4: New file.
62619         * m4/gettime.m4: New file.
62620
62621         Module settime.
62622         * m4/settime.m4: New file.
62623
62624         Module posixtm.
62625         * m4/posixtm.m4: New file.
62626
62627         Module gethostname.
62628         * m4/gethostname.m4: New file.
62629
62630         Module canon-host.
62631         * m4/canon-host.m4: New file.
62632
62633         Module gettext.
62634         * m4/codeset.m4: New file, from gettext-0.11.5.
62635         * m4/gettext.m4: New file, from gettext-0.11.5.
62636         * m4/glibc21.m4: New file, from gettext-0.11.5.
62637         * m4/iconv.m4: New file, from gettext-0.11.5.
62638         * m4/intdiv0.m4: New file, from gettext-0.11.5.
62639         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
62640         * m4/inttypes.m4: New file, from gettext-0.11.5.
62641         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
62642         * m4/isc-posix.m4: New file, from gettext-0.11.5.
62643         * m4/lcmessage.m4: New file, from gettext-0.11.5.
62644         * m4/lib-ld.m4: New file, from gettext-0.11.5.
62645         * m4/lib-link.m4: New file, from gettext-0.11.5.
62646         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
62647         * m4/progtest.m4: New file, from gettext-0.11.5.
62648         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
62649         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
62650         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
62651
62652         Module localcharset.
62653         * m4/localcharset.m4: New file.
62654
62655         Module hard-locale.
62656         * m4/hard-locale.m4: New file.
62657
62658         Module mbswidth.
62659         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
62660         onceonly macros.
62661         * m4/mbrtowc.m4: Add comment.
62662
62663         Module memcasecmp.
62664         * m4/memcasecmp.m4: New file.
62665
62666         Module memcoll.
62667         * m4/memcoll.m4: New file.
62668
62669         Module unicodeio.
62670         * m4/unicodeio.m4: New file.
62671
62672         Module rpmatch.
62673         * m4/rpmatch.m4: New file.
62674
62675         Module yesno.
62676         * m4/yesno.m4: New file.
62677
62678         Module exitfail.
62679         * m4/exitfail.m4: New file.
62680
62681         Module c-stack.
62682         * m4/c-stack.m4 (gl_C_STACK): New macro.
62683         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
62684
62685         Module error.
62686         * m4/error.m4 (gl_ERROR): New macro.
62687         (jm_PREREQ_ERROR): Use onceonly macros.
62688
62689         Module fatal.
62690         * m4/fatal.m4: New file.
62691
62692         Module getloadavg.
62693         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
62694         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
62695
62696         Module getpagesize.
62697         * m4/getpagesize.m4: New file.
62698
62699         Module getusershell.
62700         * m4/getusershell.m4: New file.
62701
62702         Module physmem.
62703         * m4/physmem.m4: New file.
62704
62705         Module posixver.
62706         * m4/posixver.m4: New file.
62707
62708         Module quotearg.
62709         * m4/quotearg.m4: New file.
62710
62711         Module quote.
62712         * m4/quote.m4: New file.
62713
62714         Module readutmp.
62715         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
62716
62717         Module sig2str.
62718         * m4/sig2str.m4: New file.
62719
62720         Other.
62721         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
62722         ulonglong.m4.
62723         * m4/intmax_t.m4: New file.
62724         * m4/d-type.m4: Indentation.
62725         * m4/jm-macros.m4: Update.
62726         * m4/prereq.m4 (jm_PREREQ): Update.
62727         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
62728         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
62729         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
62730         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
62731         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
62732         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
62733         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
62734         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
62735         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
62736         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
62737         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
62738         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
62739         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
62740         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
62741         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
62742         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
62743         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
62744         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
62745         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
62746
62747 2002-12-24  Bruno Haible  <bruno@clisp.org>
62748
62749         * MODULES.txt: Update according to m4/ changes.
62750
62751         Module gettext.
62752         * config.rpath: New file, from gettext-0.11.5.
62753
62754         * modules/*: New module descriptions.
62755         * gnulib-tool: New file.
62756         * MODULES.html.sh: New file.
62757
62758 2002-12-21  Karl Berry  <karl@gnu.org>
62759
62760         * doc/fdl.texi: update to version 1.2.
62761
62762 2002-12-19  Karl Berry  <karl@gnu.org>
62763
62764         * config/config.guess: update from prep.
62765
62766 2002-12-18  Bruno Haible  <bruno@clisp.org>
62767
62768         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
62769         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
62770
62771 2002-12-17  Bruno Haible  <bruno@clisp.org>
62772
62773         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
62774         stdlib.h, string.h.
62775
62776 2002-12-17  Bruno Haible  <bruno@clisp.org>
62777
62778         * lib/canon-host.c (strdup): Remove unused declaration.
62779
62780         * lib/fsusage.c: Include full_read.h.
62781         (get_fs_usage): Use full_read instead of safe_read.
62782
62783         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
62784
62785 2002-12-12  Karl Berry  <karl@gnu.org>
62786
62787         * config/config.guess: update from prep.
62788
62789 2002-12-11  Bruno Haible  <bruno@clisp.org>
62790
62791         * m4/setenv.m4: New file, from gettext-0.11.5.
62792
62793 2002-12-11  Bruno Haible  <bruno@clisp.org>
62794
62795         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
62796         not unsetenv().
62797         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
62798         modifications:
62799
62800         2002-12-11  Bruno Haible  <bruno@clisp.org>
62801
62802                 * setenv.c (alloca): Fall back to malloc.
62803                 (freea): New macro.
62804                 (setenv): Use freea() to free memory allocated with alloca().
62805
62806         2002-11-13  Bruno Haible  <bruno@clisp.org>
62807
62808                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
62809                 function declarations.
62810                 * unsetenv.c (unsetenv): Likewise.
62811
62812         2002-03-04  Bruno Haible  <bruno@clisp.org>
62813
62814                 Portability to AIX 4.3.3.
62815                 * unsetenv.c: New file, extracted from setenv.c.
62816                 * setenv.c: Move the unsetenv() function to unsetenv.c.
62817
62818         2001-12-20  Bruno Haible  <bruno@clisp.org>
62819
62820                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
62821                 use malloc instead. For SunOS 4.
62822
62823         2001-12-11  Bruno Haible  <bruno@clisp.org>
62824
62825                 * setenv.c: Declare alloca.
62826                 (compar_fn_t): New typedef.
62827                 (KNOWN_VALUE, STORE_VALUE): Use it.
62828
62829         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
62830         setenv.h.
62831
62832 2002-12-10  Paul Eggert  <eggert@twinsun.com>
62833
62834         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
62835         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
62836         Choose values that are less likely to collide with system fnmatch
62837         options.
62838         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
62839         defined (e.g., a pure POSIX system).
62840         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
62841         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
62842
62843 2002-12-06  Paul Eggert  <eggert@twinsun.com>
62844
62845         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
62846         a pain in practice to deal with generated m4 files.  This change
62847         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
62848
62849         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
62850         and jm-glibc-io.m4, as they are no longer a special case.
62851         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
62852         kludge and the auto-generation stuff.  Check only whether the
62853         functions are declared, not whether they exist, since older hosts
62854         that don't declare the functions can't use the optimization anyway.
62855
62856 2002-12-06  Jim Meyering  <jim@meyering.net>
62857
62858         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
62859
62860         Merge in changes from libc's misc/error.c, in preparation
62861         for the merge of gnulib's changes back into libc.
62862
62863         * lib/error.c (_): Define only if not already defined.
62864         Move definition to follow all #include directives.
62865         Include unlocked-io.h only if !_LIBC.
62866         [_LIBC]: Include <libio/libioP.h>.
62867         [USE_IN_LIBIO]: Include <libio/iolibio.h>
62868         (fflush): Tweak definition to use INTUSE.
62869         (putc): Define.
62870
62871 2002-12-05  Paul Eggert  <eggert@twinsun.com>
62872
62873         * lib/alloca.c [defined emacs]: Include "lisp.h".
62874         (xalloc_die) [defined emacs]: New macro.
62875         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
62876         [! defined emacs]: Include <xalloc.h>.
62877         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
62878         (pointer): Typedef to POINTER_TYPE *.
62879         (malloc): Remove decl; we now always use xmalloc.
62880         (alloca): Use old-style definition, since Emacs needs this.
62881         Check for arithmetic overflow when computing combined size.
62882
62883 2002-12-04  Paul Eggert  <eggert@twinsun.com>
62884
62885         Do not generate unlocked-io.h automatically, since it's easier to
62886         maintain it by hand.
62887
62888         * lib/unlocked-io.h: New file, from GNU diffutils,
62889         but with proper copyright notice and attribution.
62890         * lib/gen-uio: Remove.
62891         * lib/Makefile.am: Add copyright notice.
62892         (libfetish_a_SOURCES): Add unlocked-io.h.
62893         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
62894         (DISTCLEANFILES, io_functions): Remove macros.
62895         (EXTRA_DIST): Remove gen_uio.
62896         (unlocked-io.h): Remove rule.
62897
62898 2002-12-04  Jim Meyering  <jim@meyering.net>
62899
62900         Reflect the fact that stat.c and lstat.c are no longer generated.
62901         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
62902         (DISTCLEANFILES): Likewise.
62903         (EXTRA_DIST): Likewise.
62904         (all_local): Don't depend on stat.c or lstat.c.
62905         (stat.c, lstat.c): Remove rules.
62906         (EXTRA_DIST): Remove xstat.in.
62907
62908         * lib/xstat.in: Remove file.  Contents moved into stat.c.
62909         * lib/stat.c: New file.  Contents mostly from xstat.in.
62910         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
62911         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
62912
62913         * lib/safe-read.c: Rework so that it may serve to define safe_write,
62914         too.
62915         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
62916
62917 2002-12-03  Jim Meyering  <jim@meyering.net>
62918
62919         * lib/safe-read.c, safe-write.c: Change variable names and comments,
62920         but not semantics, to minimize the differences between these two files.
62921         (safe_read): Change comment to mention SAFE_READ_ERROR.
62922
62923         * lib/safe-read.c (IS_EINTR): Define.
62924         (safe_read): Use IS_EINTR in place of in-function cpp directives.
62925
62926 2002-12-02  Jim Meyering  <jim@meyering.net>
62927
62928         * lib/safe-read.c (EINTR): Define.
62929         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
62930         (INT_MAX): Provide fallback.
62931         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
62932
62933         * lib/safe-read.h (SAFE_READ_ERROR): Define.
62934
62935 2002-12-02  Bruno Haible  <bruno@clisp.org>
62936
62937         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
62938         Define, taken from safe-read.c.
62939         (INT_MAX): Provide fallback.
62940         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
62941         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
62942
62943         * lib/safe-read.c (EINTR): Remove definition.
62944         (safe_read): Don't use EINTR if it is absent.
62945
62946 2002-12-01  Jim Meyering  <jim@meyering.net>
62947
62948         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
62949         zero.
62950         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
62951
62952 2002-11-27  Paul Eggert  <eggert@twinsun.com>
62953
62954         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
62955         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
62956         with `if (! (value < limit)) abort ();', for readability.
62957
62958 2002-11-26  Karl Berry  <karl@gnu.org>
62959
62960         * lib/strdup.c: copy from libc again, with jim's ok.
62961         * lib/.cppi-disable: re-add strdup.c
62962
62963 2002-11-25  Karl Berry  <karl@gnu.org>
62964
62965         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
62966         instead of "strtol.c".
62967
62968 2002-11-25  Karl Berry  <karl@gnu.org>
62969
62970         * config/install-sh: update from automake for variable quoting, $0 in
62971         error msgs, etc.
62972
62973         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
62974         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
62975         entry.
62976
62977 2002-11-25  Jim Meyering  <jim@meyering.net>
62978
62979         * lib/mktime.c: Sync from libc, now that it has the latest fix.
62980
62981 2002-11-24  Karl Berry  <karl@gnu.org>
62982
62983         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
62984         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
62985
62986 2002-11-24  Jim Meyering  <jim@meyering.net>
62987
62988         Update from coreutils:
62989
62990         * lib/mktime.c: Merge in changes from libc.
62991
62992         Avoid a link-time failure on some Linux systems.
62993         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
62994         (otherwise).
62995         (__mon_yday): Declare with the STATIC attribute.
62996         (__mktime_internal): Likewise.
62997         Based on a report from Greg Schafer.
62998
62999 2002-11-23  Jim Meyering  <jim@meyering.net>
63000
63001         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
63002         Use `unsigned', not `int', as type of index.
63003
63004         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
63005
63006         * lib/fsusage.c: Remove unneeded parentheses around operands of
63007         `defined'.
63008
63009 2002-11-22  Paul Eggert  <eggert@twinsun.com>
63010
63011         * lib/quotearg.h: Allow multiple inclusion by surrounding with
63012         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
63013         so that we can be included first.
63014         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
63015         * lib/quotearg.c: Include quotearg.h immediately after config.h.
63016         No need to include stddef.h or sys/types.h any more.
63017         Surround local include files with "", not "<>".
63018         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
63019         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
63020         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
63021         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
63022         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
63023         (ISPRINT): Remove; no longer needed now that we assume C89.
63024
63025         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
63026         Preserve errno.
63027
63028         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
63029         quotearg_char): Use SIZE_MAX rather than
63030         (size_t) -1 when we are talking about "infinity".
63031
63032         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
63033
63034 2002-11-22  Paul Eggert  <eggert@twinsun.com>
63035
63036         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
63037         hint that one should use `if (! x) abort ();' rather than `assert
63038         (x);', and anyway it's one less thing to worry about configuring.
63039         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
63040         hash_rehash, hash_insert): Use abort rather than assert.
63041
63042 2002-11-22  Bruno Haible  <bruno@clisp.org>
63043
63044         * lib/safe-read.h: Assume C89. Add comments.
63045         (safe_read): Change return type to size_t.
63046         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
63047         byte counts > SSIZE_MAX correctly.
63048         * lib/safe-write.h: New file.
63049         * lib/safe-write.c: New file.
63050         * lib/full-read.h: New file.
63051         * lib/full-read.c: New file.
63052         * lib/full-write.h: Assume C89. Add comments.
63053         * lib/full-write.c: Include safe-write.h.
63054         (full_write): Rewritten to use safe_write.
63055         Suggested by Jim Meyering and Paul Eggert.
63056
63057 2002-11-21  Jim Meyering  <jim@meyering.net>
63058
63059         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
63060
63061         Merge in changes from the coreutils.
63062
63063         2002-09-25  Paul Eggert  <eggert@twinsun.com>
63064         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
63065         <stdint.h>.
63066         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
63067         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
63068         int.  Work more efficiently if X is the same width as uintmax_t.
63069         Do not compare X to -1, to avoid bogus compiler warning.
63070         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
63071         Don't assume that f_frsize and f_bsize are the same type.
63072
63073         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
63074         warning on FreeBSD.
63075
63076         * lib/makepath.c (make_path): Restore umask *before* creating the final
63077         component.
63078         (make_path): Minor reformatting.
63079
63080         * lib/xmalloc.c: Adjust to work with new autoconf macros,
63081         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
63082         HAVE_MALLOC/HAVE_REALLOC.
63083
63084         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
63085         dummy ones.  At least on GNU/Linux systems, `auto' means something
63086         else.
63087         From Michael Stone.
63088
63089 2002-11-21  Bruno Haible  <bruno@clisp.org>
63090
63091         Remove case insensitive option matching.
63092         * lib/argmatch.h (argcasematch): Remove declaration.
63093         (ARGCASEMATCH): Remove macro.
63094         (__xargmatch_internal): Remove case_sensitive argument.
63095         (XARGMATCH): Update.
63096         (XARGCASEMATCH): Remove macro.
63097         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
63098         case_sensitive argument.
63099         (argcasematch): Remove function.
63100         (__xargmatch_internal): Remove case_sensitive argument.
63101         (main): Use XARGMATCH instead of XARGCASEMATCH.
63102
63103         * lib/xmalloc.c: Change compile-time error message. Add comment about
63104         required autoconf version.
63105
63106 2002-11-20  Paul Eggert  <eggert@twinsun.com>
63107
63108         Merge argmatch cleanups from Bison.  Assume C89.
63109
63110         * lib/argmatch.c: Include config.h here, not in argmatch.h.
63111         Include stdlib.h, for EXIT_FAILURE.
63112         Always include <string.h>, since we assume C89.
63113         (EXIT_FAILURE): Remove pre-C89 bug workaround.
63114         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
63115         Include <stddef.h> instead, since it's all we need for size_t.
63116         (PARAMS): Remove.  All uses removed.
63117         (ARRAY_CARDINALITY): Do not bother to #undef.
63118         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
63119         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
63120         Remove unnecessary parentheses.
63121         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
63122         Insert necessary parentheses.
63123         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
63124         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
63125
63126 2002-11-19  Bruno Haible  <bruno@clisp.org>
63127
63128         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
63129         * lib/mbswidth.h: Include <stddef.h>, for size_t.
63130
63131         * lib/mbswidth.h (PARAMS): Remove macro.
63132         (mbswidth, mbsnwidth): Use ANSI C function declarations.
63133         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
63134
63135         * lib/gcd.h (PARAMS): Remove macro.
63136         (gcd): Use ANSI C function declarations.
63137         * lib/gcd.c (gcd): Likewise.
63138
63139 2002-11-15  Bruno Haible  <bruno@clisp.org>
63140
63141         * lib/strcspn.c: Include <stddef.h>.
63142         (strcspn): Use ANSI C function declaration. Change return type to
63143         size_t. Use NULL.
63144         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
63145         (strpbrk): Use NULL.
63146         * lib/strpbrk.h (PARAMS): Remove macro.
63147         (strpbrk): Use ANSI C function declaration.
63148         * lib/strstr.c: Don't include <sys/types.h>.
63149         * lib/strstr.h (PARAMS): Remove macro.
63150         (strstr): Use ANSI C function declarations.
63151
63152 2002-11-14  Karl Berry  <karl@gnu.org>
63153
63154         * config/mkinstalldirs: `do' on separate line, instead of
63155         `for var; do'.
63156
63157 2002-11-06  Bruno Haible  <bruno@clisp.org>
63158
63159         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
63160         * lib/gcd.c (gcd): Likewise.
63161
63162 2002-11-05  Bruno Haible  <bruno@clisp.org>
63163
63164         * lib/gcd.h: New file, from gettext-0.11.5.
63165         * lib/gcd.c: New file, from gettext-0.11.5.
63166
63167 2002-11-05  Bruno Haible  <bruno@clisp.org>
63168
63169         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63170         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63171         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63172         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63173
63174         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
63175         <libintl.h>.
63176         * lib/makepath.c: Include gettext.h instead of <locale.h> and
63177         <libintl.h>.
63178
63179         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
63180         * lib/human.c: Include gettext.h instead of <libintl.h>.
63181         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
63182         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
63183         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
63184         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
63185         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
63186         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
63187         (textdomain): Remove definition.
63188         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
63189
63190         * lib/long-options.c: Remove include of <libintl.h> and definition of
63191         _.
63192         * lib/same.c: Remove include of <libintl.h> and definition of _.
63193
63194 2002-11-04  Owen Taylor  <otaylor@redhat.com>
63195
63196         * lib/config.charset: A few additions for Solaris.
63197
63198 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
63199
63200         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
63201         * lib/localcharset.c (locale_charset): Declare as extern "C".
63202
63203 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
63204
63205         * lib/config.charset: msdos in uk_UA uses CP1125.
63206
63207 2002-11-04  Bruno Haible  <bruno@clisp.org>
63208
63209         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
63210         * lib/strcase.h: New file, from GNU gettext-0.11.5.
63211         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
63212         * lib/strstr.h: New file, from GNU gettext-0.11.5.
63213         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
63214
63215 2002-11-04  Bruno Haible  <bruno@clisp.org>
63216
63217         * lib/localcharset.c (locale_charset): Don't return an empty string.
63218
63219 2002-11-04  Bruno Haible  <bruno@clisp.org>
63220
63221         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
63222         aliases.
63223
63224 2002-11-04  Bruno Haible  <bruno@clisp.org>
63225
63226         * lib/config.charset: Update for newest glibc. Add canonical names
63227         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
63228
63229 2002-11-04  Bruno Haible  <bruno@clisp.org>
63230
63231         * lib/config.charset: Add support for NetBSD.
63232
63233 2002-11-04  Bruno Haible  <bruno@clisp.org>
63234
63235         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
63236
63237 2002-11-01  Bruno Haible  <bruno@clisp.org>
63238
63239         * configure.in: Add AC_CONFIG_AUX_DIR call.
63240         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
63241         test/Makefile.
63242         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
63243
63244 2002-09-28  Karl Berry  <karl@gnu.org>
63245
63246         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
63247         installed automake until the next release, since changes have been
63248         made.
63249
63250 2002-09-25  Karl Berry  <karl@gnu.org>
63251
63252         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
63253         * lib/getopt*: copy from libc/posix.
63254         * lib/gettext.h: copy from gettext.
63255         * lib/.cppi-disable: add strdup.c, gettext.h.
63256
63257 2002-09-25  Karl Berry  <karl@gnu.org>
63258
63259         * config/srclist.txt: enable gettext.h check.
63260         * config/config.{guess,sub}: update from prep.
63261         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
63262                 from automake 1.6.3.
63263         See srclist*.
63264
63265 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
63266
63267         * regex.c (PATFETCH): Remove the translating fetch.
63268         (PATFETCH_RAW): Rename to PATFETCH.
63269         (set_image_of_range): New fun.
63270         (SET_RANGE_TABLE_WORK_AREA): Use it.
63271         (regex_compile): Don't translate the pattern chars so eagerly.
63272         Only do it when inserting an `exactn' bytecode or when handling
63273         a char-range.
63274         (mutually_exclusive_p): Avoid empty statement.
63275
63276 2002-07-06  Jim Meyering  <meyering@lucent.com>
63277
63278         * m4/README: Don't mention Makefile.am.in.
63279         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
63280
63281 2002-07-01  Jim Meyering  <meyering@lucent.com>
63282
63283         * lib/c-stack.c: Include sys/time.h.
63284         From Volker Borchert.
63285
63286 2002-06-26  Paul Eggert  <eggert@twinsun.com>
63287
63288         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
63289
63290 2002-06-26  Paul Eggert  <eggert@twinsun.com>
63291
63292         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
63293         New macro.  Use it uniformly instead of
63294         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
63295         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
63296         reported by Vin Shelton.
63297
63298 2002-06-22  Paul Eggert  <eggert@twinsun.com>
63299
63300         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
63301         Do not assume SA_SIGINFO behavior.
63302         Bug reported by Jim Meyering on NetBSD 1.5.2.
63303
63304 2002-06-22  Jim Meyering  <meyering@lucent.com>
63305
63306         * m4/c-stack.m4: New file, from diffutils-2.8.2.
63307         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
63308
63309         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
63310         now that configure.ac uses AC_GNU_SOURCE.
63311         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
63312         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
63313
63314         Update to latest tools.  Suggestions from Paul Eggert.
63315         * m4/stdbool.m4: New file, from diffutils-2.8.2.
63316         * m4/gnu-source.m4: Update from diffutils-2.8.2.
63317         * m4/fnmatch.m4: Likewise.
63318         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
63319         to AC_HEADER_STDBOOL
63320
63321 2002-06-22  Jim Meyering  <meyering@lucent.com>
63322
63323         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
63324         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
63325
63326 2002-06-22  Jim Meyering  <meyering@lucent.com>
63327
63328         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
63329
63330         * lib/exitfail.c, exitfail.h: Likewise.
63331         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
63332
63333         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
63334         of fnmatch.h.
63335         (EXTRA_DIST): Add fnmatch_loop.c.
63336         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
63337
63338         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
63339         * lib/fnmatch.c: Update from diffutils-2.8.2.
63340         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
63341         * lib/fnmatch.h: Remove file.
63342
63343 2002-06-21  Jim Meyering  <meyering@lucent.com>
63344
63345         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
63346         * m4/mbrtowc.m4: Likewise.
63347
63348         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
63349         * m4/mbswidth.m4: Reflect name change:
63350         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
63351         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63352
63353         * m4/lib-link.m4: Update from gettext-0.11.2.
63354         * m4/gettext.m4: Likewise.
63355
63356         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
63357         From Alfred M. Szmidt.
63358
63359 2002-06-18  Paul Eggert  <eggert@twinsun.com>
63360
63361         * lib/file-type.h: Report an error if neither S_ISREG nor
63362         S_IFREG is defined, instead of using a test specific to glibc
63363         2.2.  This should be safe, since POSIX requires S_ISREG and
63364         Unix Version 7 had S_IFREG.  We don't need to check for
63365         <sys/types.h> since we don't use any symbols that it defines.
63366
63367 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
63368
63369         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
63370         $@-t, so that each temporary file name is unique and valid in the first
63371         8 characters, for operation under DOS.
63372
63373 2002-06-15  Paul Eggert  <eggert@twinsun.com>
63374
63375         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
63376
63377 2002-06-15  Jim Meyering  <meyering@lucent.com>
63378
63379         Work even with DJGPP 2.03, which lacks support for symlinks.
63380         From Richard Dawe.
63381         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
63382         is defined.
63383         * lib/lchown.c (S_ISLNK): Likewise.
63384
63385 2002-06-15  Jim Meyering  <meyering@lucent.com>
63386
63387         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
63388         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
63389         have been included before this file.
63390
63391 2002-06-14  Jim Meyering  <meyering@lucent.com>
63392
63393         * lib/file-type.h: Use the version from diffutils-2.8.2.
63394         * lib/file-type.c: Likewise.
63395
63396 2002-06-07  Jim Meyering  <meyering@lucent.com>
63397
63398         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
63399         They're needed at least for NetBSD 1.5.2.
63400         ($statxfs_includes): Include those same headers.
63401         ($statxfs_includes): Include sys/vfs.h if available.
63402         ($statxfs_includes): Likewise for sys/statvfs.h.
63403         Check for the following members in both structs statfs and statvfs:
63404         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
63405
63406 2002-06-01  Jim Meyering  <meyering@lucent.com>
63407
63408         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
63409         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
63410
63411 2002-05-28  Jim Meyering  <meyering@lucent.com>
63412
63413         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
63414         Reported by Volker Borchert.
63415
63416 2002-05-27  Jim Meyering  <meyering@lucent.com>
63417
63418         Fix a problem seen only on nonconforming systems whereby ls.c's
63419         use of localtime, and then of gettimeofday would cause trouble:
63420         the localtime call used to initialize rpl_gettimeofday's save
63421         mechanism would clobber ls's current local time information so
63422         that in any long listing the first file would always be listed
63423         with date 1970-01-01.  Analysis by Volker Borchert.
63424
63425         * lib/gettimeofday.c (localtime): Undefine.
63426         (rpl_localtime): New function.
63427
63428 2002-05-27  Jim Meyering  <meyering@lucent.com>
63429
63430         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
63431         localtime.
63432
63433         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
63434         use the replacement function; it wouldn't resolve at link time.
63435         Reported by Volker Borchert.
63436
63437 2002-05-22  Jim Meyering  <meyering@lucent.com>
63438
63439         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
63440         file-type.h.
63441         * lib/file-type.h: New file.
63442         * lib/file-type.c (file_type): New file/function.  Extracted from
63443         diffutils.
63444
63445 2002-04-30  Jim Meyering  <meyering@lucent.com>
63446
63447         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
63448
63449 2002-04-29  Paul Eggert  <eggert@twinsun.com>
63450
63451         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
63452
63453 2002-04-29  Paul Eggert  <eggert@twinsun.com>
63454
63455         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
63456         Do not check for alloca.h (no longer used) or stdbool.h (was never
63457         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
63458
63459 2002-04-29  Paul Eggert  <eggert@twinsun.com>
63460
63461         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
63462
63463 2002-04-29  Jim Meyering  <meyering@lucent.com>
63464
63465         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
63466         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
63467         Use AC_FUNC_STRNLEN here instead.
63468
63469         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
63470         With autoconf-2.53a, it's part of AC_PROG_CC.
63471
63472 2002-04-28  Paul Eggert  <eggert@twinsun.com>
63473
63474         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
63475         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
63476
63477 2002-04-28  Paul Eggert  <eggert@twinsun.com>
63478
63479         * lib/sig2str.h, lib/sig2str.c: New files.
63480         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
63481
63482 2002-04-28  Paul Eggert  <eggert@twinsun.com>
63483
63484         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
63485         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
63486         of 127, since 64 is the largest conceivable number for ancient
63487         nonstandard hosts.
63488         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
63489
63490 2002-04-28  Jim Meyering  <meyering@lucent.com>
63491
63492         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
63493
63494 2002-04-24  Jim Meyering  <meyering@lucent.com>
63495
63496         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
63497         (jm_PREREQ): Use it.
63498
63499         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
63500         mach/mach.h fcntl.h.
63501         Check for this function: setlocale.
63502
63503 2002-04-24  Jim Meyering  <meyering@lucent.com>
63504
63505         * lib/gettext.h: New file, from Gettext.
63506         * lib/Makefile.am (INCLUDES): Remove -I../intl.
63507         (libfetish_a_SOURCES): Add gettext.h.
63508
63509 2002-04-16  Jim Meyering  <meyering@lucent.com>
63510
63511         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
63512         ut_pid, ut_id, ut_exit.
63513
63514 2002-04-16  Jim Meyering  <meyering@lucent.com>
63515
63516         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
63517         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
63518         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
63519
63520 2002-04-12  Jim Meyering  <meyering@lucent.com>
63521
63522         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
63523         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
63524         existence of the getmntinfo function.  Needed for Darwin 5.3.
63525
63526         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
63527         This is necessary at least on Darwin 5.3.
63528
63529         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
63530         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
63531         strnlen.o in the library, and that makes some versions of ranlib
63532         object.
63533
63534 2002-04-12  Jim Meyering  <meyering@lucent.com>
63535
63536         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
63537
63538 2002-04-09  Jim Meyering  <meyering@lucent.com>
63539
63540         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
63541         to be more precise.  Rather than saying we're checking whether the
63542         function `works', say what we're testing.
63543         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
63544         Reported by Bruno Haible.
63545
63546 2002-03-10  Jim Meyering  <meyering@lucent.com>
63547
63548         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
63549         Suggestion from Santiago Vila.
63550
63551 2002-03-08  Jim Meyering  <meyering@lucent.com>
63552
63553         * lib/rename.c: Mention that this wrapper is needed also on
63554         mips-dec-ultrix4.4 systems.
63555
63556 2002-03-02  Jim Meyering  <meyering@lucent.com>
63557
63558         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
63559         not HAVE_CLOCK_SETTIME.
63560
63561 2002-02-27  Paul Eggert  <eggert@twinsun.com>
63562
63563         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
63564         Check for clock_settime.
63565
63566 2002-02-27  Paul Eggert  <eggert@twinsun.com>
63567
63568         * lib/nanosleep.h: Rename to....
63569         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
63570
63571         * lib/gettime.c: New file.
63572         * lib/settime.c: New file.
63573         * lib/stime.c: Remove.
63574
63575         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
63576         timespec.h.  Remove nanosleep.h.
63577
63578 2002-02-25  Paul Eggert  <eggert@twinsun.com>
63579
63580         * m4/acl.m4: New file.
63581         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
63582         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
63583
63584 2002-02-25  Paul Eggert  <eggert@twinsun.com>
63585
63586         * lib/acl.c, lib/acl.h: New files.
63587         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
63588
63589 2002-02-24  Jim Meyering  <meyering@lucent.com>
63590
63591         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
63592         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
63593         cause trouble.  Reported by Nelson Beebe.
63594
63595 2002-02-23  Paul Eggert  <eggert@twinsun.com>
63596
63597         * lib/path-concat.c (xpath_concat): Reorder code to pacify
63598         compilers that don't know that xalloc_die never returns.
63599
63600 2002-02-20  Jim Meyering  <meyering@lucent.com>
63601
63602         * lib/getdate.c: Regenerate using bison-1.33.
63603
63604 2002-02-17  Jim Meyering  <meyering@lucent.com>
63605
63606         * config/config.guess (main): Don't use `head -1'; it's no longer
63607         portable. Use `sed 1q' instead.
63608
63609 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
63610
63611         * m4/codeset.m4: Upgrade to gettext-0.11.
63612         * m4/gettext.m4: Upgrade to gettext-0.11.
63613         * m4/glibc21.m4: Upgrade to gettext-0.11.
63614         * m4/iconv.m4: Upgrade to gettext-0.11.
63615         * m4/isc-posix.m4: Upgrade to gettext-0.11.
63616         * m4/lcmessage.m4: Upgrade to gettext-0.11.
63617         * m4/lib-ld.m4: New file, from gettext-0.11.
63618         * m4/lib-link.m4: New file, from gettext-0.11.
63619         * m4/lib-prefix.m4: New file, from gettext-0.11.
63620         * m4/progtest.m4: Upgrade to gettext-0.11.
63621
63622 2002-02-15  Paul Eggert  <eggert@twinsun.com>
63623
63624         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
63625         (jm_PREREQ): Use it.
63626
63627 2002-02-15  Paul Eggert  <eggert@twinsun.com>
63628
63629         * lib/posixver.c, lib/posixver.h: New files.
63630         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
63631
63632 2002-02-02  Paul Eggert  <eggert@twinsun.com>
63633             Bruno Haible  <bruno@clisp.org>
63634
63635         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
63636         (fwrite_success_callback): New declaration.
63637         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
63638         print_unicode_char. Call failure callback instead of error.
63639         (fwrite_success_callback): New function.
63640         (exit_failure_callback): New function.
63641         (fallback_failure_callback): New function.
63642         (print_unicode_char): Call unicode_to_mb.
63643
63644 2002-01-26  Jim Meyering  <meyering@lucent.com>
63645
63646         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
63647         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
63648
63649 2002-01-26  Jim Meyering  <meyering@lucent.com>
63650
63651         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
63652
63653 2002-01-22  Paul Eggert  <eggert@twinsun.com>
63654
63655         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
63656
63657 2002-01-22  Jim Meyering  <meyering@lucent.com>
63658
63659         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
63660         Otherwise, some versions of automake would omit the rule that makes
63661         Makefile from Makefile.in.
63662
63663 2002-01-21  Paul Eggert  <eggert@twinsun.com>
63664
63665         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
63666         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
63667         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
63668         (memcoll): Set errno to zero if there is no error.
63669
63670         * lib/quotearg.c (quotearg_buffer_restyled):
63671         Fix bug with quoting buffers containing NUL when backslashing escapes.
63672         This bug was exposed by the other changes in this patch.
63673         (quotearg_n_options): New arg ARGSIZE.
63674         All callers changed.
63675         (quoting_options_from_style): New function.
63676         (quotearg_n_style): Use it.
63677         (quotearg_n_style_mem): New function.
63678
63679         * lib/quotearg.h (quotearg_n_style_mem): New function.
63680
63681 2002-01-19  Jim Meyering  <meyering@lucent.com>
63682
63683         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
63684         Remove useless quotes: DF_PROG="df".
63685         * m4/strnlen.m4: New file.
63686
63687 2002-01-16  Paul Eggert  <eggert@twinsun.com>
63688
63689         * lib/backupfile.c (ISDIGIT): Comment fix.
63690         * lib/getdate.y (ISDIGIT): Likewise.
63691         * lib/posixtm.c (ISDIGIT, year): Likewise.
63692         * lib/strverscmp.c (ISDIGIT): Likewise.
63693         * lib/userspec.c (ISDIGIT): Likewise.
63694
63695 2002-01-16  Jim Meyering  <meyering@lucent.com>
63696
63697         * lib/getdate.y: Add three semicolons, each just before a closing
63698         brace. Bison (as of version 1.31) no longer papers over that mistake.
63699
63700 2002-01-05  Jim Meyering  <meyering@lucent.com>
63701
63702         * lib/version-etc.c (version_etc_copyright): Update copyright year.
63703
63704 2001-12-19  Paul Eggert  <eggert@twinsun.com>
63705
63706         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
63707         not silently exit merely because the output buffer happens to
63708         have nothing pending.
63709
63710 2001-12-18  Paul Eggert  <eggert@twinsun.com>
63711
63712         See the big note in ../ChangeLog.
63713         * lib/human.c (suffixes): Prefer K to k for 1024.
63714         (generate_suffix_backwards): New function.
63715         (human_readable_inexact): Use it.
63716         * lib/xstrtol.c (__xstrtol): If there is no number but there
63717         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
63718         Accept 'K' as well as 'k'.
63719
63720 2001-12-15  Jim Meyering  <meyering@lucent.com>
63721
63722         * lib/regex.h (__restrict_arr): Update from libc.
63723
63724         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
63725         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
63726         (STREQ): Define.
63727
63728 2001-12-14  Jim Meyering  <meyering@lucent.com>
63729
63730         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
63731         Suggestion from Bruno Haible.
63732
63733 2001-12-10  Jim Meyering  <meyering@lucent.com>
63734
63735         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
63736         xrealloc, Instead, include "xalloc.h".
63737         (initbuffer): Don't cast xmalloc return value to char*.
63738         (readline): Reword comment.
63739         Don't cast xrealloc return value to char*
63740         Return NULL, not 0.
63741
63742 2001-12-09  Jim Meyering  <meyering@lucent.com>
63743
63744         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
63745         about `signed and unsigned type in conditional expression'.
63746         * lib/posixtm.c (posix_time_parse): Likewise.
63747
63748         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
63749
63750         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
63751         to avoid a pedantic warning.
63752
63753         * lib/getstr.c: Don't include assert.h.
63754         (getstr): Remove warning-evoking assertions.
63755         Return -1 if offset parameter is out of bounds.
63756         Change the type of a local from int to size_t.
63757
63758         * lib/strftime.c (my_strftime_localtime_r): Include this function
63759         definition in the `#if ! HAVE_TM_GMTOFF' block.
63760
63761         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
63762         Include xalloc.h instead.
63763
63764 2001-12-02  Jim Meyering  <meyering@lucent.com>
63765
63766         * lib/tempname.c: Don't declare getenv, thus reverting the change of
63767         2001-11-18.  It's no longer necessary, now that stdlib.h is always
63768         included.
63769
63770         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
63771         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
63772
63773 2001-11-30  Akim Demaille  <akim@epita.fr>
63774
63775         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
63776         before being defined.
63777
63778 2001-11-27  Paul Eggert  <eggert@twinsun.com>
63779
63780         * lib/quotearg.h (quotearg_n, quotearg_n_style):
63781         First arg is int, not unsigned.
63782         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
63783         (SIZE_MAX, UINT_MAX): New macros.
63784         (quotearg_n_options): Abort if N is negative.
63785         Avoid overflow check on hosts where size_t is 64 bits and int
63786         is 32 bits, as overflow is impossible there.
63787         Fix off-by-one typo that caused unnecessary reallocation.
63788
63789 2001-11-27  Jim Meyering  <meyering@lucent.com>
63790
63791         * lib/tempname.c: Merge with version from libc.
63792         * lib/regex.c: Likewise.
63793
63794         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
63795         systems for which STDC_HEADERS is 0, it was not included, resulting in
63796         a warning about an integer-to-pointer conversion problem with getenv.
63797         Reported by Volker Borchert.
63798
63799 2001-11-26  Jim Meyering  <meyering@lucent.com>
63800
63801         * lib/gtod.h: Remove file.
63802         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
63803         * lib/gettimeofday.c: Don't include gtod.h.
63804         (GTOD_init): Remove function.
63805         (rpl_gettimeofday): Do its job here instead, rather than aborting.
63806         Suggestion from Volker Borchert.
63807
63808 2001-11-23  Jim Meyering  <meyering@lucent.com>
63809
63810         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
63811         it.
63812         * lib/hash.c (struct hash_table): Define it here instead.
63813
63814 2001-11-22  Jim Meyering  <meyering@lucent.com>
63815
63816         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
63817
63818 2001-11-20  Jim Meyering  <meyering@lucent.com>
63819
63820         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
63821         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
63822
63823 2001-11-19  Jim Meyering  <meyering@lucent.com>
63824
63825         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
63826         directory.  Use "conftestXXXXXX" as the template.
63827         Suggestion from Paul Eggert.
63828
63829         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
63830         immediately, so the test doesn't mistakenly hit the max-open-files
63831         limit.
63832
63833 2001-11-18  Paul Eggert  <eggert@twinsun.com>
63834
63835         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
63836         (TEMPORARIES): New macro.
63837         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
63838         removes an artificial limitation (e.g. HP-UX 10.20, where
63839         TMP_MAX is 17576).
63840
63841 2001-11-18  Jim Meyering  <meyering@lucent.com>
63842
63843         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
63844
63845 2001-11-18  Jim Meyering  <meyering@lucent.com>
63846
63847         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
63848         on SunOS 4.
63849
63850         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
63851         files will be created before anything else.
63852
63853 2001-11-17  Paul Eggert  <eggert@twinsun.com>
63854
63855         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
63856         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
63857
63858 2001-11-17  Jim Meyering  <meyering@lucent.com>
63859
63860         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
63861         Prompted by a report from Bob Proulx.
63862
63863         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
63864         Instead, require UTILS_FUNC_MKSTEMP.
63865
63866 2001-11-17  Jim Meyering  <meyering@lucent.com>
63867
63868         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
63869         Now, that's done as part of AC_FUNC_STRTOD.
63870
63871 2001-11-17  Jim Meyering  <meyering@lucent.com>
63872
63873         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
63874         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
63875         rather than group writable.  Patch by Juan F. Codagnone.
63876
63877         * lib/readtokens.c: Remove explicit declarations of xmalloc and
63878         xrealloc, Instead, include "xalloc.h".
63879
63880         * lib/mountlist.c: Include unlocked-io.h after all system headers.
63881         Remove explicit declarations of xmalloc, xrealloc,
63882         and xstrdup.  Instead, include "xalloc.h".
63883
63884         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
63885         unlocked-io.h.
63886         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
63887         Likewise.
63888         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
63889
63890         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
63891         Reported by Padraig Brady.
63892
63893         * lib/mkstemp.c: #undef mkstemp.
63894         Include config.h.
63895         (rpl_mkstemp): Rename from mkstemp.
63896         Protoize.
63897
63898 2001-11-16  Jim Meyering  <meyering@lucent.com>
63899
63900         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
63901         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
63902         determine the amount of total physical memory, use pstat_getstatic.
63903         HPUX-11 doesn't define _SC_PHYS_PAGES.
63904         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
63905         If sysconf couldn't be used to determine the amount of available
63906         physical memory, use both pstat_getstatic and pstat_getdynamic.
63907         Based on a patch from Bob Proulx.
63908
63909 2001-11-10  Jim Meyering  <meyering@lucent.com>
63910
63911         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
63912         (jm_PREREQ): Use it.
63913
63914 2001-11-09  Jim Meyering  <meyering@lucent.com>
63915
63916         * m4/jm-macros.m4: Require autoconf-2.52f.
63917         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
63918         Use these AC_-prefixed names, not the AM_-prefixed ones.
63919
63920         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
63921
63922 2001-11-05  Jim Meyering  <meyering@lucent.com>
63923
63924         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
63925
63926 2001-11-04  Jim Meyering  <meyering@lucent.com>
63927
63928         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
63929         $DEFS.
63930
63931 2001-11-03  Jim Meyering  <meyering@lucent.com>
63932
63933         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
63934         of AC_DEFUN.
63935
63936         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
63937         know the name of the variable in the macro definition.
63938
63939 2001-11-03  Jim Meyering  <meyering@lucent.com>
63940
63941         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
63942         in argmatch_to_argument call.
63943
63944         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
63945         argument.
63946
63947         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
63948         e.g., a fault due to an attempt to free a NULL pointer.
63949
63950 2001-11-01  Jim Meyering  <meyering@lucent.com>
63951
63952         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
63953         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
63954
63955 2001-11-01  Jim Meyering  <meyering@lucent.com>
63956
63957         * lib/dirfd.c, lib/dirfd.h: New files.
63958         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
63959
63960         * lib/hash.c (hash_print) [TESTING]: Clean up.
63961
63962 2001-10-22  Paul Eggert  <eggert@twinsun.com>
63963
63964         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
63965         to avoid a warning if -Wall.
63966
63967 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
63968
63969         * README: New file
63970         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
63971         (per RMS's instructions, this is now the canonical source)
63972         * lgpl/, gpl/: New directories.
63973
63974 2001-10-21  Paul Eggert  <eggert@twinsun.com>
63975
63976         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
63977
63978 2001-10-21  Jim Meyering  <meyering@lucent.com>
63979
63980         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
63981         this code would end up calling gettext even in packages built
63982         with --disable-nls.
63983         * lib/getopt.c (_): Likewise.
63984         * lib/regex.c (_): Likewise.
63985
63986 2001-10-20  Paul Eggert  <eggert@twinsun.com>
63987
63988         * m4/error.m4 (jm_PREREQ_ERROR):
63989         Do not invoke AC_CHECK_FUNCS with strerror_r, as
63990         AC_FUNC_STRERROR_R does that.
63991         Check for strerror declaration.
63992
63993         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
63994         are supposed to have them these days.
63995         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
63996         Merge changes from latest Autoconf CVS.
63997         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
63998         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
63999         POSIX decided to standardize on the int flavor of strerror_r.
64000
64001 2001-10-20  Paul Eggert  <eggert@twinsun.com>
64002
64003         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
64004         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
64005         Use strerror_r that is only a macro, even if it is not a function.
64006         (strerror): Check for HAVE_DECL_STRERROR before declaring.
64007         (private_strerror): Use prototypes, not old-style function definition.
64008         (print_errno_message): New function.
64009         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
64010         char*-flavored one.
64011         (error_tail, error, error_at_line): Use it.
64012
64013 2001-10-11  Jim Meyering  <meyering@lucent.com>
64014
64015         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
64016         and quote_n (1, ... to avoid clobbering a buffer.
64017
64018 2001-10-05  Jim Meyering  <meyering@lucent.com>
64019
64020         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
64021         hash-pjw.h.
64022         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
64023         * lib/hash-pjw.h: New file.
64024
64025 2001-09-30  Jim Meyering  <meyering@lucent.com>
64026
64027         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
64028         `struct fsstat' has the `f_fstypename' member.
64029         Use that to define FS_TYPE, which is now used to make
64030         the getfsstat link test tighter.
64031
64032 2001-09-30  Jim Meyering  <meyering@lucent.com>
64033
64034         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
64035         Include <sys/ucred.h>, for Apple Darwin.
64036         Include sys/mount.h and sys/fs_types.h only if available.
64037         (FS_TYPE): Define.
64038         (read_filesystem_list): Use FS_TYPE.
64039
64040 2001-09-29  Paul Eggert  <eggert@twinsun.com>
64041
64042         * lib/exclude.c (excluded_filename): 0 -> false, since it's
64043         a boolean context.
64044
64045 2001-09-29  Jim Meyering  <meyering@lucent.com>
64046
64047         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
64048         [one-argument getmntent function]): Include stdio.h before mntent.h.
64049         SunOS 4.1.x needs it for the declaration of `FILE'.
64050         Patch by Volker Borchert.
64051
64052         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
64053         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
64054         sys/fs_types.h, and make the link-test for getfsstat guard #include
64055         directives with appropriate #if HAVE_*_H tests so that we can
64056         detect getfsstat on Apple Darwin1.3.7 systems.
64057         Reported by Nelson Beebe.
64058         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
64059
64060 2001-09-28  Paul Eggert  <eggert@twinsun.com>
64061
64062         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
64063         #defines strtoimax.  Also treat the other strto* functions
64064         like strtoimax.
64065
64066         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
64067         Check for strtoul and strtoumax,
64068         as those declarations are made even in the signed case.
64069         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
64070         Likewise, for strtol and strtoimax.
64071
64072 2001-09-28  Paul Eggert  <eggert@twinsun.com>
64073
64074         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
64075         #defines strtoimax.  Also treat the other strto* functions
64076         like strtoimax.
64077
64078         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
64079         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
64080         (strtoimax, strtoumax): Do not declare if already defined as a macro.
64081
64082 2001-09-26  Jim Meyering  <meyering@lucent.com>
64083
64084         Most macros in unlocked-io.h had the wrong number of arguments.
64085         * lib/gen-uio: New script.
64086         (USE_UNLOCKED_IO): Define to 1 if not already defined.
64087         * lib/unlocked-io.hin: Remove file.
64088         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
64089         rather than trying to embed it here.
64090         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
64091         Reported by Padraig Brady.
64092
64093 2001-09-25  Volker Borchert  <bt@teknon.de>
64094
64095         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
64096         `result'.
64097
64098 2001-09-24  Jim Meyering  <meyering@lucent.com>
64099
64100         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
64101
64102 2001-09-23  Jim Meyering  <meyering@lucent.com>
64103
64104         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
64105         instead of the mere test for existence of mntent.h.  The latter
64106         would get a false-positive on AIX 3.4 systems.
64107         In the outer getmntent if-block, don't die if neither of the getmntent
64108         tests succeeds.  Instead, just fall through and continue with the
64109         remaining tests.
64110
64111 2001-09-23  Jim Meyering  <meyering@lucent.com>
64112
64113         * lib/mountlist.c: Remove useless parentheses in #if directives.
64114         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
64115         the deprecated MOUNTED symbol is no longer defined in mntent.h.
64116
64117 2001-09-22  Jim Meyering  <meyering@lucent.com>
64118
64119         * m4/gettext.m4: New file.  From gettext.
64120         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
64121         * m4/progtest.m4: Likewise
64122         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
64123         * m4/glibc21.m4: Likewise.
64124
64125         * m4/libintl.m4: Remove.  No longer used.
64126
64127 2001-09-22  Jim Meyering  <meyering@lucent.com>
64128
64129         * lib/localcharset.c: Update from latest gettext.
64130         * lib/config.charset: Likewise.
64131
64132 2001-09-20  Jim Meyering  <meyering@lucent.com>
64133
64134         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
64135         strtoimax.
64136         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
64137         strtoumax.
64138
64139 2001-09-20  Jim Meyering  <meyering@lucent.com>
64140
64141         * lib/xstrtol.c (strtoimax): Guard declaration with
64142         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
64143         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
64144         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
64145         (strtoumax): Likewise, for completeness (it wasn't necessary).
64146
64147 2001-09-17  Paul Eggert  <eggert@twinsun.com>
64148
64149         * lib/strtoimax.c (HAVE_LONG_LONG):
64150         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
64151         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
64152         to work around bug in IBM C compiler.
64153
64154 2001-09-17  Jim Meyering  <meyering@lucent.com>
64155
64156         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
64157         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
64158         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
64159         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
64160         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
64161         whenever the right hand side need not be expanded by the shell.
64162
64163 2001-09-16  Paul Eggert  <eggert@twinsun.com>
64164
64165         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
64166         library.  It's not correct, as some older glibcs are buggy.
64167         fnmatch wasn't fixed until glibc 2.2.
64168
64169         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
64170         special shell magic here.
64171
64172 2001-09-16  Jim Meyering  <meyering@lucent.com>
64173
64174         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
64175         * m4/jm-macros.m4: Require it.
64176
64177 2001-09-16  Jim Meyering  <meyering@lucent.com>
64178
64179         * lib/mkdir.c: New file.
64180
64181 2001-09-15  Jim Meyering  <meyering@lucent.com>
64182
64183         * m4/jm-macros.m4: Check for help2man.
64184
64185 2001-09-11  Jim Meyering  <meyering@lucent.com>
64186
64187         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
64188         The body, by Paul Eggert, was moved here from configure.in.
64189         * m4/jm-macros.m4: Require UTILS_HOST_OS.
64190
64191 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64192
64193         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
64194         (jm_PREREQ): Use it.
64195
64196 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64197
64198         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
64199         Use ssize_t, not int, to store result of readlink.
64200         Check for ssize_t overflow as well as size_t overflow,
64201         as POSIX says the result of readlink is implementation-defined
64202         when ssize_t overflows.
64203         Remove unnecessary cast to char*.
64204         Use free+malloc instead of realloc, as the storage doesn't need
64205         to be preserved and it's clearer and can be more efficient that way.
64206         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
64207         * lib/xreadlink.h (xreadlink): Update prototype.
64208
64209 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64210
64211         * lib/xgetcwd.c: Revert some of the previous change; intead,
64212         fix the HAVE_GETCWD_NULL code to behave more like the
64213         !HAVE_GETCWD_NULL code used to.
64214
64215         Include "xalloc.h".
64216         (xgetcwd): Do not return NULL when memory is exhausted; instead,
64217         invoke xalloc_die.
64218
64219 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64220
64221         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
64222         sys/param.h, as pathmax.h includes them.
64223
64224 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64225
64226         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
64227         (jm_PREREQ_XGETCWD): New macro.
64228
64229         * m4/getcwd.m4: New file.
64230
64231 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64232
64233         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
64234         like the HAVE_GETCWD_NULL code.
64235         Include pathmax.h if not HAVE_GETCWD.
64236         Do not include xalloc.h.
64237         (INITIAL_BUFFER_SIZE): New symbol.
64238         Do not use xmalloc / xrealloc, since the caller is responsible for
64239         handling errors.  Preserve errno around `free' during failure.
64240         Do not overrun buffer when using getwd.
64241
64242 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64243
64244         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
64245         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
64246         getcwd (NULL, 0).
64247
64248 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64249
64250         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
64251         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
64252         spotted by Jim Meyering.
64253
64254 2001-09-03  Jim Meyering  <meyering@lucent.com>
64255
64256         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
64257         failure.
64258
64259 2001-09-02  Jim Meyering  <meyering@lucent.com>
64260
64261         * lib/error.c: Update from GNU libc.
64262
64263 2001-09-01  Jim Meyering  <meyering@lucent.com>
64264
64265         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
64266         Used by df.
64267
64268 2001-09-01  Jim Meyering  <meyering@lucent.com>
64269
64270         * lib/xreadlink.c: New file.
64271         * lib/xreadlink.h: New file.
64272         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
64273         xreadlink.h.
64274
64275         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
64276         doesn't conflict with sparc Solaris 7's definition in
64277         /usr/include/sys/int_types.h.
64278
64279         * lib/exclude.c: Use `""', not `<>' to #include non-system header
64280         files.
64281         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
64282         and strncasecmp as r-values.  Unixware didn't have declarations.
64283
64284 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64285
64286         * lib/xstrtol.h: Add copyright notice.
64287         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
64288         LONGINT_INVALID_SUFFIX_CHAR.
64289
64290 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64291
64292         * lib/xstrtol.c (strtoimax): New decl.
64293
64294 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64295
64296         * lib/xgetcwd.c: Don't include pathmax.h.
64297         Include stdlib.h and unistd.h if available.
64298         Include xalloc.h.
64299         (xmalloc, xstrdup, free): Remove decls.
64300         (xgetcwd): Don't assume sizes fit in unsigned.
64301         Check for overflow when computing sizes.
64302         Simplify reallocation code.
64303
64304 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64305
64306         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
64307         a directory's st_size can have an arbitrary value, so the old
64308         usage could waste an arbitrary amount of memory.  All uses
64309         changed.
64310         * lib/savedir.h: Update prototype.
64311
64312 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64313
64314         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
64315
64316         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
64317         old strtoimax.c.
64318
64319         Also, make the following further changes to make this file's
64320         configuration more similar to that of strtol.c:
64321         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
64322         (strtoumax, uintmax_t, strtoull, strtol): Remove.
64323         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
64324         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
64325         changed to signed values.
64326
64327         And make the following changes as well:
64328         Fix copyright notice, as 1999 was missing.
64329         (verify): New macro.
64330         (strtoimax): Check sizes at compile-time, not run-time.
64331         Prefer strtol to strtoll if both work.
64332         (main): Remove; it was not that useful and was a pain to maintain.
64333
64334         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
64335
64336 2001-08-31  Jim Meyering  <meyering@lucent.com>
64337
64338         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
64339         Use an initial, malloc'd, buffer of length 128 rather than
64340         a statically allocated one of length 1024.
64341
64342 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64343
64344         Simplify code, partly by assuming autoconf 2.52 semantics.
64345
64346         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
64347
64348         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
64349         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
64350         All uses removed.
64351         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
64352         Move AC_REQUIRE to next-to-top level, to avoid confusion.
64353         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
64354         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
64355         jm_AC_HEADER_INTTYPES_H.
64356         * m4/jm-macros.m4 (jm_MACROS): Likewise.
64357
64358         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
64359
64360         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
64361         Quote first arg of AC_DEFUN.
64362         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
64363         since they are needed to parse the include file even if we need
64364         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
64365         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
64366         but with opposite signedness.
64367
64368 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64369
64370         Merge 'exclude' changes from tar 1.13.22.
64371         This fixes one or two unlikely storage allocation overflow bugs,
64372         but doesn't change user-visible behavior otherwise.
64373
64374 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64375
64376         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
64377         (jm_PREREQ_EXCLUDE): New macro.
64378
64379 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64380
64381         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
64382         tm to be declared.
64383
64384 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64385
64386         * lib/hash.c: Remove '2001' from copyright notice.
64387
64388 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64389
64390         * lib/full-write.h: New file.
64391         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
64392         * lib/full-write.c: Correct credits, as cccp.c no longer
64393         exists and anyway it was so heavily changed from the old cccp
64394         code as to be unrecognizable.  Include full-write.h.
64395         (full_write) Return size_t, with short writes meaning failure.
64396         All callers changed.  This fixes a bug with large buffers
64397         on 64-bit hosts.
64398         * lib/utime.c: Include full-write.h.
64399
64400 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64401
64402         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
64403         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
64404         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
64405         Include if available.
64406         (<xalloc.h>): Include
64407         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
64408         (verify): New macro.  Use it to verify that EXCLUDE macros do not
64409         collide with FNM macros.
64410         (struct patopts): New struct.
64411         (struct exclude): Use it, as exclude patterns now come with options.
64412         (new_exclude): Support above changes.
64413         (new_exclude, add_exclude_file):
64414         Initial size must now be a power of two to simplify overflow checking.
64415         (free_exclude, fnmatch_no_wildcards): New function.
64416         (excluded_filename): No longer requires options arg, as the options
64417         are determined by add_exclude.  Now returns bool, not int.
64418         (excluded_filename, add_exclude):
64419         Add support for the fancy new exclusion options.
64420         (add_exclude, add_exclude_file): Now takes int options arg.
64421         Check for arithmetic overflow when computing sizes.
64422         (add_exclude_file): xrealloc might modify errno, so don't
64423         realloc until after errno might be used.
64424
64425         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
64426         New macros.
64427         (free_exclude): New decl.
64428         (add_exclude, add_exclude_file): Now takes int options arg.
64429         (excluded_filename): No longer requires options arg, as the options
64430         are determined by add_exclude.  Now returns bool, not int.
64431
64432 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64433
64434         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
64435
64436 2001-08-27  Jim Meyering  <meyering@lucent.com>
64437
64438         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
64439
64440         * lib/version-etc.c (N_): Remove definition.
64441         Revert most of last change.
64442         Instead, simply don't mark the `Copyright...' string for translation.
64443         Based on advice from Paul Eggert.
64444
64445         * lib/strtoxmax.c: Tweak comment.
64446
64447 2001-08-26  Jim Meyering  <meyering@lucent.com>
64448
64449         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
64450
64451         * m4/xstrtoimax.m4: New file.
64452         * m4/xstrtoumax.m4: Add comments explaining why we
64453         AC_REPLACE_FUNCS(strtol).
64454
64455 2001-08-26  Jim Meyering  <meyering@lucent.com>
64456
64457         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
64458         of copyright with `%s' so translators don't get an untranslated
64459         message in 2002.
64460         (COPYRIGHT_YEAR): Define.
64461         (version_etc): Use fprintf rather than fputs.
64462         Suggestion from Ulrich Drepper.
64463
64464         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
64465
64466         * lib/strtoll.c: New file, from GNU libc.
64467         * lib/xstrtoimax.c: New file.
64468
64469         * lib/xstrtol.h: Add xstrtoimax.
64470         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
64471         * lib/strtoimax.c: New file.  Likewise, but first define
64472         STRTOUXMAX_SIGNED.
64473
64474         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
64475         ...
64476         * lib/strtoxmax.c: ... then renamed to this.
64477
64478 2001-08-18  Paul Eggert  <eggert@twinsun.com>
64479
64480         * m4/inttypes.m4: Add AC_PREREQ(2.13).
64481         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
64482         (jm_AC_TYPE_INTMAX_T): New macro.
64483         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
64484
64485         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
64486
64487         * m4/longlong.m4: Renamed from ulonglong.m4.
64488         * m4/inttypes.m4: Renamed from inttypes_h.m4.
64489         * m4/uintmax_t.m4: Removed.
64490
64491 2001-08-13  Paul Eggert  <eggert@twinsun.com>
64492
64493         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
64494         Port to Solaris 8, where 'sed' requires a space after the 'r'
64495         command, and where sh dislikes "$/".  Clean up the spacing a bit.
64496         Redirect output to $tmp just once.
64497
64498 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
64499
64500         * lib/addext.c (<errno.h>): Include.
64501         (errno): Declare if not defined.
64502         (addext): Work correctly when pathconf returns -1 and leaves
64503         errno alone because there is no limit.  Also, work even if
64504         pathconf returns a value greater than SIZE_MAX.
64505
64506 2001-08-12  Jim Meyering  <meyering@lucent.com>
64507
64508         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
64509         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
64510         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
64511         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
64512         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
64513         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
64514         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
64515         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
64516         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
64517         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
64518         utime.m4, utimes.m4, xstrtoumax.m4:
64519         Quote the first argument in each use of AC_DEFUN.
64520
64521 2001-08-12  Jim Meyering  <meyering@lucent.com>
64522
64523         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
64524         Simply `return getcwd (NULL, 0);'.
64525         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
64526         Use 1300 as initial value for length, not PATH_MAX.
64527
64528         * lib/pathmax.h: Clean up cpp syntax.
64529
64530 2001-08-12  Jim Meyering  <meyering@lucent.com>
64531
64532         * lib/gettimeofday.c: New file.
64533         * lib/gtod.h: New file.
64534         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
64535
64536 2001-08-05  Jim Meyering  <meyering@lucent.com>
64537
64538         * m4/jm-macros.m4: Require autoconf-2.52.
64539
64540 2001-08-04  Jim Meyering  <meyering@lucent.com>
64541
64542         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
64543         stmt, to get in sync with glibc.
64544
64545 2001-08-03  Paul Eggert  <eggert@twinsun.com>
64546
64547         The following changes are from gettext 0.10.39 as maintained by
64548         Bruno Haible.
64549
64550         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
64551         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
64552         with inverted sense.  All uses changed.
64553
64554         * lib/mbswidth.c: Don't include <limits.h>.
64555         Include <stdlib.h> and <string.h> unconditionally.
64556         (iswcntrl, mbsinit, ISCNTRL): New macros.
64557         (mbsnwidth): Use K&R style function declarations.
64558         Don't bother checking for MB_LEN_MAX == 1, since the compiler
64559         can optimize it when MB_CUR_MAX == 1.
64560         The width of control characters is zero, not 1.
64561
64562 2001-08-03  Paul Eggert  <eggert@twinsun.com>
64563
64564         The following changes are from gettext 0.10.39 as maintained by
64565         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
64566
64567         * m4/codeset.m4: Upgrade to serial AM1.
64568         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
64569         all uses changed.  Quote first arg of AC_DEFUN.
64570         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
64571
64572         * m4/iconv.m4: Upgrade to serial AM2.
64573         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
64574         Add --with-libconv-prefix.
64575         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
64576         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
64577         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
64578         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
64579         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
64580
64581         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
64582         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
64583         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
64584         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
64585         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
64586         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
64587         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
64588         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
64589         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
64590
64591         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
64592         string.h any more.
64593
64594         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
64595         not the default value.
64596
64597         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
64598         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
64599         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
64600         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
64601         Also check for iswcntrl, used for wcwidth fallback.
64602         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
64603         to Autoconf 2.13.
64604
64605 2001-08-03  Jim Meyering  <meyering@lucent.com>
64606
64607         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
64608         as it was in the original.  Reported by Paul Eggert.
64609
64610 2001-07-16  Jim Meyering  <meyering@lucent.com>
64611
64612         * m4/gettimeofday.m4: New file.
64613         Prompted by a report from Bernhard Baehr.
64614
64615 2001-07-15  Jim Meyering  <meyering@lucent.com>
64616
64617         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
64618         stuff. Now it's in ../Makefile.cfg.
64619
64620 2001-07-15  Jim Meyering  <meyering@lucent.com>
64621
64622         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
64623         (BUILT_SOURCES): Add unlocked-io.h.
64624         (io_functions): Define.
64625         (unlocked-io.h): New rule.
64626         (DISTCLEANFILES): Add unlocked-io.h.
64627         (all-local): Depend on unlocked-io.h, to ensure it is created.
64628
64629         * lib/unlocked-io.hin: New file
64630
64631         * lib/regex.c: Update from glibc.
64632
64633 2001-07-05  Jim Meyering  <meyering@lucent.com>
64634
64635         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
64636         recommendation.
64637         (libfetish_a_SOURCES): Put all .h files here instead.
64638         Remove a thus-exposed (better checks in automake) duplicate and
64639         two unnecessary .h files.
64640
64641 2001-07-04  Jim Meyering  <meyering@lucent.com>
64642
64643         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
64644         that generates jm-glibc-io.m4 so that it doesn't trigger any make
64645         distcheck failure.
64646
64647 2001-07-02  Jim Meyering  <meyering@lucent.com>
64648
64649         The following changes were prompted by suggestions from Bruno Haible.
64650
64651         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
64652         is now generated.
64653         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
64654         definition of EXTRA_DIST.
64655         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
64656         ensure that the generated file is created/updated whenever the list
64657         of $(unlocked_functions) is changed.
64658         (jm-glibc-io.m4): New rule.
64659         (unlocked-io.h): New rule -- currently unused.
64660
64661 2001-06-24  Jim Meyering  <meyering@lucent.com>
64662
64663         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
64664         unmatched right bracket, rather than kludging it with an extra,
64665         falsely-matching quote in a comment.  Patch by Akim Demaille.
64666
64667 2001-06-11  Jim Meyering  <meyering@lucent.com>
64668
64669         * lib/regex.c: Update from GNU libc.
64670
64671 2001-05-27  Jim Meyering  <meyering@lucent.com>
64672
64673         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
64674         Check for ut_type in struct utmp.
64675
64676 2001-05-27  Jim Meyering  <meyering@lucent.com>
64677
64678         * lib/readutmp.h (UT_TYPE): Define.
64679
64680 2001-05-24  Jim Meyering  <meyering@lucent.com>
64681
64682         * lib/argmatch.c: Include "quote.h".
64683         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
64684         quote function.  Reported by Göran Uddeborg.
64685
64686 2001-05-22  Jim Meyering  <meyering@lucent.com>
64687
64688         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
64689         now that we use the package-supplied version unconditionally.
64690         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
64691
64692 2001-05-21  Jim Meyering  <meyering@lucent.com>
64693
64694         * m4/regex.m4: Change a couple backticks to single quotes to avoid
64695         shell syntax errors.
64696
64697 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
64698
64699         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
64700
64701 2001-05-20  Paul Eggert  <eggert@twinsun.com>
64702
64703         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
64704         Don't bother to check library strftime, since
64705         we'll be using our own my_strftime function anyway.
64706         Define my_strftime instead of strftime.
64707
64708 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
64709
64710         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
64711         which is not yet declared.
64712
64713 2001-05-15  Jim Meyering  <meyering@lucent.com>
64714
64715         * m4/regex.m4: Use proper quoting so brackets appear in the test
64716         program.
64717         Reported by, and with help from, Bruno Haible.
64718
64719 2001-05-13  Jim Meyering  <meyering@lucent.com>
64720
64721         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
64722         undefined.
64723
64724 2001-05-11  Paul Eggert  <eggert@twinsun.com>
64725
64726         dirname code cleanup.  base_name now behaves more compatibly
64727         with POSIX basename when given file names that have trailing
64728         slashes, and similarly for dir_name.  Add new primitives
64729         base_len and dir_len.  Put the directory-name-related decls
64730         into dirname.h.
64731
64732         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
64733         * lib/backupfile.c (base_name): Likewise.
64734         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
64735         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
64736         * lib/makepath.c (strip_trailing_slashes): Likewise.
64737         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
64738         ISSLASH): Likewise.
64739         * lib/rename.c (strip_trailing_slashes): Likewise.
64740         * lib/same.c (base_name): Likewise.
64741         * lib/stripslash.c (ISSLASH): Likewise.
64742
64743         * lib/addext.c: Include <dirname.h> after size_t is defined.
64744         * lib/backupfile.c: Likewise.
64745
64746         * lib/addext.c (addext): Use base_len to trim redundant
64747         trailing slashes instead of doing it ourselves.
64748         But do not trim the last slash if it is not redundant.
64749
64750         * lib/backupfile.c (find_backup_file_name,
64751         max_backup_version): Use base_len instead of rolling it ourselves.
64752         Handle the case of "" and (on DOS) "C:" correctly.
64753
64754         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
64755         needed. Include <string.h>, <dirname.h>.
64756         (base_name): Allow file names ending in slashes, other than names
64757         that are all slashes.  In this case, return the basename followed
64758         by the slashes.  This is more general, and can be used in places
64759         where the original base_name purposely had an assertion failure.
64760         (base_len): New function.
64761
64762         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
64763         Do not include <assert.h>; no longer needed.
64764         Include xalloc.h.
64765         (memrchr): Remove decl.
64766         (dir_name_r): Remove.
64767         (dir_len): Renamed from dirlen.  All callers changed.
64768         Rewrite in terms of base_name, for simplicity and consistency.
64769         (dir_name): Never return NULL.  All callers changed.
64770         Do not include <stdlib.h> in test program; no longer needed.
64771         return 0; is fine for test program.
64772
64773         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
64774         New macros.
64775         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
64776
64777         * lib/path-concat.c (path_concat): Use base_len to compute
64778         base length, not strlen; this means we cannot rely on memcpy
64779         to null-terminate.
64780
64781         * lib/same.c (STREQ): Remove.
64782         (same_name): Handle the case where the basename ends in trailing '/'.
64783
64784         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
64785         a slash was stripped.  Do not strip the last slash after a
64786         file system prefix.
64787
64788 2001-05-11  Paul Eggert  <eggert@twinsun.com>
64789
64790         * lib/Makefile.am (libfetish_a_SOURCES):
64791         Add strftime.c, since we now compile it on all hosts.
64792
64793         * lib/strftime.c (my_strftime):
64794         Define to nstrftime if emacs, but only if my_strftime is not defined.
64795         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
64796         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
64797         Add one more extra argument: a nanoseconds value.
64798         All uses changed.
64799         (ns): New macro.
64800         (my_strftime function): Add %N format.
64801         (emacs_strftimeu): Renamed from emacs_strftime,
64802         with extra ut argument.
64803
64804 2001-05-09  Paul Eggert  <eggert@twinsun.com>
64805
64806         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
64807
64808 2001-04-21  Jim Meyering  <meyering@lucent.com>
64809
64810         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
64811         doesn't interfere.
64812
64813 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
64814
64815         * m4/ftruncate.m4: Check for chsize.
64816         Link with ftruncate.o unconditionally if ftruncate is missing.
64817         This was required when cross-compiling to i586-mingw32msvc.
64818
64819 2001-04-08  Jim Meyering  <meyering@lucent.com>
64820
64821         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
64822         recomputed; that's necessary when the offset spans a DST transition.
64823         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
64824
64825 2001-04-02  Jim Meyering  <meyering@lucent.com>
64826
64827         * lib/regex.h, regex.c: Update from GNU libc.
64828
64829 2001-03-24  Jim Meyering  <meyering@lucent.com>
64830
64831         * m4/jm-macros.m4: Require autoconf-2.49d.
64832
64833 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
64834
64835         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
64836
64837 2001-03-19  Paul Eggert  <eggert@twinsun.com>
64838
64839         * lib/version-etc.c (version_etc_copyright): Update to 2001.
64840
64841 2001-03-17  Jim Meyering  <meyering@lucent.com>
64842
64843         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
64844         now that the version in autoconf is equivalent.
64845         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
64846
64847         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
64848         Suggestion from Akim Demaille.
64849
64850         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
64851         (jm_PREREQ_TEMPNAME): New function.
64852
64853 2001-03-16  Paul Eggert  <eggert@twinsun.com>
64854
64855         * lib/tempname.c (uint64_t): Define to uintmax_t if
64856         not defined, and if UINT64_MAX is not defined.
64857         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
64858         Reported by John David Anglin.
64859
64860 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
64861
64862         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
64863         resolve alias if codeset is empty.
64864         * lib/config.charset (BeOS): Use wildcard syntax.
64865
64866 2001-03-13  Jim Meyering  <meyering@lucent.com>
64867
64868         * lib/path-concat.c (path_concat)
64869         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
64870         concatenating e.g., `C:' and `foo'.
64871         From Bruno Haible.
64872
64873 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
64874
64875         * lib/localcharset.c (locale_charset): Don't use
64876         setlocale(LC_CTYPE,NULL). Don't return NULL.
64877         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
64878
64879 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
64880
64881         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
64882         support for DOS/DJGPP.
64883
64884 2001-03-01  Paul Eggert  <eggert@twinsun.com>
64885
64886         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
64887         lacks mkstemp.  Compile our own tempname.c if we compile our own
64888         mkstemp.c, as mkstemp relies on tempname.
64889
64890 2001-03-01  Jim Meyering  <meyering@lucent.com>
64891
64892         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
64893         AH_VERBATIM really does output its argument verbatim.
64894
64895 2001-02-28  Paul Eggert  <eggert@twinsun.com>
64896
64897         * lib/Makefile.am (libfetish_a_SOURCES):
64898         Add dup-safer.c, fopen-safer.c.
64899         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
64900
64901         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
64902         * lib/unistd-safer.h: New files.
64903
64904 2001-02-25  Paul Eggert  <eggert@twinsun.com>
64905
64906         The mkstemp replacement is taken from glibc 2.2.2, with some
64907         portability fixes for use outside glibc, as follows:
64908
64909         * lib/tempname.c (struct_stat64): New macro.
64910         (direxists, __gen_tempname): Use it.
64911         This avoids a portability problem with Solaris 8.
64912
64913         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
64914         (<stddef.h>, <stdint.h>, <string.h>):
64915         Include only if STDC_HEADERS || _LIBC.
64916         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
64917         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
64918         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
64919         (__set_errno): Define this macro if <errno.h> doesn't.
64920         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
64921         Define these macros if <stdio.h> doesn't.
64922         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
64923         Define these macros if <sys/stat.h>
64924         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
64925         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
64926         __xstat64): Define if not _LIBC.
64927         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
64928         (__gen_tempname): Invoke gettimeofday only if
64929         HAVE_GETTIMEOFDAY || _LIBC;
64930         otherwise, fall back on plain "time".
64931         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
64932
64933         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
64934
64935         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
64936
64937 2001-02-18  Paul Eggert  <eggert@twinsun.com>
64938
64939         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
64940
64941 2001-02-17  Paul Eggert  <eggert@twinsun.com>
64942
64943         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
64944         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
64945         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
64946         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
64947
64948 2001-02-17  Paul Eggert  <eggert@twinsun.com>
64949
64950         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
64951         Remove workaround macros for hosts that have mbrtowc but not
64952         mbstate_t, as we now insist on proper declarations for both
64953         before using mbrtowc.
64954
64955 2001-02-17  Jim Meyering  <meyering@lucent.com>
64956
64957         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
64958         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
64959         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
64960         UnixWare 7.1.1.
64961
64962         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
64963         rather than AC_CACHE_VAL.
64964
64965 2001-02-17  Jim Meyering  <meyering@lucent.com>
64966
64967         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
64968         around included file name.
64969
64970         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
64971
64972         * lib/strftime.c: Update from GNU libc (the only changes were to
64973         comments).
64974
64975 2001-02-17  Jim Meyering  <meyering@lucent.com>
64976
64977         * lib/regex.c: Update from libc.
64978
64979 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
64980
64981         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
64982         clash.
64983
64984 2001-02-16  Paul Eggert  <eggert@twinsun.com>
64985
64986         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
64987         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
64988         Reported by Mark Hounschell via Paul Eggert.
64989
64990 2001-02-07  Jim Meyering  <meyering@lucent.com>
64991
64992         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
64993
64994 2001-02-05  Jim Meyering  <meyering@lucent.com>
64995
64996         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
64997         it includes the patch required for `large file' support with at least
64998         HP-UX's 10.20 /bin/cc.
64999
65000 2001-02-03  Jim Meyering  <meyering@lucent.com>
65001
65002         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
65003         AS_IF, now that it works once again (mysteriously).
65004         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
65005
65006 2001-01-30  Jim Meyering  <meyering@lucent.com>
65007
65008         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
65009         * m4/chown.m4: Rename conftestchown to conftest.chown.
65010         * m4/rename.m4: s/conftestdir/conftest.d1/ and
65011         s/conftestdir2/conftest.d2/.
65012         * m4/utimes.m4: s/conftestdata/conftest.data/
65013         Inspired by Pavel Roskin's change in autoconf.
65014
65015 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
65016
65017         * lib/config.charset: Update for FreeBSD 4.2.
65018
65019 2001-01-27  Jim Meyering  <meyering@lucent.com>
65020
65021         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
65022         a use of AS_IF.
65023         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
65024
65025 2001-01-26  Jim Meyering  <meyering@lucent.com>
65026
65027         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
65028         quotearg.c includes it.
65029
65030 2001-01-26  Jim Meyering  <meyering@lucent.com>
65031
65032         * lib/quotearg.c: Include stddef.h.
65033         * lib/quote.c: Include stddef.h.
65034         Reported by Axel Kittenberger.
65035
65036         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
65037         line in double quotes so that it evokes a better diagnostic.
65038         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
65039         Reported by Axel Kittenberger.
65040
65041 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
65042
65043         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
65044         as if it was a `charset'.
65045
65046 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
65047
65048         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
65049         has const.
65050
65051 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
65052
65053         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
65054         to avoid a warning.  Add back 'const' to inptr.
65055
65056 2001-01-20  Jim Meyering  <meyering@lucent.com>
65057
65058         Be sure that headers are checked before used in code compiled
65059         for the type checks.
65060         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
65061         In place of that, invoke jm_CHECK_ALL_TYPES.
65062         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
65063         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
65064         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
65065         The check for ssize_t was mistakenly run before the test for unistd.h.
65066
65067         The configure-time check for stdbool.h was missing.
65068         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
65069         (jm_PREREQ_HASH): New function.
65070
65071 2001-01-17  Jim Meyering  <meyering@lucent.com>
65072
65073         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
65074         for autoconf-2.49c.
65075         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
65076
65077 2001-01-16  Jim Meyering  <meyering@lucent.com>
65078
65079         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
65080         From Bruno Haible.
65081
65082 2001-01-14  Jim Meyering  <meyering@lucent.com>
65083
65084         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
65085         foo and bar.  Create conftestdir/ in the script, not in the C code.
65086         Remove directories in the script, not in the C code.
65087         Remove conftestdir{,2} before trying to create the directory.
65088         Make the entire configure script fail if the mkdir fails.
65089
65090 2001-01-14  Jim Meyering  <meyering@lucent.com>
65091
65092         * lib/rename.c: New file.  From Volker Borchert.
65093         Include stdlib.h, string.h or strings.h, and xalloc.h.
65094         Use strip_trailing_slashes rather than open-coding it.
65095
65096 2001-01-03  Paul Eggert  <eggert@twinsun.com>
65097
65098         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
65099
65100 2001-01-03  Jim Meyering  <meyering@lucent.com>
65101
65102         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
65103         of local `inptr' to avoid warning with some system declarations of
65104         iconv.
65105
65106 2001-01-02  Volker Borchert  <bt@teknon.de>
65107
65108         * m4/rename.m4: New file.
65109         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
65110
65111 2001-01-01  Jim Meyering  <meyering@lucent.com>
65112
65113         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
65114         even on systems with utmpx.h.  It's necessary for the declaration of
65115         utmp's ut_user member.  Reported by Andreas Jaeger.
65116
65117         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
65118         available. They are required for the declarations of getgrgid and
65119         getpwuid resp.
65120         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
65121         Reported by Andreas Jaeger.
65122
65123 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
65124
65125         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
65126         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
65127         so `make install' also works in VPATH builds.
65128
65129 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
65130
65131         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
65132         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
65133         can be used in subdirectories.
65134
65135 2000-12-29  Paul Eggert  <eggert@twinsun.com>
65136
65137         * lib/modechange.c: Do not assume that mode_t uses the
65138         traditional octal encoding.  E.g. "chmod 1 FOO" should set
65139         the other-execute bit of FOO even if S_IXOTH != 1.
65140
65141         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
65142         WOTH, XOTH, ALLM): New macros.
65143         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
65144          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
65145         Use them.
65146         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
65147         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
65148         (mode_compile):
65149         No need to use uintmax_t; unsigned long is long enough.
65150         Don't bother to get suffix since we don't use it.
65151
65152 2000-12-26  Jim Meyering  <meyering@lucent.com>
65153
65154         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
65155         better with autoheader.
65156
65157 2000-12-24  Jim Meyering  <meyering@lucent.com>
65158
65159         * lib/hash.c (is_prime): Return explicit boolean values.
65160         (hash_get_first): Return NULL to appease Irix5.6's 89.
65161         Reported by Nelson Beebe.
65162
65163 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
65164
65165         * lib/localcharset.c (locale_charset): Add support for Win32.
65166
65167 2000-12-18  Paul Eggert  <eggert@twinsun.com>
65168
65169         * lib/physmem.h, lib/physmem.c: New files.
65170
65171         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
65172         (noinst_HEADERS): Add physmem.h.
65173
65174         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
65175         't' for compatibility with Solaris 8 sort.
65176
65177 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
65178
65179         * lib/config.charset: Add support for BeOS.
65180
65181 2000-12-17  Jim Meyering  <meyering@lucent.com>
65182
65183         * m4/dos.m4 (jm_AC_DOS): New file and macro.
65184         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
65185
65186 2000-12-16  Jim Meyering  <meyering@lucent.com>
65187
65188         This bug had a serious impact on chown: `chown N:M FILE' (for integer
65189         N and M) would have treated it like `chown N:N FILE'.
65190
65191         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
65192
65193 2000-12-16  Jim Meyering  <meyering@lucent.com>
65194
65195         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
65196         SHELLS_FILE to a file name that's useful on djgpp systems.
65197         Include stdlib.h.
65198         (ADDITIONAL_DEFAULT_SHELLS): Define.
65199         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
65200         Based mostly on a patch from Prashant TR.
65201
65202 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
65203
65204         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
65205         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
65206         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
65207
65208 2000-12-08  Andreas Schwab  <schwab@suse.de>
65209
65210         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
65211         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
65212
65213 2000-12-07  Jim Meyering  <meyering@lucent.com>
65214
65215         * lib/stripslash.c (ISSLASH): Define.
65216         (strip_trailing_slashes): Use ISSLASH rather than comparing against
65217         `/'.
65218         From Prashant TR.
65219
65220         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
65221         (dir_name_r): Declare this function as static.
65222         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
65223         manifest itself on a name containing a mix of slashes and
65224         backslashes.
65225         Make this function work with names starting with a DOS-style
65226         drive letter and colon prefix.
65227         (dir_name): Append `.' if necessary.
65228         Based mostly on patches from Prashant TR and Eli Zaretskii.
65229
65230         * lib/dirname.h (dir_name_r): Remove prototype.
65231
65232 2000-12-06  Paul Eggert  <eggert@twinsun.com>
65233
65234         * m4/off_t-format.m4: Remove this file.
65235         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
65236
65237 2000-12-06  Jim Meyering  <meyering@lucent.com>
65238
65239         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
65240         replacement strtoull, we may well need the replacement strtoul, too.
65241         Check for declarations of strtoul and strtoull.
65242         Check for strtol.  Mainly as a cue to cause automake to include
65243         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
65244         Check for limits.h -- strtol.c needs it.
65245
65246 2000-12-05  Jim Meyering  <meyering@lucent.com>
65247
65248         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
65249
65250 2000-12-04  Jim Meyering  <meyering@lucent.com>
65251
65252         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
65253         Also include memory.h, stdlib.h, unistd.h if appropriate.
65254         Reported by Andreas Jaeger (conflicting declaration of malloc).
65255
65256 2000-12-02  Jim Meyering  <meyering@lucent.com>
65257
65258         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
65259         * m4/jm-macros.m4 (jm_MACROS): require it.
65260
65261 2000-12-02  Jim Meyering  <meyering@lucent.com>
65262
65263         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
65264
65265 2000-12-01  Paul Eggert  <eggert@twinsun.com>
65266
65267         * lib/memrchr.c: Include <config.h> before any system include file.
65268
65269 2000-11-30  Jim Meyering  <meyering@lucent.com>
65270
65271         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
65272
65273 2000-11-30  Jim Meyering  <meyering@lucent.com>
65274
65275         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
65276
65277 2000-11-29  Paul Eggert  <eggert@twinsun.com>
65278
65279         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
65280
65281 2000-11-26  Jim Meyering  <meyering@lucent.com>
65282
65283         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
65284
65285 2000-11-22  Paul Eggert  <eggert@twinsun.com>
65286
65287         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
65288         size of (size_t) -1; it's not portable.
65289
65290 2000-11-17  Jim Meyering  <meyering@lucent.com>
65291
65292         * lib/strstr.c: Update from GNU libc.
65293
65294 2000-11-17  Akim Demaille  <akim@epita.fr>
65295
65296         * lib/obstack.h: Formatting changes.
65297         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
65298         prevent type checking.
65299         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
65300         cast the value to (void *): assigning a `foo *' to a `void *'
65301         variable is valid.
65302         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
65303
65304 2000-11-16  Jim Meyering  <meyering@lucent.com>
65305
65306         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
65307
65308 2000-11-11  Jim Meyering  <meyering@lucent.com>
65309
65310         * lib/error.c: Add a couple #includes, merging from GNU libc version.
65311
65312 2000-11-10  Jim Meyering  <meyering@lucent.com>
65313
65314         * lib/obstack.h: Update from GNU libc.
65315         * lib/obstack.c: Likewise.
65316
65317 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
65318
65319         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
65320
65321 2000-11-06  Paul Eggert  <eggert@twinsun.com>
65322
65323         * lib/getusershell.c (setusershell): Use rewind rather than
65324         fseek/fseeko, to avoid configuration hassles with fseeko.
65325         Don't bother opening SHELLS_FILE if shellstream is NULL;
65326         it's not necessary.
65327
65328 2000-11-05  Jim Meyering  <meyering@lucent.com>
65329
65330         * lib/makepath.h (make_dir): Declare.
65331         * lib/makepath.c (make_dir): Remove `static' attribute.
65332         Tweak a comment.
65333
65334 2000-11-04  Jim Meyering  <meyering@lucent.com>
65335
65336         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
65337
65338 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
65339
65340         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
65341         last one in a bucket, advance to the next bucket.
65342
65343 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
65344
65345         * lib/fnmatch.c: Do not comment out all the code if we are using
65346         the GNU C library, because in some cases we are replacing buggy
65347         code in the GNU C library itself.
65348
65349 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
65350
65351         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
65352         (regex_compile): Catch bogus \(\1\).
65353
65354 2000-10-30  Paul Eggert  <eggert@twinsun.com>
65355
65356         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
65357         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
65358         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
65359
65360 2000-10-30  Paul Eggert  <eggert@twinsun.com>
65361
65362         * lib/error.h, getline.h, modechange.h:
65363         Remove "2000" from Copyright line, as the file hasn't been
65364         changed this year other than in the copyright notice.
65365
65366         * lib/xalloc.h: Add "2000" to Copyright line, as this file
65367         was changed this year.
65368
65369 2000-10-29  Jim Meyering  <meyering@lucent.com>
65370
65371         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
65372         renaming.
65373         * m4/ls-mntd-fs.m4: Likewise
65374
65375 2000-10-29  Jim Meyering  <meyering@lucent.com>
65376
65377         * lib/xstat.in: Fix grammar in comment.
65378
65379 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
65380
65381         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
65382         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
65383         doesn't define __restrict_arr.
65384
65385 2000-10-28  Jim Meyering  <meyering@lucent.com>
65386
65387         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
65388         (jm_PREREQ_MEMCHR): New function.
65389
65390 2000-10-28  Jim Meyering  <meyering@lucent.com>
65391
65392         * lib/memchr.c: Update from libc.
65393         Adjust for portability:
65394         [HAVE_STDLIB_H]: Include stdlib.h.
65395         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
65396         Undef __memchr, too.
65397         [!weak_alias]: Define __memchr to memchr.
65398
65399         * lib/regex.c: Update from libc.
65400         * lib/regex.h: Likewise.
65401         * lib/getopt1.c: Likewise.
65402         * lib/memcmp.c: Likewise.
65403
65404         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
65405         Avoid using fseek, when possible -- it's broken by design.
65406         Patch by Ulrich Drepper.
65407
65408 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
65409
65410         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
65411         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
65412         Giving in to popular pressure to shut up the compiler with casts.
65413
65414 2000-10-26  Jim Meyering  <meyering@lucent.com>
65415
65416         * lib/strftime.c: Update from libc.
65417
65418 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
65419
65420         * regex.c: More `unsigned char' -> `re_char' changes.
65421         Also change several `int' into `re_wchar_t'.
65422         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
65423         (PUSH_FAILURE_POINTER): Don't cast any more.
65424         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
65425         We want GCC to complain, since this piece of code makes
65426         re_match non-reentrant, which *should* be fixed.
65427         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
65428         (EXTEND_BUFFER): Use RETALLOC.
65429         (SET_LIST_BIT): Don't cast.
65430         (re_wchar_t): New type.
65431         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
65432         that those two functions will always properly return.
65433         (IMMEDIATE_QUIT_CHECK): Cast to void.
65434         (analyse_first): Use recursion rather than an explicit stack.
65435         (re_compile_fastmap): Can't fail anymore.
65436         (re_search_2): Don't check re_compile_fastmap for failure.
65437         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
65438         Now also sets the new value (passed in a new argument).
65439         (re_match_2_internal): Use it.
65440         Also, use a new var `reg' of type size_t when looping through regs
65441         rather than reuse the inappropriate `mcnt'.
65442
65443 2000-10-25  Jim Meyering  <meyering@lucent.com>
65444
65445         * lib/obstack.c: Update from libc.
65446
65447 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
65448
65449         * regex.c (regex_compile): Change the way of handling a range from
65450         a char less than 256 to a char not less than 256.
65451
65452 2000-10-24  Andrew Innes  <andrewi@gnu.org>
65453
65454         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
65455         NT-Emacs only.
65456         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
65457         so that re_search functions only quit when callers expect them to.
65458
65459 2000-10-23  Jim Meyering  <meyering@lucent.com>
65460
65461         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
65462         wrong.  That set_locale call must not have any side effects.
65463         From Paul Eggert.
65464
65465 2000-10-22  Jim Meyering  <meyering@lucent.com>
65466
65467         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
65468         [CYCLIC]: Remove now-unused definition.
65469
65470         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
65471         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
65472         Suggestion from Ulrich Drepper.
65473
65474 2000-10-21  Jim Meyering  <meyering@lucent.com>
65475
65476         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
65477         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
65478         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
65479
65480 2000-10-21  Jim Meyering  <meyering@lucent.com>
65481
65482         * lib/dirname.c (memrchr): Declare if necessary.
65483         (dir_name): Remove the restriction that there be no
65484         trailing slashes.  Now, this code skips past them, effectively
65485         ignoring them.
65486         [TEST_DIRNAME] (main): New unit tests.
65487
65488         * lib/memrchr.c: New file from GNU libc.
65489         Undef __memrchr, too.
65490         [!weak_alias]: Define __memrchr to memrchr.
65491         Guard weak_alias use with `#ifdef weak_alias'.
65492
65493 2000-10-21  Jim Meyering  <meyering@lucent.com>
65494
65495         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
65496         (dir_name): Use dir_name_r.
65497         * lib/dirname.h (dir_name_r): Declare it.
65498
65499 2000-10-17  Jim Meyering  <meyering@lucent.com>
65500
65501         * lib/quote.h (PARAMS): Define and use.
65502         Reported by Akim Demaille.
65503
65504         * lib/getopt.c: Update from libc.
65505
65506 2000-10-16  Jim Meyering  <meyering@lucent.com>
65507
65508         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
65509         setlocale.
65510         From Jan Fedak.
65511
65512 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
65513
65514         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
65515
65516 2000-09-25  Jim Meyering  <meyering@lucent.com>
65517
65518         * lib/md5.h (rol): Define (from GnuPG).
65519
65520         * lib/sha.c: Give credit (GnuPG) where due.
65521         (M): Use rol rather than open-coding it.
65522         Add a FIXME comment.
65523
65524 2000-09-21  Jim Meyering  <meyering@lucent.com>
65525
65526         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
65527         Reported by Michael Stone.
65528
65529 2000-09-20  Jim Meyering  <meyering@lucent.com>
65530
65531         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
65532         (noinst_HEADERS): Add sha.h.
65533         Based on code from Scott G. Miller and from GnuPG.
65534
65535 2000-09-18  Jim Meyering  <meyering@lucent.com>
65536
65537         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
65538         LIBS. Otherwise, everyone ends up linking with -lelf for some
65539         configurations.
65540         Reported by Mike Stone.
65541
65542 2000-09-15  Jim Meyering  <meyering@lucent.com>
65543
65544         * lib/regex.c: Update from libc.
65545
65546 2000-09-10  Jim Meyering  <meyering@lucent.com>
65547
65548         * lib/getopt.c (_getopt_internal): Update from glibc.
65549
65550 2000-09-09  Jim Meyering  <meyering@lucent.com>
65551
65552         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
65553         think it should be used as a general replacement for isascii.
65554         * lib/fnmatch.c: Likewise.
65555         * lib/mbswidth.c: Likewise
65556         * lib/regex.c: Likewise.
65557
65558         Don't use atoi.
65559         * lib/userspec.c: Include sys/param.h and limits.h.
65560         Include xstrtol.h.
65561         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
65562         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
65563         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
65564         UID, GID.  Check range.
65565
65566 2000-09-06  Jim Meyering  <meyering@lucent.com>
65567
65568         * lib/getopt.c (_getopt_internal): Update from glibc.
65569
65570 2000-08-30  Jim Meyering  <meyering@lucent.com>
65571
65572         * lib/strftime.c: Merge in changes from GNU libc.
65573
65574 2000-08-26  Jim Meyering  <meyering@lucent.com>
65575
65576         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
65577         * m4/fpending.m4: New file.
65578
65579 2000-08-26  Jim Meyering  <meyering@lucent.com>
65580
65581         * lib/closeout.c: Include "__fpending.h".
65582         (close_stdout_status): Return right away if there's nothing to flush.
65583
65584         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
65585         * lib/__fpending.c: New file.
65586         * lib/__fpending.h: New file.
65587
65588 2000-08-20  Jim Meyering  <meyering@lucent.com>
65589
65590         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
65591         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
65592         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
65593
65594 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
65595
65596         Improve fileutils installation on systems where running
65597         programs (like install) can't be unlinked.
65598         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
65599         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
65600
65601 2000-08-07  Paul Eggert  <eggert@twinsun.com>
65602
65603         Standardize on "memory exhausted" instead of "Memory exhausted"
65604         or "virtual memory exhausted".
65605         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
65606         "virtual memory exhausted".
65607         * lib/same.c (same_name): Invoke xalloc_die instead of printing
65608         our own message.
65609         * lib/userspec.c (parse_user_spec): Likewise.
65610         * lib/bumpalloc.h: comment fix
65611         * lib/same.c, userspec.c: Include xalloc.h.
65612
65613         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
65614         not char *const and pointing to a constant array.
65615         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
65616         (xrealloc): Comment fix.
65617
65618         * lib/userspec.c (parse_user_spec):
65619         Don't translate a message until just before returning,
65620         to avoid unnecessary translation.
65621
65622 2000-08-07  Jim Meyering  <meyering@lucent.com>
65623
65624         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
65625         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
65626         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
65627         getgroups.c, gethostname.c, getopt.h, group-member.c,
65628         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
65629         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
65630         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
65631         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
65632         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
65633         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
65634         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
65635         yesno.c: Back out Copyright date changes for each file with no change
65636         this year.  This eases coordination with other programs using the same
65637         source code modules.  From Paul Eggert.
65638
65639 2000-08-06  Paul Eggert  <eggert@twinsun.com>
65640
65641         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
65642         not char, for compatibility with glibc 2.1.3 strftime.c.
65643
65644 2000-08-03  Greg McGary  <greg@mcgary.org>
65645
65646         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
65647         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
65648         (EXTEND_BUFFER): Use them.
65649
65650 2000-08-01  Jim Meyering  <meyering@lucent.com>
65651
65652         * lib/dirname.c (ISSLASH): Define.
65653         (BACKSLASH_IS_PATH_SEPARATOR): Define.
65654         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
65655         both `\' and `/' may be use as path separators.
65656         Based on a patch from Prashant TR.
65657
65658 2000-07-31  Paul Eggert  <eggert@twinsun.com>
65659
65660         * lib/quotearg.c (quotearg_n_options): Don't make the initial
65661         slot vector a constant, since it might get modified.
65662
65663 2000-07-31  Jim Meyering  <meyering@lucent.com>
65664
65665         * lib/xmalloc.c: Use `virtual memory exhausted', not
65666         `Memory exhausted'.
65667         * lib/obstack.c (print_and_abort): Likewise.
65668
65669 2000-07-30  Paul Eggert  <eggert@twinsun.com>
65670
65671         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
65672         buffer, so that the caller can always quote one small
65673         component of a "memory exhausted" message in slot 0.
65674         From a suggestion by Jim Meyering.
65675
65676 2000-07-30  Jim Meyering  <meyering@lucent.com>
65677
65678         * lib/makepath.c (make_path): Quote the other instance, too.
65679
65680         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
65681         (STATIC_BUF_SIZE): Define.
65682         (quotearg_n_options): Use only statically allocated storage when
65683         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
65684         than STATIC_BUF_SIZE.
65685
65686 2000-07-29  Jim Meyering  <meyering@lucent.com>
65687
65688         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
65689         * lib/dirname.c (dir_name): Likewise.
65690
65691         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
65692         `/'.
65693
65694         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
65695         (dir_name): Assert that there are no trailing slashes.
65696
65697 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
65698
65699         * lib/mbswidth.h (mbswidth): Add a flags argument.
65700         (mbswidth): New declaration.
65701         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
65702         * lib/mbswidth.c (mbswidth): Add a flags argument.
65703         (mbsnwidth): New function.
65704
65705 2000-07-24  Jim Meyering  <meyering@lucent.com>
65706
65707         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
65708
65709 2000-07-23  Paul Eggert  <eggert@twinsun.com>
65710
65711         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
65712
65713 2000-07-23  Paul Eggert  <eggert@twinsun.com>
65714
65715         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
65716         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
65717         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
65718         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
65719         invoke multibyte primitives.
65720
65721 2000-07-23  Paul Eggert  <eggert@twinsun.com>
65722
65723         * lib/quotearg.c:
65724         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
65725         so that mbstate_t is always defined.
65726
65727         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
65728         be 1 in at least one GCC installation, and this configuration
65729         error is likely to be common.  Ignoring MB_LEN_MAX hurts
65730         performance on hosts that have mbrtowc but have only unibyte
65731         locales, but I assume these hosts are rare.
65732
65733 2000-07-23  Paul Eggert  <eggert@twinsun.com>
65734
65735         * lib/mbswidth.c (_XOPEN_SOURCE):
65736         Don't define; this causes problems on Solaris 7.
65737         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
65738
65739 2000-07-23  Jim Meyering  <meyering@lucent.com>
65740
65741         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
65742         too: getgrgid, getpwuid, getuid.
65743
65744 2000-07-23  Jim Meyering  <meyering@lucent.com>
65745
65746         * lib/basename.c (base_name): Add an assertion.
65747
65748 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
65749
65750         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
65751         shadow its mbsinit function.
65752
65753 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
65754
65755         * lib/mbswidth.h: New file.
65756         * lib/mbswidth.c: New file.
65757         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
65758         (noinst_HEADERS): Add mbswidth.h.
65759
65760 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
65761
65762         * lib/config.charset: Add support for FreeBSD. Improve support for
65763         HP-UX and IRIX 6.
65764
65765 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
65766
65767         * m4/mbswidth.m4: New file.
65768         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
65769
65770 2000-07-15  Jim Meyering  <meyering@lucent.com>
65771
65772         * lib/makepath.c: Include quote.h.
65773         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
65774         corresponding argument in a `quote (...)' call.
65775         Give better diagnostics.
65776
65777         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
65778         (noinst_HEADERS): Add quote.h.
65779
65780         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
65781         from tar's src/misc.c.
65782         * lib/quote.h: New file.  Prototypes for same.
65783
65784 2000-07-14  Paul Eggert  <eggert@twinsun.com>
65785
65786         From a suggestion by Bruno Haible.
65787         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
65788         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
65789         to decide whether to define the BeOS workaround macro;
65790         this adjusts to the change to AC_MBSTATE_T.
65791
65792 2000-07-14  Jim Meyering  <meyering@lucent.com>
65793
65794         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
65795         jm_AC_TYPE_UINTMAX_T.
65796
65797 2000-07-13  Paul Eggert  <eggert@twinsun.com>
65798
65799         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
65800
65801         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
65802         quotearg_buffer_restyled): Add support for
65803         clocale_quoting_style.  Undo previous change to
65804         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
65805         and "{RIGHT QUOTATION MARK}" msgids.
65806
65807 2000-07-10  Paul Eggert  <eggert@twinsun.com>
65808
65809         From a suggestion by Bruno Haible.
65810         * m4/mbstate_t.m4 (AC_MBSTATE_T):
65811         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
65812         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
65813         and mbstate_t, to a single-part test that simply defines mbstate_t.
65814         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
65815         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
65816
65817 2000-07-10  Jim Meyering  <meyering@lucent.com>
65818
65819         * m4/strerror_r.m4: Mirror the correction made in autoconf.
65820
65821         * m4/gnu-source.m4: Output to confdefs.h directly.
65822         Suggestion from Akim Demaille.
65823
65824 2000-07-09  Paul Eggert  <eggert@twinsun.com>
65825
65826         The old behavior of quoting `like this' doesn't look good with
65827         newer, ISO-style fonts.  See:
65828         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
65829
65830         Instead, quote "like this" by default.  Let the translator
65831         tailor the locale-specific quoting behavior by providing
65832         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
65833
65834         * lib/quotearg.c (N_): New macro.
65835         (gettext_default): New function.
65836         (quotearg_buffer_restyled): Use
65837         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
65838         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
65839
65840 2000-07-09  Jim Meyering  <meyering@lucent.com>
65841
65842         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
65843         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
65844
65845         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
65846         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
65847
65848 2000-07-09  Jim Meyering  <meyering@lucent.com>
65849
65850         * lib/Most files: Update copyright dates to include 2000.
65851
65852 2000-07-08  Jim Meyering  <meyering@lucent.com>
65853
65854         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
65855         if not defined.
65856         (xgethostname): Remove now-unnecessary #ifdef.
65857         Move declaration of `err' into loop where it's used.
65858
65859 2000-07-05  Paul Eggert  <eggert@twinsun.com>
65860         and Bruno Haible  <haible@clisp.cons.org>
65861
65862         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
65863         only if the test for an object-type mbstate_t fails.  This
65864         prevents us from mistakenly reporting that mbstate_t is a
65865         system object type after we "#define mbstate_t int" to work
65866         around its lack.
65867
65868 2000-07-05  Paul Eggert  <eggert@twinsun.com>
65869         and Bruno Haible  <haible@clisp.cons.org>
65870
65871         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
65872
65873 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
65874
65875         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
65876         to strerror_r.
65877         Include <ctype.h> for use of isalpha.
65878
65879 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
65880
65881         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
65882         by allocating a larger buffer. Test the gethostname return value for
65883         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
65884         returns an error and ENAMETOOLONG isn't defined.
65885
65886 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
65887
65888         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
65889         dimension.
65890
65891 2000-07-04  Jim Meyering  <meyering@lucent.com>
65892
65893         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
65894         of the deprecated AC_CHECKING.
65895
65896 2000-07-04  Jim Meyering  <meyering@lucent.com>
65897
65898         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
65899         Reported by Bruno Haible.
65900
65901 2000-07-04  Jim Meyering  <meyering@lucent.com>
65902
65903         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
65904         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
65905         lacks mbrtowc.
65906
65907 2000-07-03  Paul Eggert  <eggert@twinsun.com>
65908
65909         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
65910         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
65911
65912 2000-07-03  Paul Eggert  <eggert@twinsun.com>
65913         and Bruno Haible  <haible@clisp.cons.org>
65914
65915         * lib/quotearg.c (mbrtowc):
65916         Assign to *pwc, and return 1 only if result is nonzero.
65917         (iswprint): Use ISPRINT when substituting our own mbrtowc.
65918
65919 2000-07-03  Jim Meyering  <meyering@lucent.com>
65920
65921         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
65922
65923 2000-07-03  Jim Meyering  <meyering@lucent.com>
65924
65925         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
65926         This is necessary to get a definition of e.g., UTMP_FILE on
65927         HP-UX 10.20.
65928         From Bob Proulx.
65929
65930 2000-07-02  Jim Meyering  <meyering@lucent.com>
65931
65932         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
65933
65934         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
65935         AC_LIBOBJ(function_name).
65936         * m4/chown.m4: Likewise.
65937         * m4/fnmatch.m4: Likewise.
65938         * m4/ftruncate.m4: Likewise.
65939         * m4/getgroups.m4: Likewise.
65940         * m4/getline.m4: Likewise.
65941         * m4/group-member.m4: Likewise.
65942         * m4/jm-macros.m4: Likewise.
65943         * m4/lstat.m4: Likewise.
65944         * m4/malloc.m4: Likewise.
65945         * m4/memcmp.m4: Likewise.
65946         * m4/nanosleep.m4: Likewise.
65947         * m4/putenv.m4: Likewise.
65948         * m4/realloc.m4: Likewise.
65949         * m4/regex.m4: Likewise.
65950         * m4/stat.m4: Likewise.
65951         * m4/strftime.m4: Likewise.
65952
65953 2000-07-02  Jim Meyering  <meyering@lucent.com>
65954
65955         * lib/quotearg.c (mbstate_t): Don't define here.
65956
65957 2000-07-02  Jim Meyering  <meyering@lucent.com>
65958
65959         * lib/nanosleep.c (SIGCONT): Define if not already defined.
65960
65961 2000-07-01  Jim Meyering  <meyering@lucent.com>
65962
65963         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
65964
65965 2000-07-01  Jim Meyering  <meyering@lucent.com>
65966
65967         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
65968         problem.
65969
65970 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
65971
65972         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
65973         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
65974
65975 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
65976
65977         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
65978         per change in ../m4/ls-mntd-fs.m4.
65979         (read_filesystem_list): Ignore symbolic links.
65980
65981 2000-06-29  Jim Meyering  <meyering@lucent.com>
65982
65983         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
65984         for declaration of strcmp.
65985
65986         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
65987
65988         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
65989         Avoid warning by casting result to `char *' to remove `const'.
65990
65991 2000-06-28  Jim Meyering  <meyering@lucent.com>
65992
65993         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
65994         included by quotearg.c, for which we perform this test.  From
65995         Bruno Haible.
65996
65997 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
65998
65999         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
66000         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
66001         <utmpx.h> exists, put readutmp.o into LIBOBJS.
66002
66003 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
66004
66005         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
66006
66007 2000-06-26  Paul Eggert  <eggert@twinsun.com>
66008
66009         savedir now sets errno on failure and invokes xmalloc to get memory.
66010         Fix a couple of other minor bugs while we're at it.
66011
66012         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
66013         (NAMLEN): Remove macro.
66014         (malloc, realloc): Remove decls.
66015         (stpcpy): Likewise.
66016         ("xalloc.h"): Include.
66017         (NAME_SIZE_DEFAULT): New macro.
66018         (savedir): Use xmalloc / xrealloc to allocate memory.
66019         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
66020         Skip "" directory entries.
66021         Use strlen to calculate directory entry length, since the old method
66022         is rarely used these days and isn't worth supporting.
66023         Don't use a pointer after freeing it.
66024         Check for integer overflow when calculating allocation size.
66025         Use memcpy to copy entries, instead of stpcpy.
66026         Set errno properly when returning NULL.
66027         Check for readdir error.
66028
66029 2000-06-26  Jim Meyering  <meyering@lucent.com>
66030
66031         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
66032
66033 2000-06-25  Jim Meyering  <meyering@lucent.com>
66034
66035         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
66036         Linux header bug when _XOPEN_SOURCE is defined to 500.
66037
66038 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
66039
66040         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
66041         deficiency.
66042
66043 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
66044
66045         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
66046         Include xalloc.h.
66047         Don't include <stdlib.h>.  Don't declare malloc, realloc.
66048
66049 2000-06-24  Jim Meyering  <meyering@lucent.com>
66050
66051         * m4/strerror_r.m4: Revive this file -- to try out an experimental
66052         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
66053         for which strerror does return char*, but which lacks a conveniently
66054         accessible declaration of the function.  If the compile-test says
66055         strerror_r doesn't work, then resort to a `run'-test that works on
66056         BeOS and segfaults on DEC Unix.
66057
66058 2000-06-24  Jim Meyering  <meyering@lucent.com>
66059
66060         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
66061
66062 2000-06-23  Paul Eggert  <eggert@twinsun.com>
66063
66064         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
66065         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
66066
66067 2000-06-23  Paul Eggert  <eggert@twinsun.com>
66068
66069         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
66070         (mbrtowc, mbstate_t): Define substitutes if
66071         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
66072         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
66073         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
66074
66075 2000-06-23  Jim Meyering  <meyering@lucent.com>
66076
66077         * m4/afs.m4: Add missing AC_MSG_RESULT.
66078         Reported by Bruno Haible.
66079
66080         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
66081         Suggestion from Bruno Haible.
66082
66083 2000-06-23  Jim Meyering  <meyering@lucent.com>
66084
66085         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
66086
66087 2000-06-21  Jim Meyering  <meyering@lucent.com>
66088
66089         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
66090
66091 2000-06-21  Jim Meyering  <meyering@lucent.com>
66092
66093         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
66094         (noinst_HEADERS): Add getstr.h.
66095
66096         * lib/getline.c (getstr): Move into a separate file.
66097         * lib/getstr.c (getstr): New file, extracted from getline.c, with
66098         the following changes: new parameter, delim2; both delim[12]
66099         parameters have type `int', not `char'.  The latter would lose
66100         with 8-bit delimiters.
66101         * lib/getstr.h: New file.
66102
66103 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66104
66105         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
66106         than 1024, return a memory chunk of least possible size, instead
66107         of size PATH_MAX + 2. In the loop, increment the size proportionally.
66108         Use free/xmalloc instead of xrealloc to avoid copying for very long
66109         paths.
66110
66111 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66112
66113         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
66114         the empty string.
66115
66116 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66117
66118         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
66119         address, not strdup.  Include <stdlib.h> and don't declare free().
66120
66121 2000-06-19  Jim Meyering  <meyering@lucent.com>
66122
66123         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
66124
66125 2000-06-18  Jim Meyering  <meyering@lucent.com>
66126
66127         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
66128
66129         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
66130         `checking whether...' message to be consistent with that of the
66131         lstat test.
66132
66133 2000-06-18  Jim Meyering  <meyering@lucent.com>
66134
66135         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
66136         Besides, these days every porting target provides a mkdir function.
66137
66138         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
66139         needed. (this snippet comes from src/system.h).
66140
66141 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
66142
66143         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
66144
66145 2000-06-15  Paul Eggert  <eggert@twinsun.com>
66146
66147         * lib/human.c (adjust_value): New function.
66148         (human_readable_inexact): Apply rounding style even when
66149         printing approximate values.
66150
66151 2000-06-14  Paul Eggert  <eggert@twinsun.com>
66152
66153         * lib/human.c (human_readable_inexact): Allow an input block
66154         size that is not a multiple of the output block size, and vice versa.
66155         Reported by Piergiorgio Sartor.
66156
66157 2000-06-14  Paul Eggert  <eggert@twinsun.com>
66158
66159         * lib/getdate.y (get_date): Apply relative times after time
66160         zone indicator, not before.  Reported by Todd A. Jacobs.
66161
66162 2000-06-13  Jim Meyering  <meyering@lucent.com>
66163
66164         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
66165
66166         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
66167
66168 2000-06-12  Paul Eggert  <eggert@twinsun.com>
66169
66170         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
66171
66172 2000-06-12  Jim Meyering  <meyering@lucent.com>
66173
66174         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
66175         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
66176         optional argument.
66177         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
66178         the optional argument, `lib'.
66179
66180 2000-06-08  Jim Meyering  <meyering@lucent.com>
66181
66182         * m4/largefile.m4: Remove file (now that it's part of autoconf).
66183
66184 2000-06-04  Paul Eggert  <eggert@twinsun.com>
66185
66186         Rewrite largefile configuration so that we don't need to run
66187         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
66188         AC_CANONICAL_HOST in configure.in -- jmm]
66189
66190         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
66191         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
66192         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
66193         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
66194         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
66195         All uses changed.
66196         Instead of inspecting the output of getconf, try to compile the
66197         test program without and with the macro definition.
66198         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
66199         for getconf.  Instead, check for the needed flags by compiling
66200         test programs.
66201
66202 2000-06-04  Paul Eggert  <eggert@twinsun.com>
66203
66204         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
66205
66206 2000-06-04  Jim Meyering  <meyering@lucent.com>
66207
66208         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
66209         SunOS 4.1.4 for which gid_t is an unsigned type.
66210
66211 2000-06-03  Jim Meyering  <meyering@lucent.com>
66212
66213         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
66214         now that autoconf requires that.
66215
66216         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
66217         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
66218         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
66219
66220 2000-06-03  Jim Meyering  <meyering@lucent.com>
66221
66222         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
66223
66224 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
66225
66226         * m4/glibc21.m4: New file.
66227         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
66228
66229 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
66230
66231         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
66232         newer, don't install charset.alias.
66233         * lib/config.charset: Change the Linux/glibc rules so they become empty
66234         on glibc-2.1 or newer.
66235
66236 2000-06-02  Jim Meyering  <meyering@lucent.com>
66237
66238         * lib/mountlist.c: Back out last change.  Instead, do this...
66239         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
66240         me_dummy member using the same `ignore'-testing code.
66241         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
66242         fs_type strings.
66243         From Mark D. Roth.
66244
66245 2000-05-29  Jim Meyering  <meyering@lucent.com>
66246
66247         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
66248         mounts with the `ignore' attribute.  Based on a patch from
66249         Mark D. Roth.
66250
66251 2000-05-28  Jim Meyering  <meyering@lucent.com>
66252
66253         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
66254         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66255         * m4/stat.m4: Likewise.
66256         * m4/lstat.m4: Likewise.
66257         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
66258
66259         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
66260         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
66261
66262 2000-05-26  Jim Meyering  <meyering@lucent.com>
66263
66264         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
66265
66266 2000-05-24  Jim Meyering  <meyering@lucent.com>
66267
66268         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
66269         autoconf requires that.
66270         * m4/lib-check.m4: Likewise.
66271         * m4/jm-macros.m4: Likewise.
66272         * m4/strftime.m4: Likewise.
66273
66274         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
66275         AC_CHECK_DECLS, now that autoconf requires that.
66276
66277 2000-05-22  Jim Meyering  <meyering@lucent.com>
66278
66279         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66280         * m4/lstat.m4: Likewise.
66281
66282 2000-05-22  Jim Meyering  <meyering@lucent.com>
66283
66284         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
66285
66286 2000-05-20  Jim Meyering  <meyering@lucent.com>
66287
66288         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
66289         (jm_PREREQ): Use it.
66290
66291 2000-05-18  Jim Meyering  <meyering@lucent.com>
66292
66293         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
66294         back, too, since it may have been modified by allocate_entry.
66295         (hash_delete): Rewrite to use neither the assignment operator
66296         nor the comma operator in an if-expression.
66297
66298 2000-05-15  Paul Eggert  <eggert@twinsun.com>
66299
66300         * lib/closeout.c:
66301         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
66302         Remove; no longer needed.
66303         "quotearg.h": Add include.
66304         (file_name): Do not bother to explicitly initialize to NULL; it's less
66305         efficient on some hosts.
66306         (close_stdout_status): Remove test as to whether stdout was already
66307         closed; it breaks for the case "echo x | sort >&-".
66308         Quote file name colons.
66309         Do not assume that _("write error") lacks format strings.
66310
66311 2000-05-15  Jim Meyering  <meyering@lucent.com>
66312
66313         * lib/version-etc.c (version_etc_copyright): Update the copyright
66314         string used in all --version output.
66315
66316 2000-05-14  Jim Meyering  <meyering@lucent.com>
66317
66318         * lib/closeout.c (close_stdout_set_file_name): New function.
66319         (close_stdout_status): Use new file-scoped global.
66320         Return right away if fstat says the stdout file descriptor is invalid.
66321         * lib/closeout.h (close_stdout_set_file_name): Declare.
66322
66323 2000-05-10  Jim Meyering  <meyering@lucent.com>
66324
66325         * lib/closeout.c [default_exit_status]: New file-scoped variable.
66326         (close_stdout_set_status): New function.
66327         * lib/closeout.h (close_stdout_set_status): Declare.
66328
66329 2000-05-09  Jim Meyering  <meyering@lucent.com>
66330
66331         * m4/gettext.m4: Rename this...
66332         * m4/libintl.m4: ...to this.
66333
66334 2000-05-08  Jim Meyering  <meyering@lucent.com>
66335
66336         * lib/long-options.c: Don't include closeout.h.
66337         (parse_long_options): Don't call close_stdout for --version.
66338
66339 2000-05-06  Paul Eggert  <eggert@twinsun.com>
66340
66341         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
66342         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
66343         2.1.3 bug.  This avoids a clash when files like regex.c define
66344         _GNU_SOURCE.
66345
66346 2000-05-06  Jim Meyering  <meyering@lucent.com>
66347
66348         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
66349         (AC_REPLACE_FUNCS): Add strnlen.
66350
66351         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
66352         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
66353
66354         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
66355         AC_SEARCH_LIBS call for nanosleep.
66356         (LIB_NANOSLEEP): Set and AC_SUBST.
66357
66358 2000-05-06  Jim Meyering  <meyering@lucent.com>
66359
66360         * lib/strnlen.c: Undefine __strnlen and strnlen.
66361         [!weak_alias]: Define __strnlen to strnlen.
66362
66363         * lib/atexit.c: New file, from libiberty.
66364
66365 2000-05-06  Jim Meyering  <meyering@lucent.com>
66366
66367         * lib/closeout.c (close_stdout_status): Also check for errors on the
66368         stderr stream.
66369
66370 2000-05-05  Jim Meyering  <meyering@lucent.com>
66371
66372         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
66373         AC_SEARCH_LIBS call for clock_gettime.
66374         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
66375
66376         * m4/search-libs.m4: Update from autoconf.
66377
66378         su doesn't work on Solaris 2.6.
66379         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
66380         <shadow.h>.  Reported by Dragos Harabor.
66381
66382 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
66383
66384         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
66385         memcpy instead of xmalloc, xrealloc, path_concat.
66386         (locale_charset): Treat empty environment variables as absent.
66387         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
66388
66389 2000-05-04  Jim Meyering  <meyering@lucent.com>
66390
66391         * lib/getopt.c: Update from glibc.
66392         * lib/obstack.c: Likewise.
66393         * lib/obstack.h: Likewise.
66394         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
66395         file
66396
66397         * lib/regex.h: Likewise.
66398         * lib/strndup.c: Likewise.
66399         * lib/strnlen.c: New file, from glibc.
66400
66401 2000-05-03  Jim Meyering  <meyering@lucent.com>
66402
66403         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
66404
66405 2000-05-02  Paul Eggert  <eggert@twinsun.com>
66406
66407         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
66408         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
66409         compile-time test, rather than inspecting host and OS, to
66410         decide whether to define _LARGEFILE_SOURCE.
66411
66412 2000-05-01  Jim Meyering  <meyering@lucent.com>
66413
66414         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
66415
66416         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
66417         Based on a patch from Bruno Haible.
66418
66419 2000-05-01  Jim Meyering  <meyering@lucent.com>
66420
66421         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
66422
66423 2000-04-29  Jim Meyering  <meyering@lucent.com>
66424
66425         * lib/path-concat.c: Declare strdup only if it's not defined.
66426         * lib/canon-host.c: Likewise.
66427
66428 2000-04-28  Jim Meyering  <meyering@lucent.com>
66429
66430         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
66431         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
66432         is included first, then limits.h is included by locale.h by libintl.h.
66433         From John David Anglin.
66434
66435 2000-04-25  Jim Meyering  <meyering@lucent.com>
66436
66437         * lib/makepath.c (S_IRWXUGO): Define.
66438         (make_path): Always perform explicit chmod if MODE specifies any
66439         of the `special' permission bits.  Prompted by a bug report against
66440         install from Mate Wierdl and Joost van Baal.
66441
66442 2000-04-18  Jim Meyering  <meyering@lucent.com>
66443
66444         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
66445         (jm_PREREQ): Use it.
66446
66447 2000-04-18  Jim Meyering  <meyering@lucent.com>
66448
66449         * lib/README: New file.
66450
66451         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
66452         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
66453
66454 2000-04-17  Jim Meyering  <meyering@lucent.com>
66455
66456         Get it right :-)
66457         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
66458         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
66459         Suggestion from Akim Demaille.
66460
66461 2000-04-17  Jim Meyering  <meyering@lucent.com>
66462
66463         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
66464         the definition of it to rpl_strftime also defined-away the system's
66465         declaration.
66466
66467 2000-04-15  Jim Meyering  <meyering@lucent.com>
66468
66469         Use `C' to denote so-called `contiguous' files, the same way
66470         that tar does.
66471         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
66472         (ftypelet): Use S_ISCTG.
66473         From Michael Deutschmann.
66474
66475 2000-04-14  Jim Meyering  <meyering@lucent.com>
66476
66477         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
66478         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
66479         clobbered.
66480
66481 2000-04-14  Jim Meyering  <meyering@lucent.com>
66482
66483         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
66484
66485 2000-04-13  Jim Meyering  <meyering@lucent.com>
66486
66487         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
66488         AH_VERBATIM to insert required #ifndef into config.h.in.
66489         Suggestion from Akim Demaille.
66490
66491 2000-04-12  Jim Meyering  <meyering@lucent.com>
66492
66493         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
66494         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
66495         Christian Krackowizer.
66496
66497         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
66498         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
66499         (AC_SYS_LARGEFILE): Require.
66500         (AM_C_PROTOTYPES): Require.
66501
66502 2000-04-08  Jim Meyering  <meyering@lucent.com>
66503
66504         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
66505         names don't conflict.  Reported by Eli Zaretskii.
66506
66507 2000-04-07  Jim Meyering  <meyering@lucent.com>
66508
66509         * lib/putenv.c: Move inclusion of errno.h so it follows that of
66510         sys/types.h, to work around system header problems on AIX 3.2.5.
66511         From Bruno Haible.
66512
66513 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
66514
66515         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
66516         bug.  Deal with the different error behavior of Irix iconv.
66517
66518 2000-04-05  Paul Eggert  <eggert@twinsun.com>
66519
66520         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
66521         IRIX if the installer said otherwise.
66522
66523 2000-04-05  Jim Meyering  <meyering@lucent.com>
66524
66525         Portability tweaks required for ultrix4.3.
66526         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
66527         (jm_CHECK_DECLS): Add getutent to the list of functions.
66528         (_jm_DECL_HEADERS): Add utmpx.h.
66529         From John David Anglin.
66530
66531         * m4/strftime.m4: Back out the 2000-04-02 change.
66532         Instead of that change, simply undefine putenv in the test program.
66533
66534 2000-04-05  Jim Meyering  <meyering@lucent.com>
66535
66536         Portability tweaks required for ultrix4.3.
66537         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
66538         getutent.
66539         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
66540         * lib/canon-host.c: Declare strdup.
66541         * lib/path-concat.c: Likewise.
66542         From John David Anglin.
66543
66544 2000-04-04  Jim Meyering  <meyering@lucent.com>
66545
66546         Be more DOS 8.3-friendly.
66547         * lib/ref-add.sin: Renamed from ref-add.sed.in.
66548         * lib/ref-del.sin: Renamed from ref-del.sed.in.
66549         * lib/Makefile.am: Reflect renaming.
66550         Reported by Eli Zaretskii.
66551
66552         Use a temporary file name that won't clash with `charset.alias'
66553         in the DOS 8.3 name space.
66554         * lib/Makefile.am (charset_tmp): Define.
66555         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
66556         (uninstall-local): Likewise.
66557         Reported by Eli Zaretskii.
66558
66559 2000-04-03  Jim Meyering  <meyering@lucent.com>
66560
66561         * m4/gettext.m4: Fix typo in comment.
66562
66563         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
66564         textutils/configure.in).  Suggestion from Paul Eggert.
66565         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
66566
66567 2000-04-02  Paul Eggert  <eggert@twinsun.com>
66568
66569         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
66570         variable in the shell rather than using putenv, which isn't
66571         portable.  This avoids the configure-time inter-test dependency
66572         on the potentially-renamed putenv function.
66573
66574 2000-03-30  Paul Eggert  <eggert@twinsun.com>
66575
66576         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
66577         before checking struct stat.st_blksize, so that
66578         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
66579
66580 2000-03-29  Paul Eggert  <eggert@twinsun.com>
66581
66582         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
66583         since strftime.c uses HAVE_STRFTIME to decide whether to use
66584         the underlying strftime.
66585
66586 2000-03-29  Paul Eggert  <eggert@twinsun.com>
66587
66588         * lib/time/strftime.c (my_strftime): Make sure we call the system
66589         strftime, not ourselves, when invoking the underlying strftime.
66590
66591 2000-03-24  Jim Meyering  <meyering@lucent.com>
66592
66593         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
66594         (charset_alias): Define.
66595         (install-exec-local): Factor out common code.
66596         (uninstall-local): Split lines longer than 80.
66597         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
66598         (SUFFIXES): Define.
66599         (.sed.in.sed): New rule.  Don't redirect directly to $@.
66600         (CLEANFILES): Add ref-add.sed and ref-del.sed.
66601
66602 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
66603
66604         * lib/config.charset: Output a line containing "Packages using this
66605         file".
66606         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
66607         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
66608         ref-del.sed): New rules.
66609
66610 2000-03-17  Jim Meyering  <meyering@lucent.com>
66611
66612         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
66613         Otherwise, include <strings.h>
66614
66615 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
66616
66617         * lib/unicodeio.c (utf8_wctomb): New function.
66618         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
66619         format instead of in UCS-4 with platform dependent endianness.
66620
66621 2000-03-10  Jim Meyering  <meyering@lucent.com>
66622
66623         * m4/lib-check.m4: Look for getspnam in -lgen, too.
66624         From Marco Franzen.
66625
66626 2000-03-07  Paul Eggert  <eggert@twinsun.com>
66627
66628         * lib/savedir.c (savedir): Work even if directory size is
66629         negative; this can happen with some screwy NFS configurations.
66630
66631 2000-03-06  Jim Meyering  <meyering@lucent.com>
66632
66633         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
66634         if it's NULL (because we ran out of memory).  From Bruno Haible.
66635
66636 2000-03-05  Jim Meyering  <meyering@lucent.com>
66637
66638         * lib/localcharset.c ("path-concat.h"): Include.
66639         (get_charset_aliases): Use path_concat instead of ANSI string
66640         concatenation.
66641
66642         * lib/unicodeio.h (PARAMS): Define.
66643         Use it to guard prototype.
66644
66645 2000-03-04  Jim Meyering  <meyering@lucent.com>
66646
66647         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
66648         for lib/localcharset.c.
66649
66650 2000-03-04  Jim Meyering  <meyering@lucent.com>
66651
66652         * lib/Makefile.am (install-exec-local): Create $(libdir) before
66653         installing into it.
66654         (uninstall-local): Uncomment this rule so `make distcheck' works
66655         once again.
66656
66657         * lib/unicodeio.c (<errno.h>): Include it.
66658         (errno): Declare if not defined.
66659
66660         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
66661
66662         * lib/config.charset: New version, incorporating remarks from a linux
66663         i18n mailing list.  From Bruno Haible.
66664
66665 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
66666
66667         * m4/codeset.m4: New file.
66668         * m4/iconv.m4: New file.
66669         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
66670
66671 2000-03-03  Jim Meyering  <meyering@lucent.com>
66672
66673         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
66674
66675 2000-03-02  Jim Meyering  <meyering@lucent.com>
66676
66677         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
66678         the messages come out on separate lines.
66679
66680         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
66681         rather than jm_CHECK_DECLARATIONS.
66682         * m4/decl.m4: Remove now-unused file.
66683
66684         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
66685         geteuid.
66686
66687 2000-03-02  Jim Meyering  <meyering@lucent.com>
66688
66689         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
66690
66691 2000-03-01  Jim Meyering  <meyering@lucent.com>
66692
66693         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
66694         * lib/unicodeio.c: Likewise.
66695
66696 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
66697
66698         * lib/config.charset: New file.
66699         * lib/localcharset.c: New file.
66700         * lib/unicodeio.h, lib/unicodeio.c: New files.
66701         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
66702         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
66703         (noinst_HEADERS): Add unicodeio.h.
66704         (all-local, install-exec-local, charset.alias): New targets.
66705
66706 2000-02-28  Paul Eggert  <eggert@twinsun.com>
66707
66708         * lib/quotearg.c (ALERT_CHAR): New macro.
66709         (quotearg_buffer_restyled): Use it.
66710
66711 2000-02-27  Jim Meyering  <meyering@lucent.com>
66712
66713         * m4/check-decl.m4: Add getenv to the list.
66714
66715 2000-02-27  Jim Meyering  <meyering@lucent.com>
66716
66717         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
66718         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
66719
66720         * lib/backupfile.c: Guard inclusion of stdlib.h with
66721         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
66722         Declare malloc if needed.
66723
66724         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
66725         `#ifndef HAVE_DECL..'
66726         now that autoconf always defines the HAVE_DECL_ symbols.
66727         * lib/human.c: Likewise.
66728         * lib/same.c: Likewise.
66729         * lib/strtoumax.c: Likewise.
66730
66731         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
66732         declaration check was not run.
66733         * lib/hash.c: Likewise.
66734         * lib/human.c: Likewise.
66735         * lib/same.c: Likewise.
66736         * lib/strtoumax.c: Likewise.
66737
66738         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
66739         `.', then first look up the entire `.'-containing string as a login
66740         name.
66741
66742 2000-02-23  Jim Meyering  <meyering@lucent.com>
66743
66744         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
66745         in place of my hack.
66746
66747 2000-02-18  Paul Eggert  <eggert@twinsun.com>
66748
66749         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
66750         (textint): New typedef.
66751         (parser_control): Member year changed from int to textint.
66752         All uses changed.
66753         (YYSTYPE): Removed; replaced by %union with int and textint members.
66754         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
66755         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
66756         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
66757         (tSNUMBER, tUNUMBER): Now of type <textintval>.
66758         (date, number, to_year): Use width of number in digits, not its value,
66759         to determine whether it's a 2-digit year, or a 2-digit time.
66760         (yylex): Store number of digits of numeric tokens.
66761         Reported by John Kendall.
66762
66763         (parser_control): Changed from struct parser_control to typedef (for
66764         consistency).  All uses changed.
66765
66766         (tID): Removed; not used.
66767         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
66768
66769 2000-02-14  Paul Eggert  <eggert@twinsun.com>
66770
66771         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
66772         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
66773
66774 2000-02-12  Jim Meyering  <meyering@lucent.com>
66775
66776         * lib/userspec.c (ISDIGIT): Define it.
66777         (isdigit): Remove definition.
66778         (is_number): Use ISDIGIT, not isdigit.
66779         <libintl.h>: Include.
66780         (_ and N_): Define.
66781         (parse_user_spec): Mark translatable strings.
66782
66783 2000-02-10  Jim Meyering  <meyering@lucent.com>
66784
66785         With these changes, nanosleep.[ch] are finally enough like the other
66786         lib/* replacement files to compile on a few more losing systems.
66787
66788         * lib/nanosleep.h: Don't include config.h.
66789         Remove prototype from declaration of nanosleep.
66790         (PARAMS): Remove now-unneeded definition.
66791         * lib/nanosleep.c: #undef nanosleep.
66792         (rpl_nanosleep): Rename from nanosleep.
66793
66794 2000-02-10  Jim Meyering  <meyering@lucent.com>
66795
66796         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
66797         gnu_nanosleep to rpl_nanosleep.
66798
66799 2000-02-09  Jim Meyering  <meyering@lucent.com>
66800
66801         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
66802         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
66803
66804 2000-02-08  Akim Demaille  <akim@epita.fr>
66805
66806         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
66807         `[' and `]' and remove uses of `changequote'.
66808         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
66809         (AC_SYS_LARGEFILE): Likewise.
66810         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
66811         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
66812         of changequote.
66813         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
66814         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
66815         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
66816         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
66817
66818 2000-02-05  Jim Meyering  <meyering@lucent.com>
66819
66820         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
66821         Remove explicit use of AC_HEADER_TIME.  It is required by
66822         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
66823         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
66824         in autoconf whereby the expansion of the latter ended up preceding
66825         the expansion of its prerequisite, AC_HEADER_TIME.
66826         Reported by Volker Borchert.
66827
66828 2000-02-03  Jim Meyering  <meyering@lucent.com>
66829
66830         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
66831
66832 2000-02-03  Jim Meyering  <meyering@lucent.com>
66833
66834         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
66835         rather than with `#if HAVE_UTMPNAME'.
66836
66837 2000-02-02  Jim Meyering  <meyering@lucent.com>
66838
66839         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
66840         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
66841         Reported by Eli Zaretskii.
66842
66843 2000-02-01  Jim Meyering  <meyering@lucent.com>
66844
66845         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
66846
66847 2000-01-31  Jim Meyering  <meyering@lucent.com>
66848
66849         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
66850         functions.  Add the time.h and sys/time.h headers along with the
66851         AC_REQUIRE'ment of AC_HEADER_TIME.
66852
66853 2000-01-31  Jim Meyering  <meyering@lucent.com>
66854
66855         * lib/nanosleep.h (nanosleep): Guard declaration with
66856         `#if ! HAVE_DECL_NANOSLEEP'.
66857         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
66858         the declaration in that vendor's sys/timers.h.
66859         Reported by Christian Krackowizer.
66860
66861         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
66862         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
66863         (ISPRINT): Likewise.
66864         Reported by Tom Tromey.
66865
66866 2000-01-30  Jim Meyering  <meyering@lucent.com>
66867
66868         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
66869
66870         * m4/prereq.m4 (utmp_includes): Define.
66871         Check for ut_user and ut_name members in both struct utmpx
66872         and struct utmp.
66873
66874 2000-01-30  Jim Meyering  <meyering@lucent.com>
66875
66876         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
66877         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
66878         header files where only utmpx.ut_user is declared.
66879
66880         * lib/readutmp.h (UT_USER): Define.
66881
66882 2000-01-29  Jim Meyering  <meyering@lucent.com>
66883
66884         * m4/lib-check.m4: New file containing library-related checks from
66885         fileutils and sh-utils (textutils had none).
66886
66887 2000-01-28  Jim Meyering  <meyering@lucent.com>
66888
66889         * m4/perl.m4: Change format of warning message to look more like that
66890         from the missing script.  Suggestion from François Pinard.
66891
66892 2000-01-25  Jim Meyering  <meyering@lucent.com>
66893
66894         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
66895         well as time.h in the compile check.
66896         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
66897         Fix typo in cross-compiling case: s/yes/no/.
66898
66899 2000-01-23  Jim Meyering  <meyering@lucent.com>
66900
66901         * m4/jm-macros.m4: Move df-related tests here from
66902         fileutils/configure.in
66903
66904         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
66905         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
66906
66907         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
66908         s/space/ac_fsusage_space/.
66909         (jm_FILE_SYSTEM_USAGE): Take two parameters.
66910
66911         * m4/ftruncate.m4: New file (derived from part of
66912         fileutils/configure.in).
66913         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
66914         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
66915
66916         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
66917         AC_SUBST these here, rather than just in sh-util/configure.in, so
66918         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
66919         all the same.
66920         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
66921         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
66922         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
66923         (AC_SUBST(POW_LIBM)): Likewise.
66924         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
66925
66926 2000-01-23  Jim Meyering  <meyering@lucent.com>
66927
66928         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
66929         obstack.c.
66930
66931 2000-01-22  Jim Meyering  <meyering@lucent.com>
66932
66933         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
66934
66935         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
66936
66937         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
66938         configure.in
66939         (AC_CHECK_HEADERS): Likewise for sh-utils.
66940         (AC_CHECK_HEADERS): Likewise for textutils.
66941         Merge the three lists of headers.
66942
66943         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
66944         from fileutils' configure.in.
66945
66946         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
66947         code. Moved tests into their own function (_jm_DECL_HEADERS) in
66948         check-decl.m4.
66949
66950         * m4/check-decl.m4: Use #if rather than #ifdef.
66951         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
66952         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
66953         (_jm_DECL_HEADERS): Define new function.
66954         (jm_CHECK_DECLARATIONS): Require it.
66955
66956 2000-01-22  Jim Meyering  <meyering@lucent.com>
66957
66958         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
66959         [! HAVE_DECL_STRTOULL]: Declare strtoull.
66960         Required for some AIX systems.  Reported by Christian Krackowizer.
66961         [TESTING] (main): New function.
66962
66963         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
66964         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
66965         letters.
66966
66967         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
66968         iswprint.
66969
66970         * lib/strverscmp.c (ISDIGIT): Define.
66971         (strverscmp): Use ISDIGIT, not isdigit.
66972
66973 2000-01-19  Jim Meyering  <meyering@lucent.com>
66974
66975         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
66976         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
66977         defines `struct timespec' in <sys/time.h>
66978
66979         * m4/c-bs-a.m4: Remove uses of changequote altogether.
66980         Thanks to Akim for explaining.
66981
66982 2000-01-17  Paul Eggert  <eggert@twinsun.com>
66983
66984         * lib/nanosleep.c (nanosleep):
66985         Don't use SA_INTERRUPT to decide whether to call sigaction, as
66986         POSIX.1 doesn't require SA_INTERRUPT and some systems
66987         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
66988         it's been part of POSIX.1 since day 1 (in 1988).
66989
66990 2000-01-17  Jim Meyering  <meyering@lucent.com>
66991
66992         * lib/interlock: Remove unused file.  Reported by François Pinard.
66993
66994 2000-01-16  Paul Eggert  <eggert@twinsun.com>
66995
66996         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
66997         alert, backslash, formfeed, and vertical tab unnecessarily in
66998         shell quoting style.
66999
67000 2000-01-16  Jim Meyering  <meyering@lucent.com>
67001
67002         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
67003         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
67004         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
67005         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
67006
67007 2000-01-16  Jim Meyering  <meyering@lucent.com>
67008
67009         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
67010         because the latter didn't work.
67011
67012 2000-01-15  Jim Meyering  <meyering@lucent.com>
67013
67014         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
67015         (AC_REPLACE_FUNCS): Add memcpy and memset.
67016         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
67017         Add strpbrk.
67018         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
67019
67020 2000-01-12  Jim Meyering  <meyering@lucent.com>
67021
67022         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
67023         (jm_PREREQ): Use it.
67024         (jm_PREREQ_READUTMP): New macro.
67025         (jm_PREREQ): Use it.
67026
67027 2000-01-11  Paul Eggert  <eggert@twinsun.com>
67028
67029         Quote multibyte characters correctly.
67030         * m4/c-bs-a.m4: New file.
67031         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
67032         (jm_PREREQ): Use it.
67033
67034 2000-01-11  Paul Eggert  <eggert@twinsun.com>
67035
67036         * m4/uintmax_t.m4: Port to autoconf 2.13.
67037
67038 2000-01-08  Jim Meyering  <meyering@ascend.com>
67039
67040         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
67041         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
67042
67043 2000-01-04  Jim Meyering  <meyering@ascend.com>
67044
67045         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
67046         jm_STRUCT_DIRENT_D_TYPE.
67047         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
67048         jm_STRUCT_DIRENT_D_INO.
67049         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
67050         jm_STRUCT_UTIMBUF.
67051         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
67052         renamings.
67053         * m4/utime.m4: Likewise.
67054
67055         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
67056         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
67057
67058 2000-01-03  Paul Eggert  <eggert@twinsun.com>
67059
67060         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
67061         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
67062
67063 2000-01-02  Jim Meyering  <meyering@ascend.com>
67064
67065         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
67066         remember if this is necessary.
67067
67068 1999-12-26  Jim Meyering  <meyering@ascend.com>
67069
67070         * m4/jm-macros.m4: Use it here.
67071         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
67072
67073 1999-12-23  Jim Meyering  <meyering@ascend.com>
67074
67075         * m4/jm-macros.m4: Check for clock_gettime (moved from
67076         fileutils/configure.in)
67077         Check for gettimeofday.
67078
67079 1999-12-20  Jim Meyering  <meyering@ascend.com>
67080
67081         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
67082         autoconf-2.14a-1999-12-20.
67083
67084 1999-12-19  Jim Meyering  <meyering@ascend.com>
67085
67086         * m4/lstat-slash.m4: New file.
67087         * m4/jm-macros.m4: Use the new macro:
67088         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67089
67090 1999-12-07  Jim Meyering  <meyering@ascend.com>
67091
67092         * m4/perl.m4: Require that File::Compare be available, too.
67093         Too many systems seem to lack it.
67094
67095         * m4/strftime.m4: Add checks for most of the cpp macros tested in
67096         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
67097
67098 1999-11-18  Paul Eggert  <eggert@twinsun.com>
67099
67100         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
67101         problem with the QNX 4.25 shell, which doesn't propagate exit
67102         status of failed commands inside shell assignments.
67103
67104 1999-11-17  Jim Meyering  <meyering@ascend.com>
67105
67106         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
67107
67108 1999-11-07  Jim Meyering  <meyering@ascend.com>
67109
67110         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
67111
67112 1999-11-06  Jim Meyering  <meyering@ascend.com>
67113
67114         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
67115         * m4/jm-macros.m4 (jm_MACROS): Use it here.
67116
67117 1999-11-05  Jim Meyering  <meyering@ascend.com>
67118
67119         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
67120         configure.in of textutils, fileutils, and sh-utils into this one
67121         (shared between those packages) file.
67122         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
67123         AC_STRUCT_ST_BLKSIZE.
67124
67125 1999-11-03  Jim Meyering  <meyering@ascend.com>
67126
67127         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
67128         of AC_CHECK_TYPE checks includes unistd.h.
67129         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
67130         Suggestion from Akim Demaille.
67131
67132 1999-10-30  Jim Meyering  <meyering@ascend.com>
67133
67134         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
67135         m4-quoted string.
67136         * m4/ls-mntd-fs.m4: Likewise.
67137         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
67138         * m4/jm-winsz1.m4: Likewise.
67139
67140         * m4/const.m4: Remove file, since the fix made it into the experimental
67141         version of autoconf.
67142         * m4/mktime.m4: Likewise.
67143
67144         * m4/check-type.m4: Remove file, now that the latest version of
67145         AC_CHECK_TYPE takes a third arg to specify additional #includes.
67146
67147         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
67148         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
67149         AC_CHECK_TYPE.
67150
67151 1999-10-04  Jim Meyering  <meyering@ascend.com>
67152
67153         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
67154
67155 1999-09-22  Paul Eggert  <eggert@twinsun.com>
67156
67157         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
67158         2.95.1 bug with HP-UX 10.20.
67159
67160 1999-09-17  Jim Meyering  <meyering@ascend.com>
67161
67162         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
67163         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
67164         due to missing strdup (against sh-utils-2.0).
67165
67166 1999-08-29  Jim Meyering  <meyering@ascend.com>
67167
67168         * m4/jm-macros.m4: Require jm_BISON.
67169         * m4/bison.m4: New file.
67170
67171 1999-08-17  Paul Eggert  <eggert@twinsun.com>
67172
67173         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
67174         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
67175
67176 1999-08-05  Jim Meyering  <meyering@ascend.com>
67177
67178         * m4/getline.m4: Rename test file from conftestdata to conftest.data
67179         to avoid conflicts with `conftest' on 8+3 filesystems.
67180         Suggestion from Eli Zaretskii.
67181
67182 1999-08-04  Jim Meyering  <meyering@ascend.com>
67183
67184         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
67185         fileutils and sh-utils (textutils's getline test was inadequate).
67186         (AM_FUNC_GETLINE): Run this test.
67187         (AC_CHECK_FUNCS): Check for getdelim.
67188         Reported by Bob Proulx.
67189
67190 1999-08-02  Jim Meyering  <meyering@ascend.com>
67191
67192         * m4/jm-macros.m4: Add a comment.
67193
67194 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67195
67196         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
67197         <inttypes.h> defines strtoumax as a macro (and not as a
67198         function).
67199
67200 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67201
67202         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
67203         that we can shift, multiply and divide unsigned long long
67204         values; Ultrix cc can't do it.
67205
67206 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67207
67208         * m4/mktime.m4: New file, which is a preview of what should appear
67209         in the next public autoconf release.
67210
67211 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67212
67213         * m4/lfs.m4: Remove this file.
67214         * m4/largefile.m4: New file.  It contains the old contents of
67215         lfs.m4, except that all names with prefix AC_LFS have been
67216         changed to use the prefix AC_SYS_LARGEFILE instead, to be
67217         compatible with future autoconf versions.  Also, some minor m4
67218         quoting problems have been fixed.
67219
67220 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67221
67222         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
67223         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
67224         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
67225         and simplify the shell code.
67226
67227 1999-08-01  Jim Meyering  <meyering@ascend.com>
67228
67229         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
67230         m4.
67231
67232 1999-07-20  Jim Meyering  <meyering@ascend.com>
67233
67234         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
67235
67236 1999-07-15  Jim Meyering  <meyering@ascend.com>
67237
67238         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
67239
67240 1999-05-22  Jim Meyering  <meyering@ascend.com>
67241
67242         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
67243
67244 1999-05-20  Jim Meyering  <meyering@ascend.com>
67245
67246         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
67247         Add a colon after each `then' in case $4 is empty.
67248
67249 1999-05-16  Jim Meyering  <meyering@ascend.com>
67250
67251         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
67252
67253 1999-05-10  Jim Meyering  <meyering@ascend.com>
67254
67255         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
67256
67257         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
67258         AC_FUNC_MKTIME.
67259
67260 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
67261
67262         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
67263
67264 1999-05-04  Paul Eggert  <eggert@twinsun.com>
67265
67266         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
67267         not CPPFLAGS, so that linking works correctly in IRIX.
67268
67269 1999-04-30  Paul Eggert  <eggert@twinsun.com>
67270
67271         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
67272
67273 1999-04-20  Paul Eggert  <eggert@twinsun.com>
67274
67275         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
67276         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
67277         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
67278         jm_AC_TYPE_UNSIGNED_LONG_LONG.
67279         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
67280
67281         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
67282
67283 1999-04-20  Jim Meyering  <meyering@ascend.com>
67284
67285         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
67286         AC_REPLACE xstroull if necessary.  From Paul Eggert.
67287         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
67288
67289 1999-04-18  Jim Meyering  <meyering@ascend.com>
67290
67291         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
67292         * m4/jm-macros.m4: Use it.
67293
67294 1999-04-06  Jim Meyering  <meyering@ascend.com>
67295
67296         * m4/strftime.m4: Remove test for %f.
67297
67298 1999-03-29  Jim Meyering  <meyering@ascend.com>
67299
67300         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
67301         superset of the AC_TYPE_* checks in the textutils, fileutils,
67302         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
67303         AC_TYPE_PID_T.
67304
67305 1999-03-28  Jim Meyering  <meyering@ascend.com>
67306
67307         * m4/jm-macros.m4: Define GNU_PACKAGE here.
67308         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
67309         replaced e.g., in the *.sh files of the sh-utils.
67310
67311 1999-03-20  Jim Meyering  <meyering@ascend.com>
67312
67313         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
67314         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
67315         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
67316
67317 1999-03-19  Jim Meyering  <meyering@ascend.com>
67318
67319         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
67320
67321 1999-03-12  Jim Meyering  <meyering@ascend.com>
67322
67323         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
67324
67325 1999-03-07  Jim Meyering  <meyering@ascend.com>
67326
67327         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
67328         declared.
67329
67330 1999-02-17  Jim Meyering  <meyering@ascend.com>
67331
67332         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
67333         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
67334
67335 1999-02-07  Jim Meyering  <meyering@ascend.com>
67336
67337         * m4/group-member.m4: New file -- extracted from sh-utils'
67338         configure.in.
67339
67340         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
67341         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
67342
67343 1999-02-06  Jim Meyering  <meyering@ascend.com>
67344
67345         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
67346         * m4/fnmatch.m4: Likewise.
67347         * m4/getgroups.m4: Likewise.
67348         * m4/lstat.m4: Likewise.
67349         * m4/malloc.m4: Likewise.
67350         * m4/putenv.m4: Likewise.
67351         * m4/realloc.m4: Likewise.
67352         * m4/regex.m4: Likewise.
67353         * m4/stat.m4: Likewise.
67354         * m4/strftime.m4: Likewise.
67355         Suggestion from Alain Magloire.
67356
67357         * m4/chown.m4: Use `.$ac_objext', not `.o'.
67358         * m4/fnmatch.m4: Likewise.
67359         * m4/getgroups.m4: Likewise.
67360         * m4/getline.m4: Likewise.
67361         * m4/lstat.m4: Likewise.
67362         * m4/malloc.m4: Likewise.
67363         * m4/memcmp.m4: Likewise.
67364         * m4/putenv.m4: Likewise.
67365         * m4/realloc.m4: Likewise.
67366         * m4/regex.m4: Likewise.
67367         * m4/stat.m4: Likewise.
67368         * m4/strftime.m4: Likewise.
67369         Suggestion from Alain Magloire.
67370
67371         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
67372         an argument.
67373
67374         * m4/regex.m4: Add a run-time Test for proper operation of
67375         re_compile_pattern.
67376
67377 1999-01-31  Jim Meyering  <meyering@ascend.com>
67378
67379         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
67380
67381 1999-01-30  Jim Meyering  <meyering@ascend.com>
67382
67383         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
67384
67385         * m4/jm-mktime.m4: Make this a wrapper around the official
67386         AM_FUNC_MKTIME rather than my private copy, now that the official one
67387         is up to date.
67388         * m4/mktime.m4: Remove file.
67389
67390         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
67391         * m4/uptime.m4: Likewise.
67392         * m4/uintmax_t.m4: Likewise.
67393
67394 1999-01-28  Jim Meyering  <meyering@ascend.com>
67395
67396         * m4/jm-macros.m4: Use jm_AFS.
67397         * m4/afs.m4: New file (from fileutils' configure.in).
67398
67399         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
67400         * m4/chown.m4: Likewise.
67401         * m4/d-ino.m4: Likewise.
67402         * m4/d-type.m4: Likewise.
67403         * m4/fnmatch.m4: Likewise.
67404         * m4/getgroups.m4: Likewise.
67405         * m4/gettext.m4: Likewise.
67406         * m4/jm-mktime.m4: Likewise.
67407         * m4/jm-winsz2.m4: Likewise.
67408         * m4/lcmessage.m4: Likewise.
67409         * m4/ls-mntd-fs.m4: Likewise.
67410         * m4/malloc.m4: Likewise.
67411         * m4/memcmp.m4: Likewise.
67412         * m4/putenv.m4: Likewise.
67413         * m4/realloc.m4: Likewise.
67414         * m4/st_mtim.m4: Likewise.
67415         * m4/strftime.m4: Likewise.
67416
67417 1999-01-16  Jim Meyering  <meyering@ascend.com>
67418
67419         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
67420         (ARGMATCH_DIE_DECL): Define.
67421
67422 1999-01-12  Jim Meyering  <meyering@ascend.com>
67423
67424         * m4/Makefile.am.in: Rewrite to avoid using fmt.
67425         Reported by Lars Hecking.
67426
67427 1999-01-10  Jim Meyering  <meyering@ascend.com>
67428
67429         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
67430         gross kludge.
67431         * m4/inttypes_h.m4: Likewise.
67432         * m4/lstat.m4: Likewise.
67433         * m4/malloc.m4: Likewise.
67434         * m4/readdir.m4: Likewise.
67435         * m4/realloc.m4: Likewise.
67436         * m4/st_dm_mode.m4: Likewise.
67437         * m4/stat.m4: Likewise.
67438         * m4/utimbuf.m4: Likewise.
67439         * m4/utimes.m4: Likewise.
67440
67441         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
67442         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
67443         comments in config.h.in are meaningful.
67444
67445         * m4/jm-macros.m4: Require autoconf-2.13 here.
67446
67447         * m4/regex.m4: By default, don't use the included regex.c on systems
67448         with glibc 2.  Suggestion from Uli Drepper.
67449
67450 1999-01-02  Jim Meyering  <meyering@ascend.com>
67451
67452         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
67453
67454 1998-12-18  Jim Meyering  <meyering@ascend.com>
67455
67456         * m4/Makefile.am.in (Makefile.am): Simplify rule.
67457         Based on a suggestion from Lars Hecking.
67458
67459 1998-11-16  Paul Eggert  <eggert@twinsun.com>
67460
67461         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
67462
67463 1998-11-16  Jim Meyering  <meyering@ascend.com>
67464
67465         * m4/lfs.m4: Double-quote the `uname...` expression.
67466
67467 1998-11-14  Jim Meyering  <meyering@ascend.com>
67468
67469         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
67470         * m4/stat.m4: Likewise.
67471
67472 1998-11-03  Jim Meyering  <meyering@ascend.com>
67473
67474         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
67475         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
67476
67477 1998-10-18  Jim Meyering  <meyering@ascend.com>
67478
67479         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
67480
67481 1998-10-17  Jim Meyering  <meyering@ascend.com>
67482
67483         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
67484         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
67485         calls for those previously hard-coded headers.  Instead, take a new
67486         parameter.
67487         (jm_CHECK_DECLARATIONS): Reflect interface change.
67488         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
67489         (jm_CHECK_DECL_LOCALTIME_R): New macro.
67490
67491         * m4/mktime.m4: Test for spring-forward gap before long-running test.
67492
67493 1998-10-14  Jim Meyering  <meyering@ascend.com>
67494
67495         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
67496         instead of "TZ=America/Vancouver".  From Paul Eggert.
67497
67498 1998-10-11  Jim Meyering  <meyering@ascend.com>
67499
67500         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
67501         This adds a test for a recently added compatibility fix for mktime.c.
67502         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
67503
67504 1998-09-27  Jim Meyering  <meyering@ascend.com>
67505
67506         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
67507
67508         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
67509         ../configure.in, including a change from Gordon Matzigkeit to allow
67510         cross-compiling for the Hurd.
67511
67512         * m4/glibc.m4: New file/macro to test for the GNU C Library
67513         versions 1 and 2.  From Gordon Matzigkeit.
67514         Indent.
67515
67516 1998-09-21  Jim Meyering  <meyering@ascend.com>
67517
67518         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
67519
67520 1998-08-18  Paul Eggert  <eggert@twinsun.com>
67521
67522         Port nanosecond-resolution times to UnixWare 2.1.2 and
67523         pedantic Solaris 2.6.
67524
67525         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
67526         AC_STRUCT_ST_MTIM.
67527         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
67528         Generate name of ns member, instead of just 1 or undef.
67529         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
67530
67531 1998-08-15  Jim Meyering  <meyering@ascend.com>
67532
67533         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
67534         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
67535         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
67536         instead of jm_TYPE_SSIZE_T.
67537
67538 1998-08-12  Jim Meyering  <meyering@ascend.com>
67539
67540         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
67541
67542 1998-08-02  Jim Meyering  <meyering@ascend.com>
67543
67544         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
67545         in acconfig.h manually.
67546
67547 1998-07-31  Paul Eggert  <eggert@twinsun.com>
67548
67549         * m4/st_mtim.m4: New file.
67550
67551 1998-07-28  Jim Meyering  <meyering@ascend.com>
67552
67553         * m4/utimes.m4: Undef stat.
67554
67555 1998-07-25  Jim Meyering  <meyering@ascend.com>
67556
67557         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
67558         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
67559
67560 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
67561
67562         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
67563         uid and gid actually remain unchanged.
67564
67565 1998-07-07  Jim Meyering  <meyering@ascend.com>
67566
67567         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
67568
67569 1998-07-04  Jim Meyering  <meyering@ascend.com>
67570
67571         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
67572         to prove that this macro can be used in packages without regex.c.
67573
67574 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
67575
67576         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
67577         is to be used.
67578
67579 1998-07-03  Jim Meyering  <meyering@ascend.com>
67580
67581         * m4/gettext.m4: Add -lintl if it's found to be necessary.
67582
67583         * m4/gettext.m4: New file -- from gettext-0.10.35.
67584         * m4/lcmessage.m4: Likewise.
67585         * m4/progtest.m4: Likewise.
67586
67587         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
67588         * m4/jm-macros.m4: Require the new macro.
67589
67590 1998-06-29  Jim Meyering  <meyering@ascend.com>
67591
67592         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
67593         for the definition of NGROUPS (used in a system header included
67594         by sys/mount.h).
67595
67596 1998-06-28  Jim Meyering  <meyering@ascend.com>
67597
67598         * m4/ls-mntd-fs.m4: New file.
67599         * m4/fstypename.m4: New file.
67600
67601         * m4/jm-macros.m4: Require the new macro.
67602         * m4/jm-glibc-io.m4: New file.
67603
67604 1998-05-19  Jim Meyering  <meyering@ascend.com>
67605
67606         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
67607         * m4/lchown.m4: New file.
67608
67609         * m4/Makefile.am.in: New file.
67610         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
67611
67612 1998-05-14  Jim Meyering  <meyering@ascend.com>
67613
67614         * m4/Makefile.am (EXTRA_DIST): Add them.
67615         * m4/jm-macros.m4: New file.
67616         * m4/utimbuf.m4: New file.
67617
67618 1998-05-12  Jim Meyering  <meyering@ascend.com>
67619
67620         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
67621
67622 1998-05-11  Jim Meyering  <meyering@ascend.com>
67623
67624         * m4/isc-posix.m4: New file.
67625
67626 1998-05-10  Jim Meyering  <meyering@ascend.com>
67627
67628         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
67629
67630 1998-05-09  Jim Meyering  <meyering@ascend.com>
67631
67632         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
67633         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
67634         with automake.
67635
67636         * m4/ssize_t.m4: New file.
67637         * m4/mktime.m4: Remove file -- the new automake has this now.
67638
67639 1998-04-26  Jim Meyering  <meyering@ascend.com>
67640
67641         * m4/assert.m4: New file.
67642         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
67643
67644 1998-04-05  Jim Meyering  <meyering@ascend.com>
67645
67646         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
67647         (jm_PREREQ): Use it here.
67648
67649 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
67650
67651         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
67652         in acconfig.h.
67653
67654 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
67655
67656         * m4/prereq.m4: New file.
67657         * m4/error.m4: New file.
67658         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
67659
67660 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
67661
67662         * m4/getline.m4: Don't set am_cv_func_working_getline before the
67663         cache-check for the same variable -- that defeated the purpose of
67664         the test; the test program was never run.  This was a problem only
67665         on systems with losing getline functions -- HP-UX 10.20 is one.
67666         Reported by Bjorn Helgaas.
67667
67668 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
67669
67670         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
67671
67672 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
67673
67674         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
67675
67676         * m4/const.m4: New file.  Use an initializer in this declaration
67677         typedef int charset[2]; const charset x;
67678         Reported by Bob Glickstein.
67679
67680 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
67681
67682         * m4/chown.m4: Fix reversed types on -1 args to chown.
67683         From Kaveh Ghazi.
67684
67685 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
67686
67687         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
67688         Add lseek and memchr.
67689
67690         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
67691         T.E.Dickey <dickey@clark.net> said that some older preprocessors
67692         have a 20-character limit on names.
67693
67694 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
67695
67696         * m4/inttypes_h.m4: New file.
67697         * m4/uintmax_t.m4: New file.
67698         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
67699
67700
67701         -----
67702
67703         Local Variables:
67704         coding: utf-8
67705         End:
67706
67707         Copyright (C) 1997-2010 Free Software Foundation, Inc.
67708
67709         Copying and distribution of this file, with or without
67710         modification, are permitted provided the copyright notice
67711         and this notice are preserved.