gnulib.git
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.

11 years agoargp: better 'inline'
Paul Eggert [Wed, 19 Dec 2012 01:59:33 +0000 (17:59 -0800)]
argp: better 'inline'

Use extern-inline module to declare extern inline functions.
This avoids some bogus warning diagnostics.  Problem discovered
when modifying GNU tar to use the manywarnings module.
* lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
* lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
Define based on extern-inline.
* modules/argp (Depends-on): Add extern-inline.

11 years agofilemode, sys_stat: Handle MPX files a la AIX.
Paul Eggert [Tue, 18 Dec 2012 06:15:20 +0000 (22:15 -0800)]
filemode, sys_stat: Handle MPX files a la AIX.

* lib/filemode.c (ftypelet): Report 'm' for MPX files.
* lib/sys_stat.in.h (S_ISMPX): New macro.
* tests/test-sys_stat.c: Add tests for MPX files.

11 years agox-to-1: honor $PERL
Alexandre Duret-Lutz [Wed, 12 Dec 2012 10:05:45 +0000 (11:05 +0100)]
x-to-1: honor $PERL

* build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
a chance to use his preferred version of Perl.  This is typically
required by Darwin users whose default /usr/bin/perl does not have all
the libraries required by help2man, and who need to use their MacPorts
installation of Perl instead.

11 years agognu-web-doc-update: add all the new files, even in new directories
Akim Demaille [Fri, 14 Dec 2012 11:58:35 +0000 (12:58 +0100)]
gnu-web-doc-update: add all the new files, even in new directories

See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html

* build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
Use it.
(main): Don't use cvsutils to get the list of unknown files,
just add all the existing files and directories.

11 years agognu-web-doc-update: improve --help
Akim Demaille [Fri, 14 Dec 2012 11:53:34 +0000 (12:53 +0100)]
gnu-web-doc-update: improve --help

* build-aux/gnu-web-doc-update: Move comments into --help.

11 years agomountlist: recognize more "dummy" file systems
Eric Wong [Fri, 7 Dec 2012 23:14:34 +0000 (23:14 +0000)]
mountlist: recognize more "dummy" file systems

* lib/mountlist.c (ME_DUMMY_0):
  Add these dummy FS names to the list:
  - "debugfs" virtual filesystem for kernel debugging
  - "devpts" PTY slave filesystem
  - "devtmpfs" device filesystem on top of tmpfs/ramfs
  - "fusectl" control filesystem for FUSE
  - "mqueue" enumerates POSIX message queues
  - "rpc_pipefs" kernel <-> userspace bridge for NFS
  - "sysfs" is for exporting kernel objects
  - "devfs" device filesystem for Linux 2.4 and FreeBSD

11 years agoextern-inline: avoid incompatibility with Darwin Libc
Paul Eggert [Tue, 11 Dec 2012 16:41:16 +0000 (08:41 -0800)]
extern-inline: avoid incompatibility with Darwin Libc

* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
Problem reported by Akim Demaille in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.

11 years agognupload: Work with GnuPG using gpg-agent (for smartcards).
Simon Josefsson [Tue, 11 Dec 2012 16:14:34 +0000 (17:14 +0100)]
gnupload: Work with GnuPG using gpg-agent (for smartcards).

* build-aux/gnupload: If GnuPG is configured to use gpg-agent,
let it handle password prompting.

11 years agocanonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
Eli Zaretskii [Mon, 10 Dec 2012 22:52:22 +0000 (14:52 -0800)]
canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes

* lib/canonicalize.c (canonicalize_filename_mode):
* lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
fetching the current directory.  Don't overrun the beginning of
rpath if there's no slashes after the MS-Windows drive letter.

11 years agomaint.mk: typofix in comments
Stefano Lattarini [Sat, 8 Dec 2012 17:09:18 +0000 (18:09 +0100)]
maint.mk: typofix in comments

11 years agomaint.mk: avoid extra forks
Stefano Lattarini [Sat, 8 Dec 2012 17:06:12 +0000 (18:06 +0100)]
maint.mk: avoid extra forks

* top/maint.mk (_cfg_mk): The GNU make manual documents that
"$(wildcard FILE)" expands to empty if FILE doesn't exist.
So use that instead of "$(shell test -f FILE && echo FILE)".

11 years agovasnprintf: fix ASCII_ONLY typo
Paul Eggert [Sat, 8 Dec 2012 03:31:34 +0000 (19:31 -0800)]
vasnprintf: fix ASCII_ONLY typo

* lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
* lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
* lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.

11 years agoautoupdate
Karl Berry [Fri, 7 Dec 2012 19:26:51 +0000 (11:26 -0800)]
autoupdate

11 years agolist, oset, xlist, xoset: fix extern inline issue with C99
Paul Eggert [Wed, 5 Dec 2012 21:20:25 +0000 (13:20 -0800)]
list, oset, xlist, xoset: fix extern inline issue with C99

This was introduced by my recent changes for 'inline'.
Problem reported for gettext by Daiki Ueno in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
* lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
(gl_list_nx_create, gl_list_size, gl_list_node_value)
(gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
(gl_list_previous_node, gl_list_get_at)
(gl_list_nx_set_at, gl_list_search, gl_list_search_from)
(gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
(gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
(gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
(gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
(gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
(gl_list_iterator_free, gl_sortedlist_search)
(gl_sortedlist_search_from_to, gl_sortedlist_indexof)
(gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
(gl_sortedlist_remove):
* lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
(gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
(gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
* lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
(gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
(gl_list_add_last, gl_list_add_before, gl_list_add_after)
(gl_list_add_at, gl_sortedlist_add):
* lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
Wrap these extern decls inside "#if 0", because they are implemented
as inline functions, and extern inline is not what's wanted here.
It would simplify these .h files to remove the extern decls entirely,
although a downside would be less-clear separation between
specification and implementation.

11 years agoautoupdate
Karl Berry [Tue, 4 Dec 2012 19:04:36 +0000 (11:04 -0800)]
autoupdate

11 years agosys_stat: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 07:13:14 +0000 (23:13 -0800)]
sys_stat: no 'static inline'

* lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.

11 years agoextern-inline: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
extern-inline: no 'static inline'

* m4/extern-inline.m4 (gl_EXTERN_INLINE):
Do not require AC_C_INLINE.
(_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
'static inline', for older compilers.

11 years agosnippet/warn-on-use: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
snippet/warn-on-use: no 'static inline'

* build-aux/snippet/warn-on-use.h:
Remove unnecessary 'inline' in comment.

11 years agorbtree-list, rbtreehash-list: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
rbtree-list, rbtreehash-list: no 'static inline'

* lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
* lib/gl_anytree_list2.h (node_at):
* lib/gl_anytreehash_list1.h (hash_resize_after_add)
(gl_oset_first, add_nodes_to_buckets):
Now static, not static inline.

11 years agoregex: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
regex: no 'static inline'

* lib/regex_internal.c (calc_state_hash):
* lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
(bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
(bitset_mask, re_string_char_size_at, re_string_wchar_at):
Now static, not static inline.
(inline) [__GNUC__ < 3 && _LIBC]:
Remove macro; no longer needed.

11 years agoxvasprintf: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
xvasprintf: no 'static inline'

* lib/xvasprintf.c (xstrcat):
Now static, not static inline.
* m4/xvasprintf.m4 (gl_XVASPRINTF):
Do not require AC_C_INLINE.

11 years agoparse-datetime, parse-duration: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
parse-datetime, parse-duration: no 'static inline'

* lib/parse-datetime.y (to_uchar):
* lib/parse-duration.c (str_const_to_ul, str_const_to_l)
(scale_n_add):
Now static, not static inline.
* m4/parse-datetime.m4 (gl_PARSE_DATETIME):
* modules/parse-duration (configure.ac):
Do not require AC_C_INLINE.

11 years agogetaddrinfo: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
getaddrinfo: no 'static inline'

* lib/getaddrinfo.c (validate_family):
Now static, not static inline.
* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
Do not require AC_C_INLINE.

11 years agoftruncate, fts, lstat, openat, raise: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
ftruncate, fts, lstat, openat, raise: no 'static inline'

* lib/ftruncate.c (chsize_nothrow):
* lib/fts.c (opendirat, diropen):
* lib/lstat.c (orig_lstat):
* lib/openat.c (orig_openat):
* lib/raise.c (raise_nothrow):
Now static, not static inline.
* m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
* m4/fts.m4 (gl_FUNC_FTS_CORE):
* m4/lstat.m4 (gl_PREREQ_LSTAT):
* m4/openat.m4 (gl_PREREQ_OPENAT):
* m4/raise.m4 (gl_PREREQ_RAISE):
Do not require AC_C_INLINE.

11 years agofflush, stat: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
fflush, stat: no 'static inline'

* lib/fflush.c (clear_ungetc_buffer_preserving_position)
(clear_ungetc_buffer, disable_seek_optimization)
(restore_seek_optimization, update_fpos_cache):
* lib/stat.c (orig_stat):
Now static, not static inline.
* lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
(update_fpos_cache):
Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
* m4/fflush.m4 (gl_PREREQ_FFLUSH):
* m4/stat.m4 (gl_PREREQ_STAT):
Do not require AC_C_INLINE.

11 years agoerror, filevercmp: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
error, filevercmp: no 'static inline'

* lib/error.c (is_open, flush_stdout):
* lib/filevercmp.c (order):
Now static, not static inline.
* m4/error.m4 (gl_PREREQ_ERROR):
* modules/filevercmp (configure.ac):
Do not require AC_C_INLINE.

11 years agodup, execute, fatal-signal, etc.: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
dup, execute, fatal-signal, etc.: no 'static inline'

* lib/dup.c (dup_nothrow):
* lib/execute.c (nonintr_close, nonintr_open):
* lib/fatal-signal.c (uninstall_handlers, install_handlers):
* lib/fopen.c (orig_fopen):
* lib/freadseek.c (freadptrinc):
* lib/freopen.c (orig_freopen):
* lib/fstat.c (orig_fstat, fstat_nothrow):
* lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
(get_rusage_as_via_iterator):
* lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
* lib/getdtablesize.c (_setmaxstdio_nothrow):
* lib/isatty.c (_isatty_nothrow):
* lib/open.c (orig_open):
* lib/read.c (read_nothrow):
* lib/sigprocmask.c (signal_nothrow):
* lib/spawn-pipe.c (nonintr_close, nonintr_open):
* lib/vasnprintf.c (MAX_ROOM_NEEDED):
* lib/wait-process.c (unregister_slave_subprocess):
* lib/write.c (write_nothrow):
Now static, not static inline.
* lib/spawn-pipe.c (nonintr_open): Define only if
(defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
* m4/dup.m4 (gl_PREREQ_DUP):
* m4/execute.m4 (gl_EXECUTE):
* m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
* m4/fopen.m4 (gl_PREREQ_FOPEN):
* m4/freadseek.m4 (gl_FUNC_FREADSEEK):
* m4/freopen.m4 (gl_PREREQ_FREOPEN):
* m4/fstat.m4 (gl_PREREQ_FSTAT):
* m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
* m4/isatty.m4 (gl_PREREQ_ISATTY):
* m4/open.m4 (gl_PREREQ_OPEN):
* m4/read.m4 (gl_PREREQ_READ):
* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
* m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
* m4/wait-process.m4 (gl_WAIT_PROCESS):
* m4/write.m4 (gl_PREREQ_WRITE):
* modules/get-rusage-as, modules/get-rusage-data (configure.ac):
Do not require AC_C_INLINE.

11 years agoc-strtod, memcoll, readutmp: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
c-strtod, memcoll, readutmp: no 'static inline'

* lib/c-strtod.c (c_locale):
* lib/memcoll.c (strcoll_loop):
* lib/readutmp.c (desirable_utmp_entry):
Now static, not static inline.
* m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
* m4/memcoll.m4 (gl_MEMCOLL):
* m4/readutmp.m4 (gl_READUTMP):
Do not require AC_C_INLINE.

11 years agoarctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'

* lib/arctwo.c (to_uchar):
* lib/md4.c (set_uint32):
* lib/md5.c (set_uint32):
* lib/sha1.c (set_uint32):
* lib/sha256.c (set_uint32):
* lib/sha512.c (set_uint64):
Now static, not static inline.  This is a bit simpler, and doesn't
affect performance with GCC and default optimization.
* m4/arctwo.m4 (gl_ARCTWO):
* m4/md4.m4 (gl_MD4):
* m4/md5.m4 (gl_MD5):
* m4/sha1.m4 (gl_SHA1):
* m4/sha256.m4 (gl_SHA256):
* m4/sha512.m4 (gl_SHA512):
Do not require AC_C_INLINE.

11 years agocond, lock, thread: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
cond, lock, thread: better 'inline'

* lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
* lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
New macros.  Use them instead of static inline, for header functions.
* lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
(gl_waitqueue_notify_first, gl_waitqueue_notify_all):
* lib/glthread/lock.c (gl_waitqueue_init)
(gl_waitqueue_notify_first, gl_waitqueue_notify_all):
* lib/glthread/thread.c (get_current_thread_handle):
Change 'static inline' to 'inline'.
* lib/glthread/cond.h, lib/glthread/thread.h:
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/cond.m4 (gl_COND):
* m4/lock.m4 (gl_PREREQ_LOCK):
* m4/thread.m4 (gl_THREAD):
Do not require AC_C_INLINE.
* modules/cond, modules/thread (Depends-on): Add extern-inline.

11 years agochdir-long, cycle-check, savewd: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
chdir-long, cycle-check, savewd: better 'inline'

* lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
(find_non_slash):
* lib/cycle-check.c (is_zero_or_power_of_two):
* lib/savewd.c (savewd_delegating):
Change 'static inline' to 'inline'.
* lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
Replace all remaining uses of 'static inline' with it.
* lib/savewd.h:
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
* m4/cycle-check.m4 (gl_CYCLE_CHECK):
* m4/savewd.m4 (gl_SAVEWD):
Do not require AC_C_INLINE.
* modules/savewd (Depends-on): Add extern-inline.

11 years agobase32, base64: no need for 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
base32, base64: no need for 'inline'

* lib/base32.c (to_uchar, get_8, decode_8):
* lib/base64.c (to_uchar, get_4, decode_4):
Change 'static inline' to 'inline'.
* m4/base32.m4 (gl_PREREQ_BASE32):
* m4/base64.m4 (gl_PREREQ_BASE64):
Do not require AC_C_INLINE.

11 years agoarray-oset, linkedhash-list, rbtree-oset: no need for 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
array-oset, linkedhash-list, rbtree-oset: no need for 'inline'

* lib/gl_array_oset.c (gl_array_nx_add_at):
(gl_array_remove_at):
* lib/gl_linkedhash_list.c (hash_resize_after_add)
(add_to_bucket, remove_from_bucket):
* lib/gl_rbtree_oset.c (rotate_left, rotate_right):
Change 'static inline' to 'static', as it's simpler to omit
'inline' unless there's a significant performance advantage.

11 years agolist, oset, xlist, xoset, xsublist: simplify via extern inline
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
list, oset, xlist, xoset, xsublist: simplify via extern inline

* lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
* lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
* lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
* lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
* lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
New macro.  Replace all uses of 'static inline' with it.
[HAVE_INLINE]: Implement functions as *_INLINE functions,
instead of as macros FOO that are defined to static inline
functions FOO_inline.
* lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
* lib/gl_xsublist.c:
Reimplement from scratch, by defining the corresponding *_INLINE
macro and including the corresponding .h file.  This is simpler.
* m4/gl_list.m4: Remove.
* modules/list, modules/oset, modules/xlist, modules/xoset:
(Files): Remove m4/gl_list.m4.
(configure.ac): Remove gl_LIST.
* modules/list, modules/oset, modules/xlist, modules/xoset:
* modules/xsublist:
(Depends-on): Depend on extern-inline, not inline.

11 years agoxalloc: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
xalloc: better 'inline'

* lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
New macro.  Replace all uses of 'static inline' with it.
(static_inline): Remove.
* lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
Let 'extern inline' do the work automatically, instead of doing
it by hand.
* m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
Remove.  All uses removed.
* modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.

11 years agogethrxtime: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
gethrxtime: better 'inline'

* lib/xtime.c: New file.
* lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
* lib/xtime.h (XTIME_INCLUDE):
New macros.  Replace all uses of 'static inline' with them.
* lib/gethrxtime.c (gethrxtime): Define only if
! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
this source file is now always compiled, because of the extern inline.
* lib/gethrxtime.h, lib/xtime.h:
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
if gethrtime works, as they're not needed in that case.
(gl_XTIME): Do not require AC_C_INLINE.
(gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
compiled now.  Move the check into gl_GETHRXTIME.
* modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
(Depends-on): Add extern-inline.
(configure.ac): gethrxtime is always compiled now.
(lib_SOURCES): Add gethrxtime.c.

11 years agowctype-h: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
wctype-h: better 'inline'

* lib/wctype-h.c: New file.
* lib/wctype.in.h (_GL_WCTYPE_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
* modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
(Depends-on): Add extern-inline.

11 years agounistd: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
unistd: better 'inline'

* lib/unistd.c: New file.
* lib/unistd.in.h (_GL_UNISTD_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
* modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
(Depends-on): Add extern-inline.

11 years agosys_socket: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
sys_socket: better 'inline'

* lib/sys_socket.c: New file.
* lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
* modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
(Depends-on): Add extern-inline.

11 years agostdio: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
stdio: better 'inline'

* lib/stdio.c: New file.
* lib/stdio.in.h (_GL_STDIO_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
* modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
(Depends-on): Add extern-inline.

11 years agosigaction: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
sigaction: better 'inline'

* lib/sig-handler.c: New file.
* lib/sig-handler.h (SIG_HANDLER_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
* modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
(Depends-on): Add extern-inline.

11 years agoselinux-h: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
selinux-h: better 'inline'

* lib/se-context.c, lib/se-selinux.c: New files.
* lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
* lib/se-context.in.h (SE_CONTEXT_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* lib/se-selinux.in.h (SE_SELINUX_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* modules/selinux-h (Files, lib_SOURCES):
Add lib/se-context.c, lib/se-selinux.c.
(Depends-on): Add extern-inline.
(configure.ac): Do not require AC_C_INLINE.

11 years agopthread: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
pthread: better 'inline'

* lib/pthread.c: New file.
* lib/pthread.in.h (_GL_PTHREAD_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/pthread.m4 (gl_PTHREAD_CHECK):
Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
* modules/pthread (Files): Add lib/pthread.c.
(Depends-on): Add extern-inline.

11 years agomath: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
math: better 'inline'

* lib/math.c: New file.
* lib/math.in.h (_GL_MATH_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/math_h.m4 (gl_MATH_H):
Do not require AC_C_INLINE.
* modules/math (Files, lib_SOURCES):
Add lib/math.c.
(Depends-on): Add extern-inline.

11 years agocount-one-bits: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:05 +0000 (22:25 -0800)]
count-one-bits: better 'inline'

* lib/count-one-bits.c: New file.
* lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
Do not require AC_C_INLINE.
* modules/count-one-bits (Files, lib_SOURCES):
Add lib/count-one-bits.c.
(Depends-on): Add extern-inline.

11 years agocount-leading-zeros: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:05 +0000 (22:25 -0800)]
count-leading-zeros: better 'inline'

* lib/count-leading-zeros.c: New file.
* lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
Do not require AC_C_INLINE.
* modules/count-leading-zeros (Files, lib_SOURCES):
Add lib/count-leading-zeros.c.
(Depends-on): Add extern-inline.

11 years agobitrotate: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:05 +0000 (22:25 -0800)]
bitrotate: better 'inline'

* lib/bitrotate.c: New file.
* lib/bitrotate.h (BITROTATE_INLINE):
New macros.
Replace all uses of 'static inline' with them.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
(Depends-on): Add extern-inline.
(configure.ac): Do not require AC_C_INLINE.

11 years agoautoupdate
Karl Berry [Wed, 28 Nov 2012 16:30:11 +0000 (08:30 -0800)]
autoupdate

11 years agoautoupdate
Karl Berry [Tue, 27 Nov 2012 17:59:19 +0000 (09:59 -0800)]
autoupdate

11 years agomaint.mk: avoid gratuitous failure
Theophile Ranquet [Tue, 20 Nov 2012 10:38:45 +0000 (10:38 +0000)]
maint.mk: avoid gratuitous failure

Reported by Stefano Lattarini in
<http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
* top/maint.mk (public-submodule-commit): Quote more safely.

11 years agocanonicalize, canonicalize-lgpl: support MS-Windows file names
Eli Zaretskii [Tue, 20 Nov 2012 21:47:22 +0000 (13:47 -0800)]
canonicalize, canonicalize-lgpl: support MS-Windows file names

See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
for test cases, which it'd be nice to add at some point.
* lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
* lib/canonicalize.c (canonicalize_filename_mode):
* lib/canonicalize-lgpl.c (__realpath):
Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
slash is at the beginning of the file name.  Use ISSLASH, instead
of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
the first character with '/'.  Test for
DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
with a drive letter.
* lib/canonicalize.c (SLASHES): New macro.
(canonicalize_filename_mode): Use SLASHES instead of a literal "/".

11 years agofts: introduce FTS_VERBATIM
Dmitry V. Levin [Sun, 18 Nov 2012 00:40:18 +0000 (04:40 +0400)]
fts: introduce FTS_VERBATIM

This gives clients the option to disable stripping of trailing slashes
from input path names during fts_open initialization.

The recent change v0.0-7611-g3a9002d that made fts_open strip trailing
slashes from input path names had a negative impact on findutils that
relies on the old fts_open behavior to implement POSIX requirement that
each path operand of the find utility shall be evaluated unaltered as it
was provided, including all trailing slash characters.

* lib/fts_.h (FTS_VERBATIM): New bit flag.
(FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
* lib/fts.c (fts_open): Honor it.

11 years agoautoupdate
Karl Berry [Fri, 16 Nov 2012 16:02:09 +0000 (08:02 -0800)]
autoupdate

11 years agoautoupdate
Karl Berry [Sun, 11 Nov 2012 14:58:43 +0000 (06:58 -0800)]
autoupdate

11 years agogetlogin_r-tests: allow errno == ENXIO or ENOENT
Pádraig Brady [Fri, 9 Nov 2012 11:55:25 +0000 (11:55 +0000)]
getlogin_r-tests: allow errno == ENXIO or ENOENT

* tests/test-getlogin.c (main): Skip tests if getlogin fails
with errno == ENXIO (No controlling tty).
* tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
with errno == ENOENT.  This was reported to happen in various
situations on GNU/Linux.

11 years agogetlogin-tests: allow errno == ENOENT
Paul Eggert [Fri, 9 Nov 2012 09:03:33 +0000 (01:03 -0800)]
getlogin-tests: allow errno == ENOENT

* tests/test-getlogin.c (main): Skip tests if getlogin fails
with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
when running a test in an Emacs shell buffer.

11 years agotests/nap.h: avoid warning about unused variable
Jim Meyering [Fri, 9 Nov 2012 07:03:57 +0000 (23:03 -0800)]
tests/nap.h: avoid warning about unused variable

* tests/nap.h (nap_works): Remove now-unused declaration of "result".

11 years agoprefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
Jim Meyering [Thu, 8 Nov 2012 06:37:39 +0000 (22:37 -0800)]
prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition

* build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
white space before each of the special-cased file names, to avoid
adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
in http://bugs.gnu.org/12830.

11 years agoupdate from texinfo
Karl Berry [Thu, 8 Nov 2012 23:14:54 +0000 (15:14 -0800)]
update from texinfo

11 years agofcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
Paul Eggert [Thu, 8 Nov 2012 09:23:20 +0000 (01:23 -0800)]
fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY

O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
fails with errno == EBADF when fd is opened with O_PATH.
Reported by Jim Meyering in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
* doc/posix-headers/fcntl.texi (fcntl.h): Document this.
* lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.

11 years agotest-utimens: speed up by taking shorter naps
Paul Eggert [Thu, 8 Nov 2012 07:36:43 +0000 (23:36 -0800)]
test-utimens: speed up by taking shorter naps

* tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
New functions.
(nap): Use them, to do a better job of guessing the delay.
On Fedora 17 with ext4 atop md atop hard disks, this made
test-utimens run 10x faster, because the test napped for
1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
<http://bugs.gnu.org/12820#11>.

11 years agomountlist.c: fix a compilation failure
Jim Meyering [Thu, 8 Nov 2012 06:59:21 +0000 (22:59 -0800)]
mountlist.c: fix a compilation failure

* lib/mountlist.c (read_file_system_list): Fix a compilation failure
I introduced while transforming commit v0.0-7683-g613bcb6

11 years agoerrno: port to LynxOS 178 2.2.2
Paul Eggert [Thu, 1 Nov 2012 22:29:14 +0000 (15:29 -0700)]
errno: port to LynxOS 178 2.2.2

Problem reported by Joel Brobecker in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
* doc/posix-headers/errno.texi (errno.h): Document this.
* lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
* lib/strerror-override.c, lib/strerror-override.h (strerror_override):
Supply a string for EILSEQ.
* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.

11 years agofcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
Paul Eggert [Mon, 5 Nov 2012 21:53:36 +0000 (13:53 -0800)]
fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available

Linux kernel 2.6.39 introduced O_PATH (see
<http://lwn.net/Articles/433854/>) and this is a better fallback
for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
* doc/posix-headers/fcntl.texi (fcntl.h): Document this.
* lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
* lib/fcntl.in.h (O_ACCMODE):
* tests/test-fcntl-h.c (main):
Do not reject O_ACCMODE merely because it has more than the
minimal number of bits, as POSIX allows extensions here.

11 years agomountlist: do not classify a bind-mounted dir entry as "dummy"
Andrew Warshall [Mon, 5 Nov 2012 00:41:15 +0000 (16:41 -0800)]
mountlist: do not classify a bind-mounted dir entry as "dummy"

* lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
the "none"-testing clause.
(ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
exception for bind-mounted directories.
Copyright-paperwork-exempt: Yes

11 years agoquote: provide a means to escape strings with nul characters
Akim Demaille [Thu, 1 Nov 2012 13:47:03 +0000 (06:47 -0700)]
quote: provide a means to escape strings with nul characters

* lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
(quote, quote_n): Rename formal arguments for consistency with
quotearg.

11 years agotest-raise: don't assume 199 is an invalid signal
Paul Eggert [Tue, 30 Oct 2012 18:29:01 +0000 (11:29 -0700)]
test-raise: don't assume 199 is an invalid signal

* tests/test-raise.c (main): Don't assume 199 is not a signal number.

11 years agosh-quote-tests: port to Solaris 9
Paul Eggert [Tue, 30 Oct 2012 18:27:56 +0000 (11:27 -0700)]
sh-quote-tests: port to Solaris 9

* modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
Problem reported by Dagobert Michelsen in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.