]> Savannah Git Hosting - gnulib.git/log
gnulib.git
7 years agomodule: relax type check after the last commit
Dmitry Selyutin [Tue, 26 Sep 2017 07:13:38 +0000 (10:13 +0300)]
module: relax type check after the last commit

7 years agopygnulib: don't use Enums
Mathieu Lirzin [Mon, 25 Sep 2017 19:31:11 +0000 (21:31 +0200)]
pygnulib: don't use Enums

Enums are a recent features of Python. To maximize portability don't
use them.

* pygnulib/parser.py (CommandLine.Option): Don't inherit from enum.Flag.
* pygnulib/config.py (Option): Likewise.

7 years agoparser: support license set
Dmitry Selyutin [Mon, 25 Sep 2017 20:19:03 +0000 (23:19 +0300)]
parser: support license set

7 years agoconfig: use license set instead of lgpl
Dmitry Selyutin [Mon, 25 Sep 2017 20:14:04 +0000 (23:14 +0300)]
config: use license set instead of lgpl

7 years agoerror: split UnknownLicenseError into two classes
Dmitry Selyutin [Sun, 24 Sep 2017 20:08:39 +0000 (23:08 +0300)]
error: split UnknownLicenseError into two classes

7 years agothe pygnulib.py sketch
Dmitry Selyutin [Sun, 24 Sep 2017 19:09:55 +0000 (22:09 +0300)]
the pygnulib.py sketch

7 years agoparser: fix verbosity option
Dmitry Selyutin [Wed, 20 Sep 2017 08:12:40 +0000 (11:12 +0300)]
parser: fix verbosity option

7 years agorefactor transitive closure into module table
Dmitry Selyutin [Tue, 19 Sep 2017 19:40:10 +0000 (22:40 +0300)]
refactor transitive closure into module table

7 years agoerror: GnulibModuleNotFoundError -> UnknownModuleError
Dmitry Selyutin [Tue, 19 Sep 2017 19:38:03 +0000 (22:38 +0300)]
error: GnulibModuleNotFoundError -> UnknownModuleError

7 years agoconfig: support bitwise options
Dmitry Selyutin [Tue, 19 Sep 2017 19:36:59 +0000 (22:36 +0300)]
config: support bitwise options

7 years agomodule: fix applicability
Dmitry Selyutin [Tue, 19 Sep 2017 19:36:08 +0000 (22:36 +0300)]
module: fix applicability

7 years agofilesystem: fix transitive closure
Dmitry Selyutin [Mon, 18 Sep 2017 16:43:02 +0000 (19:43 +0300)]
filesystem: fix transitive closure

7 years agoparser: multiple bug fixes
Dmitry Selyutin [Mon, 18 Sep 2017 16:29:54 +0000 (19:29 +0300)]
parser: multiple bug fixes

7 years agoparser: use true option for --with-tests
Dmitry Selyutin [Mon, 18 Sep 2017 10:18:08 +0000 (13:18 +0300)]
parser: use true option for --with-tests

7 years agoparser: fix const option value
Dmitry Selyutin [Mon, 18 Sep 2017 10:17:39 +0000 (13:17 +0300)]
parser: fix const option value

7 years agofilesystem: remove redundant variable
Dmitry Selyutin [Sun, 17 Sep 2017 09:19:35 +0000 (12:19 +0300)]
filesystem: remove redundant variable

7 years agoimplement transitive_closure sketch
Dmitry Selyutin [Sat, 16 Sep 2017 19:34:26 +0000 (22:34 +0300)]
implement transitive_closure sketch

7 years agoparser: disable modules in update mode
Dmitry Selyutin [Sat, 16 Sep 2017 19:33:12 +0000 (22:33 +0300)]
parser: disable modules in update mode

7 years agomodule: strip empty lines and comments in lists
Dmitry Selyutin [Sat, 16 Sep 2017 19:31:18 +0000 (22:31 +0300)]
module: strip empty lines and comments in lists

7 years agomodule: quick status tests
Dmitry Selyutin [Sat, 16 Sep 2017 19:30:52 +0000 (22:30 +0300)]
module: quick status tests

7 years agoupdate documentation strings
Dmitry Selyutin [Fri, 15 Sep 2017 20:11:14 +0000 (23:11 +0300)]
update documentation strings

7 years agoconfig: regex compile wrapper
Dmitry Selyutin [Fri, 15 Sep 2017 19:51:21 +0000 (22:51 +0300)]
config: regex compile wrapper

7 years agomodule: directives as strings; dict-compatible methods
Dmitry Selyutin [Thu, 14 Sep 2017 16:42:14 +0000 (19:42 +0300)]
module: directives as strings; dict-compatible methods

7 years agoparser: support "extract" options
Dmitry Selyutin [Thu, 14 Sep 2017 16:38:23 +0000 (19:38 +0300)]
parser: support "extract" options

7 years agospecial "module not found" error
Dmitry Selyutin [Thu, 14 Sep 2017 16:37:26 +0000 (19:37 +0300)]
special "module not found" error

7 years agoerror: sort error classes in alphabetical order
Dmitry Selyutin [Thu, 14 Sep 2017 15:14:00 +0000 (18:14 +0300)]
error: sort error classes in alphabetical order

7 years agofilesystem: rename Git into GnulibGit
Dmitry Selyutin [Wed, 13 Sep 2017 19:18:03 +0000 (22:18 +0300)]
filesystem: rename Git into GnulibGit

7 years agoconfig: normalize file system paths
Dmitry Selyutin [Wed, 13 Sep 2017 19:17:26 +0000 (22:17 +0300)]
config: normalize file system paths

7 years agoparser: pass all arguments in one variable
Dmitry Selyutin [Wed, 13 Sep 2017 19:17:10 +0000 (22:17 +0300)]
parser: pass all arguments in one variable

7 years agofix AutoconfVersionError message formatting
Dmitry Selyutin [Wed, 13 Sep 2017 16:28:43 +0000 (19:28 +0300)]
fix AutoconfVersionError message formatting

7 years agocache: simplify parsing; handle m4_base mismatch
Dmitry Selyutin [Wed, 13 Sep 2017 16:26:46 +0000 (19:26 +0300)]
cache: simplify parsing; handle m4_base mismatch

7 years agocache: check for explicit keys upon construction
Dmitry Selyutin [Wed, 13 Sep 2017 15:35:31 +0000 (18:35 +0300)]
cache: check for explicit keys upon construction

7 years agoparser: initialize option values inside namespace
Dmitry Selyutin [Wed, 13 Sep 2017 15:31:14 +0000 (18:31 +0300)]
parser: initialize option values inside namespace

7 years agoparser: return dictionary instead of config
Dmitry Selyutin [Wed, 13 Sep 2017 15:11:31 +0000 (18:11 +0300)]
parser: return dictionary instead of config

7 years agocache: eliminate configure and m4 comments
Dmitry Selyutin [Wed, 13 Sep 2017 12:32:01 +0000 (15:32 +0300)]
cache: eliminate configure and m4 comments

7 years agocache: simplify cache constructor
Dmitry Selyutin [Wed, 13 Sep 2017 12:30:26 +0000 (15:30 +0300)]
cache: simplify cache constructor

7 years agodict improvements: iteration args, dict comprehension
Dmitry Selyutin [Tue, 12 Sep 2017 21:46:58 +0000 (00:46 +0300)]
dict improvements: iteration args, dict comprehension

7 years ago__init__.py, .pylintrc, .gitignore
Dmitry Selyutin [Tue, 12 Sep 2017 21:32:45 +0000 (00:32 +0300)]
__init__.py, .pylintrc, .gitignore

7 years agomiscellaneous bug fixes and improvements
Dmitry Selyutin [Tue, 12 Sep 2017 21:26:34 +0000 (00:26 +0300)]
miscellaneous bug fixes and improvements

7 years agoparser: enable options conflict once again
Dmitry Selyutin [Tue, 12 Sep 2017 18:35:24 +0000 (21:35 +0300)]
parser: enable options conflict once again

When the command-line parser was reworked, a mutually exclusive group
was deleted and check for conflicting options was eliminated as well.
The commit implements the lost feature in a more elegant way than it
has been done before, allowing more flexibility.

7 years agoconfig/cache: use the same keys as base class
Dmitry Selyutin [Tue, 12 Sep 2017 16:55:28 +0000 (19:55 +0300)]
config/cache: use the same keys as base class

7 years agoconfig/cache: simplify regular expressions
Dmitry Selyutin [Tue, 12 Sep 2017 16:47:11 +0000 (19:47 +0300)]
config/cache: simplify regular expressions

7 years agoparser: isolate command-line parser; richer parse() method
Dmitry Selyutin [Mon, 11 Sep 2017 21:28:07 +0000 (00:28 +0300)]
parser: isolate command-line parser; richer parse() method

7 years agoconfig: parser: suppress and override inactive arguments
Dmitry Selyutin [Mon, 11 Sep 2017 17:23:56 +0000 (20:23 +0300)]
config: parser: suppress and override inactive arguments

7 years agoconfig: clean and simplify parser a little bit
Dmitry Selyutin [Mon, 11 Sep 2017 17:23:02 +0000 (20:23 +0300)]
config: clean and simplify parser a little bit

7 years agomake command-line usage() and help() properties
Dmitry Selyutin [Sun, 10 Sep 2017 20:39:37 +0000 (23:39 +0300)]
make command-line usage() and help() properties

7 years agoconfig: split CommandLine into parts; custom exception handling
Dmitry Selyutin [Sat, 9 Sep 2017 20:41:42 +0000 (23:41 +0300)]
config: split CommandLine into parts; custom exception handling

7 years agoerror: formatting cleanup
Dmitry Selyutin [Sat, 9 Sep 2017 20:41:13 +0000 (23:41 +0300)]
error: formatting cleanup

7 years agoprivate import even for standard modules
Dmitry Selyutin [Sat, 9 Sep 2017 20:01:51 +0000 (23:01 +0300)]
private import even for standard modules

7 years agotype_assert helper (unify type error handling)
Dmitry Selyutin [Sat, 9 Sep 2017 19:54:55 +0000 (22:54 +0300)]
type_assert helper (unify type error handling)

7 years agoprivate import; yet another naming simplification
Dmitry Selyutin [Sat, 9 Sep 2017 18:58:23 +0000 (21:58 +0300)]
private import; yet another naming simplification

7 years agomodule: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 17:33:55 +0000 (20:33 +0300)]
module: do not export private class members into inherited classes

7 years agomodule: alternate naming for some properties
Dmitry Selyutin [Sat, 9 Sep 2017 17:22:10 +0000 (20:22 +0300)]
module: alternate naming for some properties

7 years ago[backport] Assume gnulib is checked out from Git, not CVS
Dmitry Selyutin [Sat, 9 Sep 2017 16:56:33 +0000 (19:56 +0300)]
[backport] Assume gnulib is checked out from Git, not CVS

commit 435f1d7ad985d95a6000e55e3fc398300b04ba12
Author: Stefano Lattarini <stefano.lattarini@gmail.com>
Date:   Sat May 4 10:30:14 2013 +0200

    Assume gnulib is checked out from Git, not CVS

    In fact, access to the gnulib repository through CVS has been disabled,
    or more precisely, got broken and was never restored; see:
    <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>

7 years ago[backport] gnulib-tool: fix incompatibility with autopoint 0.18.2
Dmitry Selyutin [Sat, 9 Sep 2017 16:48:53 +0000 (19:48 +0300)]
[backport] gnulib-tool: fix incompatibility with autopoint 0.18.2

commit 8e858e6d77dd239e9102626b292519eae170679a
Author: Paul Eggert <eggert@cs.ucla.edu>
Date:   Sat Jan 5 08:03:10 2013 -0800

    gnulib-tool: fix incompatibility with autopoint 0.18.2

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

7 years agogenerator: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:42:55 +0000 (19:42 +0300)]
generator: do not export private class members into inherited classes

7 years agofilesystem: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:42:34 +0000 (19:42 +0300)]
filesystem: do not export private class members into inherited classes

7 years agoconfig: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:35:00 +0000 (19:35 +0300)]
config: do not export private class members into inherited classes

7 years agoalmost full support of command-line options (except --version)
Dmitry Selyutin [Sat, 9 Sep 2017 16:20:34 +0000 (19:20 +0300)]
almost full support of command-line options (except --version)

7 years ago[python] python gnulib API development branch
Dmitry Selyutin [Fri, 8 Sep 2017 20:35:13 +0000 (23:35 +0300)]
[python] python gnulib API development branch

7 years ago* lib/fts.c: Fix XFS comments.
Paul Eggert [Fri, 8 Sep 2017 16:35:53 +0000 (09:35 -0700)]
* lib/fts.c: Fix XFS comments.

7 years agostddef: Avoid conflict with system-defined max_align_t.
Bruno Haible [Fri, 8 Sep 2017 08:02:47 +0000 (10:02 +0200)]
stddef: Avoid conflict with system-defined max_align_t.

The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
Reported by Werner Lemberg <wl@gnu.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00185.html>.

* lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
(max_align_t): Define as a macro.
(GNULIB_defined_max_align_t): New macro. Guards against multiple
definitions of rpl_max_align_t in different copies of gnulib-generated
<stddef.h>.

7 years agolibc-config: port to MSVC
Paul Eggert [Wed, 6 Sep 2017 06:32:59 +0000 (23:32 -0700)]
libc-config: port to MSVC

Problems reported by Gisle Vanem in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00016.html
* lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
(libc_hidden_proto): Stick to Standard C syntax for varargs macro.
* m4/__inline.m4: New file.
* modules/libc-config (Files): Add it.
(Depends-on): Use it.

7 years agoglob: Use enum for __glob_pattern_type result
Paul Eggert [Wed, 6 Sep 2017 04:14:51 +0000 (21:14 -0700)]
glob: Use enum for __glob_pattern_type result

From a patch proposed by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
* lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
(GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
* lib/glob_internal.h (__glob_pattern_type):
* lib/glob.c (glob):
* lib/glob_pattern_p.c (__glob_pattern_p):
Use them.

7 years agoglob: fix for use in glibc
Paul Eggert [Wed, 6 Sep 2017 01:58:50 +0000 (18:58 -0700)]
glob: fix for use in glibc

Problem reported by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
* lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
Do not redefine if _LIBC.

7 years agoglob: fix bugs with long login names
Paul Eggert [Sat, 2 Sep 2017 22:39:16 +0000 (15:39 -0700)]
glob: fix bugs with long login names

Problem reported by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
* lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
(glob): Use the same scratch buffer for both getlogin_r and
getpwnam_r.  Don’t require preallocation of the login name.  This
simplifies storage allocation, and corrects the handling of
long login names.

7 years agodirent: Update doc.
Bruno Haible [Sat, 2 Sep 2017 11:14:00 +0000 (13:14 +0200)]
dirent: Update doc.

* doc/posix-headers/dirent.texi: More concrete list of platforms.

7 years agoglob: fix getpwnam_r errno typo
Paul Eggert [Sat, 2 Sep 2017 10:56:06 +0000 (03:56 -0700)]
glob: fix getpwnam_r errno typo

* lib/glob.c (glob): Fix longstanding misuse of errno after
getpwnam_r, which returns an error number rather than setting
errno.

7 years agoglob: fix typo in recent change
Paul Eggert [Sat, 2 Sep 2017 10:37:46 +0000 (03:37 -0700)]
glob: fix typo in recent change

* lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
Fix recently-introduced typo.

7 years agoglob: don't save and restore errno unnecessarily
Paul Eggert [Sat, 2 Sep 2017 09:05:09 +0000 (02:05 -0700)]
glob: don't save and restore errno unnecessarily

* lib/glob.c (glob): Don't save and restore errno
merely because we have getpwnam_r.

7 years agoglob: don't assume getpwnam_r
Paul Eggert [Sat, 2 Sep 2017 09:00:40 +0000 (02:00 -0700)]
glob: don't assume getpwnam_r

* lib/glob.c (glob): Port recent patches to platforms
lacking getpwnam_r.

7 years agoscratch_buffer: don’t use private glibc API
Paul Eggert [Sat, 2 Sep 2017 08:21:03 +0000 (01:21 -0700)]
scratch_buffer: don’t use private glibc API

Suggested by Florian Weimer in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00004.html
* lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
* lib/scratch_buffer_grow.c: Rename to
lib/malloc/scratch_buffer_grow.c.
* lib/scratch_buffer_grow_preserve.c: Rename to
lib/malloc/scratch_buffer_grow_preserve.c.
* lib/scratch_buffer_set_array_size.c: Rename to
lib/malloc/scratch_buffer_set_array_size.c.
* lib/scratch_buffer.h: New file.
* modules/scratch_buffer (Files, Makefile.am):
Adjust to source-file renaming.

7 years agoglob: use scratch_buffer instead of extend_alloca
Paul Eggert [Fri, 1 Sep 2017 22:41:45 +0000 (15:41 -0700)]
glob: use scratch_buffer instead of extend_alloca

Much of the lib/glob.c part of this patch comes from a glibc patch
proposed by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
* lib/glob.c: Do not include <config.h>, since <libc-config.h>,
included via glob.h, does this for us now.
(__set_errno): Remove, as libc-config does this for us now.
Include <scratch_buffer.h>.
(GETPW_R_SIZE_MAX): Remove.
(glob): Use struct scratch_buffer instead of extend_alloca.
* lib/glob.in.h: Include libc-config.h rather than
including <sys/cdefs.h> conditionally.
(__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
(__glibc_unlikely, __restrict, weak_alias):
Remove, as libc-config does this for us now.
* m4/glob.m4 (gl_PREREQ_GLOB):
Remove sys/cdefs.h tests; no longer needed.
* modules/glob (Depends-on): Add libc-config, scratch_buffer.
(glob.h): Do not replace HAVE_SYS_CDEFS_H.

7 years agoscratch_buffer: new module
Paul Eggert [Fri, 1 Sep 2017 21:42:53 +0000 (14:42 -0700)]
scratch_buffer: new module

* lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
* lib/scratch_buffer_grow_preserve.c:
* lib/scratch_buffer_set_array_size.c:
New files, copied from glibc with very minor changes that can be
copied back.
* modules/scratch_buffer: New file.

7 years agolibc-config: new module
Paul Eggert [Fri, 1 Sep 2017 21:40:58 +0000 (14:40 -0700)]
libc-config: new module

* MODULES.html.sh: Add libc-config.
* lib/cdefs.h: New file, copied from the GNU C Library with very
minor changes that can be copied back.
* lib/libc-config.h, modules/libc-config: New files.

7 years agoglob: match dangling symlinks
Paul Eggert [Thu, 31 Aug 2017 21:34:25 +0000 (14:34 -0700)]
glob: match dangling symlinks

This fixes a bug I inadvertently introduced to Gnulib when I
merged glibc glob back into gnulib on 2007-10-16.  This fix is
inspired by a patch proposed for glibc by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
* doc/posix-functions/glob.texi: Update list of affected platforms.
* lib/glob.c (__lstat64): New macro.
(is_dir): New function.
(glob, glob_in_dir): Match symlinks even if they are dangling.
(link_stat, link_exists_p): Remove.  All uses removed.
* lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
* m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
* modules/glob (Depends-on): Remove dirfd.
* modules/glob-tests (Depends-on): Add symlink.
* tests/test-glob.c: Include errno.h, unistd.h.
(BASE): New macro.
(main): Test dangling symlinks, if symlinks are supported.

7 years agoglob, backupfile: inode 0 is a valid inode number
Paul Eggert [Thu, 31 Aug 2017 21:34:24 +0000 (14:34 -0700)]
glob, backupfile: inode 0 is a valid inode number

* doc/posix-functions/readdir.texi (readdir):
* doc/posix-headers/dirent.texi (dirent.h):
Document more readdir portability issues.
* lib/backupfile.c (REAL_DIR_ENTRY): Remove.
(numbered_backup): Don’t treat inode 0 any differently from
other inode values.
* lib/glob.c (struct readdir_result): Remove skip_entry member.
(readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
All uses removed.
* modules/glob (Depends-on): Remove d-ino.

7 years agoglob: simplify symlink detection
Paul Eggert [Thu, 31 Aug 2017 21:34:24 +0000 (14:34 -0700)]
glob: simplify symlink detection

* lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
uint8_t, as C99 does not require uint8_t.
(DT_UNKNOWN, DT_DIR, DT_LNK) [!HAVE_STRUCT_DIRENT_D_TYPE]:
New macros.
(struct readdir_result): Use dirent_type.  Do not define skip_entry
unless it is needed; this saves a byte on platforms lacking d_ino.
(readdir_result_type, readdir_result_skip_entry):
New functions, replacing ...
(readdir_result_might_be_symlink, readdir_result_might_be_dir):
... these functions, which were removed.  This makes the callers
easier to read.  All callers changed.
(D_INO_TO_RESULT): Now empty if there is no d_ino.

7 years agofts-tests: tag as a longrunning-test so not included by default
Pádraig Brady [Thu, 31 Aug 2017 05:32:23 +0000 (22:32 -0700)]
fts-tests: tag as a longrunning-test so not included by default

* modules/fts-tests: This test takes about 20s on current systems,
and uses about 285M of space on ext4.

7 years agorenameat2: fix compilation on alpine linux
Pádraig Brady [Wed, 30 Aug 2017 07:16:39 +0000 (00:16 -0700)]
renameat2: fix compilation on alpine linux

* m4/renameat.m4: Check for <linux/fs.h> presence.
* lib/renameat2.h: Only include <linux/fs.h> if present.
Reported by Assaf Gordon on Alpine Linux.

7 years agoglob: try to port recent changes to MS-Windows
Paul Eggert [Fri, 25 Aug 2017 06:51:07 +0000 (23:51 -0700)]
glob: try to port recent changes to MS-Windows

Problem reported by Bruno Haible in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00170.html
* lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
* lib/glob.in.h (__glob_pattern_p): ... to here.

7 years agowarnings: fix compilation with old autoconf
Eric Blake [Fri, 25 Aug 2017 01:28:52 +0000 (20:28 -0500)]
warnings: fix compilation with old autoconf

Autoconf older than 2.63b (such as what ships on CentOS 6) had
a bug that any AC_DEFUN'd macro name that includes shell meta-
characters causes failure due to missing shell quoting during
aclocal's use of autom4te.  We can work around the problem by
using m4_defun instead (same semantics in autom4te, but no
longer traced by aclocal, so no longer tickles the shell
quoting bug).

* m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
AC_DEFUN.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
(gl_MANYWARN_ALL_GCC(C++)): Likewise.

Reported-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
7 years ago* doc/gnulib-intro.texi: Add comment regarding IRIX.
Bruno Haible [Thu, 24 Aug 2017 21:49:08 +0000 (23:49 +0200)]
* doc/gnulib-intro.texi: Add comment regarding IRIX.

7 years agoautoupdate
Karl Berry [Thu, 24 Aug 2017 15:10:28 +0000 (08:10 -0700)]
autoupdate

7 years agoglob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
Bruno Haible [Thu, 24 Aug 2017 10:12:31 +0000 (12:12 +0200)]
glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.

* modules/glob (Depends-on): Add c99.

7 years agoglob: fix typo that broke platforms lacking d_ino
Paul Eggert [Thu, 24 Aug 2017 07:46:49 +0000 (00:46 -0700)]
glob: fix typo that broke platforms lacking d_ino

This typo also hurt performance on GNU/Linux and similar hosts.
* lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
in previous change.

7 years agoflexmember: fix typo in previous patch
Paul Eggert [Wed, 23 Aug 2017 21:45:58 +0000 (14:45 -0700)]
flexmember: fix typo in previous patch

* lib/flexmember.h: Fix comment typo.

7 years agoglob: merge from glibc with Zanella glob changes
Paul Eggert [Wed, 23 Aug 2017 17:45:42 +0000 (10:45 -0700)]
glob: merge from glibc with Zanella glob changes

Merge glob from glibc, with changes for glob proposed
by Adhemerval Zanella in the thread starting here:
https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
plus some fixes for this merge.
* lib/flexmember.h: Change license wording to something that
works unchanged in Glibc, since this code might be used in
Glibc and this will minimize 'diff' output.
* lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
New files, ported from glibc.
* lib/glob_pattern_p.c, lib/globfree.c, lib/glob.c [!_LIBC]:
Include <config.h> first.
* lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
with __restrict.
(__size_t): Remove.  All uses replaced by size_t.
(size_t): Define by defining __need_size_t and including <stddef.h>.
This should work even in non-glibc platforms, where any name
pollution is OK.
Use __USE_MISC instead of __USE_BSD || __USE_GNU.
(struct stat64): Don’t worry about __GLOB_GNULIB.
(glob, globfree, glob_pattern_p): Remove macros for
__USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
but set errno.
* lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
removed since the glibc behavior works on null pointers.
Do not include stdio.h; old SunOS is irrelevant now.
Do not worry about GLOB_ONLY_P as we now mimic glibc here.
Include glob_internal.h.
(D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
worked only coincidentally.
(attribute_hidden, __attribute_noinline__, __glibc_unlikely):
Remove macros; now done in glob.in.h.
(size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
(glob): Properly initialize glob structure with
GLOB_BRACE|GLOB_DOOFFS (bug 20707).
Remove old code using SHELL since Bash no longer
uses this.
(glob, prefix_array): Separate MS code better.
(glob, glob_in_dir): Use C99 decls before statements when glibc
does.
(glob_in_dir): Remove old Amiga and VMS code.
(globfree, __glob_pattern_type, __glob_pattern_p): Move to
separate files.
* lib/glob.in.h (attribute_hidden, __attribute_noinline__)
(__glibc_unlikely):
Move here from glob.c.
(__restrict): New macro here, replacing the _Restrict_ in glob.c.
(weak_alias): New macro.
(__size_t): Remove.  All uses replaced by size_t.
* modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
* modules/flexmember (License): Now LGPLv2+, which it should have
been anyway since flexmember.h is not unlimited-license.
* modules/glob (Files): Add +lib/glob_internal.h,
lib/glob_pattern_p.c, lib/globfree.c.
(Depends-on): Remove snippet/arg-nonnull.

7 years agoglob: port to clang's Undefined Sanitizer
Paul Eggert [Tue, 22 Aug 2017 17:13:50 +0000 (10:13 -0700)]
glob: port to clang's Undefined Sanitizer

Problem reported by Tim Rühsen in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00144.html
* lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
(glob_in_dir): Do not rely on undefined behavior in accessing
struct members beyond their bounds.  Use a flexible array member
instead.

7 years ago) -> } -> })
Bruno Haible [Mon, 21 Aug 2017 20:20:11 +0000 (22:20 +0200)]
) -> } -> })

7 years agovc-list-files: port to Solaris 10
Paul Eggert [Mon, 21 Aug 2017 19:38:20 +0000 (12:38 -0700)]
vc-list-files: port to Solaris 10

* build-aux/vc-list-files: Don't assume test -e works.

7 years ago) -> }
Karl Berry [Mon, 21 Aug 2017 15:00:44 +0000 (08:00 -0700)]
) -> }

7 years agoautoupdate
Karl Berry [Mon, 21 Aug 2017 14:57:47 +0000 (07:57 -0700)]
autoupdate

7 years agogit-version-gen: port to Solaris 10
Paul Eggert [Mon, 21 Aug 2017 00:03:55 +0000 (17:03 -0700)]
git-version-gen: port to Solaris 10

Problem reported by Dagobert Michelsen in:
http://lists.gnu.org/archive/html/grep-devel/2017-08/msg00002.html
* build-aux/git-version-gen (v_from_git):
Use expr instead of shell substitution.

7 years agohost-cpu-c-abi: Improve detection of MIPS ABI.
Bruno Haible [Sat, 19 Aug 2017 23:19:50 +0000 (01:19 +0200)]
host-cpu-c-abi: Improve detection of MIPS ABI.

* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
_MIPS_SIM.

7 years agohypot tests: Fix test failure on FreeBSD 11.0/x86.
Bruno Haible [Thu, 17 Aug 2017 20:15:10 +0000 (22:15 +0200)]
hypot tests: Fix test failure on FreeBSD 11.0/x86.

* tests/test-hypot.h (test_function): Declare z as 'volatile'.

7 years agofloat: Fix LDBL_MIN value on FreeBSD/x86.
Bruno Haible [Thu, 17 Aug 2017 19:32:28 +0000 (21:32 +0200)]
float: Fix LDBL_MIN value on FreeBSD/x86.

* lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.

7 years agorandom: Fix test compilation failure on Cygwin 1.5.25.
Bruno Haible [Thu, 17 Aug 2017 12:17:58 +0000 (14:17 +0200)]
random: Fix test compilation failure on Cygwin 1.5.25.

* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
HAVE_DECL_SETSTATE.
* m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
declared.
* modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
HAVE_DECL_SETSTATE.
* lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
(setstate): Declare also if HAVE_DECL_SETSTATE is 0.
* doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
* doc/posix-functions/random.texi: Likewise.
* doc/posix-functions/setstate.texi: Likewise.
* doc/posix-functions/srandom.texi: Likewise.

7 years agostdnoreturn: Fix test compilation failure on Cygwin.
Bruno Haible [Wed, 16 Aug 2017 23:59:11 +0000 (01:59 +0200)]
stdnoreturn: Fix test compilation failure on Cygwin.

* m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
<stdnoreturn.h> replacement.
* lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
* doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.

7 years agocloexec: spelling fixes in comments
Paul Eggert [Wed, 16 Aug 2017 20:59:54 +0000 (13:59 -0700)]
cloexec: spelling fixes in comments