gnulib.git
11 years agomanywarnings: cater to more gcc infelicities
Eric Blake [Thu, 6 Sep 2012 21:29:53 +0000 (15:29 -0600)]
manywarnings: cater to more gcc infelicities

Some versions of gcc (at least 4.2.1) noisily warn if
-Wuninitialized is given without -O; in isolation, configure
learns that the warning option is supported, but when later
compiling with -Werror, this makes builds fail.  If the
option will have no effect for the configured choice of
$CFLAGS, then it is not worth including in the set.

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
-Wuninitialized without -O.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoselect, poll tests: Make setsockopt invocation effective.
Ed Maste [Mon, 1 Oct 2012 23:48:22 +0000 (01:48 +0200)]
select, poll tests: Make setsockopt invocation effective.

* tests/test-poll.c (open_server_socket): Move setsockopt() call before
the bind() call.
* tests/test-select.h (open_server_socket): Likewise.

11 years agosockets, sys_stat: restore AC_C_INLINE
Paul Eggert [Sun, 30 Sep 2012 23:20:43 +0000 (16:20 -0700)]
sockets, sys_stat: restore AC_C_INLINE

This undoes the 2012-09-22 patch.
* m4/sockets.m4 (gl_SOCKETS):
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
Restore AC_C_INLINE, since MSVC requires __inline or _inline
and does not support plain 'inline'.  Reported by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.

11 years agolocaleconv tests: Avoid test failure on OpenIndiana.
Bruno Haible [Sun, 30 Sep 2012 21:39:03 +0000 (23:39 +0200)]
localeconv tests: Avoid test failure on OpenIndiana.

* tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
skip the 'grouping' and 'mon_grouping' tests.
Reported by Jim Meyering.

11 years agohavelib: Follow libtool developments.
Bruno Haible [Sun, 30 Sep 2012 21:21:26 +0000 (23:21 +0200)]
havelib: Follow libtool developments.

* m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
Suggested by Simon Josefsson.

11 years agoChangeLog: mention who reported the problem.
Jim Meyering [Sat, 29 Sep 2012 17:18:08 +0000 (19:18 +0200)]
ChangeLog: mention who reported the problem.

11 years agofstatat.c: fix a compile-impeding typo
Jim Meyering [Sat, 29 Sep 2012 17:13:21 +0000 (19:13 +0200)]
fstatat.c: fix a compile-impeding typo

* lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
Introduced in commit v0.0-7636-gd202279.

11 years agoextern-inline: provide a -Wundef safe config.h
Akim Demaille [Tue, 25 Sep 2012 11:58:12 +0000 (13:58 +0200)]
extern-inline: provide a -Wundef safe config.h

* m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
"#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
to produce a -Wundef warning free config.h.

11 years agohash-pjw: relax license to LGPLv2+
Paul Eggert [Thu, 27 Sep 2012 03:12:57 +0000 (20:12 -0700)]
hash-pjw: relax license to LGPLv2+

* modules/hash-pjw (License): Relax, with consent of author.

11 years agoautoupdate
Karl Berry [Wed, 26 Sep 2012 13:48:40 +0000 (06:48 -0700)]
autoupdate

11 years agomaint.mk: fix strict vs. lazy variable issues with RELEASE
Akim Demaille [Tue, 25 Sep 2012 10:19:04 +0000 (12:19 +0200)]
maint.mk: fix strict vs. lazy variable issues with RELEASE

* top/maint.mk (_equal): New function.
(member_check): Strip the result to avoid spurious spaces.
(url_dir_list): Do not use ifeq, which is strict, as it will
require RELEASE_TYPE to be defined.
(announcement_Cc_, announcement_mail_headers_): Likewise: instead
of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
(announcement_Cc_alpha,announcement_mail_headers_alpha)
(announcement_Cc_beta,announcement_mail_headers_beta)
(announcement_Cc_stable,announcement_mail_headers_stable): these.
(release): Do not depend on $(release-type), as it forces its
evaluation.  Bounce to it.

11 years agomaint.mk: formatting changes
Akim Demaille [Mon, 24 Sep 2012 08:06:15 +0000 (10:06 +0200)]
maint.mk: formatting changes

* top/maint.mk: Indent bodies of if's.

11 years agomaint.mk: provide "make upload" to ease uploading
Akim Demaille [Thu, 20 Sep 2012 09:10:34 +0000 (11:10 +0200)]
maint.mk: provide "make upload" to ease uploading

See <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
Do not depend simply on the current $(VERSION), as there may have been
new commits since the tarball generation.  Rather, rely on $(RELEASE),
as "make release-commit" already does.

For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
"make TYPE".

* top/maint.mk (upload_command, upload, release): New.
(RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
(VERSION): first word of $(RELEASE) is always right.
(emit_upload_commands): Adjust.
* top/README-release: Update.

11 years agomaint.mk: factor the validation of RELEASE_TYPE
Akim Demaille [Fri, 21 Sep 2012 12:11:18 +0000 (14:11 +0200)]
maint.mk: factor the validation of RELEASE_TYPE

With help from Jim Meyering.
http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html

* top/maint.mk (_empty, _sp): Move their definition earlier.
(member-check, release-type): New.
Use the latter instead of $(RELEASE_TYPE).
Remove now useless local checks.

11 years agomaint.mk: silent rules
Akim Demaille [Thu, 20 Sep 2012 09:09:53 +0000 (11:09 +0200)]
maint.mk: silent rules

With help from Stefano Lattarini.

* top/maint.mk (writable-files): Use $(AM_V_GEN).
(announcement): Use $(AM_V_at).

11 years agolocalename: port gl_locale_name_thread_unsafe to FreeBSD
Paul Eggert [Mon, 24 Sep 2012 19:41:27 +0000 (12:41 -0700)]
localename: port gl_locale_name_thread_unsafe to FreeBSD

* lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
and use the simpler FreeBSD implementation on Mac OS X as well.
Original idea suggested by Ed Maste in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.

11 years agobinary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
Paul Eggert [Thu, 30 Aug 2012 06:13:42 +0000 (23:13 -0700)]
binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'

* lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
* lib/mbuiter.c, lib/xsize.c: New files.
* lib/binary-io.h (BINARY_IO_INLINE):
* lib/eealloc.h (EEALLOC_INLINE):
* lib/mbfile.h (MBFILE_INLINE):
* lib/mbiter.h (MBITER_INLINE):
* lib/mbuiter.h (MBUITER_INLINE):
* lib/xsize.h (XSIZE_INLINE):
New macros.
Replace all uses of 'static inline' with them.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/eealloc.m4 (gl_EEALLOC):
* m4/mbfile.m4 (gl_MBFILE):
* m4/mbiter.m4 (gl_MBITER):
* m4/xsize.m4 (gl_XSIZE):
Do not require AC_C_INLINE.
* modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
* modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
* modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
* modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
* modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
* modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
* modules/binary-io, modules/eealloc, modules/mbfile:
* modules/mbiter, modules/mbuiter:
(Depends-on): Add extern-inline.

11 years agopipe-filter-gi, pipe-filter-ii: better use of 'inline'
Paul Eggert [Thu, 30 Aug 2012 05:17:49 +0000 (22:17 -0700)]
pipe-filter-gi, pipe-filter-ii: better use of 'inline'

* lib/pipe-filter-aux.c: New file.
* lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* lib/pipe-filter-gi.c (filter_init, filter_cleanup)
(filter_retcode): No real need for inline here.
* modules/pipe-filter-gi, modules/pipe-filter-ii:
(Files): Add lib/pipe-filter-aux.c.
(Depends-on): Add extern-inline.
(configure.ac): Do not require AC_C_INLINE.
(lib_SOURCES): Add pipe-filter-aux.c.

11 years agofdutimensat: omit unnecessary AC_C_INLINE
Paul Eggert [Thu, 30 Aug 2012 04:14:24 +0000 (21:14 -0700)]
fdutimensat: omit unnecessary AC_C_INLINE

* modules/fdutimensat (configure.ac): Remove AC_C_INLINE.

11 years agofchmodat, fchownat, fstatat: use extern-inline
Paul Eggert [Thu, 30 Aug 2012 04:09:50 +0000 (21:09 -0700)]
fchmodat, fchownat, fstatat: use extern-inline

* lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
* lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
* lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
New macros.
* lib/openat.h:
Replace all uses of 'static inline' with them.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* modules/fchmodat, modules/fchownat, modules/fstatat:
* modules/openat-h:
(Depends-on):
Add extern-inline.
(configure.ac): Remove AC_C_INLINE.

11 years agoacl, mbchar, priv-set: use extern-inline
Paul Eggert [Thu, 30 Aug 2012 03:59:53 +0000 (20:59 -0700)]
acl, mbchar, priv-set: use extern-inline

* lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
* lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
* lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
New macros.
* lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/acl.m4 (gl_FUNC_ACL):
* m4/mbchar.m4 (gl_MBCHAR):
* m4/priv-set.m4 (gl_PRIV_SET):
Remove AC_C_INLINE, since 'inline' is no longer used directly.
* modules/acl, modules/mbchar, modules/priv-set (Depends-on):
Add extern-inline.

11 years agosockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
Paul Eggert [Thu, 30 Aug 2012 00:59:49 +0000 (17:59 -0700)]
sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases

* m4/sockets.m4 (gl_SOCKETS):
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
environments where it's already guaranteed to work, so we needn't
check for it at 'configure'-time.

11 years agotls-tests: omit unnecessary 'inline'
Paul Eggert [Thu, 30 Aug 2012 00:49:12 +0000 (17:49 -0700)]
tls-tests: omit unnecessary 'inline'

* tests/test-tls.c (perhaps_yield): No longer inline.
Simplicity and portability trump efficiency in test cases.

11 years agoutimens-tests: avoid unnecessary 'inline'
Paul Eggert [Tue, 28 Aug 2012 06:11:45 +0000 (23:11 -0700)]
utimens-tests: avoid unnecessary 'inline'

* modules/fdutimensat-tests (configure.ac):
* modules/futimens-tests (configure.ac):
* modules/utimens-tests (configure.ac):
* modules/utimensat-tests (configure.ac):
Remove AC_C_INLINE.
* tests/test-utimens-common.h (ctime_compare):
No longer inline.  Simplicity and portability trump efficiency here.

11 years agomisc: don't limit commentary to inline functions
Paul Eggert [Tue, 28 Aug 2012 05:57:47 +0000 (22:57 -0700)]
misc: don't limit commentary to inline functions

* lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
* lib/xalloc-oversized.h, lib/xsize.h:
Contrast macros to functions in general, not just to inline functions,
when the commentary does not apply only to inline functions.

11 years agonon-recursive-gnulib-prefix-hack: new module
Jim Meyering [Thu, 20 Sep 2012 12:02:36 +0000 (14:02 +0200)]
non-recursive-gnulib-prefix-hack: new module

* build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
the file that originated in Bison.
* m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
largely copied from a snippet that resided in bison's configure.ac.
* modules/non-recursive-gnulib-prefix-hack: New file.
* MODULES.html.sh (Support for maintaining and releasing projects):
Add it.

11 years agoChangeLog: fix indentation
Jim Meyering [Tue, 18 Sep 2012 14:25:41 +0000 (16:25 +0200)]
ChangeLog: fix indentation

11 years agomaint.mk: generalize _gl_tight_scope for non-recursive make
Jim Meyering [Tue, 18 Sep 2012 14:25:19 +0000 (16:25 +0200)]
maint.mk: generalize _gl_tight_scope for non-recursive make

* top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
that *.h would describe additional .h files in the directory
specified by $(_gl_TS_dir).  I.e., add this...
(_gl_TS_other_headers): New variable.

11 years agomaint.mk: exempt trailing blanks found in "binary" files
Jim Meyering [Tue, 18 Sep 2012 06:49:59 +0000 (08:49 +0200)]
maint.mk: exempt trailing blanks found in "binary" files

* top/maint.mk (sc_trailing_blank): Filter out any matches found in
"binary" files, as reported by grep.  Suggested by Richard W.M. Jones
in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902

11 years agomaint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
Jim Meyering [Mon, 17 Sep 2012 09:38:36 +0000 (11:38 +0200)]
maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX

* top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902

11 years agomaint.mk: teach sc_prohibit_magic_number_exit to accept 77
Jim Meyering [Mon, 17 Sep 2012 09:34:44 +0000 (11:34 +0200)]
maint.mk: teach sc_prohibit_magic_number_exit to accept 77

* top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
uses like "exit (77)".  "77" is automake's "skip this test" exit code.
It is not in the same category as "exit (0)" or "exit (1)", and
besides, I know of no symbolic name for that 77.  Reported by
Richard W.M. Jones in
http://thread.gmane.org/gmane.comp.emulators.guestfs/1902

11 years agomaint.mk: relax sc_prohibit_strcmp, to avoid a false positive
Jim Meyering [Mon, 17 Sep 2012 09:25:00 +0000 (11:25 +0200)]
maint.mk: relax sc_prohibit_strcmp, to avoid a false positive

* top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
all uses of #define, not just those that start in column 1.
Richard W.M. Jones reported a false positive in
http://thread.gmane.org/gmane.comp.emulators.guestfs/1902

11 years agolocalcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
Paul Eggert [Sun, 16 Sep 2012 17:47:43 +0000 (10:47 -0700)]
localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX

* lib/localcharset.c (locale_charset) [DARWIN7]:
Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
as these two values are incompatible.  Problem reported by Max Horn.
For more discussion, please see
<http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.

11 years agodoc: document sticky-EOF issue
Paul Eggert [Sun, 16 Sep 2012 17:37:16 +0000 (10:37 -0700)]
doc: document sticky-EOF issue

* 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):
Mention that glibc and default Solaris do not conform to
C99 and POSIX-2001 or later, with respect to how getchar
etc. behave when feof reports nonzero.

11 years agopoll: fix poll(0, NULL, msec)
Joachim Schmitz [Thu, 13 Sep 2012 06:41:24 +0000 (08:41 +0200)]
poll: fix poll(0, NULL, msec)

* lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
but nfd is 0.  In that case poll should behave like select.

Copyright-paperwork-exempt: yes

11 years agopoll: fix for systems that can't recv() on a non-socket
Joachim Schmitz [Thu, 13 Sep 2012 06:55:08 +0000 (08:55 +0200)]
poll: fix for systems that can't recv() on a non-socket

* lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
is readable.  In this case POLLHUP will not be supported.
* doc/posix-functions/poll.texi: Document this.

Copyright-paperwork-exempt: yes

11 years agopoll/select: document portability problems not fixed by Gnulib.
Paolo Bonzini [Thu, 13 Sep 2012 06:51:16 +0000 (08:51 +0200)]
poll/select: document portability problems not fixed by Gnulib.

* doc/posix-functions/poll.texi: poll does not work well on
pipes under Windows.  It has the same limitations as select on
BeOS.
* doc/posix-functions/select.texi: select does not work well
on pipes under Windows.

11 years agoupdate from texinfo
Karl Berry [Wed, 12 Sep 2012 23:37:37 +0000 (16:37 -0700)]
update from texinfo

11 years agoFix typo in previous patch: 1 -> 4.
Paul Eggert [Mon, 10 Sep 2012 20:47:00 +0000 (13:47 -0700)]
Fix typo in previous patch: 1 -> 4.

11 years agofcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
Paul Eggert [Mon, 10 Sep 2012 20:37:18 +0000 (13:37 -0700)]
fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT

* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
that caused a GNU tar test failure.  Problem reported by Jez Wain; see
<http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.

11 years agonet_if: give more details about the bug being fixed
Eric Blake [Thu, 6 Sep 2012 22:25:29 +0000 (16:25 -0600)]
net_if: give more details about the bug being fixed

Jasper Lievisse Adriaanse reported that NetBSD 5.2 also has
the same bug.  Also, when writing configure tests that use
<net/if.h> (such as for 'struct ifreq'), it is useful to know
what pre-requisite headers are needed within that test.

* doc/posix-headers/net_if.texi: Add clarification.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agonet_if: new module
Eric Blake [Wed, 5 Sep 2012 20:28:47 +0000 (14:28 -0600)]
net_if: new module

OpenBSD's <net/if.h> is not self-contained; this should compile:

| #define _POSIX_C_SOURCE 200809L
| #include <net/if.h>
| struct if_nameindex i;

but fails with:

In file included from foo.c:2:
/usr/include/net/if.h:112: error: expected specifier-qualifier-list before 'u_int'
...
/usr/include/net/if.h:674: error: field 'dstaddr' has incomplete type
In file included from /usr/include/net/if.h:691,
                 from foo.c:2:
/usr/include/net/if_arp.h:79: error: field 'arp_pa' has incomplete type
/usr/include/net/if_arp.h:80: error: field 'arp_ha' has incomplete type
*** Error code 1

We already had a test program for systems with the if_* functions
(including OpenBSD); but in adding this module, I had to enhance
that test to also work on platforms like mingw where we are now
providing a new header.

* modules/net_if: New module, borrowing ideas from netinet_in.
* m4/net_if_h.m4: New file.
* lib/net_if.in.h: Likewise.
* doc/posix-headers/net_if.texi (net/if.h): Document it.
* MODULES.html.sh (lacking POSIX:2008): Likewise.
* tests/test-net_if.c: Make function checks conditional.
Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoreadutmp: fix non-portable UT_PID use
Mats Erik Andersson [Wed, 5 Sep 2012 20:08:37 +0000 (22:08 +0200)]
readutmp: fix non-portable UT_PID use

The module readutmp is broken for the standard use

  read_utmp(..., READ_UTMP_USER_PROCESS | READ_UTMP_CHECK_PIDS)

for all releases of FreeBSD until 8.3, and all OpenBSD ever released.

The reason is that those systems do not provide `utmp.ut_pid', thus
making the macro UT_PID(u) identical to naught, and then turning
the predicate

   UT_PID (u) <= 0

found in desirable_utmp_entry(), into a permanent true clause.
This makes desirable_utmp_entry() discard every legitimate
user's UTMP entry for said BSD releases. NetBSD and DragonflyBSD
are not touched by this malfunction.

Copyright-paperwork-exempt: yes

* lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
  Use `UT_PID (u) > 0' as absolute condition.

11 years agoupdate from texinfo
Karl Berry [Wed, 5 Sep 2012 15:45:32 +0000 (08:45 -0700)]
update from texinfo

11 years agofts: reduce two or more trailing slashes to just one, usually
Jim Meyering [Tue, 4 Sep 2012 09:36:38 +0000 (11:36 +0200)]
fts: reduce two or more trailing slashes to just one, usually

* lib/fts.c (fts_open): Upon initialization, if a name ends in two
or more slashes, trim all but the final one.  But if a name consists
solely of two slashes, don't modify it.  If it consists solely of
three or more slashes, strip all but one.

This is part of the solution to a minor problem with rm:
it would print a bogus ELOOP diagnostic when failing to remove
the slash-decorated name of a symlink-to-directory:

    $ mkdir d && ln -s d s && env rm -r s/
    rm: cannot remove 's': Too many levels of symbolic links

With the change below and a trivial don't-trim-trailing-slashes
adjustment to remove.c, it does this:

    $ env rm -r s/
    rm: cannot remove 's/': Not a directory

Improved by: Eric Blake

11 years agofts: when there is no risk of overlap, use memcpy, not memmove
Jim Meyering [Tue, 4 Sep 2012 09:31:09 +0000 (11:31 +0200)]
fts: when there is no risk of overlap, use memcpy, not memmove

* lib/fts.c (fts_alloc): Fix unjustified memmove: s/memmove/memcpy/

11 years agoautoupdate
Karl Berry [Mon, 3 Sep 2012 00:23:28 +0000 (17:23 -0700)]
autoupdate

11 years agoautoupdate
Karl Berry [Mon, 3 Sep 2012 00:23:01 +0000 (17:23 -0700)]
autoupdate

11 years agomanywarnings: update the list of "all" warnings
Jim Meyering [Wed, 30 Nov 2011 13:25:35 +0000 (14:25 +0100)]
manywarnings: update the list of "all" warnings

* m4/manywarnings.m4: Unite lists, and add many new options.
* build-aux/gcc-warning: New file.

Run this command with the latest gcc to see if they have added
options not yet on our list:

gl=.; comm -1 -3 \
  <(sed -n 's/^  *\(-[^ ]*\) .*/\1/p' $gl/m4/manywarnings.m4 |sort) \
  <(gcc --help=warnings|sed -n 's/^  \(-[^ ]*\) .*/\1/p' |sort \
    |grep -v --line-regexp -f <(cut -f1 $gl/build-aux/gcc-warning.spec))

11 years ago* lib/stdbool.in.h (_Bool) [__cplusplus]: bool, not _Bool.
Paul Eggert [Thu, 30 Aug 2012 00:43:04 +0000 (17:43 -0700)]
* lib/stdbool.in.h (_Bool) [__cplusplus]: bool, not _Bool.

11 years agostdbool: be more compatible with mixed C/C++ compiles
Paul Eggert [Wed, 29 Aug 2012 14:52:32 +0000 (07:52 -0700)]
stdbool: be more compatible with mixed C/C++ compiles

* lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
Define to bool, true, false, respectively, as GCC's builtin
stdbool.h does.  Problem reported by Michael Goffioul in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.

11 years agorevert last change: it was not needed
Jim Meyering [Tue, 28 Aug 2012 11:56:25 +0000 (13:56 +0200)]
revert last change: it was not needed

* tests/test-vc-list-files-git.sh: There's already a test for
a working git, just below.

11 years agotests: test-vc-list-files-git.sh: skip if git is not available
Jim Meyering [Tue, 28 Aug 2012 11:49:37 +0000 (13:49 +0200)]
tests: test-vc-list-files-git.sh: skip if git is not available

* tests/test-vc-list-files-git.sh: Skip this test when git is
not available.

11 years agognulib-tool: Remove no-op option --no-changelog.
Bruno Haible [Sun, 26 Aug 2012 15:04:56 +0000 (17:04 +0200)]
gnulib-tool: Remove no-op option --no-changelog.

* gnulib-tool (func_usage): Don't mention --no-changelog.
(do_changelog): Remove variable.
Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.

11 years agoautoupdate
Karl Berry [Sat, 25 Aug 2012 15:39:03 +0000 (08:39 -0700)]
autoupdate

11 years agodoc: remove fdl-1.2.texi
Paul Eggert [Fri, 24 Aug 2012 23:42:56 +0000 (16:42 -0700)]
doc: remove fdl-1.2.texi

It is no longer used or maintained, and its use of @acronym
is problematic.  See the thread containing
<http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
* config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
* doc/old-licenses/fdl-1.2.texi: Remove.

11 years agoexecinfo: port to FreeBSD
Paul Eggert [Fri, 24 Aug 2012 10:29:39 +0000 (03:29 -0700)]
execinfo: port to FreeBSD

* m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
if needed, as in FreeBSD.  Reported by Bastien Roucariès in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
* modules/execinfo (Link): Add $(LIB_EXECINFO).

11 years agoxstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
Jim Meyering [Thu, 23 Aug 2012 20:02:39 +0000 (22:02 +0200)]
xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning

* lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
to placate gcc's -Wold-style-declaration.

11 years agodoc: do not use @acronym
Paul Eggert [Fri, 24 Aug 2012 09:19:57 +0000 (02:19 -0700)]
doc: do not use @acronym

* doc/inet_ntoa.texi (inet_ntoa):
* doc/parse-datetime.texi (Seconds since the Epoch)
(Specifying time zone rules):
* doc/posix-functions/inet_ntoa.texi (inet_ntoa):
Don't use @acronym.  Problem reported by John Darlington in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.

11 years agostdnoreturn: port to newer GCCs
Paul Eggert [Thu, 23 Aug 2012 23:40:05 +0000 (16:40 -0700)]
stdnoreturn: port to newer GCCs

* m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
Problem reported by Jim Meyering in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
Also, rename the 'test' function to a void a clash with the
already-supplied 'main' function; this fixes a bug that incorrectly
rejected GCC 4.7.1's <stdnoreturn.h>.
* doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
Document GCC problem.

11 years agopipe-filter: fix comment typo
Reuben Thomas [Wed, 22 Aug 2012 16:52:02 +0000 (10:52 -0600)]
pipe-filter: fix comment typo

* lib/pipe-filter.h: Mention correct function.

11 years agoexecinfo: new module
Paul Eggert [Wed, 22 Aug 2012 08:47:05 +0000 (01:47 -0700)]
execinfo: new module

This is for Emacs.  Currently, it provides a no-effect stub
on all platforms where it does not already work.
It already works on glibc-based systems, and on Solaris 11.
* lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
New files.
* doc/glibc-headers/execinfo.texi (execinfo.h):
* MODULES.html.sh (Misc): Document it.

11 years agoextern-inline: support old GCC 'inline'
Paul Eggert [Tue, 21 Aug 2012 00:01:18 +0000 (17:01 -0700)]
extern-inline: support old GCC 'inline'

* m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
if available.  This applies to GCC versions 2.7 through 4.2, or
when newer GCC is using -fgnu89-inline.  The goal is to address
some of the performance issues mentioned by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.

11 years agomaint.mk: avoid redundant file name in message
Eric Blake [Mon, 20 Aug 2012 15:38:54 +0000 (09:38 -0600)]
maint.mk: avoid redundant file name in message

$(_sc_search_regexp) already prefixes its errors with $(ME), so
failure on one of these rules looked like:

maint.mk: maint.mk: replace strcmp calls above with STREQ/STRNEQ

* top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
(sc_prohibit_defined_have_decl_tests, sc_const_long_option)
(sc_makefile_path_separator_check): Remove bogus $(ME).

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agotimer-time: fix link order when static linking on glibc
Mike Frysinger [Mon, 20 Aug 2012 00:42:39 +0000 (01:42 +0100)]
timer-time: fix link order when static linking on glibc

* m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
_after_ -lrt so that it's significant.

11 years agotimespec: omit unnecessary AC_C_INLINE
Paul Eggert [Sat, 18 Aug 2012 23:27:56 +0000 (16:27 -0700)]
timespec: omit unnecessary AC_C_INLINE

* m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.

11 years agostat-time: omit unnecessary AC_C_INLINE
Paul Eggert [Sat, 18 Aug 2012 23:21:15 +0000 (16:21 -0700)]
stat-time: omit unnecessary AC_C_INLINE

* m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
Do not require AC_C_INLINE.

11 years agoignore-value: omit unnecessary AC_C_INLINE
Paul Eggert [Sat, 18 Aug 2012 23:18:18 +0000 (16:18 -0700)]
ignore-value: omit unnecessary AC_C_INLINE

* modules/ignore-value (configure.ac): Do not require AC_C_INLINE.

11 years agosys_select: avoid 'static inline'
Paul Eggert [Sat, 18 Aug 2012 22:46:14 +0000 (15:46 -0700)]
sys_select: avoid 'static inline'

* lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.

11 years agomktime: avoid 'static inline'
Paul Eggert [Sat, 18 Aug 2012 22:34:37 +0000 (15:34 -0700)]
mktime: avoid 'static inline'

* lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
* m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.

11 years agoautoupdate
Karl Berry [Sun, 19 Aug 2012 16:29:26 +0000 (09:29 -0700)]
autoupdate

11 years agognulib-tool: Improve coding style.
Bruno Haible [Sun, 19 Aug 2012 12:13:11 +0000 (14:13 +0200)]
gnulib-tool: Improve coding style.

* gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
func_emit_lib_Makefile_am.
Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.

11 years agognulib-tool: Fix indentation.
Bruno Haible [Sun, 19 Aug 2012 12:08:12 +0000 (14:08 +0200)]
gnulib-tool: Fix indentation.

* gnulib-tool (func_import): Fix indentation.

11 years agognulib-tool: Remove old file names from .cvsignore, .gitignore.
Bruno Haible [Sun, 19 Aug 2012 12:06:50 +0000 (14:06 +0200)]
gnulib-tool: Remove old file names from .cvsignore, .gitignore.

* gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
on the list of removed files.

11 years agotest-parse-datetime: avoid glibc leap-second glitch
Paul Eggert [Fri, 17 Aug 2012 18:09:12 +0000 (11:09 -0700)]
test-parse-datetime: avoid glibc leap-second glitch

* tests/test-parse-datetime.c (main): Set TZ to US Eastern time
with the 2012 rules.  Problem reported by Bruce Dubbs in
<http://bugs.gnu.org/12206>.

11 years agoautoupdate
Karl Berry [Wed, 15 Aug 2012 13:55:24 +0000 (06:55 -0700)]
autoupdate

11 years agognulib-tool: Fix indentation of generated gnulib-comp.m4 file.
Bruno Haible [Tue, 14 Aug 2012 23:29:28 +0000 (01:29 +0200)]
gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.

* gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
from argument.
Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.

11 years agoldexp: relax license
Eric Blake [Tue, 14 Aug 2012 16:51:18 +0000 (10:51 -0600)]
ldexp: relax license

* modules/ldexp (License): Trivial relax, since the module only
provides a permissively licensed m4 file.

11 years agoupdate from texinfo
Karl Berry [Mon, 13 Aug 2012 22:48:24 +0000 (15:48 -0700)]
update from texinfo

11 years agognulib-tool: Fix persistence of --witness-c-macro option.
Bruno Haible [Mon, 13 Aug 2012 10:49:34 +0000 (12:49 +0200)]
gnulib-tool: Fix persistence of --witness-c-macro option.

* gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.

11 years agocount-leading-zeros: use a lookup table on non-gcc compilers
Eric Blake [Sat, 11 Aug 2012 13:34:00 +0000 (07:34 -0600)]
count-leading-zeros: use a lookup table on non-gcc compilers

While this only affects non-gcc compilers, we can assume that
lookups are faster than conditionals, even if it results in
a slightly larger executable size.

* lib/count-leading-zeros.h (count_leading_zeros_32): Use an
alternate implementation, suggested by Jim Meyering.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agocount-leading-zeros: new module
Eric Blake [Fri, 10 Aug 2012 22:51:08 +0000 (16:51 -0600)]
count-leading-zeros: new module

I needed gcc's clz to determine the most significant bit of a
number (useful for things like truncating to a power of 2),
and was surprised it is not a standardized function (the
opposite direction of finding the least significant bit is
given by ffs).  This borrows heavily from the design of the
count-one-bits module.

* modules/count-leading-zeros: New module.
* m4/count-leading-zeros.m4: New file.
* lib/count-leading-zeros.h: Likewise.
* modules/count-leading-zeros-tests: New test.
* tests/test-count-leading-zeros.c: New file.
* MODULES.html.sh (Integer arithmetic functions): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agomaintainer-makefile: Fix syntax error with dash.
Simon Josefsson [Tue, 7 Aug 2012 06:53:55 +0000 (08:53 +0200)]
maintainer-makefile: Fix syntax error with dash.

* top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
(sc_vulnerable_makefile_CVE-2012-3386): Likewise.

11 years agoextern-inline: also ignore -Wmissing-declarations
Jim Meyering [Sun, 5 Aug 2012 16:41:53 +0000 (18:41 +0200)]
extern-inline: also ignore -Wmissing-declarations

* m4/extern-inline.m4: Also ignore -Wmissing-declarations,
required with gcc-4.8.0-to-be.

11 years agoautoupdate
Karl Berry [Sun, 5 Aug 2012 13:44:31 +0000 (06:44 -0700)]
autoupdate

11 years agomaint.mk: sc_prohibit_magic_number_exit: avoid new false positives
Jim Meyering [Sun, 5 Aug 2012 09:19:19 +0000 (11:19 +0200)]
maint.mk: sc_prohibit_magic_number_exit: avoid new false positives

* top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
for /error ?([^,]*)/.  This avoids false-positives for strings like
"Unknown error (252)", introduced via commit v0.0-7538-g92875a6.

11 years agognumakefile: better interaction with Automake-NG
Stefano Lattarini [Thu, 2 Aug 2012 16:51:08 +0000 (18:51 +0200)]
gnumakefile: better interaction with Automake-NG

* modules/gnumakefile [Makefile.am]: The makefiles generated by
Automake-NG always contain a definition of VPATH, even in non-VPATH
builds (its value being simply '.' in that case).  So, in the
'clean-GNUmakefile' rule, to determine whether running under a
VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
'$(VPATH)' expands to the empty string.

11 years agobase64: Use extern C scope in header file, for C++.
Simon Josefsson [Thu, 2 Aug 2012 21:21:02 +0000 (23:21 +0200)]
base64: Use extern C scope in header file, for C++.

* lib/base64.h: Add C++ namespace protection.

11 years agostat-time, timespec, u64: support naive out-of-dir builds
Paul Eggert [Thu, 2 Aug 2012 21:17:33 +0000 (14:17 -0700)]
stat-time, timespec, u64: support naive out-of-dir builds

* lib/stat-time.c, lib/timespec.c, lib/u64.c:
Use '#include "foo.h"', not '#include <foo.h>', when including
one's own interface.  This works better when configuring with
out-of-directory builds, since packages need not add an
otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.

11 years agoFix typo: 'linline' -> 'inline' (thanks to Eric Blake).
Paul Eggert [Wed, 1 Aug 2012 21:51:19 +0000 (14:51 -0700)]
Fix typo: 'linline' -> 'inline' (thanks to Eric Blake).

11 years agoKeep the extern-inline macros closer together.
Paul Eggert [Wed, 1 Aug 2012 21:30:54 +0000 (14:30 -0700)]
Keep the extern-inline macros closer together.

11 years agoFix indenting.
Paul Eggert [Sat, 28 Jul 2012 15:34:01 +0000 (08:34 -0700)]
Fix indenting.

11 years agoutimens: use extern-inline
Paul Eggert [Sat, 28 Jul 2012 14:23:54 +0000 (07:23 -0700)]
utimens: use extern-inline

* lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
* lib/utimens.h: Add copyright notice, since this is now large enough
to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
(_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
* modules/utimens (Depends-on): Add extern-inline.

11 years agou64: use extern-inline
Paul Eggert [Sat, 28 Jul 2012 14:20:59 +0000 (07:20 -0700)]
u64: use extern-inline

* lib/u64.c: New file.
* lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
(_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
* modules/u64 (Files): Add lib/u64.c.
(Depends-on): Add extern-inline.
(configure.ac): No need to require AC_C_INLINE, since extern-inline
does that now.
(lib_SOURCES): Add u64.c.

11 years agotimespec: use extern-inline
Paul Eggert [Sat, 28 Jul 2012 14:18:23 +0000 (07:18 -0700)]
timespec: use extern-inline

* lib/timespec.c: New file.
* lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
(_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
* modules/timespec (Files): Add lib/timespec.c.
(Depends-on): Add extern-inline.
(lib_SOURCES): Add timespec.c.

11 years agostat-time: use extern-inline
Paul Eggert [Sat, 28 Jul 2012 14:15:59 +0000 (07:15 -0700)]
stat-time: use extern-inline

* lib/stat-time.c: New file.
* lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
(_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
* modules/stat-time (Files): Add lib/stat-time.c.
(Depends-on): Add extern-inline.
(lib_SOURCES): Add stat-time.c.

11 years agoextern-inline: new module
Paul Eggert [Sat, 28 Jul 2012 14:11:58 +0000 (07:11 -0700)]
extern-inline: new module

* modules/extern-inline, m4/extern-inline.m4: New files.
This is for better support of 'extern inline' a la ISO C99,
with a portable alternative on compilers that do not support
C99-style 'extern inline'.  Using 'extern inline' shrinks the size
of the Emacs executable, when compiled with debugging disabled,
which is a typical way that Emacs is built while developing.

11 years agomaint.mk: a "release-commit" wrapper to do-release-commit-and-tag
Akim Demaille [Wed, 1 Aug 2012 07:55:49 +0000 (09:55 +0200)]
maint.mk: a "release-commit" wrapper to do-release-commit-and-tag

* build-aux/do-release-commit-and-tag: Move variable definitions
together.
($branch): Instead of defaulting to "master", default to the current
branch (as gnu-web-doc-update does).
(help): Display the current values of the option arguments.
* top/maint.mk (release-commit): New.
* top/README-release: Simplify the corresponding step.

11 years agoautoupdate
Karl Berry [Tue, 31 Jul 2012 14:02:42 +0000 (07:02 -0700)]
autoupdate

11 years agoautoupdate
Karl Berry [Mon, 30 Jul 2012 16:48:02 +0000 (09:48 -0700)]
autoupdate