Log

Author Commit Date CI Message
Paul Eggert 71090a2a 2016-01-01T00:56:19 version-etc: new year * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
Paul Eggert 92bbc1b5 2015-12-31T13:16:55 human: fix output buffer overrun by 1 * lib/human.c (human_readable): Fix off-by-one typo in buffer calculation that could lead to a one-byte buffer overrun.
Karl Berry c8696597 2015-12-31T08:04:07 autoupdate
Daiki Ueno 8cc2bb48 2015-12-28T08:16:02 maint: add missing ChangeLog entry for previous commit
Daiki Ueno 1f636508 2015-12-28T06:27:42 maint: fix operator precedence in mbrtowc test This is a fix for test breakage introduced by commit 45228d96; the equality expression must be parenthesized when negated with '!', otherwise we always get: test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression. * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
Karl Berry 3581a747 2015-12-24T08:58:41 autoupdate
James Youngman f7d3057b 2015-12-23T19:22:40 regexprops-generic: update from regex.h * doc/regexprops-generic.texi: update by running the regexprops binary from findutils (the command line is 'regexprops "Regular Expressions" generic'). The recent (ish) change (5a5a9388) to regex.h aligning gnulib with GNU grep had made this document out-of-date.
Pádraig Brady 81d0a264 2015-12-22T15:45:56 strftime-tests: avoid false failure on OS X * tests/test-strftime.c (struct localtime_rz_test): Add an ahistorical member which is used to warn rather than fail when tm_isdst isn't set for such entries. This is the case for "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
Karl Berry 0394787c 2015-12-22T16:02:59 update from texinfo
Kamil Dudka c97b8b90 2015-12-09T07:34:56 fts: ensure leaf optimization is used for NFS NFS provides usable dirent.d_type but not necessarily for all entries of large directories. See <https://bugzilla.redhat.com/1252549> * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
Pádraig Brady d459ec6a 2015-12-20T23:46:05 fts: enable leaf optimization for XFS XFS provides usable dirent.d_type only for DT_DIR, but the noleaf optimization still applies, as confirmed with: test $(($(find . -maxdepth 1 -type d | wc -l) + 1)) = $(stat -c %h .) Enabling this gives significant traversal speedup. Testing with find(1) gives: $ time find/find-before /usr/share >/dev/null real 0m0.410s user 0m0.145s sys 0m0.266s $ time find/find-after /usr/share >/dev/null real 0m0.278s user 0m0.147s sys 0m0.131s * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
Daiki Ueno 284866e9 2015-12-19T07:42:27 non-recursive-gnulib-prefix-hack: preserve V_GPERF lines * build-aux/prefix-gnulib-mk (prefix_assignment): Don't change the RHS of 'V_GPERF.* = ' lines. Reported by Assaf Gordon in: https://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00015.html
Paul Eggert a2149646 2015-12-17T23:06:29 intprops: comment fix * lib/intprops.h: Fix comment. Reported by Pádraig Brady in: http://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00013.html
Karl Berry d9bd3675 2015-12-17T13:46:39 update from texinfo
Paul Eggert 111ca669 2015-12-17T12:56:55 intprops-test: work around GCC bug 68971 Problem reported by Pádraig Brady in: http://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00011.html * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier. (main): Add a case that better tests 64-bit long in this area.
Karl Berry 26989d00 2015-12-14T06:37:38 autoupdate
Pavel Raiskup 55c6f22b 2015-11-21T14:09:15 gnulib-tool: allow multiple --local-dir usage * gnulib-tool: Use --local-dir to construct compound $local_gnulib_path path instead of $local_gnulib_dir. Determine PATH_SEPARATOR early. (local_gnulib_dir): Rename into $local_gnulib_path everywhere. (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into func_determine_path_separator because that needs to be detected earlier now. (func_determine_path_separator): New function. (func_path_foreach, func_path_foreach_inner): New functions. (func_path_prepend, func_path_append): Likewise. (func_lookup_local_file, func_lookup_local_file_cb): Likewise. (func_lookup_file, func_all_modules): Use new functions to work with local_gnulib_path. (func_modules_in_dir, func_exists_module): New callbacks for func_path_foreach. (func_exists_module, func_get_tests_module): Likewise. (func_is_local_file, func_should_symlink): New helper methods. (func_add_file, func_update_file): Use new func_should_symlink instead, DRY. (func_reconstruct_cached_local_gnulib_path): New helper. (func_reconstruct_cached_dir): New callback. (func_import): The cached_local_gnulib_dir renamed to cached_local_gnulib_path similarly to local_gnulib_dir. Use new func_reconstruct_cached_local_gnulib_path. (func_count_relative_local_gnulib_path): New sub-method. (func_create_testdir): Use func_should_symlink, DRY. (func_create_megatestdir): Use new functions to work with local_gnulib_path correctly. (func_append_local_dir): New helper.
Pádraig Brady b8d01591 2015-12-08T15:30:56 fix freadptr to work with ungetc on all uClibc configs This was noticed at https://bugs.busybox.net/show_bug.cgi?id=4099 where GNU coreutils cut fails like: $echo '3:0:0:' | cut -d : -f 2 30 The reason is because GNU cut uses ungetc(), and that wasn't handled appropriately on uClibc when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined. * lib/freadptr.c (freadptr): Return NULL if there are ungotten chars. In this case freadseek() will iterate again to process the ungotten character.
Karl Berry 9a7c87c5 2015-11-28T08:37:07 update from texinfo
Karl Berry 5f2c426b 2015-11-26T09:22:55 autoupdate
Giuseppe Scrivano 2cda6583 2015-11-24T10:00:31 parse-datetime: relax license to LGPLv2+, for OSTree * modules/parse-datetime (License): Change from GPL to LGPLv2+.
Karl Berry b8635957 2015-11-24T16:56:55 update from texinfo
Karl Berry ea6de84a 2015-11-24T06:16:59 autoupdate
Karl Berry 71d39c16 2015-11-19T08:30:30 autoupdate
Karl Berry 1956403d 2015-11-17T07:42:47 update from texinfo
Paul Eggert 9c919a06 2015-11-13T12:27:57 xalloc-oversized: improve performance with GCC 5 * lib/xalloc-oversized.h (xalloc_oversized): Improve performance with GCC 5 by using __builtin_mul_overflow.
Paul Eggert f197c2c9 2015-11-10T12:31:38 intprops: new public macro EXPR_SIGNED Emacs can use this macro, so make it public. * doc/intprops.texi (Arithmetic Type Properties): Rename from 'Integer Type Determination', since some of these macros apply to non-integer types. Clarify what kinds of constant expressions these macros return. Say when the arguments can be non-integers. Mention newly published macro EXPR_SIGNED. * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to make it public. All uses changed.
Paul Eggert a66a3b96 2015-11-10T09:35:16 intprops: fix typo in clang port * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of '__builtin_add_overflow' that is not caught by compiler.
Paul Eggert 36d982f3 2015-11-05T18:32:03 test-timespec: fix typo in previous change * tests/test-timespec.c (main): Fix typo that reduced test quality.
Paul Eggert 051613c2 2015-11-05T17:41:43 timespec-sub: fix overflow bug; add tests * lib/timespec-add.c (timespec_add): * lib/timespec-sub.c (timespec_sub): Work even if time_t is narrower than int (a theoretical possibility). Redo code for a bit more clarity. * lib/timespec-sub.c (timespec_sub): Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec. * modules/timespec-tests, tests/test-timespec.c: New files.
Paul Eggert ca648747 2015-11-05T07:46:32 intprops-test: suppress -Woverlength-strings Problem reported by Pádraig Brady in: http://lists.gnu.org/archive/html/bug-gnulib/2015-11/msg00008.html It is not worth the hassle to port this test to compilers that cannot handle long strings in diagnostics. * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
Pádraig Brady 605b6330 2015-11-04T23:21:03 maint: add missing ChangeLog entry for previous commit
Pádraig Brady 3e4ade27 2015-11-04T23:01:25 quotearg: add quotearg_n_style_colon() This quotes with default options of the specified style, but with quoting enabled for instances of ':'. While this can be simulated by temporarily modifying the default quoting style, this is a little awkward, and care must be taken with such an implementation to avoid inlining leading to bloated text. * lib/quotearg.h (quotearg_n_style_colon): Description and declaration. * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
Paul Eggert 8780c178 2015-11-04T08:27:57 intprops: revise _WRAPV macros, revert _OVERFLOW The incompatible changes to the _OVERFLOW macros were too much of a hassle in practice, so revert them. Instead, change the new _WRAPV macros to make them closer in behavior to GCC 5's new builtin_add_overflow etc. functions. No other software was using these newly-added macros yet, so this should be OK. * NEWS: Revert previous change, since the incompatible change has been reverted, and nobody used the incompatible version. * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow): Document revised behavior. (Integer Range Overflow): Adjust example to match above revisions. * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW) (INT_MULTIPLY_OVERFLOW): Revert previous change, so that these can be used in integer constant expressions again. (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW) (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer needed. (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV) (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV) (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV): Remove, as they did not seem that useful. (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV) (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH) (_GL_INT_OP_WRAPV_VIA_UNSIGNED): Support new semantics. (__has_builtin): New macro, if not alreay defined. (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros. * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW) (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW) (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV) (INT_CONST_LEFT_SHIFT_WRAPV): Remove. (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1) (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1): New macros. (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
Jim Meyering 24fb386f 2015-11-03T08:32:27 intprops: add parentheses for when OP has precedence lower than "-" * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c", "a OP b" must be parenthesized for when OP is like "<<", which has lower precedence than the following "-". Reported by Pádraig Brady.
Pádraig Brady 77d70206 2015-11-03T10:59:55 quotearg: constify get_quoting_style parameters * lib/quotearg.h (get_quoting_style): Mark parameter as const. * lib/quotearg.c (get_quoting_style): Likewise.
Pádraig Brady df3cd268 2015-10-30T22:49:16 quotearg: add support for $'' shell escaping * lib/quotearg.h: Add "shell-escape" and "shell-escape-always" items and descriptions. * lib/quotearg.c (quotearg_buffer_restyled): Add support for the above types by quoting like "shell", but using $'...' syntax for non printable characters, which should provide unambiguous printable output for any input. * tests/test-quotearg-simple.c: Update accordingly.
Pádraig Brady 45228d96 2015-11-02T11:25:47 maint: use a more standard return from mbrtowc test * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1 from the test program as this is non standard and often indicates an unhandled case in the test program. * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
Paul Eggert 86b1f082 2015-10-30T13:45:26 intprops: add WRAPV and const flavors for GCC 5 If available, use GCC 5's builtin functions for efficient integer overflow checking. Also, add macros like INT_ADD_WRAPV that efficently and safely compute the low-order bits of the correct answer. A downside of these efficient functions is that they cannot be used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW and INT_CONST_ADD_WRAPV that can be used even in constant expressions. * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc. * doc/intprops.texi (Integer Properties, Integer Type Overflow): Document the changes. (Wraparound Arithmetic): New section. (Integer Range Overflow): Put this subsection last, since it's least useful. * lib/intprops.h (INT_CONST_ADD_OVERFLOW) (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW): New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have. (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV) (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV) (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST) (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV) (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM): New macros. (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW): Generate calls to GCC builtins if available, for speed. * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW) (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW) (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV) (INT_CONST_LEFT_SHIFT_WRAPV): New macros. (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT) (CHECK_QUOTIENT, CHECK_REMAINDER): Test WRAPV and CONST flavors (when available) too.
Pádraig Brady 825f1628 2015-10-23T03:15:40 doc: use extended timezone format in iso-8601 example * doc/parse-datetime.texi: The standard states that extended format (separated with ':') is to be used consistently throughout. Note that lib/parse-datetime.y can handle either tz format.
Karl Berry 5dbf9fa6 2015-10-30T08:40:41 update from texinfo
Karl Berry 82d514b0 2015-10-27T08:34:31 update from texinfo
Karl Berry 456b8e9f 2015-10-26T07:02:41 update from texinfo
Paul Eggert 956fa543 2015-10-25T01:10:47 stdalign: port to Sun C 5.9 * doc/posix-headers/stdalign.texi: Document this. * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports __attribute__ ((__aligned__ (...))).
Karl Berry 937ba966 2015-10-24T05:30:54 autoupdate
Karl Berry 413394c4 2015-10-22T06:01:11 update from texinfo
Karl Berry 1d16a7bd 2015-10-21T06:44:22 autoupdate
Paul Eggert 9180f79e 2015-10-20T23:16:52 time_rz: fix comment about tzalloc * lib/time_rz.c (tzalloc): Fix comment.
Karl Berry 09cf84f6 2015-10-20T07:43:59 update from texinfo
Paul Eggert 82e0ec53 2015-10-18T22:18:49 stdalign: work around pre-4.9 GCC x86 bug * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on x86, when -std=gnu11 is used. Problem reported by Jim Meyering in: http://lists.gnu.org/archive/html/bug-gnulib/2015-10/msg00038.html
Pádraig Brady 2a8b497f 2015-10-18T21:15:35 maint.mk: sc_tight_scope: remove extraneous expressions * top/maint.mk (tight_scope): This is not really required since commit 3ef58f46 as sed_wrap ensures we don't get an empty expression that matches all nm entries. But it does remove extraneous entries that may be confusing or cause issue in future maintenance.
Paul Eggert b0ac02e8 2015-10-18T10:24:37 time_rz: return NULL if localtime_r fails * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails, while still attempting to pacify bleeding-edge GCC.
Paul Eggert 04dee58e 2015-10-18T09:52:45 fts: port to C11 alignof * doc/posix-headers/stdalign.texi (stdalign.h): Document the C11 restriction. * lib/fts.c: Include stddef.h, for max_align_t. (fts_alloc): Align using max_align_t, not FTSENT. * modules/fts (Depends-on): Add stddef.
Jim Meyering 0de3313d 2015-10-18T09:32:21 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I would see this: lib/time_rz.c: In function 'localtime_rz': lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \ [-Werror=nonnull] if (tm && !save_abbr (tz, tm)) ^ That was complaining about "tm" because it is a parameter that was declared with the __nonnull__ attribute. * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the result of localtime_r.
Jim Meyering 37c054af 2015-10-17T19:18:01 maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp * top/maint.mk (_gl_TS_function_match): This heuristic extern-function- name-extraction regexp mistakenly used \S+, and would mistakenly extract "*F" from "extern int *F()" rather than the desired "F". Use \w+ instead.
Jim Meyering 3ef58f46 2015-10-17T20:12:48 maint.mk: sc_tight_scope: factor and support OS X * top/maint.mk (_gl_tight_scope): Address three issues: - factor out four instances of code that wraps a string in "^...$" - allow nm-reported symbol names to have an optional leading "_" - add "main" to the list of ignored variable names, because on os x, "main" has nm-reported type "S" in the variable-checking section.
Jim Meyering 30b2a6a9 2015-09-24T17:03:20 ChangeLog: fix typo: s/cound/count/
Dmitry Smirnov 5a4906aa 2015-10-16T21:29:41 safe-alloc-tests: fix typo in license header * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
Simon Reinhardt 40157ce2 2015-10-15T19:35:29 copy-file: fix mem leak in error case * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer upon error opening or performing I/O to the src and dest files.
Mike Frysinger 63881a60 2015-10-15T17:04:07 localename: control langinfo.h inclusion This header is only used to work around buggy behavior in old versions of glibc, so do not include it all the time. Otherwise we get build failures on systems that do not provide langinfo.h. * lib/localename.c: Wrap langinfo.h include with same ifdefs used in the source later on. The patch was originally submitted to gettext as: https://lists.gnu.org/archive/html/bug-gettext/2015-10/msg00011.html
Karl Berry b92e701c 2015-10-14T15:32:04 update from texinfo
Paul Eggert c5d07ce9 2015-10-13T23:25:18 binary-io, math, pthread, sys_socket, u64, unistd: port to strict C * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c: * lib/u64.c, lib/unistd.c: Append 'typedef int dummy;', to pacify compilers that are picky about empty translation units.
Pino Toscano f982bc8d 2015-10-12T12:27:10 accept4-tests: fix to avoid non portable flags * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(), as they are the only documented ones, and passing others may trigger EINVAL (seen on FreeBSD 10.1-RELEASE). * doc/glibc-functions/accept4.texi: Mention that we don't provide the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
Karl Berry 2aaf4325 2015-10-10T08:16:48 update from texinfo
Karl Berry 2fda85e8 2015-10-06T15:06:11 update from texinfo
Pavel Raiskup 63ce1a21 2015-10-06T13:20:05 gnulib-tool: fix tests of 'extensions' module This complements f8fe25fab60e3c687a124 commit. * gnulib-tool (func_emit_pre_early_macros): New function, it wraps emitting of initial gl_EARLY macros. (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB replaced with func_emit_pre_early_macros call.
Paul Eggert 4ac8b451 2015-10-06T00:46:02 unicase/locale-language: fix typo in utf-8 cookie * lib/unicase/locale-languages.gperf: Fix gperf input file format. Problem reported by Zbigniew Jędrzejewski-Szmek.
Karl Berry 5fecb65e 2015-10-05T06:25:17 autoupdate
Paul Eggert 8be4b46b 2015-10-03T00:14:05 xalloc: do not worry about GCC 5 warning on 32 bit * lib/xalloc.h: Revert previous change. I found a better way to fix this in coreutils.
Pádraig Brady 213d5545 2015-10-02T20:21:50 xalloc: avoid GCC 5.1 warning on 32 bit * lib/xalloc.h: Disable -Wstrict-overflow for uses of xalloc_oversized(), which was seen to give this warning on GCC 5.1 on 32 bit: "assuming signed overflow does not occur when simplifying conditional".
Daiki Ueno b3239907 2015-10-02T11:27:40 uniname/uniname-tests: avoid compiler warnings * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove unused local variables. (test_alias_lookup): Fix alias name display in failure cases.
Karl Berry a5a1569d 2015-09-27T08:55:03 autoupdate
Andrew Borodin 1eda6d17 2015-09-27T11:41:17 mountlist: clean up of variable duplication * lib/mountlist.c (read_file_system_list) [MOUNTED_LISTMNTENT]: the 'me' variable is already declared above. Remove it here.
Paul Eggert d2de2a91 2015-09-26T23:55:07 c-ctype: do not worry about EBCDIC + char signed Drop support for EBCDIC with char being signed, as this breaks too many programs. Problem reported by Ben Pfaff in: http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00053.html * lib/c-ctype.h: Verify that we are not using EBCDIC with char being signed. (_C_CTYPE_LOWER_A_THRU_F_N): New macro. (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it. (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER): (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper): * tests/test-c-ctype.c (test_all): Simplify by assuming standard char values cannot be negative. * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
Paul Eggert ff1ef114 2015-09-25T19:45:59 c-ctype: port better to z/OS EBCDIC Problems reported by Daniel Richard G. in: http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00050.html * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of the C standard escapes and _C_CTYPE_OTHER_CNTRL. (_C_CTYPE_OTHER_CNTRL): New macro. * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not from SCHAR_MIN, as the functions are defined only from values promoted from char or from unsigned char, not necessarily from signed char.
Pavel Raiskup f8fe25fa 2015-09-25T11:25:03 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR and ARFLAGS variables. Doing this unconditionally could break later Automake's AM_PROG_AR invocation (at least it's AC_CHECK_TOOLS call to detect correct 'ar' binary). Original purpose of the gl_PROG_AR_RANLIB was only to handle the Amsterdam Compiler Kit, so make the previous code to have effects only on ACK, and rather automatically call the Automake's AM_PROG_AR as soon as possible to decide other cases. References: http://lists.gnu.org/archive/html/bug-gnulib/2015-07/msg00001.html * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR. Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR. If neither is possible, keep setting AR/ARFLAGS to reasonable defaults. * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the 'extensions' module is used. * modules/extensions (configure.ac-early): Remove as this snippet is added to gnulib-comp.m4 earlier anyway.
Paul Eggert f2823523 2015-09-25T11:16:27 sockets: MS Windows initalization fixes Problem reported by Test User in: http://lists.gnu.org/archive/html/help-shishi/2015-09/msg00001.html * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1): Correct the endianness. * lib/sockets.c (gl_sockets_startup): Return 2 on any version number mismatch, not just on <. Cleanup before any such failure.
Mats Erik Andersson 11792d29 2015-09-25T14:18:24 gc: fix detection of installed libgcrypt version * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions at least as recent as 1.4.4. The previously used macro is not available now, since modules were removed in version 1.6.0.
Paul Eggert 43a090ce 2015-09-25T00:01:10 c-ctype: rewrite to use inline functions This simplifies maintenance, since it makes for just one implementation of each function, letting the compiler have the fun of optimization. In practice this works well nowadays with GCC. E.g., c_isascii might need only three instructions even though the source code lists every ASCII character individually in a large switch statement. Also, fix some z/OS porting bugs reported by Daniel Richard G. in: http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00037.html * NEWS: Document the API change. * lib/c-ctype.c: Drastically simplify, since this now just expands inline functions. * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. (C_CTYPE_INLINE): New macro. (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE) (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove. Verify that either ASCII or EBCDIC is being used. (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N) (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N) (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER) (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN): New private macros. (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'. (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit) (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper) (c_isxdigit, c_tolower, c_toupper): Now inline functions. (c_tolower, c_toupper): When converting, return the unsigned char, as that is what z/OS does. * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal of some c-ctype.h macros. * modules/c-ctype (Depends-on): Add extern-inline; remove verify. * tests/test-c-ctype.c (test_all): Fix test for c_toupper and c_tolower promotion to be compatible with z/OS.
Paul Eggert 82b86107 2015-09-24T13:49:38 fnmatch: add one more coding cookie
Paul Eggert f406941a 2015-09-24T13:22:23 maint: add coding cookies to non-ASCII sources Otherwise, Emacs might do the wrong thing if run in an he_IL.ISO-8859-8 locale, which an Emacs developer does on occasion. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00966.html Don't bother with test files, as they aren't copied to the Emacs source directory. If this problem affects test files in some other GNU project, we can add coding cookies to the non-ASCII test files later.
Pavel Raiskup 720ba29a 2015-09-24T17:17:38 gitlog-to-changelog: trim only trailing whitespaces This is fix for --format regression introduced by commit 2b93079a5d1baa4d; it caused that --format='%s%n%n%b%n' (see the doubled %n string) had no effect anymore. This format specification has been used e.g. by GNU paxuitils (commit edfd8bcc3). * build-aux/gitlog-to-changelog (main): Stop squashing multiple newlines in commmit messages.
Paul Eggert a406de9c 2015-09-23T12:26:38 Test that c_iscntrl agrees with iscntrl, etc. Suggested by Daniel Richard G. in: http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00034.html * modules/c-ctype-tests (Depends-on): Add ctype. * tests/test-c-ctype.c: Include <ctype.h>. (NCHARS): New constant. (test_agree_with_C_locale): New function. (main): Use it. (test_all): Use named constants.
Paul Eggert 5b09f8c0 2015-09-23T12:02:35 c-ctype: improve c_isascii testing * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC. Add a test to count the number of ASCII characters.
Paul Eggert 617d6628 2015-09-23T08:11:16 Fix ChangeLog typo
Paul Eggert e6f00a57 2015-09-22T20:04:13 savewd: remove SAVEWD_CHDIR_READABLE It was problematic in the light of file systems that ignore umask. Problem reported by Sebastian Ungar in: http://bugs.gnu.org/21534 * NEWS: Document this. * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if successful, -1 (setting errno) on failure, rather than something more complicated than that. * lib/mkdir-p.c (make_dir_parents): Do not use SAVEWD_CHDIR_READABLE. * lib/savewd.c (savewd_chdir): Remove support for SAVEWD_CHDIR_READABLE. * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
Paul Eggert 6b34bf6d 2015-09-22T19:41:52 Update ChangeLog to match previous patch.
Paul Eggert 4d83e798 2015-09-22T18:59:28 c-ctype: support EBCDIC-style c_isascii * lib/c-ctype.c (C_TYPE_EBCDIC): Move to top level. (c_isascii, c_iscntrl): Assume EBCDIC code page 1047 for control characters, if EBCDIC.
Paul Eggert 5c592b1c 2015-09-22T14:47:06 c-ctype: assume EBCDIC 1047 for c_iscntrl * lib/c-ctype.c (c_iscntrl): When EBCDIC, assume code page 1047 at both compile-time and at run-time. Check it at compile-time. We can worry about other code pages later, if the topic ever comes up. Fix typo in C_CTYPE_EBCDIC.
Paul Eggert ad029587 2015-09-22T12:44:25 * modules/c-ctype (Depends-on): Add verify.
Paul Eggert 7e2a8ea2 2015-09-22T12:17:06 c-ctype: port better to EBCDIC Problems reported by Daniel Richard G. in http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00020.html * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX. Include "verify.h". (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS) (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE): Define as enum constants with value false, if not defined, so that code can use 'if' instead of 'ifdef'. Using 'if' helps make the code more portable, as both branches of the 'if' are compiled on all platforms. (C_CTYPE_EBCDIC): New constant. (to_char): New static function. (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint) (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper): Rewrite to use 'if' instead of 'ifdef'. Use to_char if non-ASCII. Prefer <= to >=. Prefer true and false to 1 and 0, for booleans. (c_iscntrl): Use 'if', not 'ifdef'. Special case for EBCDIC. Verify that the character set is either ASCII or EBCDIC. * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN (to_char): New function. (test_all): Port to EBCDIC. Add some more tests, e.g., for c_ispunct.
Pádraig Brady 6439a0af 2015-09-21T23:46:05 nanosleep: fix return code for interrupted replacement * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure that we return -1 in the case the call is interrupted by a signal, rather than the current value of 1. Diagnosed and tested by Daniel Richard G.
Karl Berry abddf3d6 2015-09-20T15:24:53 autoupdate
Paul Eggert 5513b409 2015-09-19T13:53:34 Diagnose ERE '()|\1' Problem reported by Hanno Böck in: http://bugs.gnu.org/21513 * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep track of the set of previously-completed subexpressions available before the first alternative, and restore this set just before parsing each subsequent alternative. This lets us diagnose the invalid back-reference in the ERE '()|\1'.
Paul Eggert c9ff68cb 2015-09-19T13:44:49 Revert previous patch, as it did not fix the bug after all.
Paul Eggert 7f6191fd 2015-09-19T10:16:02 regex: fix dangling-backreference bug This should fix the following bugs: http://bugs.gnu.org/21513 assertion error in pop_fail_stack http://bugs.gnu.org/19775 Test failing after the CVE fix https://sourceware.org/bugzilla/show_bug.cgi?id=11053 Wrong results with backreferences https://sourceware.org/bugzilla/show_bug.cgi?id=17356 regex assertion violation with triple backreferences * lib/regexec.c (set_regs): Don't pop an empty failure stack.
Paul Eggert 2f8140bc 2015-09-19T09:21:47 regex: merge patches from libc 2015-09-08 Joseph Myers <joseph@codesourcery.com> Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912). * lib/regex_internal.h: Include <libc-lock.h> instead of <bits/libc-lock.h>. 2015-06-09 Joseph Myers <joseph@codesourcery.com> Fix regcomp wcscoll, wcscmp namespace (bug 18497). * lib/regcomp.c (build_range_exp): Call __wcscoll instead of wcscoll. * lib/regexec.c (check_node_accept_bytes): Likewise. 2015-06-05 Joseph Myers <joseph@codesourcery.com> Fix regex wcrtomb namespace (bug 18496). * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb instead of wcrtomb. 2015-06-05 Joseph Myers <joseph@codesourcery.com> Fix regex wctype namespace (bug 18495). * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower instead of towlower. * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower instead of iswlower. Call __towupper instead of towupper. * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum instead of iswalnum. 2015-01-07 Chris Metcalf <cmetcalf@ezchip.com> * lib/regcomp.c (parse_bracket_exp): Initialize type to COLL_SYM in a couple of places to avoid uninitialized variable wanings on tilegx gcc 4.8.2. 2014-11-24 Siddhesh Poyarekar <siddhesh@redhat.com> * lib/regex_internal.h: Remove NOT_IN_libc. 2014-11-17 Andreas Schwab <schwab@suse.de> * lib/regex_internal.h: Don't include <locale/elem-hash.h>. 2014-09-11 Roland McGrath <roland@hack.frob.com> Move findidx nested functions to top-level. * lib/regcomp.c [_LIBC]: #include <locale/weight.h>. (build_equiv_class) [_LIBC]: Don't #include it inside the function. Pass new arguments to findidx. * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>. [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]: Don't #include it inside the function. Pass new arguments to findidx. * lib/regex_internal.h: [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>. (re_string_elem_size_at): Don't #include it inside the function. Pass new arguments to findidx. 2014-08-01 Siddhesh Poyarekar <siddhesh@redhat.com> Check if DEBUG is defined in regex_internal.c * lib/regex_internal.c: Check if DEBUG is defined and is set.
Karl Berry 601d8f44 2015-09-15T09:11:15 autoupdate
Karl Berry b3ade652 2015-09-14T13:08:27 autoupdate
Karl Berry 3bb2688d 2015-09-13T09:48:04 autoupdate