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

11 years agomaint.mk: rename a new configurable variable
Jim Meyering [Sun, 28 Oct 2012 07:38:09 +0000 (08:38 +0100)]
maint.mk: rename a new configurable variable

* top/maint.mk (_gl_translatable_string_re): Rename from
translation-markers: _gl_ prefix to insulate from user Makefile code,
and the _re suffix to inform that it's a regular expression.

11 years agoautoupdate
Karl Berry [Mon, 29 Oct 2012 18:19:41 +0000 (11:19 -0700)]
autoupdate

11 years agomaint.mk: let packages tweak sc_po_check pattern
Eric Blake [Fri, 26 Oct 2012 16:19:56 +0000 (10:19 -0600)]
maint.mk: let packages tweak sc_po_check pattern

libosinfo wants to look for XML files with translation markers
of the form <_name>string to translate</_name>.  Rather than
globally adding this to the regex, I thought it would be easier
to make it possible for cfg.mk to override the default pattern.
https://www.redhat.com/archives/virt-tools-list/2012-October/msg00270.html

* top/maint.mk (sc_po_check): Add translation-markers, to allow
finding files with other translation markers.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoautoupdate
Karl Berry [Tue, 23 Oct 2012 23:41:32 +0000 (16:41 -0700)]
autoupdate

11 years agoeuidaccess: speed up 'configure' on GNU hosts
Paul Eggert [Wed, 17 Oct 2012 01:58:09 +0000 (18:58 -0700)]
euidaccess: speed up 'configure' on GNU hosts

* m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
it's needed only in this case.  Use AC_CHECK_DECLS, not
AC_CHECK_DECLS_ONCE.
(gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
or AC_REQUIRE for AC_FUNC_GETGROUPS.

11 years ago* lib/regexec.c (re_search_internal): Fix grammar in comment.
Paul Eggert [Tue, 16 Oct 2012 23:01:05 +0000 (16:01 -0700)]
* lib/regexec.c (re_search_internal): Fix grammar in comment.

11 years agofchmodat, fchownat, fstatat: port to non-inlining compilers
Paul Eggert [Mon, 15 Oct 2012 20:07:07 +0000 (13:07 -0700)]
fchmodat, fchownat, fstatat: port to non-inlining compilers

Problem reported for FreeBSD 9 by Jim Meyering in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
* lib/chmodat.c, lib/chownat.c, lib/statat.c:
New files, which define FCHMODAT_INLINE etc.
* lib/fchmodat.c (FCHMODAT_INLINE):
* lib/fchownat.c (FCHOWNAT_INLINE):
* lib/fstatat.c (FSTATAT_INLINE):
Remove, as chmodat.c etc. now do this.
* modules/fchmodat (Files): Add lib/chmodat.c.
* modules/fchownat (Files): Add lib/chownat.c.
* modules/fstatat (Files): Add lib/statat.c.

11 years agofchmodat.c, fchownat.c: fix compile-impeding typos
Jim Meyering [Mon, 15 Oct 2012 16:34:56 +0000 (18:34 +0200)]
fchmodat.c, fchownat.c: fix compile-impeding typos

* lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
* lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
Introduced in commit v0.0-7636-gd202279.

11 years agofcntl-h: support GNU flags like O_IGNORE_CTTY
Paul Eggert [Mon, 15 Oct 2012 16:31:07 +0000 (09:31 -0700)]
fcntl-h: support GNU flags like O_IGNORE_CTTY

* doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
systems.  Discovered when using fcntl-h with GNU Emacs, which uses
O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
* lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
Define to 0 if not already defined.
* tests/test-fcntl-h.c: Test these new flags.

11 years agofaccessat, etc.: support AT_FDCWD-only use
Paul Eggert [Mon, 15 Oct 2012 05:31:28 +0000 (22:31 -0700)]
faccessat, etc.: support AT_FDCWD-only use

* lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
this function only if its first argument is AT_FDCWD.
Emacs wants faccessat for AT_EACCESS but not for any first-arg
values other than AT_FDCWD, so it doesn't want all the openat
machinery with fchdir etc.
* modules/faccessat, modules/fchmodat, modules/fchownat (Files):
* modules/fstatat, modules/mkdirat, modules/openat (Files):
* modules/unlinkat (Files):
Remove lib/openat-priv.h, as at-internal supplies this file.
Removing this file here allows us to support programs like Emacs
that avoid at-internal.

11 years agofaccessat: speed up 'configure' on mainstream hosts
Paul Eggert [Mon, 15 Oct 2012 05:24:48 +0000 (22:24 -0700)]
faccessat: speed up 'configure' on mainstream hosts

* m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
since it's only on unusual platforms that we need to check for
'access', and it's better not to slow 'configure' down on all
platforms.

11 years agofaccessat: port to Solaris 10
Paul Eggert [Mon, 15 Oct 2012 05:22:19 +0000 (22:22 -0700)]
faccessat: port to Solaris 10

* lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
Needed on Solaris 10, which doesn't have AT_EACCESS,
so we need the Gnulib fcntl.h, which defines it.

11 years agocanonicalize: fix C89 compilation
Pádraig Brady [Mon, 15 Oct 2012 05:38:19 +0000 (22:38 -0700)]
canonicalize: fix C89 compilation

* lib/canonicalize.c (canonicalize_filename_mode): Swap order of
declarations so C89 is supported.  Also remove the comment
referencing mem allocation as the suggested feature could
not be implemented as suggested.
Reported by Michael Goffioul

11 years agoautoupdate
Karl Berry [Sat, 13 Oct 2012 22:14:05 +0000 (15:14 -0700)]
autoupdate

11 years agogroup-member: omit unnecessary dependencies
Paul Eggert [Fri, 12 Oct 2012 20:10:12 +0000 (13:10 -0700)]
group-member: omit unnecessary dependencies

This is for Emacs, which has its own allocator and where we
don't want to use xalloc.
* lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
since we no longer use xmalloc.  Do not include stdbool.h, since
the changes below happen to remove the only use of bool.
(GROUPBUF_SIZE): New constant.
(struct group_info): Remove n_groups member.  Add groupbuf member.
This lets us get the groups without using malloc, usually.
(free_group_info, get_group_info): Adjust to this.
(get_group_info): Return the number of groups found, or -1 on error.
Use plain malloc not xmalloc, and treat its failure as if there
are no groups, as the user already loses in case of error.
(group_member): Simplify, based on changes to get_group_info.
* modules/group-member (Depends-on): Remove dependencies on
xalloc and stdbool.  Add dependency on xalloc-oversized.

11 years agogethrxtime: port to C++
Alexandre Duret-Lutz [Mon, 8 Oct 2012 21:46:18 +0000 (14:46 -0700)]
gethrxtime: port to C++

* lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".