doc


Log

Author Commit Date CI Message
Bruno Haible 0ff4d2d5 2023-01-03T19:48:59 ffs: Document Android problem. * doc/posix-functions/ffs.texi: Mention Android problem. * m4/ffs.m4: Update comment.
Bruno Haible 3c92fb8e 2023-01-03T17:14:33 stdio: Fix error in C++ mode on Android, due to putw. * lib/stdio.in.h (putw): Don't declare in the C++ namespace if putw is not declared. * m4/stdio_h.m4 (gl_STDIO_H): Test whether putw is declared. (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_PUTW. * modules/stdio (Makefile.am): Substitute HAVE_DECL_PUTW. * doc/glibc-functions/putw.texi: Update regarding Android.
Bruno Haible 7b5d355e 2023-01-01T20:11:51 doc: Update regarding stable branches. * doc/gnulib-readme.texi (Stable Branches): Mention new branch stable-202301. Mention that stable-202201 is no longer updated.
Simon Josefsson 32a72f45 2023-01-01T01:14:21 maint: run 'make update-copyright'
Paul Eggert 7924f0e7 2022-12-27T08:15:38 Add --pull, --gen options to build-aux/bootstrap This supports a single bootstrap script with --pull and --gen options, as an alternative to separate autogen.sh and autopull.sh and bootstrap-funclib.sh auxiliary files. * top/bootstrap: With --version, also output library version. Support update of package that has only the bootstrap script, and not the other three files.
Bruno Haible 0455e4cf 2022-12-27T11:13:05 stdnoreturn: Mark as deprecated, not obsolete. (Regression 2022-12-24.) * modules/stdnoreturn (Status): Remove. (Notice): Say that it is deprecated, not obsolete. * doc/noreturn.texi: Fix a typo.
Paul Eggert c28598c3 2022-12-24T01:29:29 stdnoreturn: deprecate C23 says <stdnoreturn.h> is obsolescent, so deprecate the stdnoreturn module. I don't think it was being used anyway as it had too many problems. * modules/stdnoreturn: Mark as obsolete.
Paul Eggert ea26437b 2022-12-24T00:10:23 doc: C2x → C23
Paul Eggert 35bd46f0 2022-12-23T15:18:29 file-has-acl: improve recent NFSv4 support This fixes a link failure with emacsclient on GNU/Linux. This program wants file_has_acl but none of the other ACL primitives, so it doesn’t link acl-internal.o; this way it doesn’t need to link with -lacl. While I was at it I reviewed the recent changes, fixed some unlikely overflow bugs, and adjusted to GNU style. * doc/acl-nfsv4.txt: Remove. Its contents are now in a comment in lib/file-has-acl.c. * lib/acl-internal.c, lib/acl-internal.h: Move recent changes relating to acl_nfs4_nontrivial to lib/file-has-acl.c, so that there is no trouble linking programs that need only file_has_acl. * lib/file-has-acl.c (acl_nfs4_nontrivial): Move here from lib/acl-internal.c, so that we needn't link -lacl in programs that want only file_has_acl, such as emacsclient. Do not assume a char buffer is aligned for uint32_t. Check more carefully for buffer read overrun. Allow up to 6 ACEs, since other code does; but check that they’re distinct. Avoid integer overflow. Use memcmp rather than strncmp to compare memory blocks. (file_has_acl): Preserve initial errno instead of setting to 0. Allocate a bit more room for trivial ACL buffer. Use EINVAL for botchedk NFSv4 ACLs (which shouldn’t happen).
Ondrej Valousek b0604a8e 2022-12-02T13:40:19 file-has-acl: Basic support for checking NFSv4 ACLs in Linux. * lib/acl-internal.h (acl_nfs4_nontrivial): New declaration. * lib/acl-internal.c (acl_nfs4_nontrivial): New function. * lib/file-has-acl.c: Include <arpa/inet.h>. (XATTR_NAME_NFSV4_ACL, TRIVIAL_NFS4_ACL_MAX_LENGTH): New macros. (file_has_acl): Test for NFSv4 ACLs. * doc/acl-nfsv4.txt: New file.
Paul Eggert ee37744d 2022-12-21T13:25:39 asctime, ctime: deprecate C23 deprecates asctime and ctime, so deprecate them in Gnulib too. * NEWS, doc/posix-functions/asctime.texi: * doc/posix-functions/ctime.texi: Mention this. * lib/time.in.h (ctime): Deprecate any ctime replacement. * modules/ctime: Now obsolete.
Bruno Haible 8453b553 2022-12-06T00:25:34 argp: Correct documentation. Reported by José E. Marchesi <jemarch@gnu.org>. * doc/glibc-functions/argp_*.texi: Mention the 'argp' module.
Pádraig Brady 2f7479a1 2022-12-02T14:45:23 doc: poll: document poll of special files not supported on macOS * doc/posix-functions/poll.texi: Reinstate (updated) macOS info, removed in recent cleanup re removal of support for Mac OS X <= 10.4. * m4/poll.m4: Update macOS to latest tested version.
Paul Eggert c4d0e2a0 2022-11-27T20:52:04 explicit_bzero: memset_explicit is standard * doc/glibc-functions/explicit_bzero.texi: Say that memset_explicit is preferred in new code.
Paul Eggert e4603ee9 2022-11-27T20:52:04 memset_explicit: new module * doc/posix-functions/memset_explicit.texi, lib/memset_explicit.c: * m4/memset_explicit.m4, modules/memset_explicit: * modules/memset_explicit-tests, tests/test-memset_explicit.c: New files. * lib/string.in.h (memset_explict): New decl. * m4/string_h.m4 (gl_STRING_H, gl_STRING_H_REQUIRE_DEFAULTS) (gl_STRING_H_DEFAULTS): * modules/string (string.h): Support memset_explicit.
Paul Eggert 08ba9aae 2022-11-14T21:36:41 parse-datetime: improve doc formatting, timeliness * doc/parse-datetime.texi: Use @samp and @code in menus for consistenty with how the Coreutils manual will do this sort of thing. Update examples to this year.
Paul Eggert dda9eee9 2022-11-13T10:44:49 autoupdate
Karl Berry 05247463 2022-11-06T06:13:58 autoupdate
Paul Eggert 48405111 2022-11-03T11:43:45 doc: mention macOS war on sprintf * doc/posix-functions/sprintf.texi, doc/posix-functions/vsnprintf.texi: Mention that these functions are deprecated.
Paul Eggert ddfcbc95 2022-11-02T18:14:15 scratch_buffer: adjust to glibc changes Problem reported by Karl Berry in: https://lists.gnu.org/r/bug-gnulib/2022-11/msg00004.html * build-aux/depcomp, doc/make-stds.texi, lib/malloc/scratch_buffer.h: Autoupdate. * build-aux/install-reloc (func_create_wrapper): Omit removed file scratch_buffer_dupfree.c. * config/srclist.txt: Remove lib/malloc/scratch_buffer_dupfree.c * lib/canonicalize-lgpl.c: Merge changes from glibc through its commit ef0700004bf0dccf493a5e8e21f71d9e7972ea9f dated 2022-07-05 11:04:45 +0200. (__strdup) [!_LIBC]: New macro. (struct realpath_bufs): New type. (realpath_stk): Use it as the extra argument. All uses changed. No longer any need for noinline or GCC_BOGUS_WRETURN_LOCAL_ADDR. * lib/canonicalize.c (struct realpath_bufs) (canonicalize_filename_mode_stk): Likewise. * lib/malloc/scratch_buffer_dupfree.c: Remove, since it was removed in glibc. * lib/scratch_buffer.h (scratch_buffer_dupfree) [0]: (__libc_scratch_buffer_dupfree): Remove decls. * modules/relocatable-prog-wrapper (Files): * modules/scratch_buffer (Files, lib_SOURCES): Remove lib/malloc/scratch_buffer_dupfree.c.
Bruno Haible 841e32cc 2022-10-17T02:44:54 getdelim: Work around buggy implementation on macOS 10.13. * doc/posix-functions/getdelim.texi: Mention the macOS bug. * m4/getdelim.m4 (gl_FUNC_GETDELIM): Let the "checking for working getdelim function" test answer 'no' on macOS.
Paul Eggert c25bd64b 2022-10-12T17:18:20 doc: improve intprops doc * doc/intprops.texi: Tighten up wording, by saying that macros "yield 1 if X, 0 otherwise" rather than the weaker "yield 1 if X". Say "yield" rather than "return" since the macros are not functions. Say "1" and "0" rather than "true" and "false" since the macros yield int. Say that stdckdint.h is the standard alternative to the _WRAPV macros. Mention another source of problems with the _OVERFLOW macros.
Simon Josefsson 54c09c98 2022-09-23T09:06:22 warnings, manywarnings: Doc fixes. * doc/manywarnings.texi (manywarnings): Improve usage instruction. Start list of comments on particular warning flags, based on comment from Paul Eggert <eggert@cs.ucla.edu>. * doc/warnings.texi (warnings): Mention that it is often used with manywarnings.
Paul Eggert 0804812c 2022-09-13T17:29:36 stdalign: alignas and alignof are C23 keywords * m4/stdalign.m4 (gl_STDALIGN_H): Check also whether alignas and alignof are keywords and so don’t need stdalign.h, and define HAVE_C_ALIGNASOF if so. If not, arrange for config.h to #define alignas and alignof by including <stdalign.h>. * modules/stdalign: No need to include <stdalign.h>. * tests/test-stdalign.c: Do not include stdalign.h.
Paul Eggert c504bec0 2022-09-13T17:29:35 assert-h: static_assert is a keyword in C23 * m4/assert_h.m4 (gl_ASSERT_H): Also test for static_assert keyword a la C23, and define HAVE_C_STATIC_ASSERT if so. If not, arrange for config.h to #define static_assert by including <assert.h>, and then do "#undef assert" so that the assert macro still needs an explicit include. This should be safe even on very old hosts, as assert.h has been re-includable for decades. * tests/tests-assert.c: New test. * modules/assert-h-tests (Files, Makefile.am): Add it.
Paul Eggert b22b1e42 2022-09-13T12:56:56 stdalign-tests: port to C23 * tests/test-stdalign.c: Do not test __alignas_is_defined, _Alignof, or _Alignas as they are obsolescent. Do not use __alignas_is_defined in C23 or later (or C++11 or later), as it’s removed in C23.
Paul Eggert e0e5ec8a 2022-09-11T15:39:48 verify: port better to C23 * lib/verify.h (_GL_VERIFY, static_assert): If C23, use static_assert keyword; no macro. This should simplify diagnostics and debugging.
Bruno Haible 7986a219 2022-09-10T18:56:14 uchar: Work around error in C++ mode on AIX 7.2 with xlclang. * lib/uchar.in.h (char16_t, char32_t): On AIX with xlclang++, define these as macros. * doc/posix-headers/uchar.texi: Document the AIX + xlclang++ bug.
Paul Eggert 2f858e5e 2022-09-10T11:41:32 Rely on new stdbool behavior Prefer the C23 style to the C99 style, since the stdbool module now supports C23. * lib/acl-internal.h, lib/acl.h, lib/argmatch.c, lib/argmatch.h: * lib/argp-help.c, lib/argv-iter.h, lib/asyncsafe-spin.c: * lib/backup-internal.h, lib/backupfile.c, lib/base32.h: * lib/base64.h, lib/basename-lgpl.c, lib/bitset/base.h: * lib/c-ctype.h, lib/c-strcasestr.c, lib/canonicalize-lgpl.c: * lib/canonicalize.c, lib/chdir-long.c, lib/chown.c: * lib/classpath.h, lib/clean-temp-private.h: * lib/clean-temp-simple.c, lib/clean-temp-simple.h: * lib/clean-temp.c, lib/clean-temp.h, lib/cloexec.h: * lib/close-stream.c, lib/closein.c, lib/closeout.c, lib/closeout.h: * lib/csharpcomp.h, lib/csharpexec.h, lib/cycle-check.c: * lib/cycle-check.h, lib/des.h, lib/dfa.h, lib/diffseq.h: * lib/dirname.h, lib/exclude.c, lib/exclude.h, lib/execute.c: * lib/execute.h, lib/execvpe.c, lib/fatal-signal.c, lib/fchdir.c: * lib/file-set.h, lib/filevercmp.c, lib/findprog-in.c: * lib/findprog.c, lib/findprog.h, lib/fma.c, lib/fnmatch.c: * lib/fopen.c, lib/freadable.h, lib/freading.h, lib/freopen-safer.c: * lib/fstrcmp.c, lib/fsusage.h, lib/fts.c, lib/fwritable.h: * lib/fwriteerror.c, lib/fwriting.h, lib/gen-uni-tables.c: * lib/getaddrinfo.c, lib/getcwd.c, lib/getloadavg.c: * lib/getndelim2.c, lib/getpass.c, lib/getrandom.c: * lib/git-merge-changelog.c, lib/gl_list.h, lib/gl_map.h: * lib/gl_omap.h, lib/gl_oset.h, lib/gl_set.h, lib/glob.c: * lib/glthread/cond.h, lib/hamt.h, lib/hard-locale.h: * lib/hash-triple.h, lib/hash.h, lib/human.h, lib/i-ring.h: * lib/isapipe.c, lib/javacomp.h, lib/javaexec.h, lib/javaversion.c: * lib/lchown.c, lib/localeinfo.h, lib/localename.c: * lib/long-options.h, lib/malloc/dynarray.h, lib/mbchar.h: * lib/mbfile.h, lib/mbiter.h, lib/mbmemcasecoll.h, lib/mbscasestr.c: * lib/mbsstr.c, lib/mbuiter.h, lib/mkdir-p.h, lib/modechange.h: * lib/mountlist.h, lib/nanosleep.c, lib/nonblocking.h: * lib/nstrftime.c, lib/openat.c, lib/openat.h, lib/os2-spawn.c: * lib/parse-datetime.h, lib/pipe-filter-aux.c, lib/pipe-filter-gi.c: * lib/pipe-filter-ii.c, lib/pipe-filter.h, lib/posixtm.h: * lib/priv-set.c, lib/progreloc.c, lib/propername.c: * lib/pthread-spin.c, lib/quotearg.c, lib/readtokens.c: * lib/readtokens0.h, lib/readutmp.c, lib/regex-quote.h: * lib/regex_internal.h, lib/relocwrapper.c, lib/rename.c: * lib/renameatu.c, lib/rpmatch.c, lib/same.c, lib/same.h: * lib/save-cwd.c, lib/savewd.c, lib/savewd.h, lib/spawn-pipe.h: * lib/spawni.c, lib/stack.h, lib/stat.c, lib/stdckdint.in.h: * lib/strcasestr.c, lib/strfmon_l.c, lib/striconveh.c: * lib/striconveha.h, lib/string-buffer.h, lib/strptime.c: * lib/strstr.c, lib/strtod.c, lib/supersede.h, lib/system-quote.c: * lib/tempname.c, lib/term-style-control.c: * lib/term-style-control.h, lib/textstyle.in.h, lib/time_rz.c: * lib/tmpdir.c, lib/tmpdir.h, lib/tmpfile.c, lib/unicase.in.h: * lib/unicase/caseprop.h, lib/unicase/invariant.h: * lib/unicase/u16-casemap.c, lib/unicase/u16-ct-totitle.c: * lib/unicase/u16-is-invariant.c, lib/unicase/u32-casemap.c: * lib/unicase/u32-ct-totitle.c, lib/unicase/u32-is-invariant.c: * lib/unicase/u8-casemap.c, lib/unicase/u8-ct-totitle.c: * lib/unicase/u8-is-invariant.c, lib/unictype.in.h: * lib/unigbrk.in.h, lib/unigbrk/u16-grapheme-breaks.c: * lib/unigbrk/u32-grapheme-breaks.c: * lib/unigbrk/u8-grapheme-breaks.c: * lib/unigbrk/uc-grapheme-breaks.c, lib/uniname/uniname.c: * lib/unistr.in.h, lib/unlinkdir.h, lib/userspec.h, lib/utime.c: * lib/utimecmp.c, lib/utimens.c, lib/wait-process.h: * lib/windows-cond.c, lib/windows-spawn.c, lib/windows-spawn.h: * lib/windows-timedrwlock.c, lib/write-any-file.h, lib/xbinary-io.c: * lib/xstrtod.h, lib/yesno.h: * tests/nap.h, tests/qemu.h, tests/test-areadlink-with-size.c: * tests/test-areadlink.c, tests/test-areadlinkat-with-size.c: * tests/test-areadlinkat.c, tests/test-base32.c: * tests/test-base64.c, tests/test-ceil2.c, tests/test-ceilf2.c: * tests/test-chown.c, tests/test-dirname.c, tests/test-dup-safer.c: * tests/test-dup3.c, tests/test-exclude.c: * tests/test-execute-child.c, tests/test-execute-main.c: * tests/test-execute-script.c, tests/test-explicit_bzero.c: * tests/test-fchownat.c, tests/test-fcntl-safer.c: * tests/test-fcntl.c, tests/test-fdutimensat.c: * tests/test-filenamecat.c, tests/test-floor2.c: * tests/test-floorf2.c, tests/test-fstatat.c, tests/test-fstrcmp.c: * tests/test-futimens.c, tests/test-getlogin.h, tests/test-getopt.h: * tests/test-hard-locale.c, tests/test-hash.c: * tests/test-idpriv-drop.c, tests/test-idpriv-droptemp.c: * tests/test-immutable.c, tests/test-intprops.c: * tests/test-lchown.c, tests/test-link.c, tests/test-linkat.c: * tests/test-lstat.c, tests/test-mbmemcasecmp.c: * tests/test-mbmemcasecoll.c, tests/test-mkdir.c: * tests/test-mkdirat.c, tests/test-mkfifo.c, tests/test-mkfifoat.c: * tests/test-mknod.c, tests/test-nonblocking-pipe-child.c: * tests/test-nonblocking-pipe-main.c: * tests/test-nonblocking-socket-child.c: * tests/test-nonblocking-socket-main.c, tests/test-open.c: * tests/test-openat.c, tests/test-pipe.c, tests/test-pipe2.c: * tests/test-poll.c, tests/test-posix_spawn-chdir.c: * tests/test-posix_spawn-dup2-stdin.c: * tests/test-posix_spawn-dup2-stdout.c: * tests/test-posix_spawn-fchdir.c, tests/test-posix_spawn-open1.c: * tests/test-posix_spawn-open2.c, tests/test-quotearg-simple.c: * tests/test-quotearg.c, tests/test-readlink.c: * tests/test-readlinkat.c, tests/test-readtokens.c: * tests/test-rename.c, tests/test-renameat.c: * tests/test-renameatu.c, tests/test-rmdir.c, tests/test-round2.c: * tests/test-select.h, tests/test-spawn-pipe-child.c: * tests/test-spawn-pipe-main.c, tests/test-spawn-pipe-script.c: * tests/test-stack.c, tests/test-stat.c, tests/test-supersede.c: * tests/test-symlink.c, tests/test-symlinkat.c: * tests/test-system-quote-main.c: * tests/test-term-style-control-hello.c: * tests/test-term-style-control-yes.c, tests/test-timespec.c: * tests/test-trunc2.c, tests/test-truncf2.c, tests/test-unlink.c: * tests/test-unlinkat.c, tests/test-userspec.c, tests/test-utime.c: * tests/test-utimens.c, tests/test-utimensat.c: * tests/unictype/test-categ_byname.c: * tests/unigbrk/test-uc-is-grapheme-break.c: Don’t include stdbool.h. * modules/acl, modules/xgetcwd: Don’t depend on stdbool, as these modules don’t use bool. * modules/argp, modules/bitset, modules/diffseq, modules/file-has-acl: * modules/gen-uni-tables, modules/getrandom: * modules/hash-triple-simple, modules/posix_spawn-internal: * modules/strcasestr, modules/supersede, modules/system-quote: * modules/uniconv/base, modules/uniname/uniname, modules/utime: * modules/windows-timedrwlock: Depend on stdbool, as these modules use bool.
Paul Eggert f5ad0b6b 2022-09-10T11:41:31 stdbool: upgrade from C99 to C23 Change the stdbool module so that it now emulates C23. The module now assumes C99. The old module (which assumes C89 and emulates C99) is still available as stdbool-c99, but is deprecated. * tests/test-stdbool.c [TEST_STDBOOL_H]: Do not include stdbool.h. (WORKING_BOOL): Depend on HAVE_C_BOOL, not __STDC_VERSION__. * m4/c-bool.m4, modules/c-bool, modules/c-bool-tests: * tests/test-c-bool.c: New files.
Bruno Haible 33f5559c 2022-09-10T15:17:05 doc: Mention the stable branches. * doc/gnulib-readme.texi (High Quality): Add subsection 'Stable Branches'. (Writing reliable code): Extracted from 'High Quality'. Mention also -Wall and valgrind.
Karl Berry cee28058 2022-09-09T07:41:01 autoupate
Paul Eggert 20d6a055 2022-09-08T23:10:20 autoupdate
Bruno Haible bfcd9671 2022-09-04T13:26:19 nanosleep: Work around bug on newer 32-bit mingw. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Test for 32-bit mingw bug. * tests/test-nanosleep.c (main): Add another test. * doc/posix-functions/nanosleep.texi: Mention the mingw bug.
Bruno Haible 73ea8982 2022-09-04T04:48:31 fmal: Work around glibc 2.17 bug on x86_64. * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Test against bug seen on glibc 2.17 x86_64. * doc/posix-functions/fmal.texi: Update info.
Bruno Haible 28ee2afa 2022-09-03T22:12:42 stdnoreturn: Document relation to C++. * doc/posix-headers/stdnoreturn.texi: Document FreeBSD problem.
Bruno Haible 44134504 2022-09-03T20:57:14 sys_file: Document this module. * doc/glibc-headers/sys_file.texi: New file. * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
Bruno Haible 9873e7b5 2022-09-03T20:21:37 net_if: Add C++ tests. * tests/test-net_if-c++.cc: New file. * modules/net_if-c++-tests: New file. * modules/net_if-tests (Depends-on): Add net_if-c++-tests. * doc/posix-headers/net_if.texi: Fix documentation.
Paul Eggert 2eb92c36 2022-08-09T23:20:49 stdckdint-h: new module This supports draft C23 <stdckdint.h>. * doc/posix-headers/stdckdint.texi: * lib/stdckdint.in.h, modules/stdckdint: * modules/stdckdint-tests, tests/test-stdckdint.c: New files. * MODULES.html.sh, doc/gnulib.texi: Update for new module. * lib/intprops-internal.h: Include <stdckdint.h> if C23 and its macros would help and our substitute has not already started to be included. (_GL_INT_ADD_WRAPV, _GL_INT_SUBTRACT_WRAPV) (_GL_INT_MULTIPLY_WRAPV): Use ckd_add, ckd_sub, ckd_mul if they are defined and would help. * lib/intprops-internal.h, lib/intprops.h: Improve comments. The C23 restrictions on stdckdint macros already mostly applied to intprops.h, so these are clarifications, not further restrictions. * tests/test-intprops.c: If TEST_STDCKDINT is defined, include <stdckdint.h> instead of "intprops.h", and test it instead. (VERIFY) [TEST_STDCKDINT]: Ignore the arg in this case. (main) [TEST_STDCKDINT]: Skip tests irrelevant to stdckdint.h.
Bruno Haible c31c05e0 2022-07-31T01:07:08 doc: Update regarding bootstrap split. Reported by Paul Smith <psmith@gnu.org>. * doc/gnulib-tool.texi (gettextize and autopoint): Mention autogen.sh instead of bootstrap. (VCS Issues): Describe three alternative approaches. * doc/gnulib.texi (Developer tools): Mention also autopull.sh and autogen.sh. * top/bootstrap (usage): Fix copy&paste mistake.
Bruno Haible df336dc1 2022-07-17T12:55:05 doc: Update README. * doc/README: Fix stale links (reported by Tzvetelin Katchov). Clarify the relation to build-aux/gnu-web-doc-update.
Bruno Haible 5d2d12d7 2022-07-14T21:57:16 doc: Fix typo. Reported by Eric Gallager <egall@gwmail.gwu.edu> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00045.html>. * doc/posix-functions/mmap.texi: Add parenthesis.
Paul Eggert 5336cb27 2022-07-13T18:54:56 * doc/parse-datetime.texi: Tweak wording again.
Paul Eggert f65d00eb 2022-07-12T17:11:26 parse-datetime: improve doc for TZ="<-07>7" etc. * doc/parse-datetime.texi (Specifying time zone rules): Give examples of POSIX TZ strings that specify UTC offsets (Bug#56524).
Bruno Haible 5bb8bf18 2022-07-10T09:02:42 lib-symbol-visibility: Improve documentation. * doc/lib-symbol-visibility.texi: Tweak BUILDING_SHARED snippet.
Bruno Haible f629fb5e 2022-07-10T08:47:59 doc: Mark Minix as no longer tested. Rationale: No commits since 2018 at https://git.minix3.org/. Reported by Paul Eggert and Jim Meyering in <https://lists.gnu.org/archive/html/grep-devel/2022-07/msg00027.html>. * doc/gnulib-intro.texi (Supported Platforms): Mark Minix as no longer tested.
Simon Josefsson ad1f365d 2022-07-08T21:39:45 lib-symbol-visibility: Improve documentation. * doc/lib-symbol-visibility.texi: Include BUILDING_SHARED snippet suggested by Bruno Haible.
Bruno Haible fbca1dce 2022-07-03T16:50:12 lib-symbol-visibility: Improve documentation. Reported by Vivien Kraus <vivien@planete-kraus.eu> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00093.html>. * doc/lib-symbol-visibility.texi: List the platforms. Extend the LIBFOO_DLL_EXPORTED to work also with mingw and also with --disable-shared.
Bruno Haible 2f1bb591 2022-06-22T01:43:52 chmod: New module. * lib/sys_stat.in.h (chmod): Declare when GNULIB_CHMOD is 1. * lib/chmod.c: New file, based on lib/lchmod.c. * m4/chmod.m4: New file, based on m4/fchmodat.m4. * m4/sys_stat_h.m4 (gl_SYS_STAT_H): Test whether chmod is declared. (gl_SYS_STAT_H_REQUIRE_DEFAULTS): Initialize GNULIB_CHMOD. (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_CHMOD. * modules/sys_stat (Makefile.am): Substitute GNULIB_CHMOD, REPLACE_CHMOD. * modules/chmod: New file, based on modules/lchmod. * doc/posix-functions/chmod.texi: Mention the new module and the problems on IRIX and Windows.
Paul Eggert 8f71b269 2022-06-19T23:30:01 lchmod: port back to AIX 7.2 Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2022-06/msg00075.html * lib/lchmod.c: Include string.h, for strlen. (lchmod): Do not depend on HAVE_READLINK since we now depend on the readlink module. Check for AIX 7.2 bug. * m4/lchmod.m4 (gl_PREREQ_LCHMOD): Do not check for readlink since we now depend on the readlink module. * modules/lchmod (Depends-on): Depend on readlink.
Bruno Haible 2cd86e58 2022-06-12T16:52:30 doc: Update O_PATH platforms list. * doc/posix-headers/fcntl.texi: Update O_PATH platforms list.
Paul Eggert d35ebbb9 2022-06-11T16:59:12 fcntl: document O_PATH * doc/posix-headers/fcntl.texi: Mention O_PATH.
Bruno Haible 3dfcbb09 2022-06-05T19:21:43 doc: Add section to attract more people towards the GNU project. Inspired by a suggestion from José E. Marchesi <jemarch@gnu.org> on the gnu-prog-discuss mailing list. * doc/join-gnu.texi: New file. * doc/gnulib-readme.texi: Include it.
Bruno Haible 3fe1777d 2022-06-05T19:09:15 doc: Fix warnings about regex chapter structure (regression 2022-05-15). * doc/regex.texi (GNU Operators): Fix menu.
Karl Berry d88db228 2022-05-25T07:55:36 GNU Emacs Operator node deleted from regex.texi
Karl Berry f14c18d1 2022-05-20T07:55:14 autoupdate
Paul Eggert 9cde39f8 2022-05-17T15:47:35 parse-datetime: support 'J' military time zone Requested by Brian Inglis in: https://savannah.gnu.org/support/?110644 * lib/parse-datetime.y (parser_control): New member J_zones_seen. (item): New item 'J'. (military_table): Add 'J'. (parse_datetime_body): Set and use J_zones_seen. * tests/test-parse-datetime.c (main): Test "J".
Reuben Thomas 2e13b549 2022-05-11T11:47:00 doc: remove Emacs-specific documentation; match code * doc/regex.texi: Remove mention of both Emacs and non-Emacs syntax tables, as these are no longer supported by the code. Document the word character class (alnum + _). Add documentation for \s and \S. Replace mentions of #defining emacs with RE_NO_GNU_OPS (which takes effect in the opposite sense); merge the node “GNU Emacs Operators” into “GNU Operators”. For \` and \', refer to the “whole string” rather than the (Emacs) “buffer”.
Paul Eggert 34a93be8 2022-04-26T14:54:26 glob: port to NetBSD 9.2 Problem reported by Benno Schulenberg in: https://lists.gnu.org/r/bug-gnulib/2022-04/msg00052.html * doc/posix-functions/dirfd.texi: Document NetBSD 9.2 portability bugs. Remove an old common about errno that is no longer true of POSIX 2018. * lib/glob.c (glob_in_dir): Convert dirfd arg from void * to DIR * before passing it to dirfd.
Karl Berry a88d5ed6 2022-02-27T07:09:13 autoupdate
Paul Eggert 532b4c9f 2022-02-26T11:39:32 Document clang -fsanitize=undefined glitch * doc/gnulib-intro.texi (Unsupported Platforms): Document incompatibility of ‘clang -fsanitize=undefined’ with Gnulib, and how to work around it by also using ‘-fno-sanitize=pointer-overflow’.
Paul Eggert 7390ba50 2022-02-26T11:33:36 * doc/gnulib-readme.texi: Typo fix.
Benno Schulenberg 8a1e1616 2022-02-22T11:53:35 doc: add two missing closing parentheses * doc/regex.texi (Syntax Bits): Add missing closing parenthesis. * doc/regex.texi (BSD Regular Expression Compiling): Likewise.
Mike Frysinger d75ba1d3 2022-01-30T04:58:32 gendocs: update copyright footer year * doc/gendocs_template: Change 2020 to 2022.
Bruno Haible f51ec4f4 2022-01-30T00:48:44 doc: Clarify MSVC support. * doc/gnulib-intro.texi (Supported Platforms): Document that "debug" builds are unsupported.
Paul Eggert 69822de4 2022-01-27T11:36:00 alignalloc: work around AddressSanitizer bug * doc/posix-functions/aligned_alloc.texi (aligned_alloc): Mention AddressSanitizer bug. * lib/alignalloc.h (ALIGNALLOC_VIA_ALIGNED_ALLOC): Define to 0 if AddressSanitizer is in use. * tests/test-alignalloc.c (test_alignalloc): New function, which tests for non-aligned sizes too. (main): Use it. Don’t bother checking for alignments greater than 16 MiB, as this flummoxes AddressSanitizer and there seems little point to testing them.
Paul Eggert f693539b 2022-01-27T11:05:39 doc: use UTF-8 encoding * doc/gnulib.texi: Use ‘@documentencoding UTF-8’. Partly this is because there are a few UTF-8 characters in the .texi files and there seems little point nowadays to @U-ifiying them. And partly it is so that the .info output uses nicer UTF-8 characters, e.g., it single-quotes ‘like this’ instead of 'like this'.
Paul Eggert 0ac98783 2022-01-14T17:27:51 copy-file-range: work around Linux kernel bug This workaround is adapted from Coreutils. * lib/copy-file-range.c [__linux__ && HAVE_COPY_FILE_RANGE]: Include <sys/utsname.h>. (copy_file_range): Use a stub to replace the copy_file_range of Linux kernel versions 4.5 through 5.2. * lib/unistd.in.h (copy_file_range): * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): * modules/copy-file-range (configure.ac): * modules/unistd (unistd.h): Support replacement of copy_file_range. * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE): Define HAVE_COPY_FILE_RANGE if the system has copy_file_range, and on Linux check whether the system’s is known to work.
Bernhard Voelker 87e6634b 2022-01-04T00:16:50 license: fix GPLv3 texts to use a comma instead of semicolon. See: https://www.gnu.org/licenses/gpl-3.0.html#howto Run: $ git grep -l 'Foundation; either version 3' \ | xargs sed -i '/Foundation; either version 3/ s/n; e/n, e/' * All files using GPLv3: Adjust via the above command.
Paul Eggert eec12c00 2022-01-01T09:43:19 maint: run 'make update-copyright'
Paul Eggert d45d1618 2021-12-28T12:03:37 clock_getres: document portability issues better * doc/posix-functions/clock_getres.texi: * doc/posix-functions/timespec_getres.texi: Document problems with timestamp resolution.
Paul Eggert af4148ce 2021-12-28T11:39:17 timespec_getres: new module * lib/time.in.h (timespec_getres): New decl. * lib/timespec_getres.c, m4/timespec_getres.m4: * modules/timespec_getres, modules/timespec_getres-tests: * tests/test-timespec_getres.c: New files. * m4/time_h.m4 (gl_TIME_H_REQUIRE_DEFAULTS, gl_TIME_H_DEFAULTS): * modules/time (time.h): Support timespec_getres.
Paul Eggert 0f42dafa 2021-12-28T11:38:33 gettime-res: new module * lib/gettime-res.c, modules/gettime-res: New files. * lib/timespec.h (gettime_res): New decl. * m4/clock_time.m4 (gl_CLOCK_TIME): Also check for clock_getres. * m4/gettime.m4 (gl_GETTIME_RES): New macro.
Paul Eggert 17936033 2021-12-28T11:38:32 clock_gettime: improve doc
Bruno Haible 39685a37 2021-12-26T12:46:40 pselect: Fix compilation error in C++ mode on AIX 7. * lib/sys_select.in.h (pselect): Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS. * doc/posix-functions/pselect.texi: Mention the AIX problem.
Bruno Haible 2a0fb7f6 2021-12-24T16:29:58 doc: Small updates. * doc/glibc-functions/ptsname_r.texi: Update info regarding Mac OS X. * doc/posix-functions/getlogin_r.texi: Update info regarding FreeBSD.
Bruno Haible b2bd0a90 2021-12-15T19:18:31 Accommodate non-recursive Automake in a less hacky way. * gnulib-tool: New option --automake-subdir. (automake_subdir): New variable. (func_emit_initmacro_end): Add a second argument. Use it to prefix each object file name in *_LIBOBJS and *_LTLIBOBJS. (func_emit_shellvars_init): New function. (func_import): Add support for --automake-subdir. Invoke prefix-gnulib-mk. Update calls to func_emit_initmacro_end. Call func_emit_shellvars_init. (func_create_testdir): Update calls to func_emit_initmacro_end. Call func_emit_shellvars_init. * m4/gnulib-tool.m4 (gl_AUTOMAKE_SUBDIR): New macro. * m4/gnulib-common.m4 (gl_CONDITIONAL_HEADER): Use the value of the gl_source_base_prefix variable. * build-aux/prefix-gnulib-mk: New options --from-gnulib-tool, --prefix. (contents_of_file): Renamed from contents. (contents_of_stdin): New function. (process): Inline and remove function. * doc/gnulib-tool.texi (Non-recursive make): New section.
Paul Eggert db493d1c 2021-11-27T00:49:56 gettext-h: document GNULIB_NO_VLA * doc/gnulib-readme.texi (C99 features avoided): Document GNULIB_NO_VLA.
Paul Eggert 4db8db34 2021-11-15T15:08:25 lseek: port around macOS SEEK_DATA glitch Problem reported by Sudhip Nashi (Bug#51857). * doc/posix-functions/lseek.texi (lseek): Mention macOS SEEK_DATA issue. * lib/lseek.c (rpl_lseek): Work around macOS portability glitch. * m4/lseek.m4 (gl_FUNC_LSEEK): Replace lseek on Darwin. * modules/lseek (Depends-on): Depend on msvc-nothrow and fstat only if needed.
Paul Eggert 6e30ee22 2021-11-01T18:18:13 * doc/gnulib-intro.texi: Fix some ancient history.
Bruno Haible 3148eb10 2021-09-22T23:19:22 doc: Fix outdated statement about Spanish collation. Reported by Dietmar Schindler in <https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00095.html>. * doc/regex.texi (Collating Elements vs. Characters): Choose another example of a digraph with special collation.
Bruno Haible 25ce2d6b 2021-09-22T23:07:24 doc: Don't assume that the output format is TeX-based or info. Reported by Dietmar Schindler in <https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00095.html>. * doc/regex.texi (Collating Elements vs. Characters): Assume a texinfo version that groks UTF-8 encoded ISO-8859-1 characters.
Paul Eggert ec2b9f27 2021-09-12T23:46:19 stdint-tests: long long preproc on recent Sun C * tests/test-stdint.c: Test long long preprocessor constants on Oracle Developer Studio 12.6, where they should work.
Simon Josefsson 8b58d529 2021-09-04T10:26:26 doc: Improve help related to bootstrap script. * doc/gnulib-tool.texi (VCS Issues): Make title more positive, s/Issues/Integration/. Some more bootstrap-related hints, including changing suggested submodule path from .gnulib to gnulib as this seems to be more wide-spread.
Paul Eggert c81d4c18 2021-09-04T00:24:12 intprops: fix minor doc glitches * doc/intprops.texi (Integer Properties): Fix doc glitches.
Simon Josefsson 6b8032a3 2021-09-04T09:19:37 doc: Add suggestions on FDL texinfo usage. * doc/licenses-texi.texi (License Texinfo sources): Add texinfo examples.
Bernhard Voelker e2a4a093 2021-08-22T16:06:47 doc: fix order of stdlib functions * doc/gnulib.texi (node Glibc stdlib.h): Move mrand48_r after mkstemps. Reported by Benno Schulenberg.
Karl Berry a38c80d8 2021-08-18T07:01:44 autoupdate
Bruno Haible 8f4538a5 2021-08-14T22:07:33 doc: Update for glibc 2.34. * doc/posix-functions/timespec_getres.texi: New file. * doc/glibc-functions/_Fork.texi: New file. * doc/glibc-functions/closefrom.texi: New file. * doc/glibc-functions/dn_comp.texi: New file. * doc/glibc-functions/dn_skipname.texi: New file. * doc/glibc-functions/execveat.texi: New file. * doc/glibc-functions/posix_spawn_file_actions_addclosefrom_np.texi: New file. * doc/glibc-functions/res_dnok.texi: New file. * doc/glibc-functions/res_hnok.texi: New file. * doc/glibc-functions/res_mailok.texi: New file. * doc/glibc-functions/res_nmkquery.texi: New file. * doc/glibc-functions/res_nquery.texi: New file. * doc/glibc-functions/res_nquerydomain.texi: New file. * doc/glibc-functions/res_nsearch.texi: New file. * doc/glibc-functions/res_nsend.texi: New file. * doc/glibc-functions/res_ownok.texi: New file. * doc/glibc-functions/res_send.texi: New file. * doc/gnulib.texi: Include them. * doc/glibc-functions/inet_neta.texi: Remove file. * doc/glibc-functions/malloc_get_state.texi: Remove file. * doc/glibc-functions/malloc_set_state.texi: Remove file. * doc/glibc-functions/pthread_mutex_consistent_np.texi: Remove file. * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: Remove file. * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: Remove file. * doc/glibc-functions/pthread_yield.texi: Remove file. * doc/gnulib.texi: Don't include them. * doc/glibc-headers/resolv.texi: Update. * doc/pastposix-functions/h_errno.texi: Likewise. * doc/posix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise.
Paul Eggert ad28cce8 2021-07-31T11:59:55 doc: C2X -> C2x
Paul Eggert 786bb6fb 2021-07-30T12:56:24 gnulib-common: update for C2x 2020-12-11 draft Use blessed-by-draft-standard way to test for [[__deprecated__]] etc.; this is supported by GCC 11 and the fallback code should work fine with GCC 10 and earlier, clang, etc. * NEWS, doc/attribute.texi: Mention that DEPRECATED etc. must now come first. * lib/fflush.c, lib/unistr.in.h: Do not include unused-parameter.h. All uses of _GL_UNUSED_PARAMETER (after parameters) replaced by _GL_ATTRIBUTE_MAYBE_UNUSED (before parameters). Although perhaps we need a shorter name for _GL_ATTRIBUTE_MAYBE_UNUSED, that should probably be in gnulib-common.m4, due to the ubiquity of this issue. And perhaps the snippet/unused-parameter module should be marked obsolete since it's no longer compatible with its old use. * m4/gnulib-common.m4 (gl_COMMON_BODY): Define the macro _GL_HAS_C_ATTRIBUTE, and use it instead of __STDC_VERSION__ in deciding whether to use C2x attributes like [[__deprecated__]]. (_GL_ATTRIBUTE_MAYBE_UNUSED): Fall back on _GL_ATTRIBUTE_UNUSED. (_GL_ATTRIBUTE_UNUSED): New macro, for labels where C2x [[maybe_unused]] do not work. (_GL_UNUSED, _GL_UNUSED_LABEL): Use it. * modules/fflush, modules/unistr/base (Depends-on): Remove snippet/unused-parameter. * modules/fflush (selinux/selinux.h, selinux/context.h) (selinux/label.h): Do not use $(UNUSED_PARAMETER). Remove useless chmod a-x.
Paul Eggert 8e4d6bf2 2021-07-30T12:56:24 limits-h: add BOOL_MAX, BOOL_WIDTH * doc/posix-headers/limits.texi (limits.h): Document them. * lib/limits.in.h: Also define CHAR_WIDTH etc. if C2x. (BOOL_MAX, BOOL_WIDTH): New macros, from C2x. * m4/limits-h.m4 (gl_LIMITS_H): Also check BOOL_WIDTH.
Paul Eggert 7dd25620 2021-07-06T15:21:44 year2038: Add --disable-year2038 option Also, document this stuff better. Suggested by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2021-07/msg00011.html * doc/year2038.texi: Document --disable-year2038. * m4/year2038.m4 (gl_YEAR2038_BODY): Support ‘./configure --disable-year2038’ to disable 64-bit time_t when that is not the default. Arg is now either empty or nonempty (not a shell command) and is evaluated at m4 expansion time instead of at runtime; all callers changed.
Paul Eggert 02e7acf2 2021-07-06T15:08:05 doc: clarify which module fixes 32-bit time_t * doc/posix-headers/time.texi: Make it clear that the 32-bit time_t problem is addressed by the year2038 module, not by the time module.
Karl Berry 901694b9 2021-07-02T08:13:11 autoupdate
Paul Eggert dc09dc08 2021-07-01T19:29:57 year2038: support glibc 2.34 _TIME_BITS=64 In glibc 2.34 on Linux kernels where time_t is traditionally 32-bit, defining _FILE_OFFSET_BITS=64 and _TIME_BITS=64 makes time_t 64-bit. Apps must define both macros. Gnulib applications that use either the largefile or the year2038 modules will want this behavior; largefile because it deals with the off_t and ino_t components of struct stat already, and so should also deal with time_t. * NEWS, doc/largefile.texi, doc/posix-headers/time.texi: Mention this. * m4/largefile.m4: Override two macros even in Autoconf 2.70 and later. (_AC_SYS_LARGEFILE_MACRO_VALUE): #undef $1 before #defining it, in case some other Gnulib macro has #defined it. (AC_SYS_LARGEFILE): Use AS_IF and AS_CASE to propagate AC_REQUIREs. Invoke gl_YEAR2038_BODY if we need to set _FILE_OFFSET_BITS=64. * m4/year2038.m4 (gl_YEAR2038_TEST_INCLUDES): New macro. (gl_YEAR2038_BODY): New macro, with gl_YEAR2038’s old body; this macro is designed to be used directly instead of being AC_REQUIREd. It takes an argument specifying whether 64-bit is required. Set _TIME_BITS=64 if this makes a difference in time_t width when setting _FILE_OFFSET_BITS=64. Do not warn about 32-bit time_t more than once. * modules/largefile (Files): Add year2038.m4. (Depends-on): Require gl_YEAR2038_EARLY.
Karl Berry a64bdf9f 2021-06-26T07:42:34 autoupdate
Bruno Haible f3553bde 2021-06-04T22:27:10 gnulib-tool: Stop doing license notice replacements. * gnulib-tool: Don't document --more-symlinks and --more-hardlinks any more. (do_copyrights): Remove variable. (func_import): Don't perform license updates on imported files any more. * pygnulib/GLInfo.py: Don't document --more-symlinks any more. * doc/gnulib-intro.texi (Copyright): Document the new situation. * doc/gnulib.texi (Module description): Likewise. * NEWS: Mention the change.
Paul Eggert 9c4b4b08 2021-05-20T11:24:52 fstatat: doc improvement * doc/posix-functions/fstatat.texi (fstatat): Mention AT_EMPTY_PATH when talking about empty strings.
Simon Josefsson 93be8dd0 2021-05-14T19:23:23 valgrind-tests: Doc fix and introduce AM_VALGRINDFLAGS. * doc/valgrind-tests.texi (Using valgrind automatically): Clarify when the parallel vs serial test harness is used, suggested by Bruno Haible <bruno@clisp.org>. * m4/valgrind-tests.m4: Add VALGRIND_PROGRAM and AM_VALGRINDFLAGS.