gnulib.git
11 years agogetcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
Paul Eggert [Mon, 4 Feb 2013 05:28:30 +0000 (21:28 -0800)]
getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)

Reported for OS X 10.8.2 by Assaf Gordon in
<http://bugs.gnu.org/13516>.
* lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
!HAVE_OPENAT && !HAVE_FDOPENDIR.
* m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
so that they can be kept in sync more easily.  Avoid PATH_MAX
test on the Hurd.  Sync from test-getcwd.c for errno tests after
mkdir or chdir failure.
* tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
lib/getcwd.c.
(test_abort_bug): Do not test for the deep directory bug unless we
have openat support.  Avoid PATH_MAX test on the Hurd.

11 years agoregex-tests, regex: fix bug: memset undeclared
Paul Eggert [Sun, 3 Feb 2013 17:19:06 +0000 (09:19 -0800)]
regex-tests, regex: fix bug: memset undeclared

* tests/test-regex.c: Don't include regex.h twice.  Include
string.h, to declare memset.  Christensen's report also mentioned
this issue.
* m4/regex.m4 (gl_REGEX): Keep test program more in sync with
test-regex.c, to avoid future problems like this.  Remove
AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
twice.

11 years agoregex-tests: fix link errors on older Solaris
Paul Eggert [Sun, 3 Feb 2013 17:03:51 +0000 (09:03 -0800)]
regex-tests: fix link errors on older Solaris

These need to link with @LIBINTL@ to get libintl_gettext.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
* modules/regex-tests (test_regex_LDADD): New macro.

11 years agoupdate from texinfo
Karl Berry [Fri, 1 Feb 2013 23:49:12 +0000 (15:49 -0800)]
update from texinfo

11 years agoregex-tests: new module
Paul Eggert [Fri, 1 Feb 2013 05:07:02 +0000 (21:07 -0800)]
regex-tests: new module

* modules/regex-tests, tests/test-regex.c: New files.

11 years agoregex: fix off-by-one error in configure test
Paul Eggert [Fri, 1 Feb 2013 00:41:35 +0000 (16:41 -0800)]
regex: fix off-by-one error in configure test

* m4/regex.m4 (gl_REGEX): Test should return 21, not 20.

11 years agoregex: avoid infinite configure test
Eric Blake [Thu, 31 Jan 2013 22:57:38 +0000 (15:57 -0700)]
regex: avoid infinite configure test

At least glibc 2.15 on Ubuntu ended up hanging.

* m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
Reported by Reuben Thomas.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoopenpty: fix bug where HAVE_OPENPTY wasn't defined
Reuben Thomas [Thu, 31 Jan 2013 21:55:55 +0000 (13:55 -0800)]
openpty: fix bug where HAVE_OPENPTY wasn't defined

See the thread starting at:
http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
* m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
openpty function exists, not merely when we intend to replace it.

11 years agosys_time: port to Solaris 2.6
Paul Eggert [Thu, 31 Jan 2013 05:26:44 +0000 (21:26 -0800)]
sys_time: port to Solaris 2.6

There is a circularity problem on Solaris 2.6, where <time.h> includes
<sys/time.h> for struct timespec.  The include nesting is gnulib
<time.h>, system <time.h>, gnulib <sys/time.h>, system
<sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
<sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
<sys/siginfo.h>; the last, innermost file needs struct
timestruc_t, which is defined in <sys/time.h>, which has not been
fully parsed.  Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
* lib/sys_select.in.h: Treat Solaris 2.6's problem with
<sys/time.h> and <sys/types.h> like OSF/1's similar problem.
* lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
uses split double-inclusion guards.

11 years agoregex: test for buffer overrun
Paul Eggert [Wed, 30 Jan 2013 06:34:58 +0000 (22:34 -0800)]
regex: test for buffer overrun

* m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
for the just-fixed regex bug.

11 years agoregex: fix buffer overrun in regexp matcher
Andreas Schwab [Wed, 30 Jan 2013 06:33:51 +0000 (22:33 -0800)]
regex: fix buffer overrun in regexp matcher

* lib/regexec.c (extend_buffers): Add parameter min_len.
(check_matching): Pass minimum needed length.
(clean_state_log_if_needed): Likewise.
(get_subexp): Likewise.

11 years agomountlist: don't consider "devtmpfs" as dummy
Pádraig Brady [Mon, 28 Jan 2013 17:59:05 +0000 (17:59 +0000)]
mountlist: don't consider "devtmpfs" as dummy

* lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
as there is storage associcated with it.

11 years agofutimens-tests, utimens-tests: Depend on gettext.
Paul Eggert [Sun, 27 Jan 2013 19:40:58 +0000 (11:40 -0800)]
futimens-tests, utimens-tests: Depend on gettext.

This works around a problem introduced in my 2013-01-12 patch,
which added @LIBINTL@ to these modules.
* modules/futimens-tests (Depends-on):
* modules/utimens-tests (Depends-on): Add gettext.

11 years agotest-getpeername: fix typo
Eric Blake [Sat, 26 Jan 2013 20:32:40 +0000 (13:32 -0700)]
test-getpeername: fix typo

Commit 9feb36b introduced a typo.

* tests/test-getpeername.c: Fix typo introduced in fd cleanup.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agobootstrap: remove the need for a sorted .gitignore
Bernhard Voelker [Sun, 20 Jan 2013 18:06:54 +0000 (18:06 +0000)]
bootstrap: remove the need for a sorted .gitignore

During bootstrap, files may be created which are already included
in .gitignore, but the test to add such a file relied on the
sort order.  Now, it just adds such a new entry and thus only
changes the file if the line count would change.

* bootstrap (insert_if_absent): Instead of comparing the
sorted new file with the original, the function compares the line
count, and only in case of a difference, the given file is changed.
Also ensure that the given ignore file does not already include
duplicate entries, as otherwise, the entry count would be innacurate.
(sort_patterns): Remove this now redundant function.
(gitignore_entries): A new function to return significant entries
from .gitignore.

Improved-by: Pádraig Brady
11 years agoreadlinkat: don't depend on gl_FUNC_OPENAT
Paul Eggert [Thu, 24 Jan 2013 07:57:57 +0000 (23:57 -0800)]
readlinkat: don't depend on gl_FUNC_OPENAT

* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
renameat.m4, symlinkat.m4; but one thing at a time.

11 years agostatat: new module, split out from fstatat
Paul Eggert [Thu, 24 Jan 2013 02:20:09 +0000 (18:20 -0800)]
statat: new module, split out from fstatat

GNU Emacs needs the POSIX-specified fstatat, but not the
gnulib-specified statat and lstat.  Split the latter two into a
new module 'statat'.
* lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
* lib/openat.h, lib/statat.c (STATAT_INLINE):
Rename from FSTATAT_INLINE. All uses changed.
* modules/fstatat (Files): Remove lib/statat.c.
(gl_MODULE_INDICATOR([fstatat])): Remove.
(lib_SOURCES): Remove.
(Maintainer): Add self.
* modules/statat, modules/statat-tests, tests/test-statat.c: New files.
* tests/test-fstatat.c (BASE): Don't define if already defined.
(do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.

11 years agoautoupdate
Karl Berry [Wed, 23 Jan 2013 16:08:47 +0000 (08:08 -0800)]
autoupdate

11 years agoFix typo in previous change, by including <unistd.h>.
Paul Eggert [Wed, 23 Jan 2013 01:40:36 +0000 (17:40 -0800)]
Fix typo in previous change, by including <unistd.h>.

11 years agotests: don't assume fd 99 is closed
Paul Eggert [Tue, 22 Jan 2013 17:43:22 +0000 (09:43 -0800)]
tests: don't assume fd 99 is closed

* tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
* tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
* tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
* tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
* tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
* tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
* tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
* tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
* tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
* tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
* tests/test-fwrite.c, tests/test-getpeername.c:
* tests/test-getsockname.c, tests/test-getsockopt.c:
* tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
* tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
* tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
* tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
* tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
* tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
* tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
* tests/test-symlinkat.c, tests/test-ttyname_r.c:
* tests/test-unlinkat.c, tests/test-unlockpt.c:
* tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
Close file descriptor 99, instead of assuming it's already closed.

11 years agoFix ChangeLog typo.
Paul Eggert [Tue, 22 Jan 2013 06:20:08 +0000 (22:20 -0800)]
Fix ChangeLog typo.

11 years agostpncpy: port to OS X 10.8
Paul Eggert [Tue, 22 Jan 2013 06:16:32 +0000 (22:16 -0800)]
stpncpy: port to OS X 10.8

* lib/stpncpy.c (__stpncpy): Parenthesize name when definining function.
Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.

11 years agoIn intro, say only latest mingw is tested.
Paul Eggert [Thu, 17 Jan 2013 21:37:32 +0000 (13:37 -0800)]
In intro, say only latest mingw is tested.

11 years agounistd: port to recent mingw
Paul Eggert [Wed, 16 Jan 2013 23:48:52 +0000 (15:48 -0800)]
unistd: port to recent mingw

* lib/unistd.in.h: Remove special invocation convention for mingw,
which breaks for the latest mingw version.  See John W. Eaton in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.

11 years agoFix typo in comment.
Paul Eggert [Wed, 16 Jan 2013 17:38:28 +0000 (09:38 -0800)]
Fix typo in comment.

11 years agolargefile: port better to Mac OS X 10.5
Paul Eggert [Wed, 16 Jan 2013 17:35:20 +0000 (09:35 -0800)]
largefile: port better to Mac OS X 10.5

This patch is backported from Autoconf git.
* m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
with ino_t size being different for configuration time versus
build/run time.  Problem reported by PHO in
<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.

11 years agodoc: clarify -Werror
Paul Eggert [Tue, 15 Jan 2013 20:21:42 +0000 (12:21 -0800)]
doc: clarify -Werror

* doc/warnings.texi (warnings): -Werror is not always a bad idea;
clarify that it's intended for developers, not for ordinary builds,
and mention --enable-gcc-warnings as one possible use.

11 years agostdint: fix build with Android's Bionic fox x86
Andoni Morales Alastruey [Tue, 15 Jan 2013 10:41:52 +0000 (11:41 +0100)]
stdint: fix build with Android's Bionic fox x86

* lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
was already included as _SSIZE_T_DEFINED_ might also be defined
in include/machine/_types.h, which is included by stdio.h

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agonet_if-tests: port to Solaris 7 + GCC 3.4.6
Paul Eggert [Sun, 13 Jan 2013 18:36:53 +0000 (10:36 -0800)]
net_if-tests: port to Solaris 7 + GCC 3.4.6

Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
* tests/test-net_if.c (ni): Move to next the code that uses it,
so that it's declared only if needed.

11 years agonet_if-tests: port to older Solaris
Paul Eggert [Sun, 13 Jan 2013 05:48:49 +0000 (21:48 -0800)]
net_if-tests: port to older Solaris

Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
* modules/net_if-tests (NET_IF_LIB): New substitution.
(test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
(HAVE_IF_NAMEINDEX): New C macro.
* tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.

11 years agosystem-quote-tests: port to older Solaris
Paul Eggert [Sun, 13 Jan 2013 05:37:23 +0000 (21:37 -0800)]
system-quote-tests: port to older Solaris

Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
* tests/test-system-quote-child.c (fopen, fread): Undef.

11 years agoc-xvasprintf etc.: fix link errors on older Solaris
Paul Eggert [Sun, 13 Jan 2013 05:33:54 +0000 (21:33 -0800)]
c-xvasprintf etc.: fix link errors on older Solaris

These need to link with @LIBINTL@ to get libintl_gettext.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
* modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
* modules/readtokens-tests (test_readtokens_LDADD): New macros.
* modules/futimens-tests (test_futimens_LDADD):
* modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.

11 years agolocale: port to Solaris 2.6 and 7 + GNU gettext
Paul Eggert [Thu, 10 Jan 2013 21:24:13 +0000 (13:24 -0800)]
locale: port to Solaris 2.6 and 7 + GNU gettext

* lib/locale.in.h: Just include_next <locale.h> when
being invoked recursively.  This prevents problems on Solaris 2.6 and 7
when combining the localename module with GNU gettext 0.18.2.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.

11 years agoautoupdate
Karl Berry [Fri, 11 Jan 2013 13:25:39 +0000 (05:25 -0800)]
autoupdate

11 years agostdlib: port to Solaris 2.6
Paul Eggert [Tue, 8 Jan 2013 20:32:05 +0000 (12:32 -0800)]
stdlib: port to Solaris 2.6

Also, the code worked on Solaris 7 through 9 only by accident.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
* lib/stdlib.in.h: If __need_system_stdlib_h is defined,
simply include the system stdlib.h.
* lib/getopt.in.h (__need_system_stdlib_h):
* lib/pthread.in.h (__need_system_stdlib_h):
* lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
Define when including <stdlib.h>, to avoid problems at least for
the pthread case on Solaris 2.6 and 7.  These .h files can get by
with the system stdlib.h.

11 years agoFix misspellings of "occurred".
Paul Eggert [Wed, 9 Jan 2013 08:04:08 +0000 (00:04 -0800)]
Fix misspellings of "occurred".

11 years agoautoupdate
Karl Berry [Mon, 7 Jan 2013 17:05:36 +0000 (09:05 -0800)]
autoupdate

11 years agoautoupdate
Karl Berry [Mon, 7 Jan 2013 16:58:19 +0000 (08:58 -0800)]
autoupdate

11 years agodoc: update main copyright year
Paul Eggert [Sun, 6 Jan 2013 16:49:37 +0000 (08:49 -0800)]
doc: update main copyright year

* doc/gnulib.texi: Update copyright date.

11 years agodoc: improve ISO 8601 discussion
Paul Eggert [Sun, 6 Jan 2013 15:31:32 +0000 (07:31 -0800)]
doc: improve ISO 8601 discussion

* doc/parse-datetime.texi (Combined date and time of day items):
Specify more carefully what formats are supported and what is
done with excess precision.

11 years agodoc: avoid small caps
Paul Eggert [Sun, 6 Jan 2013 01:23:52 +0000 (17:23 -0800)]
doc: avoid small caps

* doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
they're more trouble than they're worth.  Suggested by Karl Berry
in <http://bugs.gnu.org/13360>.

11 years agoregex: conform to strict C
Paul Eggert [Sat, 5 Jan 2013 20:06:52 +0000 (12:06 -0800)]
regex: conform to strict C

* lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
From Aharon Robbins.

11 years agognulib-tool: fix incompatibility with autopoint 0.18.2
Paul Eggert [Sat, 5 Jan 2013 16:03:10 +0000 (08:03 -0800)]
gnulib-tool: fix incompatibility with autopoint 0.18.2

* gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.

11 years agoautoupdate
Karl Berry [Sat, 5 Jan 2013 15:02:17 +0000 (07:02 -0800)]
autoupdate

11 years agofprintftime: bring back and reword fwrite comment
Paul Eggert [Fri, 4 Jan 2013 21:21:48 +0000 (13:21 -0800)]
fprintftime: bring back and reword fwrite comment

* lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.

11 years agoautoupdate
Karl Berry [Fri, 4 Jan 2013 14:47:11 +0000 (06:47 -0800)]
autoupdate

11 years agostdio: remove now-unnecessary stdio.c
Paul Eggert [Fri, 4 Jan 2013 01:59:58 +0000 (17:59 -0800)]
stdio: remove now-unnecessary stdio.c

Since stdio.in.h no longer uses inline functions, we no longer
need to compile the extern versions.
* lib/stdio.c: Remove.
* modules/stdio (Files): Remove lib/stdio.c.
(lib_SOURCES): Remove.

11 years agounicodeio: depend on stdio, not ignore-value
Paul Eggert [Fri, 4 Jan 2013 01:55:52 +0000 (01:55 +0000)]
unicodeio: depend on stdio, not ignore-value

* lib/unicodeio.c: Do not include ignore-value.h.
(fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
* modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.

11 years agofprintftime: depend on stdio, not ignore-value
Paul Eggert [Fri, 4 Jan 2013 01:55:18 +0000 (01:55 +0000)]
fprintftime: depend on stdio, not ignore-value

* lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
(cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
since the stdio module arranges to silence that warning now.
* modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.

11 years agostdint-tests: Fix expanded-before-required-warning.
Simon Josefsson [Thu, 3 Jan 2013 22:43:07 +0000 (23:43 +0100)]
stdint-tests: Fix expanded-before-required-warning.
* modules/stdint-tests (Depends-on): Use AC_REQUIRE.

11 years agofwrite: silence __wur only for older glibc versions
Paul Eggert [Thu, 3 Jan 2013 18:11:25 +0000 (10:11 -0800)]
fwrite: silence __wur only for older glibc versions

* lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
This will help us remove this workaround some time in the far future.

11 years agofwrite: silence __wur without using inline
Eric Blake [Thu, 3 Jan 2013 16:51:44 +0000 (09:51 -0700)]
fwrite: silence __wur without using inline

The libvirt folks reported[1] a link error of multiple rpl_fwrite
definitions that hits only when optimization and FORTIFY_SOURCE
are both enabled, due to improper use of inline.  But since that
particular use of rpl_fwrite exists only to work around a spurious
gcc warning on some versions of glibc, we can use gcc extensions
to acheive the same effect without using inline.  This approach
copies from ignore-value.h.

[1] https://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00014.html

* lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
just gcc, and in a way that avoids inline issues.
* modules/stdio (Depends-on): Drop extern-inline.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoupdate-copyright: avoid copyright notice date corruption
Jim Meyering [Thu, 3 Jan 2013 09:23:30 +0000 (10:23 +0100)]
update-copyright: avoid copyright notice date corruption

Given a sequence of copyright year numbers in which the final
one was a two-digit number that happened to be a substring of
a preceding four-digit year number, we would mistakenly update
the substring (from two- to four-digit) rather than the two-digit
number at the end, which, combined with the addition of the current
4-digit year number would yield two 5-digit year numbers, e.g.,
here, it would convert the first "99" to "1999, 2013" rather than
the final one:
  1991, 99
  11999, 20131, 1999
* build-aux/update-copyright: Tighten a regexp.
* tests/test-update-copyright.sh: Add a test case to trigger the bug.
Reported by Joseph Myers in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281

11 years agoregex: omit needless signed-pointer casts
Paul Eggert [Wed, 2 Jan 2013 00:27:46 +0000 (16:27 -0800)]
regex: omit needless signed-pointer casts

* lib/regcomp.c (build_charclass, build_charclass_op):
Use char *, not unsigned char *, for class name and extra.
The char values are always nonnegative so there's no need to
insist on unsigned char * here, and using char * removes the need
for casts.  Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.

11 years agoregex: support Gawk, which never uses alloca
Paul Eggert [Wed, 2 Jan 2013 00:05:43 +0000 (16:05 -0800)]
regex: support Gawk, which never uses alloca

* lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
Do not include in this case.  Gawk doesn't supply a substitute
alloca.h and doesn't need one.

11 years agoautoupdate
Karl Berry [Wed, 2 Jan 2013 00:01:39 +0000 (16:01 -0800)]
autoupdate

11 years agoupdate from texinfo
Karl Berry [Tue, 1 Jan 2013 23:51:49 +0000 (15:51 -0800)]
update from texinfo

11 years agoupdate from texinfo
Karl Berry [Tue, 1 Jan 2013 18:15:10 +0000 (10:15 -0800)]
update from texinfo

11 years agoautoupdate
Karl Berry [Tue, 1 Jan 2013 17:25:50 +0000 (09:25 -0800)]
autoupdate

11 years agomissing @item
Karl Berry [Tue, 1 Jan 2013 17:17:08 +0000 (09:17 -0800)]
missing @item

11 years agoautoupdate
Karl Berry [Tue, 1 Jan 2013 17:13:02 +0000 (09:13 -0800)]
autoupdate

11 years agoregex: port __libc_lock_define usage to C89
Paul Eggert [Tue, 1 Jan 2013 15:59:12 +0000 (07:59 -0800)]
regex: port __libc_lock_define usage to C89

* lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
(struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
does not conform to C89, as it has an empty macro argument.
Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.

11 years agomaint: update all copyright year number ranges
Eric Blake [Tue, 1 Jan 2013 00:50:58 +0000 (00:50 +0000)]
maint: update all copyright year number ranges

Run "make update-copyright".  Compare to commit 1602f0a from last year.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoversion-etc: bump copyright year reported in --version
Eric Blake [Tue, 1 Jan 2013 00:50:12 +0000 (00:50 +0000)]
version-etc: bump copyright year reported in --version

Compare to commit fc9846f from last year.

* lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agosigprocmask-tests: skip test if pid is unexpectedly large
Eric Blake [Mon, 31 Dec 2012 23:51:29 +0000 (16:51 -0700)]
sigprocmask-tests: skip test if pid is unexpectedly large

At least mingw64 has 8-byte pid_t but only 4-byte long.  Silent
truncation to int in printing a pid value with %d risks killing the
wrong process.  But rather than try to futz with determining
the maximum pid_t, it is simpler to just cap things by realizing
that this test is already skipped on mingw64, so adding a sanity
check bounds comparison (and hard-coding the result rather than
dragging in headers for INT_MAX) is just as effective at avoiding
theoretical problems with no real loss in test coverage.

* tests/test-sigprocmask.c (main): Add range check.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agogit-version-gen: avoid test -z portability glitch
Eric Blake [Mon, 31 Dec 2012 23:01:13 +0000 (16:01 -0700)]
git-version-gen: avoid test -z portability glitch

Autoconf warns that there are some broken shells where 'test -z "$x"'
gives 0 exit status if $x is ')'.  Since some of our strings come
from command-line arguments, and since git-version-gen is run on
end-user machines where sh might be broken, we should be robust to
abuse.  Some of the instances replaced here are provably safe,
and could not confuse even broken 'test', but it is easier to
replace all instances of test -[nz].

* build-aux/git-version-gen: Prefer portable test spelling, since
git-version-gen is run on more than just developer machines.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agogit-version-gen: add --fallback option to use if git is not present
Peter Rosin [Fri, 28 Dec 2012 23:45:07 +0000 (00:45 +0100)]
git-version-gen: add --fallback option to use if git is not present

When building in a git checkout, but from a system lacking git, it
is useful to fall back to the version determined when the git
checkout was last used from a system sporting git.

* build-aux/git-version-gen: Add support for the new option --fallback,
which comes into play when there is no $tarball_version_file and
git is not working.
(scriptversion): Update.

Copyright-paperwork-exempt: yes
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
11 years agomaint.mk: handle missing git with more grace
Peter Rosin [Fri, 28 Dec 2012 22:13:17 +0000 (23:13 +0100)]
maint.mk: handle missing git with more grace

* top/maint.mk (no-submodule-changes, public-submodule-commit): Quietly
proceed if git is not present.

Copyright-paperwork-exempt: yes
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
11 years agodup2: work around cygwin bug
Eric Blake [Mon, 31 Dec 2012 18:15:53 +0000 (11:15 -0700)]
dup2: work around cygwin bug

Detected by './gnulib-tool --test dup2 cloexec'.
Reported upstream: http://cygwin.com/ml/cygwin/2012-12/msg00377.html
and fixed already: http://cygwin.com/ml/cygwin-cvs/2012-q4/msg00202.html
but as we want to work with older cygwin, we'll have to carry this
in gnulib for a while.

* m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
* lib/dup2.c (rpl_dup2): Work around it.
* doc/posix-functions/dup2.texi (dup2): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoregex: remove unnecessary dependency on localcharset.h
Paul Eggert [Mon, 31 Dec 2012 03:25:19 +0000 (19:25 -0800)]
regex: remove unnecessary dependency on localcharset.h

* lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
hasn't been needed for years.
* modules/regex (Depends-on): Remove localcharset.

11 years agoregex: revert single-byte change
Paul Eggert [Sun, 30 Dec 2012 22:49:05 +0000 (14:49 -0800)]
regex: revert single-byte change

* lib/regexec.c (check_node_accept_bytes): Revert previous change
to this function.  This was alredy fixed in a different way, at
bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
<http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.

11 years agoregex: simplify based on Gawk version
Paul Eggert [Sun, 30 Dec 2012 22:28:55 +0000 (14:28 -0800)]
regex: simplify based on Gawk version

* lib/regex_internal.c (re_dfa_add_node): Simplify.
Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.

11 years agoautoupdate
Karl Berry [Sun, 30 Dec 2012 17:12:05 +0000 (09:12 -0800)]
autoupdate

11 years agoregex: check that pattern char is single-byte
Paul Eggert [Sun, 30 Dec 2012 08:10:51 +0000 (00:10 -0800)]
regex: check that pattern char is single-byte

Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
* lib/regexec.c (check_node_accept_bytes):
Return 0 if the pattern string has a multibyte character here.

11 years agoregex: implement rational ranges
Paul Eggert [Sun, 30 Dec 2012 07:31:08 +0000 (23:31 -0800)]
regex: implement rational ranges

Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
* lib/regcomp.c (build_range_exp) [!_LIBC]:
* lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
Implement rational ranges.

11 years agoregex: avoid redefining __wctype
Paul Eggert [Sun, 30 Dec 2012 07:00:48 +0000 (23:00 -0800)]
regex: avoid redefining __wctype

Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
* lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
#undef before defining.

11 years agoregex: port to hosts where malloc (0) == NULL
Paul Eggert [Sun, 30 Dec 2012 06:56:31 +0000 (22:56 -0800)]
regex: port to hosts where malloc (0) == NULL

Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
* lib/regex_internal.c (re_node_set_alloc):
Don't assume that malloc (0) yields nonnull.
* lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
* m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
* modules/regex (Files): Add m4/eealloc.m4.

11 years agoregex: port to C89
Paul Eggert [Sun, 30 Dec 2012 06:52:17 +0000 (22:52 -0800)]
regex: port to C89

Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
* lib/regcomp.c (init_word_char): Declaration before statement.

11 years agoregex: merge glibc changes
Paul Eggert [Sun, 30 Dec 2012 05:10:29 +0000 (21:10 -0800)]
regex: merge glibc changes

Also, copy the license wording from glibc.  This simplifies
merging changes.  gnulib-tool will change the wording to GPL as
appropriate, when importing it to other packages.  The only
glibc change made since the last merge, which needs merging, is:
2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
* lib/regex_internal.h (gettext): Remove use of INTUSE.

11 years ago* users.txt: Add Emacs.
Paul Eggert [Sun, 30 Dec 2012 01:38:20 +0000 (17:38 -0800)]
* users.txt: Add Emacs.

11 years agodoc: omit mention of version when not needed
Paul Eggert [Sun, 30 Dec 2012 01:38:00 +0000 (17:38 -0800)]
doc: omit mention of version when not needed

* doc/gnulib-intro.texi (Portability and Application Code):
* doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
Don't mention particular dates or versions when not necessary, so
that the documentation won't go out of date so quickly.

11 years ago* doc/intprops.texi (Integer Properties): Fix Texinfo typo.
Paul Eggert [Sun, 30 Dec 2012 01:36:15 +0000 (17:36 -0800)]
* doc/intprops.texi (Integer Properties): Fix Texinfo typo.

11 years agoautoupdate
Karl Berry [Sat, 29 Dec 2012 14:24:09 +0000 (06:24 -0800)]
autoupdate

11 years agoautoupdate
Karl Berry [Sat, 29 Dec 2012 14:22:27 +0000 (06:22 -0800)]
autoupdate

11 years agobootstrap: pass --force to autoreconf.
Akim Demaille [Fri, 28 Dec 2012 10:48:55 +0000 (11:48 +0100)]
bootstrap: pass --force to autoreconf.

* build-aux/bootstrap (no_recursive): Remove, replaced by...
(AUTORECONFFLAGS): this new variable.
Add "--force" so that Automake's ylwrap and other such tools
be updated at each bootstrap invocation.
Use it.

11 years agoargp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
Paul Eggert [Fri, 28 Dec 2012 02:56:26 +0000 (18:56 -0800)]
argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10

The earlier patch forgot to update one of the #if conditions, causing
a problem on Debian testing i386 reported by Mats Erik Andersson
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
* lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
(__argp_fmtstream_puts, argp_fmtstream_puts)
(__argp_fmtstream_write, argp_fmtstream_write)
[!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.

11 years ago* doc/gnulib-readme.texi: Minor fixups.
Paul Eggert [Fri, 28 Dec 2012 01:39:58 +0000 (17:39 -0800)]
* doc/gnulib-readme.texi: Minor fixups.

(Portability guidelines): Modernize URLs.  Remove some repetition.
(Indent with spaces not TABs): Reword to avoid too-long lines.
Remove some '@ifset standalone' stuff that isn't used.

11 years ago* doc/gnulib-readme.texi (Portability guidelines): ctype.h, not ctime.h.
Paul Eggert [Thu, 27 Dec 2012 09:20:14 +0000 (01:20 -0800)]
* doc/gnulib-readme.texi (Portability guidelines): ctype.h, not ctime.h.

11 years agoHyphen and dash fixes.
Paul Eggert [Thu, 27 Dec 2012 09:16:25 +0000 (01:16 -0800)]
Hyphen and dash fixes.

11 years agoCorrect name of POSIX.1-2001.
Paul Eggert [Wed, 26 Dec 2012 22:00:23 +0000 (14:00 -0800)]
Correct name of POSIX.1-2001.

* doc/posix-functions/fgetc.texi (fgetc):
* doc/posix-functions/fgets.texi (fgets):
* doc/posix-functions/fread.texi (fread):
* doc/posix-functions/fscanf.texi (fscanf):
* doc/posix-functions/getc.texi (getc):
* doc/posix-functions/getchar.texi (getchar):
* doc/posix-functions/scanf.texi (scanf):
POSIX.1-2001, not POSIX-2001.

11 years agodoc: move README into manual
Paul Eggert [Wed, 26 Dec 2012 21:38:22 +0000 (13:38 -0800)]
doc: move README into manual

* README: Move contents to new file doc/gnulib-readme.texi.
Replace with a one-line summary.
* doc/gnulib.texi (Brief Overview): New section,
with old intro preface.  Include gnulib-readme.texi for contents.
(Philosophy): Rename from "Introduction", since this
section no longer introduces the rest.  Write a new preface.
* doc/gnulib-readme.texi: New file, with the old contents of
README texinfo-ized.  This way, the README info appears
in the online and printed manual.

11 years agoc-xvasprintf: Fix "implicit declaration of function" GCC warning.
Ben Pfaff [Wed, 26 Dec 2012 05:18:14 +0000 (21:18 -0800)]
c-xvasprintf: Fix "implicit declaration of function" GCC warning.

* lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
c_vasprintf() prototype.

11 years agoc-vasprintf: Fix "empty declaration" warning reported by GCC.
Ben Pfaff [Tue, 25 Dec 2012 00:50:37 +0000 (16:50 -0800)]
c-vasprintf: Fix "empty declaration" warning reported by GCC.

* lib/c-vasprintf.h: Remove stray semicolon.

11 years agogettext: avoid obsolete macro AM_PROG_MKDIR_P
Paul Eggert [Mon, 24 Dec 2012 01:55:30 +0000 (17:55 -0800)]
gettext: avoid obsolete macro AM_PROG_MKDIR_P

It is obsolete and is planned to be removed from Automake 1.14; see
<http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
* build-aux/po/Makefile.in.in (install-data, install-data-yes)
(installdirs-data, installdirs-data-yes):
Use $(MKDIR_P), not $(mkdir_p).
* m4/intl.m4 (AM_INTL_SUBDIR):
* m4/po.m4 (AM_PO_SUBDIRS):
Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.

11 years agoautoupdate
Karl Berry [Sun, 23 Dec 2012 13:46:25 +0000 (05:46 -0800)]
autoupdate

11 years agoargp: port new 'inline' approach to Sun C 5.12 + Solaris 10
Paul Eggert [Sat, 22 Dec 2012 23:34:16 +0000 (15:34 -0800)]
argp: port new 'inline' approach to Sun C 5.12 + Solaris 10

On this platform, we are not optimizing but we are using
the substitute for extern inlines, so compile as if
C99-style extern inline, or a substitute, is available.
* lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
(__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
(__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
(__argp_fmtstream_set_wmargin, argp_fmtstream_point)
(__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
Declare as ARGP_FS_EI, not as extern.
* lib/argp.h (argp_usage, __argp_usage, _option_is_short)
(__option_is_short, _option_is_end, __option_is_end)
[!_LIBC && __USE_EXTERN_INLINES]:
Declare as ARGP_EI, not as extern.

11 years agoFix ChangeLog typo.
Paul Eggert [Fri, 21 Dec 2012 16:15:45 +0000 (08:15 -0800)]
Fix ChangeLog typo.

11 years agoAC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
Paul Eggert [Fri, 21 Dec 2012 16:12:48 +0000 (08:12 -0800)]
AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf

* m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
...), as the latter is fatal with older Autoconfs.
Problewm reported by Eric Blake in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.

11 years agoAC_PROG_MKDIR_P: don't workaround if not buggy
Paul Eggert [Fri, 21 Dec 2012 06:10:08 +0000 (22:10 -0800)]
AC_PROG_MKDIR_P: don't workaround if not buggy

* m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
Define only for Autoconf versions before 2.62.
(AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
undocumented m4_PACKAGE_VERSION, for consistency with the
abovementioned change to AC_PROG_MKDIR_P.  This should suffice
since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
was introduced in 2.62.

11 years agoNew 'c-*printf' modules for formatted output in C locale.
Ben Pfaff [Wed, 19 Dec 2012 05:06:17 +0000 (21:06 -0800)]
New 'c-*printf' modules for formatted output in C locale.

New module 'c-vasnprintf'.
* modules/c-vasnprintf: New file.
* lib/c-vasnprintf.c: New file.
* lib/c-vasnprintf.h: New file.

New module 'c-snprintf'.
* modules/c-snprintf: New file.
* modules/c-snprintf-tests: New file.
* lib/c-snprintf.c: New file.
* lib/c-snprintf.h: New file.
* tests/test-c-snprintf.c: New file.
* tests/test-c-snprintf.sh: New file.

New module 'c-vsnprintf'.
* modules/c-vsnprintf: New file.
* modules/c-vsnprintf-tests: New file.
* lib/c-vsnprintf.c: New file.
* lib/c-vsnprintf.h: New file.
* tests/test-c-vsnprintf.c: New file.
* tests/test-c-vsnprintf.sh: New file.

New module 'c-vasprintf'.
* modules/c-vasprintf: New file.
* modules/c-vasprintf-tests: New file.
* lib/c-asprintf.c: New file.
* lib/c-vasprintf.c: New file.
* lib/c-vasprintf.h: New file.
* tests/test-c-vasprintf.c  +: New file.
* tests/test-c-vasprintf.sh: New file.

New module 'c-xvasprintf'.
* modules/c-xvasprintf: New file.
* modules/c-xvasprintf-tests: New file.
* lib/c-xasprintf.c: New file.
* lib/c-xvasprintf.c: New file.
* lib/c-xvasprintf.h: New file.
* tests/test-c-xvasprintf.c: New file.
* tests/test-c-xvasprintf.sh: New file.