|
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'.
|
|
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.
|
|
c8696597
|
2015-12-31T08:04:07
|
|
autoupdate
|
|
8cc2bb48
|
2015-12-28T08:16:02
|
|
maint: add missing ChangeLog entry for previous commit
|
|
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.
|
|
3581a747
|
2015-12-24T08:58:41
|
|
autoupdate
|
|
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.
|
|
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.
|
|
0394787c
|
2015-12-22T16:02:59
|
|
update from texinfo
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
d9bd3675
|
2015-12-17T13:46:39
|
|
update from texinfo
|
|
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.
|
|
26989d00
|
2015-12-14T06:37:38
|
|
autoupdate
|
|
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.
|
|
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.
|
|
9a7c87c5
|
2015-11-28T08:37:07
|
|
update from texinfo
|
|
5f2c426b
|
2015-11-26T09:22:55
|
|
autoupdate
|
|
2cda6583
|
2015-11-24T10:00:31
|
|
parse-datetime: relax license to LGPLv2+, for OSTree
* modules/parse-datetime (License): Change from GPL to LGPLv2+.
|
|
b8635957
|
2015-11-24T16:56:55
|
|
update from texinfo
|
|
ea6de84a
|
2015-11-24T06:16:59
|
|
autoupdate
|
|
71d39c16
|
2015-11-19T08:30:30
|
|
autoupdate
|
|
1956403d
|
2015-11-17T07:42:47
|
|
update from texinfo
|
|
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.
|
|
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.
|
|
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.
|
|
36d982f3
|
2015-11-05T18:32:03
|
|
test-timespec: fix typo in previous change
* tests/test-timespec.c (main): Fix typo that reduced test quality.
|
|
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.
|
|
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.
|
|
605b6330
|
2015-11-04T23:21:03
|
|
maint: add missing ChangeLog entry for previous commit
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
5dbf9fa6
|
2015-10-30T08:40:41
|
|
update from texinfo
|
|
82d514b0
|
2015-10-27T08:34:31
|
|
update from texinfo
|
|
456b8e9f
|
2015-10-26T07:02:41
|
|
update from texinfo
|
|
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__ (...))).
|
|
937ba966
|
2015-10-24T05:30:54
|
|
autoupdate
|
|
413394c4
|
2015-10-22T06:01:11
|
|
update from texinfo
|
|
1d16a7bd
|
2015-10-21T06:44:22
|
|
autoupdate
|
|
9180f79e
|
2015-10-20T23:16:52
|
|
time_rz: fix comment about tzalloc
* lib/time_rz.c (tzalloc): Fix comment.
|
|
09cf84f6
|
2015-10-20T07:43:59
|
|
update from texinfo
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
30b2a6a9
|
2015-09-24T17:03:20
|
|
ChangeLog: fix typo: s/cound/count/
|
|
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
|
|
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.
|
|
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
|
|
b92e701c
|
2015-10-14T15:32:04
|
|
update from texinfo
|
|
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.
|
|
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.
|
|
2aaf4325
|
2015-10-10T08:16:48
|
|
update from texinfo
|
|
2fda85e8
|
2015-10-06T15:06:11
|
|
update from texinfo
|
|
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.
|
|
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.
|
|
5fecb65e
|
2015-10-05T06:25:17
|
|
autoupdate
|
|
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.
|
|
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".
|
|
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.
|
|
a5a1569d
|
2015-09-27T08:55:03
|
|
autoupdate
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
82b86107
|
2015-09-24T13:49:38
|
|
fnmatch: add one more coding cookie
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
617d6628
|
2015-09-23T08:11:16
|
|
Fix ChangeLog typo
|
|
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.
|
|
6b34bf6d
|
2015-09-22T19:41:52
|
|
Update ChangeLog to match previous patch.
|
|
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.
|
|
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.
|
|
ad029587
|
2015-09-22T12:44:25
|
|
* modules/c-ctype (Depends-on): Add verify.
|
|
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.
|
|
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.
|
|
abddf3d6
|
2015-09-20T15:24:53
|
|
autoupdate
|
|
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'.
|
|
c9ff68cb
|
2015-09-19T13:44:49
|
|
Revert previous patch, as it did not fix the bug after all.
|
|
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.
|
|
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.
|
|
601d8f44
|
2015-09-15T09:11:15
|
|
autoupdate
|
|
b3ade652
|
2015-09-14T13:08:27
|
|
autoupdate
|
|
3bb2688d
|
2015-09-13T09:48:04
|
|
autoupdate
|