[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Gavin D. Smith |
Date: |
Wed, 11 Dec 2024 12:52:50 -0500 (EST) |
branch: master
commit 308fbe24d5d3da5fdc7550681b22ae544b083a66
Author: Gavin Smith <gavinsmith0123@gmail.com>
AuthorDate: Wed Dec 11 17:08:48 2024 +0000
* (top-level), tp/Texinfo/XS: run gnulib-tool --add-import
---
ChangeLog | 4 +
gnulib/lib/Makefile.am | 22 +-
gnulib/lib/calloc.c | 15 +-
gnulib/lib/error.c | 8 +-
gnulib/lib/getopt.c | 4 +-
gnulib/lib/gettext.h | 32 +-
gnulib/lib/glthread/lock.c | 2 +-
gnulib/lib/ialloc.h | 37 +-
gnulib/lib/localcharset.c | 2 +-
gnulib/lib/malloc.c | 11 +-
gnulib/lib/malloca.c | 4 +-
gnulib/lib/realloc.c | 74 ++-
gnulib/lib/reallocarray.c | 12 -
gnulib/lib/regex_internal.c | 3 +-
gnulib/lib/regex_internal.h | 10 +-
gnulib/lib/{malloc.c => stdlib.c} | 36 +-
gnulib/lib/stdlib.in.h | 43 +-
gnulib/lib/strerror.c | 6 +
gnulib/lib/unistd.in.h | 5 +-
gnulib/lib/vasnprintf.c | 6 +
gnulib/lib/wchar.in.h | 17 +-
gnulib/lib/xalloc-die.c | 2 +-
gnulib/lib/xmalloc.c | 4 +-
gnulib/m4/assert_h.m4 | 71 ++-
gnulib/m4/build-to-host.m4 | 274 +++++++++
gnulib/m4/c-bool.m4 | 17 +-
gnulib/m4/calloc.m4 | 65 +-
gnulib/m4/eealloc.m4 | 33 -
gnulib/m4/getopt.m4 | 2 +-
gnulib/m4/gnulib-common.m4 | 4 +-
gnulib/m4/gnulib-comp.m4 | 24 +-
gnulib/m4/gnulib-i18n.m4 | 61 ++
gnulib/m4/largefile.m4 | 2 +-
gnulib/m4/malloc.m4 | 132 ++--
gnulib/m4/malloca.m4 | 4 +-
gnulib/m4/realloc.m4 | 105 ++--
gnulib/m4/reallocarray.m4 | 13 +-
gnulib/m4/regex.m4 | 18 +-
gnulib/m4/stdalign.m4 | 4 +-
gnulib/m4/stdlib_h.m4 | 4 +-
gnulib/m4/strdup.m4 | 9 +-
gnulib/m4/strndup.m4 | 32 +-
gnulib/m4/wchar_h.m4 | 3 +-
gnulib/po/Makefile.in.in | 49 +-
gnulib/po/POTFILES.in | 1 +
gnulib/po/es.po | 640 +++++++++++++++-----
gnulib/po/ka.po | 126 +++-
gnulib/po/nl.po | 632 +++++++++++++++----
gnulib/po/pt_BR.po | 654 +++++++++++++++-----
gnulib/po/ro.po | 672 ++++++++++++++++-----
gnulib/po/uk.po | 628 ++++++++++++++-----
tp/Texinfo/XS/gnulib/lib/Makefile.am | 24 +-
tp/Texinfo/XS/gnulib/lib/gettext.h | 32 +-
tp/Texinfo/XS/gnulib/lib/malloc.c | 11 +-
tp/Texinfo/XS/gnulib/lib/malloca.c | 4 +-
tp/Texinfo/XS/gnulib/lib/realloc.c | 74 ---
.../malloc.c => tp/Texinfo/XS/gnulib/lib/stdlib.c | 36 +-
tp/Texinfo/XS/gnulib/lib/stdlib.in.h | 43 +-
tp/Texinfo/XS/gnulib/lib/unistd.in.h | 5 +-
tp/Texinfo/XS/gnulib/lib/vasnprintf.c | 6 +
tp/Texinfo/XS/gnulib/lib/wchar.in.h | 17 +-
tp/Texinfo/XS/gnulib/m4/assert_h.m4 | 71 ++-
tp/Texinfo/XS/gnulib/m4/c-bool.m4 | 17 +-
tp/Texinfo/XS/gnulib/m4/eealloc.m4 | 33 -
tp/Texinfo/XS/gnulib/m4/gnulib-common.m4 | 4 +-
tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4 | 16 +-
tp/Texinfo/XS/gnulib/m4/largefile.m4 | 2 +-
tp/Texinfo/XS/gnulib/m4/malloc.m4 | 132 ++--
tp/Texinfo/XS/gnulib/m4/malloca.m4 | 4 +-
tp/Texinfo/XS/gnulib/m4/realloc.m4 | 92 ---
tp/Texinfo/XS/gnulib/m4/stdlib_h.m4 | 4 +-
tp/Texinfo/XS/gnulib/m4/strndup.m4 | 32 +-
tp/Texinfo/XS/gnulib/m4/wchar_h.m4 | 3 +-
73 files changed, 3743 insertions(+), 1557 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 062b5b14ef..c0ab661bb1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-12-11 Gavin Smith <gavinsmith0123@gmail.com>
+
+ * (top-level), tp/Texinfo/XS: run gnulib-tool --add-import
+
2024-12-11 Gavin Smith <gavinsmith0123@gmail.com>
* tp/tests/formatting/list-of-tests (cpp_lines):
diff --git a/gnulib/lib/Makefile.am b/gnulib/lib/Makefile.am
index 78576c098e..01d182ac3c 100644
--- a/gnulib/lib/Makefile.am
+++ b/gnulib/lib/Makefile.am
@@ -1406,21 +1406,11 @@ endif
endif
## end gnulib module pthread-once
-## begin gnulib module realloc-gnu
-
-
-EXTRA_DIST += realloc.c
-
-EXTRA_libgnu_a_SOURCES += realloc.c
-
-## end gnulib module realloc-gnu
-
## begin gnulib module realloc-posix
-
-EXTRA_DIST += realloc.c
-
-EXTRA_libgnu_a_SOURCES += realloc.c
+if GL_COND_OBJ_REALLOC_POSIX
+libgnu_a_SOURCES += realloc.c
+endif
## end gnulib module realloc-posix
@@ -1867,9 +1857,8 @@ EXTRA_DIST += stdio.in.h
## begin gnulib module stdlib
BUILT_SOURCES += stdlib.h
+libgnu_a_SOURCES += stdlib.c
-# We need the following in order to create <stdlib.h> when the system
-# doesn't have one that works with the given compiler.
stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
$(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(gl_V_at)$(SED_HEADER_STDOUT) \
@@ -1908,7 +1897,6 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status
$(CXXDEFS_H) \
-e 's/@''GNULIB_RAND''@/$(GL_GNULIB_RAND)/g' \
-e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \
-e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \
- -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \
-e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \
-e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \
-e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \
@@ -2010,7 +1998,6 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status
$(CXXDEFS_H) \
-e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \
-e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
-e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
- -e
's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \
-e
's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g'
\
-e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
@@ -3339,6 +3326,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status
$(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
-e 's|@''REPLACE_WCSCMP''@|$(REPLACE_WCSCMP)|g' \
+ -e 's|@''REPLACE_WCSNCAT''@|$(REPLACE_WCSNCAT)|g' \
-e 's|@''REPLACE_WCSNCMP''@|$(REPLACE_WCSNCMP)|g' \
-e 's|@''REPLACE_WCSSTR''@|$(REPLACE_WCSSTR)|g' \
-e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \
diff --git a/gnulib/lib/calloc.c b/gnulib/lib/calloc.c
index 81dfd3efb5..451c2195a7 100644
--- a/gnulib/lib/calloc.c
+++ b/gnulib/lib/calloc.c
@@ -17,17 +17,15 @@
/* written by Jim Meyering and Bruno Haible */
+/* Ensure that we call the system's calloc() below. */
+#define _GL_USE_STDLIB_ALLOC 1
#include <config.h>
/* Specification. */
#include <stdlib.h>
#include <errno.h>
-
-#include "xalloc-oversized.h"
-
-/* Call the system's calloc below. */
-#undef calloc
+#include <stdckdint.h>
/* Allocate and zero-fill an NxS-byte block of memory from the heap,
even if N or S is zero. */
@@ -35,14 +33,19 @@
void *
rpl_calloc (size_t n, size_t s)
{
+#if !HAVE_MALLOC_0_NONNULL
if (n == 0 || s == 0)
n = s = 1;
+#endif
- if (xalloc_oversized (n, s))
+#if !HAVE_MALLOC_PTRDIFF
+ ptrdiff_t signed_n;
+ if (ckd_mul (&signed_n, n, s))
{
errno = ENOMEM;
return NULL;
}
+#endif
void *result = calloc (n, s);
diff --git a/gnulib/lib/error.c b/gnulib/lib/error.c
index 6816805326..1f263f1ea5 100644
--- a/gnulib/lib/error.c
+++ b/gnulib/lib/error.c
@@ -38,7 +38,7 @@
#if !_LIBC && ENABLE_NLS
# include "gettext.h"
-# define _(msgid) gettext (msgid)
+# define _(msgid) dgettext ("gnulib", msgid)
#endif
#ifdef _LIBC
@@ -165,8 +165,8 @@ flush_stdout (void)
#if !_LIBC
int stdout_fd;
-# if GNULIB_FREOPEN_SAFER
- /* Use of gnulib's freopen-safer module normally ensures that
+# if GNULIB_FREOPEN_SAFER || GNULIB_XSTDOPEN
+ /* Gnulib's freopen-safer and/or xstdopen modules normally ensure that
fileno (stdout) == 1
whenever stdout is open. */
stdout_fd = STDOUT_FILENO;
@@ -197,7 +197,7 @@ print_errno_message (int errnum)
if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
s = errbuf;
else
- s = 0;
+ s = NULL;
# endif
#else
s = strerror (errnum);
diff --git a/gnulib/lib/getopt.c b/gnulib/lib/getopt.c
index ea2d1a529c..47800c1b35 100644
--- a/gnulib/lib/getopt.c
+++ b/gnulib/lib/getopt.c
@@ -42,7 +42,7 @@
# define funlockfile(fp) _IO_funlockfile (fp)
#else
# include "gettext.h"
-# define _(msgid) gettext (msgid)
+# define _(msgid) dgettext ("gnulib", msgid)
/* When used standalone, flockfile and funlockfile might not be
available. */
# if (!defined _POSIX_THREAD_SAFE_FUNCTIONS \
@@ -732,7 +732,7 @@ _getopt_internal (int argc, char **argv, const char
*optstring,
NAME (int argc, char *const *argv, const char *optstring) \
{ \
return _getopt_internal (argc, (char **)argv, optstring, \
- 0, 0, 0, POSIXLY_CORRECT); \
+ NULL, NULL, 0, POSIXLY_CORRECT); \
}
#ifdef _LIBC
diff --git a/gnulib/lib/gettext.h b/gnulib/lib/gettext.h
index 39d5ae4daa..bf0aa41e23 100644
--- a/gnulib/lib/gettext.h
+++ b/gnulib/lib/gettext.h
@@ -1,6 +1,5 @@
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2024 Free Software
- Foundation, Inc.
+ Copyright (C) 1995-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,6 +17,7 @@
#ifndef _LIBGETTEXT_H
#define _LIBGETTEXT_H 1
+
/* NLS can be disabled through the configure --disable-nls option
or through "#define ENABLE NLS 0" before including this file. */
#if defined ENABLE_NLS && ENABLE_NLS
@@ -45,19 +45,19 @@
as well because people using "gettext.h" will not include <libintl.h>,
and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
is OK. */
-#if defined(__sun)
-# include <locale.h>
-#endif
+# if defined(__sun)
+# include <locale.h>
+# endif
/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
<libintl.h>, which chokes if dcgettext is defined as a macro. So include
it now, to make later inclusions of <libintl.h> a NOP. */
-#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
-# include <cstdlib>
-# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H
-# include <libintl.h>
+# if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
+# include <cstdlib>
+# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H
+# include <libintl.h>
+# endif
# endif
-#endif
/* Disabled NLS.
The casts to 'const char *' serve the purpose of producing warnings
@@ -93,12 +93,14 @@
#endif
+
/* Prefer gnulib's setlocale override over libintl's setlocale override. */
#ifdef GNULIB_defined_setlocale
# undef setlocale
# define setlocale rpl_setlocale
#endif
+
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
translation is done at a different place in the code.
@@ -108,6 +110,7 @@
initializer for static 'char[]' or 'const char[]' variables. */
#define gettext_noop(String) String
+
/* The separator between msgctxt and msgid in a .mo file. */
#define GETTEXT_CONTEXT_GLUE "\004"
@@ -115,6 +118,9 @@
MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be
short and rarely need to change.
The letter 'p' stands for 'particular' or 'special'. */
+
+#include <locale.h> /* for LC_MESSAGES */
+
#ifdef DEFAULT_TEXT_DOMAIN
# define pgettext(Msgctxt, Msgid) \
pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid,
Msgid, LC_MESSAGES)
@@ -178,11 +184,12 @@ npgettext_aux (const char *domain,
return translation;
}
+
/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID
can be arbitrary expressions. But for string literals these macros are
less efficient than those above. */
-#include <string.h>
+#include <string.h> /* for memcpy */
/* GNULIB_NO_VLA can be defined to disable use of VLAs even if supported.
This relates to the -Wvla and -Wvla-larger-than warnings, enabled in
@@ -199,7 +206,7 @@ npgettext_aux (const char *domain,
#endif
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
-#include <stdlib.h>
+# include <stdlib.h> /* for malloc, free */
#endif
#define pgettext_expr(Msgctxt, Msgid) \
@@ -297,4 +304,5 @@ dcnpgettext_expr (const char *domain,
return (n == 1 ? msgid : msgid_plural);
}
+
#endif /* _LIBGETTEXT_H */
diff --git a/gnulib/lib/glthread/lock.c b/gnulib/lib/glthread/lock.c
index 40b2a5ee4f..13573f8b2d 100644
--- a/gnulib/lib/glthread/lock.c
+++ b/gnulib/lib/glthread/lock.c
@@ -269,7 +269,7 @@ glthread_rwlock_init_for_glibc (pthread_rwlock_t *lock)
/* Note: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP is the only value that
causes the writer to be preferred. PTHREAD_RWLOCK_PREFER_WRITER_NP does
not
do this; see
- http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
*/
+
https://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html */
err = pthread_rwlockattr_setkind_np (&attributes,
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
if (err == 0)
diff --git a/gnulib/lib/ialloc.h b/gnulib/lib/ialloc.h
index 2aa94ae7ca..71f9068efb 100644
--- a/gnulib/lib/ialloc.h
+++ b/gnulib/lib/ialloc.h
@@ -29,9 +29,6 @@
#include <errno.h>
#include <stdint.h>
#include <stdlib.h>
-#if defined __CHERI_PURE_CAPABILITY__
-# include <cheri.h>
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef IALLOC_INLINE
@@ -68,19 +65,7 @@ IALLOC_INLINE
void *
irealloc (void *p, idx_t s)
{
- if (s <= SIZE_MAX)
- {
- /* Work around GNU realloc glitch by treating a zero size as if it
- were 1, so that returning NULL is equivalent to failing. */
- p = realloc (p, s | !s);
-#if defined __CHERI_PURE_CAPABILITY__
- if (p != NULL)
- p = cheri_bounds_set (p, s);
-#endif
- return p;
- }
- else
- return _gl_alloc_nomem ();
+ return s <= SIZE_MAX ? realloc (p, s) : _gl_alloc_nomem ();
}
/* icalloc (num, size) is like calloc (num, size).
@@ -112,23 +97,9 @@ icalloc (idx_t n, idx_t s)
IALLOC_INLINE void *
ireallocarray (void *p, idx_t n, idx_t s)
{
- if (n <= SIZE_MAX && s <= SIZE_MAX)
- {
- /* Work around GNU reallocarray glitch by treating a zero size as if
- it were 1, so that returning NULL is equivalent to failing. */
- size_t nx = n;
- size_t sx = s;
- if (n == 0 || s == 0)
- nx = sx = 1;
- p = reallocarray (p, nx, sx);
-#if defined __CHERI_PURE_CAPABILITY__
- if (p != NULL && (n == 0 || s == 0))
- p = cheri_bounds_set (p, 0);
-#endif
- return p;
- }
- else
- return _gl_alloc_nomem ();
+ return (n <= SIZE_MAX && s <= SIZE_MAX
+ ? reallocarray (p, n, s)
+ : _gl_alloc_nomem ());
}
#ifdef __cplusplus
diff --git a/gnulib/lib/localcharset.c b/gnulib/lib/localcharset.c
index 93c4baa471..bd3367477d 100644
--- a/gnulib/lib/localcharset.c
+++ b/gnulib/lib/localcharset.c
@@ -380,7 +380,7 @@ static const struct table_entry alias_table[] =
# if defined OS2 /* OS/2 */
/* The list of encodings is taken from "List of OS/2 Codepages"
by Alex Taylor:
- <http://altsan.org/os2/toolkits/uls/index.html#codepages>.
+ <https://altsan.org/os2/toolkits/uls/index.html#codepages>.
See also "__convcp() of kLIBC":
<https://github.com/bitwiseworks/libc/blob/master/src/emx/src/lib/locale/__convcp.c>.
*/
{ "CP1004", "CP1252" },
diff --git a/gnulib/lib/malloc.c b/gnulib/lib/malloc.c
index 2a7867a1d1..045ff82c1a 100644
--- a/gnulib/lib/malloc.c
+++ b/gnulib/lib/malloc.c
@@ -17,28 +17,33 @@
/* written by Jim Meyering and Bruno Haible */
+/* Ensure that we call the system's malloc() below. */
#define _GL_USE_STDLIB_ALLOC 1
#include <config.h>
#include <stdlib.h>
#include <errno.h>
-
-#include "xalloc-oversized.h"
+#include <stdckdint.h>
/* Allocate an N-byte block of memory from the heap, even if N is 0. */
void *
rpl_malloc (size_t n)
{
+#if !HAVE_MALLOC_0_NONNULL
if (n == 0)
n = 1;
+#endif
- if (xalloc_oversized (n, 1))
+#if !HAVE_MALLOC_PTRDIFF
+ ptrdiff_t signed_n;
+ if (ckd_add (&signed_n, n, 0))
{
errno = ENOMEM;
return NULL;
}
+#endif
void *result = malloc (n);
diff --git a/gnulib/lib/malloca.c b/gnulib/lib/malloca.c
index e75c72df84..2219459490 100644
--- a/gnulib/lib/malloca.c
+++ b/gnulib/lib/malloca.c
@@ -93,7 +93,7 @@ mmalloca (size_t n)
/* Out of memory. */
return NULL;
#else
-# if !MALLOC_0_IS_NONNULL
+# if !HAVE_MALLOC_0_NONNULL
if (n == 0)
n = 1;
# endif
@@ -118,7 +118,7 @@ freea (void *p)
char *cp = p;
small_t *sp = p;
# if defined __CHERI_PURE_CAPABILITY__
- void *mem = sp[-1];
+ void *mem = (void *) sp[-1];
# else
void *mem = cp - sp[-1];
# endif
diff --git a/gnulib/lib/realloc.c b/gnulib/lib/realloc.c
index 5cfe3bc747..58044745f4 100644
--- a/gnulib/lib/realloc.c
+++ b/gnulib/lib/realloc.c
@@ -18,17 +18,21 @@
/* written by Jim Meyering and Bruno Haible */
+/* Ensure that we call the system's realloc() below. */
+#define _GL_USE_STDLIB_ALLOC 1
#include <config.h>
+#define _GL_REALLOC_INLINE _GL_EXTERN_INLINE
#include <stdlib.h>
#include <errno.h>
+#include <stdckdint.h>
-#include "xalloc-oversized.h"
+#ifdef __CHERI_PURE_CAPABILITY__
+# include <cheri.h>
+#endif
-/* Call the system's realloc below. This file does not define
- _GL_USE_STDLIB_ALLOC because it needs Gnulib's malloc if present. */
-#undef realloc
+#ifndef _GL_INLINE_RPL_REALLOC
/* Change the size of an allocated block of memory P to N bytes,
with error checking. If P is NULL, use malloc. Otherwise if N is zero,
@@ -37,38 +41,70 @@
void *
rpl_realloc (void *p, size_t n)
{
- if (p == NULL)
- return malloc (n);
+ size_t n1 = n;
if (n == 0)
{
-#if NEED_SANITIZED_REALLOC
- /* ISO C 23 § 7.24.3.7.(3) says that this case is undefined behaviour.
- Let the programmer know that it occurred.
+# if NEED_SANITIZED_REALLOC
+ /* When P is non-null, ISO C23 §7.24.3.7.(3) says realloc (P, 0) has
+ undefined behavior even though C17 and earlier partially defined
+ the behavior. Let the programmer know.
When the undefined-behaviour sanitizers report this case, i.e. when
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117233> and
<https://github.com/llvm/llvm-project/issues/113065>
have been closed and new releases of GCC and clang have been made,
- we can remove this code here. */
- abort ();
-#else
- free (p);
- return NULL;
-#endif
+ we can revisit this code. */
+ if (p != NULL)
+ abort ();
+# endif
+
+ /* realloc (NULL, 0) acts like glibc malloc (0), i.e., like malloc (1)
+ except the caller cannot dereference any non-null return.
+
+ realloc (P, 0) with non-null P is a messier situation.
+ As mentioned above, C23 says behavior is undefined.
+ POSIX.1-2024 extends C17 to say realloc (P, 0)
+ either fails by setting errno and returning a null pointer,
+ or succeeds by freeing P and then either:
+ (a) setting errno=EINVAL and returning a null pointer; or
+ (b) acting like a successful malloc (0).
+ glibc 1 through 2.1 realloc acted like (b),
+ which conforms to C17, to C23 and to POSIX.1-2024.
+ glibc 2.1.1+ realloc acts like (a) except it does not set errno;
+ this conforms to C17 and to C23 but not to POSIX.1-2024.
+ Quite possibly future versions of POSIX will change,
+ due either to C23 or to (a)'s semantics being messy.
+ Act like (b), as that's easy, matches GNU, BSD and V7 malloc,
+ matches BSD and V7 realloc, and requires no extra code at
+ caller sites. */
+
+# if !HAVE_REALLOC_0_NONNULL
+ n1 = 1;
+# endif
}
- if (xalloc_oversized (n, 1))
+# if !HAVE_MALLOC_PTRDIFF
+ ptrdiff_t signed_n;
+ if (ckd_add (&signed_n, n, 0))
{
errno = ENOMEM;
return NULL;
}
+# endif
- void *result = realloc (p, n);
+ void *result = realloc (p, n1);
-#if !HAVE_MALLOC_POSIX
+# if !HAVE_MALLOC_POSIX
if (result == NULL)
errno = ENOMEM;
-#endif
+# endif
+
+# ifdef __CHERI_PURE_CAPABILITY__
+ if (result != NULL)
+ result = cheri_bounds_set (result, n);
+# endif
return result;
}
+
+#endif
diff --git a/gnulib/lib/reallocarray.c b/gnulib/lib/reallocarray.c
index e0377d0870..b151d46bfb 100644
--- a/gnulib/lib/reallocarray.c
+++ b/gnulib/lib/reallocarray.c
@@ -33,18 +33,6 @@ reallocarray (void *ptr, size_t nmemb, size_t size)
return NULL;
}
- /* Avoid calling realloc (ptr, 0), since that is undefined behaviour in
- ISO C 23 and since the GNU libc behaviour may possibly change. */
- if (nbytes == 0)
- {
- void *new_ptr = malloc (1);
- if (new_ptr == NULL)
- /* errno is set here. */
- return NULL;
- free (ptr);
- return new_ptr;
- }
-
/* Call realloc, setting errno to ENOMEM on failure. */
return realloc (ptr, nbytes);
}
diff --git a/gnulib/lib/regex_internal.c b/gnulib/lib/regex_internal.c
index 8cd096ebcf..6ccf701f26 100644
--- a/gnulib/lib/regex_internal.c
+++ b/gnulib/lib/regex_internal.c
@@ -937,8 +937,7 @@ re_node_set_alloc (re_node_set *set, Idx size)
set->alloc = size;
set->nelem = 0;
set->elems = re_malloc (Idx, size);
- if (__glibc_unlikely (set->elems == NULL)
- && (MALLOC_0_IS_NONNULL || size != 0))
+ if (__glibc_unlikely (set->elems == NULL))
return REG_ESPACE;
return REG_NOERROR;
}
diff --git a/gnulib/lib/regex_internal.h b/gnulib/lib/regex_internal.h
index 6165cb17c7..02c2ca6896 100644
--- a/gnulib/lib/regex_internal.h
+++ b/gnulib/lib/regex_internal.h
@@ -100,10 +100,12 @@
/* This is for other GNU distributions with internationalized messages. */
#if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
# include <libintl.h>
+# undef gettext
# ifdef _LIBC
-# undef gettext
# define gettext(msgid) \
__dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES)
+# else
+# define gettext(msgid) dgettext ("gnulib", msgid)
# endif
#else
# undef gettext
@@ -436,12 +438,6 @@ typedef struct re_dfa_t re_dfa_t;
#define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx))
#define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx))
-#ifdef _LIBC
-# define MALLOC_0_IS_NONNULL 1
-#elif !defined MALLOC_0_IS_NONNULL
-# define MALLOC_0_IS_NONNULL 0
-#endif
-
#ifndef MAX
# define MAX(a,b) ((a) < (b) ? (b) : (a))
#endif
diff --git a/gnulib/lib/malloc.c b/gnulib/lib/stdlib.c
similarity index 54%
copy from gnulib/lib/malloc.c
copy to gnulib/lib/stdlib.c
index 2a7867a1d1..521d64627d 100644
--- a/gnulib/lib/malloc.c
+++ b/gnulib/lib/stdlib.c
@@ -1,6 +1,6 @@
-/* malloc() function that is glibc compatible.
+/* Inline functions for <stdlib.h>.
- Copyright (C) 1997-1998, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+ Copyright (C) 2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -15,37 +15,7 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-/* written by Jim Meyering and Bruno Haible */
-
-#define _GL_USE_STDLIB_ALLOC 1
#include <config.h>
+#define _GL_STDLIB_INLINE _GL_EXTERN_INLINE
#include <stdlib.h>
-
-#include <errno.h>
-
-#include "xalloc-oversized.h"
-
-/* Allocate an N-byte block of memory from the heap, even if N is 0. */
-
-void *
-rpl_malloc (size_t n)
-{
- if (n == 0)
- n = 1;
-
- if (xalloc_oversized (n, 1))
- {
- errno = ENOMEM;
- return NULL;
- }
-
- void *result = malloc (n);
-
-#if !HAVE_MALLOC_POSIX
- if (result == NULL)
- errno = ENOMEM;
-#endif
-
- return result;
-}
diff --git a/gnulib/lib/stdlib.in.h b/gnulib/lib/stdlib.in.h
index 6667f426ad..adbef69131 100644
--- a/gnulib/lib/stdlib.in.h
+++ b/gnulib/lib/stdlib.in.h
@@ -54,7 +54,7 @@
/* This file uses _Noreturn, _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE,
- GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+ _GL_INLINE_HEADER_BEGIN, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
@@ -130,6 +130,14 @@ struct random_data
# include <string>
#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_STDLIB_INLINE
+# define _GL_STDLIB_INLINE _GL_INLINE
+#endif
+#ifndef _GL_REALLOC_INLINE
+# define _GL_REALLOC_INLINE _GL_INLINE
+#endif
+
/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
that can be freed by passing them as the Ith argument to the
function F. */
@@ -283,8 +291,8 @@ _GL_CXXALIASWARN (free);
#elif defined GNULIB_POSIXCHECK
# undef free
/* Assume free is always declared. */
-_GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - "
- "use gnulib module free for portability");
+_GL_WARN_ON_USE (free, "free is not POSIX:2024 compliant everywhere - "
+ "use gnulib module free-posix for portability");
#endif
@@ -367,9 +375,10 @@ _GL_WARN_ON_USE (atoll, "atoll is unportable - "
#endif
#if @GNULIB_CALLOC_POSIX@
-# if (@GNULIB_CALLOC_POSIX@ && @REPLACE_CALLOC_FOR_CALLOC_POSIX@) \
+# if @REPLACE_CALLOC_FOR_CALLOC_POSIX@ \
|| (@GNULIB_CALLOC_GNU@ && @REPLACE_CALLOC_FOR_CALLOC_GNU@)
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+ || _GL_USE_STDLIB_ALLOC)
# undef calloc
# define calloc rpl_calloc
# endif
@@ -681,7 +690,7 @@ _GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
by never specifying a zero size), so it does not need malloc or
realloc to be redefined. */
#if @GNULIB_MALLOC_POSIX@
-# if (@GNULIB_MALLOC_POSIX@ && @REPLACE_MALLOC_FOR_MALLOC_POSIX@) \
+# if @REPLACE_MALLOC_FOR_MALLOC_POSIX@ \
|| (@GNULIB_MALLOC_GNU@ && @REPLACE_MALLOC_FOR_MALLOC_GNU@)
# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
|| _GL_USE_STDLIB_ALLOC)
@@ -740,11 +749,12 @@ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant
everywhere - "
/* Return maximum number of bytes of a multibyte character. */
#if @REPLACE_MB_CUR_MAX@
# if !GNULIB_defined_MB_CUR_MAX
-static inline
-int gl_MB_CUR_MAX (void)
+_GL_STDLIB_INLINE int
+gl_MB_CUR_MAX (void)
{
/* Turn the value 3 to the value 4, as needed for the UTF-8 encoding. */
- return MB_CUR_MAX + (MB_CUR_MAX == 3);
+ int gl_mb_cur_max = MB_CUR_MAX;
+ return gl_mb_cur_max == 3 ? 4 : gl_mb_cur_max;
}
# undef MB_CUR_MAX
# define MB_CUR_MAX gl_MB_CUR_MAX ()
@@ -1454,16 +1464,25 @@ _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable
- "
#if @GNULIB_REALLOC_POSIX@
-# if (@GNULIB_REALLOC_POSIX@ && @REPLACE_REALLOC_FOR_REALLOC_POSIX@) \
- || (@GNULIB_REALLOC_GNU@ && @REPLACE_REALLOC_FOR_REALLOC_GNU@)
+# if @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+# if @REPLACE_REALLOC_FOR_REALLOC_POSIX@ == 2
+# define _GL_INLINE_RPL_REALLOC 1
+_GL_REALLOC_INLINE void *
+rpl_realloc (void *ptr, size_t size)
+{
+ return realloc (ptr, size ? size : 1);
+}
+# endif
# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
|| _GL_USE_STDLIB_ALLOC)
# undef realloc
# define realloc rpl_realloc
# endif
+# if !defined _GL_INLINE_RPL_REALLOC
_GL_FUNCDECL_RPL (realloc, void *,
(void *ptr, size_t size),
_GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_NODISCARD);
+# endif
_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
# else
# if __GNUC__ >= 11 && !defined __clang__
@@ -1968,6 +1987,8 @@ _GL_CXXALIASWARN (wctomb);
#endif
+_GL_INLINE_HEADER_END
+
#endif /* _@GUARD_PREFIX@_STDLIB_H */
#endif /* _@GUARD_PREFIX@_STDLIB_H */
#endif
diff --git a/gnulib/lib/strerror.c b/gnulib/lib/strerror.c
index 6b760ff45c..3c0b4cdd60 100644
--- a/gnulib/lib/strerror.c
+++ b/gnulib/lib/strerror.c
@@ -31,6 +31,12 @@
/* Use the system functions, not the gnulib overrides in this file. */
#undef sprintf
+/* macOS 12's "warning: 'sprintf' is deprecated" is pointless,
+ as sprintf is used safely here. */
+#if defined __APPLE__ && defined __MACH__ && _GL_GNUC_PREREQ (4, 2)
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
char *
strerror (int n)
#undef strerror
diff --git a/gnulib/lib/unistd.in.h b/gnulib/lib/unistd.in.h
index 20b1356fd3..ceb3cb48f1 100644
--- a/gnulib/lib/unistd.in.h
+++ b/gnulib/lib/unistd.in.h
@@ -181,6 +181,9 @@ _GL_INLINE_HEADER_BEGIN
#ifndef _GL_UNISTD_INLINE
# define _GL_UNISTD_INLINE _GL_INLINE
#endif
+#ifndef _GL_GETPAGESIZE_INLINE
+# define _GL_GETPAGESIZE_INLINE _GL_INLINE
+#endif
/* Hide some function declarations from <winsock2.h>. */
@@ -1478,7 +1481,7 @@ _GL_FUNCDECL_SYS (getpagesize, int, (void), );
# define getpagesize() _gl_getpagesize ()
# else
# if !GNULIB_defined_getpagesize_function
-_GL_UNISTD_INLINE int
+_GL_GETPAGESIZE_INLINE int
getpagesize ()
{
return _gl_getpagesize ();
diff --git a/gnulib/lib/vasnprintf.c b/gnulib/lib/vasnprintf.c
index 6ae95ca5dd..c06ae019a5 100644
--- a/gnulib/lib/vasnprintf.c
+++ b/gnulib/lib/vasnprintf.c
@@ -217,6 +217,12 @@
/* Here we need to call the native sprintf, not rpl_sprintf. */
#undef sprintf
+/* macOS 12's "warning: 'sprintf' is deprecated" is pointless,
+ as sprintf is used safely here. */
+#if defined __APPLE__ && defined __MACH__ && _GL_GNUC_PREREQ (4, 2)
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
/* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized"
warnings in this file. Use -Dlint to suppress them. */
#if defined GCC_LINT || defined lint
diff --git a/gnulib/lib/wchar.in.h b/gnulib/lib/wchar.in.h
index 54354559ef..3c6beb0712 100644
--- a/gnulib/lib/wchar.in.h
+++ b/gnulib/lib/wchar.in.h
@@ -1149,14 +1149,27 @@ _GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
/* Append no more than N wide characters of SRC onto DEST. */
#if @GNULIB_WCSNCAT@
-# if !@HAVE_WCSNCAT@
+# if @REPLACE_WCSNCAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcsncat
+# define wcsncat rpl_wcsncat
+# endif
+_GL_FUNCDECL_RPL (wcsncat, wchar_t *,
+ (wchar_t *restrict dest, const wchar_t *restrict src,
+ size_t n), );
+_GL_CXXALIAS_RPL (wcsncat, wchar_t *,
+ (wchar_t *restrict dest, const wchar_t *restrict src,
+ size_t n));
+# else
+# if !@HAVE_WCSNCAT@
_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
(wchar_t *restrict dest, const wchar_t *restrict src,
size_t n), );
-# endif
+# endif
_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
(wchar_t *restrict dest, const wchar_t *restrict src,
size_t n));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (wcsncat);
# endif
diff --git a/gnulib/lib/xalloc-die.c b/gnulib/lib/xalloc-die.c
index c053c7a8db..b9b7cfd7a6 100644
--- a/gnulib/lib/xalloc-die.c
+++ b/gnulib/lib/xalloc-die.c
@@ -26,7 +26,7 @@
#include "exitfail.h"
#include "gettext.h"
-#define _(msgid) gettext (msgid)
+#define _(msgid) dgettext ("gnulib", msgid)
void
xalloc_die (void)
diff --git a/gnulib/lib/xmalloc.c b/gnulib/lib/xmalloc.c
index 5befdab77c..403072fb77 100644
--- a/gnulib/lib/xmalloc.c
+++ b/gnulib/lib/xmalloc.c
@@ -64,7 +64,7 @@ void *
xrealloc (void *p, size_t s)
{
void *r = realloc (p, s);
- if (!r && (!p || s))
+ if (!r)
xalloc_die ();
return r;
}
@@ -82,7 +82,7 @@ void *
xreallocarray (void *p, size_t n, size_t s)
{
void *r = reallocarray (p, n, s);
- if (!r && (!p || (n && s)))
+ if (!r)
xalloc_die ();
return r;
}
diff --git a/gnulib/m4/assert_h.m4 b/gnulib/m4/assert_h.m4
index e1ee068f07..02f24db535 100644
--- a/gnulib/m4/assert_h.m4
+++ b/gnulib/m4/assert_h.m4
@@ -1,5 +1,5 @@
# assert_h.m4
-# serial 1
+# serial 4
dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -13,30 +13,31 @@ AC_DEFUN([gl_ASSERT_H],
AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert],
[gl_saved_CFLAGS=$CFLAGS
for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do
- AS_CASE([$gl_working],
- [*assert.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_ASSERT_H"])
-
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#if defined __clang__ && __STDC_VERSION__ < 202311
- #pragma clang diagnostic error "-Wc2x-extensions"
- #pragma clang diagnostic error "-Wc++1z-extensions"
- #endif
- #ifdef INCLUDE_ASSERT_H
- #include <assert.h>
- #endif
- static_assert (2 + 2 == 4, "arithmetic does not work");
- static_assert (2 + 2 == 4);
- ]],
- [[
- static_assert (sizeof (char) == 1, "sizeof does not work");
- static_assert (sizeof (char) == 1);
- ]])],
- [gl_cv_static_assert=$gl_working],
- [gl_cv_static_assert=no])
- CFLAGS=$gl_saved_CFLAGS
- test "$gl_cv_static_assert" != no && break
- done])
+ AS_CASE([$gl_working],
+ [*assert.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_ASSERT_H"])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#if defined __clang__ && __STDC_VERSION__ < 202311
+ #pragma clang diagnostic error "-Wc2x-extensions"
+ #pragma clang diagnostic error "-Wc++1z-extensions"
+ #endif
+ #ifdef INCLUDE_ASSERT_H
+ #include <assert.h>
+ #endif
+ static_assert (2 + 2 == 4, "arithmetic does not work");
+ static_assert (2 + 2 == 4);
+ ]],
+ [[
+ static_assert (sizeof (char) == 1, "sizeof does not work");
+ static_assert (sizeof (char) == 1);
+ ]])
+ ],
+ [gl_cv_static_assert=$gl_working],
+ [gl_cv_static_assert=no])
+ CFLAGS=$gl_saved_CFLAGS
+ test "$gl_cv_static_assert" != no && break
+ done
+ ])
GL_GENERATE_ASSERT_H=false
AS_CASE([$gl_cv_static_assert],
@@ -49,6 +50,10 @@ AC_DEFUN([gl_ASSERT_H],
dnl The "zz" puts this toward config.h's end, to avoid potential
dnl collisions with other definitions.
+ dnl Hardcode the known configuration results for GCC and clang, so that
+ dnl a configuration made with the C compiler works also with the C++ compiler
+ dnl and vice versa.
+ dnl The seemingly redundant parentheses are necessary for MSVC 14.
dnl #undef assert so that programs are not tempted to use it without
dnl specifically including assert.h.
dnl #undef __ASSERT_H__ so that on IRIX, when programs later include
@@ -56,7 +61,16 @@ AC_DEFUN([gl_ASSERT_H],
dnl Break the #undef_s apart with a comment so that 'configure' does
dnl not comment them out.
AH_VERBATIM([zzstatic_assert],
-[#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
+[#if (!(defined __clang__ \
+ ? (defined __cplusplus \
+ ? __cplusplus >= 201703L \
+ : __STDC_VERSION__ >= 202000L && __clang_major__ >= 16) \
+ : (defined __GNUC__ \
+ ? (defined __cplusplus \
+ ? __cplusplus >= 201103L && __GNUG__ >= 6 \
+ : __STDC_VERSION__ >= 202000L && __GNUC__ >= 13) \
+ : defined HAVE_C_STATIC_ASSERT)) \
+ && !defined assert \
&& (!defined __cplusplus \
|| (__cpp_static_assert < 201411 \
&& __GNUG__ < 6 && __clang_major__ < 6)))
@@ -66,8 +80,9 @@ AC_DEFUN([gl_ASSERT_H],
#undef/**/__ASSERT_H__
#endif
/* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
- We need it also to be invocable with a single argument. */
- #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+ We need it also to be invocable with a single argument.
+ Haiku 2022 <assert.h> does not define static_assert at all. */
+ #if (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
#undef/**/static_assert
#define static_assert _Static_assert
#endif
diff --git a/gnulib/m4/build-to-host.m4 b/gnulib/m4/build-to-host.m4
new file mode 100644
index 0000000000..d13649e0c5
--- /dev/null
+++ b/gnulib/m4/build-to-host.m4
@@ -0,0 +1,274 @@
+# build-to-host.m4
+# serial 5
+dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl This file is offered as-is, without any warranty.
+
+dnl Written by Bruno Haible.
+
+dnl When the build environment ($build_os) is different from the target runtime
+dnl environment ($host_os), file names may need to be converted from the build
+dnl environment syntax to the target runtime environment syntax. This is
+dnl because the Makefiles are executed (mostly) by build environment tools and
+dnl therefore expect file names in build environment syntax, whereas the
runtime
+dnl expects file names in target runtime environment syntax.
+dnl
+dnl For example, if $build_os = cygwin and $host_os = mingw32, filenames need
+dnl be converted from Cygwin syntax to native Windows syntax:
+dnl /cygdrive/c/foo/bar -> C:\foo\bar
+dnl /usr/local/share -> C:\cygwin64\usr\local\share
+dnl
+dnl gl_BUILD_TO_HOST([somedir])
+dnl This macro takes as input an AC_SUBSTed variable 'somedir', which must
+dnl already have its final value assigned, and produces two additional
+dnl AC_SUBSTed variables 'somedir_c' and 'somedir_c_make', that designate the
+dnl same file name value, just in different syntax:
+dnl - somedir_c is the file name in target runtime environment syntax,
+dnl as a C string (starting and ending with a double-quote,
+dnl and with escaped backslashes and double-quotes in
+dnl between).
+dnl - somedir_c_make is the same thing, escaped for use in a Makefile.
+
+AC_DEFUN([gl_BUILD_TO_HOST],
+[
+ AC_REQUIRE([AC_CANONICAL_BUILD])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([gl_BUILD_TO_HOST_INIT])
+
+ dnl Define somedir_c.
+ gl_final_[$1]="$[$1]"
+ dnl Translate it from build syntax to host syntax.
+ case "$build_os" in
+ cygwin*)
+ case "$host_os" in
+ mingw* | windows*)
+ gl_final_[$1]=`cygpath -w "$gl_final_[$1]"` ;;
+ esac
+ ;;
+ esac
+ dnl Convert it to C string syntax.
+ [$1]_c=`printf '%s\n' "$gl_final_[$1]" | sed -e "$gl_sed_double_backslashes"
-e "$gl_sed_escape_doublequotes" | tr -d "$gl_tr_cr"`
+ [$1]_c='"'"$[$1]_c"'"'
+ AC_SUBST([$1_c])
+
+ dnl Define somedir_c_make.
+ [$1]_c_make=`printf '%s\n' "$[$1]_c" | sed -e "$gl_sed_escape_for_make_1" -e
"$gl_sed_escape_for_make_2" | tr -d "$gl_tr_cr"`
+ dnl Use the substituted somedir variable, when possible, so that the user
+ dnl may adjust somedir a posteriori when there are no special characters.
+ if test "$[$1]_c_make" = '\"'"${gl_final_[$1]}"'\"'; then
+ [$1]_c_make='\"$([$1])\"'
+ fi
+ AC_SUBST([$1_c_make])
+])
+
+dnl Some initializations for gl_BUILD_TO_HOST.
+AC_DEFUN([gl_BUILD_TO_HOST_INIT],
+[
+ gl_sed_double_backslashes='s/\\/\\\\/g'
+ gl_sed_escape_doublequotes='s/"/\\"/g'
+changequote(,)dnl
+ gl_sed_escape_for_make_1="s,\\([ \"&'();<>\\\\\`|]\\),\\\\\\1,g"
+changequote([,])dnl
+ gl_sed_escape_for_make_2='s,\$,\\$$,g'
+ dnl Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+ dnl does not understand '\r'.
+ case `echo r | tr -d '\r'` in
+ '') gl_tr_cr='\015' ;;
+ *) gl_tr_cr='\r' ;;
+ esac
+])
+
+
+dnl The following macros are convenience invocations of gl_BUILD_TO_HOST
+dnl for some of the variables that are defined by Autoconf.
+dnl To do so for _all_ the possible variables, use the module 'configmake'.
+
+dnl Defines bindir_c and bindir_c_make.
+AC_DEFUN_ONCE([gl_BUILD_TO_HOST_BINDIR],
+[
+ dnl Find the final value of bindir.
+ gl_saved_prefix="${prefix}"
+ gl_saved_exec_prefix="${exec_prefix}"
+ gl_saved_bindir="${bindir}"
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ exec_prefix='${prefix}'
+ fi
+ eval exec_prefix="$exec_prefix"
+ eval bindir="$bindir"
+ gl_BUILD_TO_HOST([bindir])
+ bindir="${gl_saved_bindir}"
+ exec_prefix="${gl_saved_exec_prefix}"
+ prefix="${gl_saved_prefix}"
+])
+
+dnl Defines datadir_c and datadir_c_make,
+dnl where datadir = $(datarootdir)
+AC_DEFUN_ONCE([gl_BUILD_TO_HOST_DATADIR],
+[
+ dnl Find the final value of datadir.
+ gl_saved_prefix="${prefix}"
+ gl_saved_datarootdir="${datarootdir}"
+ gl_saved_datadir="${datadir}"
+ dnl Unfortunately, prefix gets only finally determined at the end of
+ dnl configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ eval datarootdir="$datarootdir"
+ eval datadir="$datadir"
+ gl_BUILD_TO_HOST([datadir])
+ datadir="${gl_saved_datadir}"
+ datarootdir="${gl_saved_datarootdir}"
+ prefix="${gl_saved_prefix}"
+])
+
+dnl Defines libdir_c and libdir_c_make.
+AC_DEFUN_ONCE([gl_BUILD_TO_HOST_LIBDIR],
+[
+ dnl Find the final value of libdir.
+ gl_saved_prefix="${prefix}"
+ gl_saved_exec_prefix="${exec_prefix}"
+ gl_saved_libdir="${libdir}"
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ exec_prefix='${prefix}'
+ fi
+ eval exec_prefix="$exec_prefix"
+ eval libdir="$libdir"
+ gl_BUILD_TO_HOST([libdir])
+ libdir="${gl_saved_libdir}"
+ exec_prefix="${gl_saved_exec_prefix}"
+ prefix="${gl_saved_prefix}"
+])
+
+dnl Defines libexecdir_c and libexecdir_c_make.
+AC_DEFUN_ONCE([gl_BUILD_TO_HOST_LIBEXECDIR],
+[
+ dnl Find the final value of libexecdir.
+ gl_saved_prefix="${prefix}"
+ gl_saved_exec_prefix="${exec_prefix}"
+ gl_saved_libexecdir="${libexecdir}"
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ exec_prefix='${prefix}'
+ fi
+ eval exec_prefix="$exec_prefix"
+ eval libexecdir="$libexecdir"
+ gl_BUILD_TO_HOST([libexecdir])
+ libexecdir="${gl_saved_libexecdir}"
+ exec_prefix="${gl_saved_exec_prefix}"
+ prefix="${gl_saved_prefix}"
+])
+
+dnl Defines localedir_c and localedir_c_make.
+AC_DEFUN_ONCE([gl_BUILD_TO_HOST_LOCALEDIR],
+[
+ dnl Find the final value of localedir.
+ gl_saved_prefix="${prefix}"
+ gl_saved_datarootdir="${datarootdir}"
+ gl_saved_localedir="${localedir}"
+ dnl Unfortunately, prefix gets only finally determined at the end of
+ dnl configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ eval datarootdir="$datarootdir"
+ eval localedir="$localedir"
+ gl_BUILD_TO_HOST([localedir])
+ localedir="${gl_saved_localedir}"
+ datarootdir="${gl_saved_datarootdir}"
+ prefix="${gl_saved_prefix}"
+])
+
+dnl Defines pkgdatadir_c and pkgdatadir_c_make,
+dnl where pkgdatadir = $(datadir)/$(PACKAGE)
+AC_DEFUN_ONCE([gl_BUILD_TO_HOST_PKGDATADIR],
+[
+ dnl Find the final value of pkgdatadir.
+ gl_saved_prefix="${prefix}"
+ gl_saved_datarootdir="${datarootdir}"
+ gl_saved_datadir="${datadir}"
+ gl_saved_pkgdatadir="${pkgdatadir}"
+ dnl Unfortunately, prefix gets only finally determined at the end of
+ dnl configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ eval datarootdir="$datarootdir"
+ eval datadir="$datadir"
+ eval pkgdatadir="$pkgdatadir"
+ gl_BUILD_TO_HOST([pkgdatadir])
+ pkgdatadir="${gl_saved_pkgdatadir}"
+ datadir="${gl_saved_datadir}"
+ datarootdir="${gl_saved_datarootdir}"
+ prefix="${gl_saved_prefix}"
+])
+
+dnl Defines pkglibdir_c and pkglibdir_c_make,
+dnl where pkglibdir = $(libdir)/$(PACKAGE)
+AC_DEFUN_ONCE([gl_BUILD_TO_HOST_PKGLIBDIR],
+[
+ dnl Find the final value of pkglibdir.
+ gl_saved_prefix="${prefix}"
+ gl_saved_exec_prefix="${exec_prefix}"
+ gl_saved_libdir="${libdir}"
+ gl_saved_pkglibdir="${pkglibdir}"
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ exec_prefix='${prefix}'
+ fi
+ eval exec_prefix="$exec_prefix"
+ eval libdir="$libdir"
+ eval pkglibdir="$pkglibdir"
+ gl_BUILD_TO_HOST([pkglibdir])
+ pkglibdir="${gl_saved_pkglibdir}"
+ libdir="${gl_saved_libdir}"
+ exec_prefix="${gl_saved_exec_prefix}"
+ prefix="${gl_saved_prefix}"
+])
+
+dnl Defines pkglibexecdir_c and pkglibexecdir_c_make,
+dnl where pkglibexecdir = $(libexecdir)/$(PACKAGE)
+AC_DEFUN_ONCE([gl_BUILD_TO_HOST_PKGLIBEXECDIR],
+[
+ dnl Find the final value of pkglibexecdir.
+ gl_saved_prefix="${prefix}"
+ gl_saved_exec_prefix="${exec_prefix}"
+ gl_saved_libexecdir="${libexecdir}"
+ gl_saved_pkglibexecdir="${pkglibexecdir}"
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ exec_prefix='${prefix}'
+ fi
+ eval exec_prefix="$exec_prefix"
+ eval libexecdir="$libexecdir"
+ eval pkglibexecdir="$pkglibexecdir"
+ gl_BUILD_TO_HOST([pkglibexecdir])
+ pkglibexecdir="${gl_saved_pkglibexecdir}"
+ libexecdir="${gl_saved_libexecdir}"
+ exec_prefix="${gl_saved_exec_prefix}"
+ prefix="${gl_saved_prefix}"
+])
diff --git a/gnulib/m4/c-bool.m4 b/gnulib/m4/c-bool.m4
index 13aeae90d5..fa792b12a1 100644
--- a/gnulib/m4/c-bool.m4
+++ b/gnulib/m4/c-bool.m4
@@ -1,5 +1,5 @@
# c-bool.m4
-# serial 1
+# serial 3
dnl Copyright 2022-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -30,12 +30,23 @@ AC_DEFUN([gl_C_BOOL],
dnl The "zz" puts this toward config.h's end, to avoid potential
dnl collisions with other definitions.
dnl If 'bool', 'true' and 'false' do not work, arrange for them to work.
- dnl In C, this means including <stdbool.h> if it is not already included.
+ dnl Hardcode the known configuration results for GCC and clang, so that
+ dnl a configuration made with the C compiler works also with the C++ compiler
+ dnl and vice versa.
+ dnl The seemingly redundant parentheses are necessary for MSVC 14.
+ dnl "Arrange for them to work", in C, means including <stdbool.h> if it is
+ dnl not already included.
dnl However, if the preprocessor mistakenly treats 'true' as 0,
dnl define it to a bool expression equal to 1; this is needed in
dnl Sun C++ 5.11 (Oracle Solaris Studio 12.2, 2010) and older.
AH_VERBATIM([zzbool],
-[#ifndef HAVE_C_BOOL
+[#if !(defined __cplusplus \
+ ? 1 \
+ : (defined __clang__ \
+ ? __STDC_VERSION__ >= 202000L && __clang_major__ >= 15 \
+ : (defined __GNUC__ \
+ ? __STDC_VERSION__ >= 202000L && __GNUC__ >= 13 \
+ : defined HAVE_C_BOOL)))
# if !defined __cplusplus && !defined __bool_true_false_are_defined
# if HAVE_STDBOOL_H
# include <stdbool.h>
diff --git a/gnulib/m4/calloc.m4 b/gnulib/m4/calloc.m4
index 77b0d9fd91..a4a006e3d9 100644
--- a/gnulib/m4/calloc.m4
+++ b/gnulib/m4/calloc.m4
@@ -1,5 +1,5 @@
# calloc.m4
-# serial 34
+# serial 36
dnl Copyright (C) 2004-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -13,42 +13,35 @@ dnl This file is offered as-is, without any warranty.
# If so, define HAVE_CALLOC. Otherwise, define calloc to rpl_calloc
# and arrange to use a calloc wrapper function that does work in that case.
-# _AC_FUNC_CALLOC_IF([IF-WORKS], [IF-NOT])
-# -------------------------------------
+# gl_FUNC_CALLOC_IF([IF-WORKS], [IF-NOT])
+# ---------------------------------------
# If calloc is compatible with GNU calloc, run IF-WORKS, otherwise, IF-NOT.
-AC_DEFUN([_AC_FUNC_CALLOC_IF],
+AC_DEFUN([gl_FUNC_CALLOC_IF],
[
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_CACHE_CHECK([whether calloc (0, n) and calloc (n, 0) return nonnull],
- [ac_cv_func_calloc_0_nonnull],
- [if test $cross_compiling != yes; then
- ac_cv_func_calloc_0_nonnull=yes
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [AC_INCLUDES_DEFAULT],
- [[int result = 0;
- char * volatile p = calloc (0, 0);
- if (!p)
- result |= 1;
- free (p);
- return result;
- ]])],
- [],
- [ac_cv_func_calloc_0_nonnull=no])
- else
- case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl* | midipix*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # Guess yes on native Windows.
- mingw* | windows*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *)
ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;;
- esac
- fi
- ])
- AS_CASE([$ac_cv_func_calloc_0_nonnull], [*yes], [$1], [$2])
+ [gl_cv_func_calloc_0_nonnull],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdlib.h>
+ /* Use pcalloc to test; "volatile" prevents the compiler
+ from optimizing the calloc call away. */
+ void *(*volatile pcalloc) (size_t, size_t) = calloc;]],
+ [[void *p = pcalloc (0, 0);
+ int result = !p;
+ free (p);
+ return result;]])],
+ [gl_cv_func_calloc_0_nonnull=yes],
+ [gl_cv_func_calloc_0_nonnull=no],
+ [AS_CASE([$host_os],
+ [# Guess yes on platforms where we know the result.
+ *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
+ | gnu* | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin* | mingw* | windows* | msys*],
+ [gl_cv_func_calloc_0_nonnull="guessing yes"],
+ [# If we don't know, obey --enable-cross-guesses.
+ gl_cv_func_calloc_0_nonnull="$gl_cross_guess_normal"])])])
+ AS_CASE([$gl_cv_func_calloc_0_nonnull], [*yes], [$1], [$2])
])
@@ -66,7 +59,7 @@ AC_DEFUN([gl_FUNC_CALLOC_GNU],
REPLACE_CALLOC_FOR_CALLOC_GNU="$REPLACE_CALLOC_FOR_CALLOC_POSIX"
if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 0; then
- _AC_FUNC_CALLOC_IF([], [REPLACE_CALLOC_FOR_CALLOC_GNU=1])
+ gl_FUNC_CALLOC_IF([], [REPLACE_CALLOC_FOR_CALLOC_GNU=1])
fi
])# gl_FUNC_CALLOC_GNU
@@ -79,9 +72,7 @@ AC_DEFUN([gl_FUNC_CALLOC_POSIX],
[
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
- if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then
- REPLACE_CALLOC_FOR_CALLOC_POSIX=1
- fi
+ REPLACE_CALLOC_FOR_CALLOC_POSIX=$REPLACE_MALLOC_FOR_MALLOC_POSIX
dnl Although in theory we should also test for size_t overflow,
dnl in practice testing for ptrdiff_t overflow suffices
dnl since PTRDIFF_MAX <= SIZE_MAX on all known Gnulib porting targets.
diff --git a/gnulib/m4/eealloc.m4 b/gnulib/m4/eealloc.m4
deleted file mode 100644
index 2081ac9fb0..0000000000
--- a/gnulib/m4/eealloc.m4
+++ /dev/null
@@ -1,33 +0,0 @@
-# eealloc.m4
-# serial 3
-dnl Copyright (C) 2003, 2009-2024 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl This file is offered as-is, without any warranty.
-
-AC_DEFUN([gl_EEALLOC],
-[
- AC_REQUIRE([gl_EEMALLOC])
- AC_REQUIRE([gl_EEREALLOC])
-])
-
-AC_DEFUN([gl_EEMALLOC],
-[
- _AC_FUNC_MALLOC_IF(
- [gl_cv_func_malloc_0_nonnull=1],
- [gl_cv_func_malloc_0_nonnull=0])
- AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], [$gl_cv_func_malloc_0_nonnull],
- [If malloc(0) is != NULL, define this to 1. Otherwise define this
- to 0.])
-])
-
-AC_DEFUN([gl_EEREALLOC],
-[
- _AC_FUNC_REALLOC_IF(
- [gl_cv_func_realloc_0_nonnull=1],
- [gl_cv_func_realloc_0_nonnull=0])
- AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], [$gl_cv_func_realloc_0_nonnull],
- [If realloc(NULL,0) is != NULL, define this to 1. Otherwise define this
- to 0.])
-])
diff --git a/gnulib/m4/getopt.m4 b/gnulib/m4/getopt.m4
index dd64c02623..a5451c7e7c 100644
--- a/gnulib/m4/getopt.m4
+++ b/gnulib/m4/getopt.m4
@@ -78,7 +78,7 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
fi
dnl POSIX 2008 does not specify leading '+' behavior, but see
- dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on
+ dnl https://austingroupbugs.net/view.php?id=191 for a recommendation on
dnl the next version of POSIX. For now, we only guarantee leading '+'
dnl behavior with getopt-gnu.
if test -z "$gl_replace_getopt"; then
diff --git a/gnulib/m4/gnulib-common.m4 b/gnulib/m4/gnulib-common.m4
index 6981dcae81..0a5cbd55ec 100644
--- a/gnulib/m4/gnulib-common.m4
+++ b/gnulib/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
# gnulib-common.m4
-# serial 105
+# serial 106
dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -852,7 +852,7 @@ AC_DEFUN([gl_COMMON_BODY], [
# if __clang_major__ >= 15
# define _GL_ATTRIBUTE_CAPABILITY_TYPE(concept) \
__attribute__ ((__capability__ (concept)))
-#else
+# else
# define _GL_ATTRIBUTE_CAPABILITY_TYPE(concept)
# endif
#endif
diff --git a/gnulib/m4/gnulib-comp.m4 b/gnulib/m4/gnulib-comp.m4
index 0705094b8a..965466340c 100644
--- a/gnulib/m4/gnulib-comp.m4
+++ b/gnulib/m4/gnulib-comp.m4
@@ -99,6 +99,7 @@ AC_DEFUN([gl_EARLY],
# Code from module getrandom:
# Code from module gettext-h:
# Code from module glibc-internal/dynarray:
+ # Code from module gnulib-i18n:
# Code from module hard-locale:
# Code from module havelib:
# Code from module ialloc:
@@ -157,7 +158,6 @@ AC_DEFUN([gl_EARLY],
# Code from module pthread-h:
gl_ANYTHREADLIB_EARLY
# Code from module pthread-once:
- # Code from module realloc-gnu:
# Code from module realloc-posix:
# Code from module reallocarray:
# Code from module regex:
@@ -414,6 +414,7 @@ AC_DEFUN([gl_INIT],
gl_UNISTD_MODULE_INDICATOR([getopt-posix])
AC_SUBST([LIBINTL])
AC_SUBST([LTLIBINTL])
+ GNULIB_I18N
AC_DEFUN([gl_HAVE_MODULE_HAVELIB])
AM_ICONV
m4_ifdef([gl_ICONV_MODULE_INDICATOR],
@@ -507,15 +508,10 @@ AC_DEFUN([gl_INIT],
])
gl_STDLIB_MODULE_INDICATOR([mkstemp])
gl_MULTIARCH
- gl_FUNC_REALLOC_GNU
- if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 1; then
- AC_LIBOBJ([realloc])
- fi
- gl_STDLIB_MODULE_INDICATOR([realloc-gnu])
gl_FUNC_REALLOC_POSIX
- if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then
- AC_LIBOBJ([realloc])
- fi
+ gl_FUNC_REALLOC_0_NONNULL
+ gl_CONDITIONAL([GL_COND_OBJ_REALLOC_POSIX],
+ [test $REPLACE_REALLOC_FOR_REALLOC_POSIX != 0])
gl_STDLIB_MODULE_INDICATOR([realloc-posix])
gl_FUNC_REALLOCARRAY
gl_CONDITIONAL([GL_COND_OBJ_REALLOCARRAY],
@@ -1714,12 +1710,6 @@ AC_DEFUN([gl_INIT],
if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then
func_gl_gnulib_m4code_tempname
fi
- if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 1; then
- func_gl_gnulib_m4code_ef07dc4b3077c11ea9cef586db4e5955
- fi
- if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then
- func_gl_gnulib_m4code_ef07dc4b3077c11ea9cef586db4e5955
- fi
if test $ac_use_included_regex = yes; then
func_gl_gnulib_m4code_attribute
fi
@@ -2203,6 +2193,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/stdio-read.c
lib/stdio-write.c
lib/stdio.in.h
+ lib/stdlib.c
lib/stdlib.in.h
lib/stpcpy.c
lib/str-kmp.h
@@ -2303,6 +2294,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/argz.m4
m4/assert_h.m4
m4/btowc.m4
+ m4/build-to-host.m4
m4/builtin-expect.m4
m4/c-bool.m4
m4/c32rtomb.m4
@@ -2312,7 +2304,6 @@ AC_DEFUN([gl_FILE_LIST], [
m4/codeset.m4
m4/double-slash-root.m4
m4/dup2.m4
- m4/eealloc.m4
m4/errno_h.m4
m4/error.m4
m4/error_h.m4
@@ -2331,6 +2322,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/getprogname.m4
m4/getrandom.m4
m4/gnulib-common.m4
+ m4/gnulib-i18n.m4
m4/host-cpu-c-abi.m4
m4/iconv.m4
m4/include_next.m4
diff --git a/gnulib/m4/gnulib-i18n.m4 b/gnulib/m4/gnulib-i18n.m4
new file mode 100644
index 0000000000..380d542aa5
--- /dev/null
+++ b/gnulib/m4/gnulib-i18n.m4
@@ -0,0 +1,61 @@
+# gnulib-i18n.m4
+# serial 1
+dnl Copyright (C) 2005-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl This file is offered as-is, without any warranty.
+
+dnl From Bruno Haible.
+
+dnl Support for internationalization of Gnulib code.
+
+dnl GNULIB_I18N
+dnl Sets GNULIB_LOCALEDIR to indicate where to find the gnulib.mo files.
+dnl Also it defines GNULIB_LOCALEDIR as macro in config.h, that expands to
+dnl the corresponding C string.
+AC_DEFUN([GNULIB_I18N],
+[
+ dnl It is best to not test "$USE_NLS" here, because: It would be empty
+ dnl in case the package is internationalized but this macro is used before
+ dnl AM_GNU_GETTEXT. We would need to warn about this situation. But since
+ dnl this module is used as a dependency of many packages, such a warning is
+ dnl not welcome.
+
+ dnl Determine gnulib's localedir.
+ dnl Generally, accept an option --with-gnulib-prefix=PREFIX to indicate
+ dnl where to find gnulib's runtime data.
+ dnl Usually ${prefix}/share/locale, but can be influenced by the configure
+ dnl options --datarootdir and --localedir.
+ GNULIB_LOCALEDIR="${localedir}"
+ AC_ARG_WITH([gnulib-prefix],
+ [[ --with-gnulib-prefix=DIR search for gnulib's runtime data in
DIR/share]],
+ [if test "X$withval" != "X" && test "X$withval" != "Xno"; then
+ GNULIB_LOCALEDIR="$withval/share/locale"
+ fi
+ ])
+ AC_SUBST([GNULIB_LOCALEDIR])
+
+ dnl Define GNULIB_LOCALEDIR_c and GNULIB_LOCALEDIR_c_make.
+ dnl Find the final value of GNULIB_LOCALEDIR.
+ gl_saved_prefix="${prefix}"
+ gl_saved_datarootdir="${datarootdir}"
+ gl_saved_localedir="${localedir}"
+ gl_saved_gnuliblocaledir="${GNULIB_LOCALEDIR}"
+ dnl Unfortunately, prefix gets only finally determined at the end of
+ dnl configure.
+ if test "X$prefix" = "XNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ eval datarootdir="$datarootdir"
+ eval localedir="$localedir"
+ eval GNULIB_LOCALEDIR="$GNULIB_LOCALEDIR"
+ gl_BUILD_TO_HOST([GNULIB_LOCALEDIR])
+ GNULIB_LOCALEDIR="${gl_saved_gnuliblocaledir}"
+ localedir="${gl_saved_localedir}"
+ datarootdir="${gl_saved_datarootdir}"
+ prefix="${gl_saved_prefix}"
+
+ AC_DEFINE_UNQUOTED([GNULIB_LOCALEDIR], [${GNULIB_LOCALEDIR_c}],
+ [Define to the directory where to find the localizations of the
translation domain 'gnulib', as a C string.])
+])
diff --git a/gnulib/m4/largefile.m4 b/gnulib/m4/largefile.m4
index 36a7f27231..2d30b8471b 100644
--- a/gnulib/m4/largefile.m4
+++ b/gnulib/m4/largefile.m4
@@ -295,7 +295,7 @@ AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])])
# By default, many hosts won't let programs access large files;
# one must use special compiler options to get large-file access to work.
# For more details about this brain damage please see:
-# http://www.unix.org/version2/whatsnew/lfs20mar.html
+# https://www.unix.org/version2/whatsnew/lfs20mar.html
# Additionally, on Linux file systems with 64-bit inodes a file that happens
# to have a 64-bit inode number cannot be accessed by 32-bit applications on
# Linux x86/x86_64. This can occur with file systems such as XFS and NFS.
diff --git a/gnulib/m4/malloc.m4 b/gnulib/m4/malloc.m4
index 6f9aeecb6d..a854ade93b 100644
--- a/gnulib/m4/malloc.m4
+++ b/gnulib/m4/malloc.m4
@@ -1,13 +1,24 @@
# malloc.m4
-# serial 34
+# serial 43
dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This file is offered as-is, without any warranty.
-# This is adapted with modifications from upstream Autoconf here:
-#
https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n949
+m4_version_prereq([2.73], [], [
+# Modules that use this macro directly or indirectly should depend
+# on extensions-aix, so that _LINUX_SOURCE_COMPAT gets defined
+# before this macro gets invoked. This helps on AIX 7.2 and earlier
+# if !(__VEC__ || __AIXVEC), and doesn't hurt otherwise.
+#
+# This is copied from upstream Autoconf here:
+#
https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=1f38316f6af7bf63e5e7dd187ff6456e07ad743e#n971
+# _AC_FUNC_MALLOC_IF(IF-WORKS, IF-NOT[, UNKNOWN-ASSUME])
+# ------------------------------------------------------
+# If 'malloc (0)' returns nonnull, run IF-WORKS, otherwise, IF-NOT.
+# If it is not known whether it works, assume the shell word UNKNOWN-ASSUME,
+# which should end in "yes" or in something else (the latter is the default).
AC_DEFUN([_AC_FUNC_MALLOC_IF],
[
AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
@@ -16,61 +27,81 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
[AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[#include <stdlib.h>
- ]],
- [[void *p = malloc (0);
- void * volatile vp = p;
- int result = !vp;
+ /* Use pmalloc to test; 'volatile' prevents the compiler
+ from optimizing the malloc call away. */
+ void *(*volatile pmalloc) (size_t) = malloc;]],
+ [[void *p = pmalloc (0);
+ int result = !p;
free (p);
- return result;]])
- ],
+ return result;]])],
[ac_cv_func_malloc_0_nonnull=yes],
[ac_cv_func_malloc_0_nonnull=no],
- [case "$host_os" in
- # Guess yes on platforms where we know the result.
- *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midipix* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
- ac_cv_func_malloc_0_nonnull="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;;
- esac
- ])
- ])
+ [AS_CASE([$host_os],
+ [# Guess yes on platforms where we know the result.
+ *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
+ | gnu* | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin* | mingw* | windows* | msys*],
+ [ac_cv_func_malloc_0_nonnull="guessing yes"],
+ [# Guess as follows if we don't know.
+ ac_cv_func_malloc_0_nonnull=m4_default([$3], ["guessing no"])])])])
AS_CASE([$ac_cv_func_malloc_0_nonnull], [*yes], [$1], [$2])
])# _AC_FUNC_MALLOC_IF
+])
+
+# gl_FUNC_MALLOC_0_NONNULL
+# ------------------------
+# If 'malloc (0)' returns nonnull define HAVE_MALLOC_0_NONNULL.
+# Also, set ac_cv_func_malloc_0_nonnull to a string that ends in
+# "yes", otherwise set it to something else. If unknown whether
+# malloc (0) works, guess as normal for cross-builds.
+AC_DEFUN([gl_FUNC_MALLOC_0_NONNULL],
+[
+ _AC_FUNC_MALLOC_IF(
+ [AC_DEFINE([HAVE_MALLOC_0_NONNULL], [1],
+ [Define to 1 if malloc (0) returns nonnull.])],
+ [],
+ ["$gl_cross_guess_normal"])
+])
# gl_FUNC_MALLOC_GNU
# ------------------
-# Replace malloc if it is not compatible with GNU libc.
+# Test whether malloc (0) is compatible with GNU libc.
+# Replace malloc if not.
+# Define HAVE_MALLOC_0_NONNULL if malloc (0) returns nonnull (except upon
+# out-of-memory).
+# Define HAVE_MALLOC_PTRDIFF if malloc (N) reliably fails when N exceeds
+# PTRDIFF_MAX.
AC_DEFUN([gl_FUNC_MALLOC_GNU],
[
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
+ AC_REQUIRE([gl_FUNC_MALLOC_0_NONNULL])
- dnl Through the dependency on module extensions-aix, _LINUX_SOURCE_COMPAT
- dnl gets defined already before this macro gets invoked. This helps
- dnl if !(__VEC__ || __AIXVEC), and doesn't hurt otherwise.
-
- REPLACE_MALLOC_FOR_MALLOC_GNU="$REPLACE_MALLOC_FOR_MALLOC_POSIX"
- if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 0; then
- _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC_FOR_MALLOC_GNU=1])
- fi
+ AS_CASE([$ac_cv_func_malloc_0_nonnull],
+ [*yes],
+ [REPLACE_MALLOC_FOR_MALLOC_GNU=$REPLACE_MALLOC_FOR_MALLOC_POSIX],
+ [REPLACE_MALLOC_FOR_MALLOC_GNU=1])
])
# gl_FUNC_MALLOC_PTRDIFF
# ----------------------
-# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX,
-# and replace malloc otherwise.
+# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX.
+# Define HAVE_MALLOC_PTRDIFF if yes.
+# Replace malloc if not.
AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF],
[
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF])
- test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC_FOR_MALLOC_POSIX=1
+ AS_IF([test "$gl_cv_malloc_ptrdiff" = yes],
+ [AC_DEFINE([HAVE_MALLOC_PTRDIFF], 1,
+ [Define to 1 if malloc-like functions do not allocate objects
+ larger than PTRDIFF_MAX bytes.])],
+ [REPLACE_MALLOC_FOR_MALLOC_POSIX=1])
])
# Test whether malloc, realloc, calloc refuse to create objects
# larger than what can be expressed in ptrdiff_t.
-# Set gl_cv_func_malloc_gnu to yes or no accordingly.
+# Set gl_cv_func_malloc_gnu.
AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF],
[
AC_CACHE_CHECK([whether malloc is ptrdiff_t safe],
@@ -114,16 +145,19 @@ AC_DEFUN([gl_FUNC_MALLOC_POSIX],
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_FUNC_MALLOC_PTRDIFF])
AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
- if test "$gl_cv_func_malloc_posix" = yes; then
- AC_DEFINE([HAVE_MALLOC_POSIX], [1],
- [Define if malloc, realloc, and calloc set errno on allocation failure.])
- else
- REPLACE_MALLOC_FOR_MALLOC_POSIX=1
- fi
+ case "$gl_cv_func_malloc_posix" in
+ *yes)
+ AC_DEFINE([HAVE_MALLOC_POSIX], [1],
+ [Define if malloc, realloc, and calloc set errno on allocation
failure.])
+ ;;
+ *)
+ REPLACE_MALLOC_FOR_MALLOC_POSIX=1
+ ;;
+ esac
])
# Test whether malloc, realloc, calloc set errno to ENOMEM on failure.
-# Set gl_cv_func_malloc_posix to yes or no accordingly.
+# Set gl_cv_func_malloc_posix to *yes or *no accordingly.
AC_DEFUN([gl_CHECK_MALLOC_POSIX],
[
AC_REQUIRE([AC_CANONICAL_HOST])
@@ -134,10 +168,24 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX],
dnl some systems go to their knees when you do that. So assume that
dnl all Unix implementations of the function set errno on failure,
dnl except on those platforms where we have seen 'test-malloc-gnu',
- dnl 'test-realloc-gnu', 'test-calloc-gnu' fail.
+ dnl 'test-realloc-posix', 'test-calloc-gnu' fail.
case "$host_os" in
mingw* | windows*)
- gl_cv_func_malloc_posix=no ;;
+ dnl Old MSVCRT from 2001 did not set errno=ENOMEM when malloc failed.
+ dnl More recent MSVCRT from 2019 does so.
+ dnl UCRT is the successor of MSVCRT. Assume that UCRT does so as
well.
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdio.h>
+ #ifndef _UCRT
+ msvcrt yuck
+ #endif
+ ]],
+ [[]])
+ ],
+ [gl_cv_func_malloc_posix="guessing yes"],
+ [gl_cv_func_malloc_posix="guessing no"])
+ ;;
irix* | solaris*)
dnl On IRIX 6.5, the three functions return NULL with errno unset
dnl when the argument is larger than PTRDIFF_MAX.
diff --git a/gnulib/m4/malloca.m4 b/gnulib/m4/malloca.m4
index 0929b9efff..8d80e38055 100644
--- a/gnulib/m4/malloca.m4
+++ b/gnulib/m4/malloca.m4
@@ -1,5 +1,5 @@
# malloca.m4
-# serial 2
+# serial 3
dnl Copyright (C) 2003-2004, 2006-2007, 2009-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
@@ -12,5 +12,5 @@ AC_DEFUN([gl_MALLOCA],
dnl Use the autoconf tests for alloca(), but not the AC_SUBSTed variables
dnl @ALLOCA@ and @LTALLOCA@.
dnl gl_FUNC_ALLOCA dnl Already brought in by the module dependencies.
- AC_REQUIRE([gl_EEMALLOC])
+ AC_REQUIRE([gl_FUNC_MALLOC_GNU])
])
diff --git a/gnulib/m4/realloc.m4 b/gnulib/m4/realloc.m4
index f4d78f9622..6401f22847 100644
--- a/gnulib/m4/realloc.m4
+++ b/gnulib/m4/realloc.m4
@@ -1,5 +1,5 @@
# realloc.m4
-# serial 33
+# serial 39
dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -18,58 +18,6 @@ AC_DEFUN([gl_FUNC_REALLOC_SANITIZED],
[test -n "$gl_cv_func_realloc_sanitize" || gl_cv_func_realloc_sanitize=no])
])
-# This is adapted with modifications from upstream Autoconf here:
-#
https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n1455
-AC_DEFUN([_AC_FUNC_REALLOC_IF],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
- AC_CACHE_CHECK([whether realloc (0, 0) returns nonnull],
- [ac_cv_func_realloc_0_nonnull],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <stdlib.h>
- ]],
- [[void *p = realloc (0, 0);
- void * volatile vp = p;
- int result = !vp;
- free (p);
- return result;]])
- ],
- [ac_cv_func_realloc_0_nonnull=yes],
- [ac_cv_func_realloc_0_nonnull=no],
- [case "$host_os" in
- # Guess yes on platforms where we know the result.
- *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midipix* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
- ac_cv_func_realloc_0_nonnull="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;;
- esac
- ])
- ])
- AS_CASE([$ac_cv_func_realloc_0_nonnull], [*yes], [$1], [$2])
-])# AC_FUNC_REALLOC
-
-# gl_FUNC_REALLOC_GNU
-# -------------------
-# Replace realloc if it is not compatible with GNU libc.
-AC_DEFUN([gl_FUNC_REALLOC_GNU],
-[
- AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- AC_REQUIRE([gl_FUNC_REALLOC_POSIX])
-
- dnl Through the dependency on module extensions-aix, _LINUX_SOURCE_COMPAT
- dnl gets defined already before this macro gets invoked. This helps
- dnl if !(__VEC__ || __AIXVEC), and doesn't hurt otherwise.
-
- AC_REQUIRE([gl_FUNC_REALLOC_SANITIZED])
- if test "$gl_cv_func_realloc_sanitize" = no \
- && test $REPLACE_REALLOC_FOR_REALLOC_GNU = 0; then
- _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC_FOR_REALLOC_GNU=1])
- fi
-])# gl_FUNC_REALLOC_GNU
-
# gl_FUNC_REALLOC_POSIX
# ---------------------
# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it
@@ -85,8 +33,53 @@ AC_DEFUN([gl_FUNC_REALLOC_POSIX],
AC_DEFINE([NEED_SANITIZED_REALLOC], [1],
[Define to 1 if realloc should abort upon undefined behaviour.])
else
- if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then
- REPLACE_REALLOC_FOR_REALLOC_POSIX=1
- fi
+ REPLACE_REALLOC_FOR_REALLOC_POSIX=$REPLACE_MALLOC_FOR_MALLOC_POSIX
fi
])
+
+# gl_FUNC_REALLOC_0_NONNULL
+# -------------------------
+# Replace realloc if realloc (..., 0) returns null.
+# Modules that use this macro directly or indirectly should depend
+# on extensions-aix, so that _LINUX_SOURCE_COMPAT gets defined
+# before this macro gets invoked. This helps if !(__VEC__ || __AIXVEC),
+# and doesn't hurt otherwise.
+AC_DEFUN([gl_FUNC_REALLOC_0_NONNULL],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
+ AC_REQUIRE([gl_FUNC_REALLOC_POSIX])
+ AC_CACHE_CHECK([whether realloc (..., 0) returns nonnull],
+ [gl_cv_func_realloc_0_nonnull],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdlib.h>
+ /* Use prealloc to test; "volatile" prevents the compiler
+ from optimizing the realloc call away. */
+ void *(*volatile prealloc) (void *, size_t) = realloc;]],
+ [[void *p = prealloc (0, 0);
+ int result = !p;
+ p = prealloc (p, 0);
+ result |= !p;
+ free (p);
+ return result;]])],
+ [gl_cv_func_realloc_0_nonnull=yes],
+ [gl_cv_func_realloc_0_nonnull=no],
+ [AS_CASE([$host_os],
+ [# Guess yes on platforms where we know the result.
+ freebsd* | netbsd* | openbsd* | darwin* | bitrig* \
+ | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin*],
+ [gl_cv_func_realloc_0_nonnull="guessing yes"],
+ [# Guess as follows if we don't know.
+ gl_cv_func_realloc_0_nonnull=$gl_cross_guess_normal])])])
+ AS_CASE([$gl_cv_func_realloc_0_nonnull],
+ [*yes],
+ [AC_DEFINE([HAVE_REALLOC_0_NONNULL], [1],
+ [Define to 1 if realloc (..., 0) returns nonnull.])],
+
[AS_CASE([$gl_cv_func_realloc_sanitize,$gl_cv_malloc_ptrdiff,$gl_cv_func_malloc_posix,$host],
+ [yes,*,*,* | *,no,*,* | *,*,*no,* | *,*,*,aarch64c-*-freebsd*],
+ [REPLACE_REALLOC_FOR_REALLOC_POSIX=1],
+ [# Optimize for common case of glibc 2.1.1+ and compatibles.
+ REPLACE_REALLOC_FOR_REALLOC_POSIX=2])])
+])
diff --git a/gnulib/m4/reallocarray.m4 b/gnulib/m4/reallocarray.m4
index 9407a7fe63..c115dfbe45 100644
--- a/gnulib/m4/reallocarray.m4
+++ b/gnulib/m4/reallocarray.m4
@@ -1,5 +1,5 @@
# reallocarray.m4
-# serial 5
+# serial 7
dnl Copyright (C) 2017-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -13,14 +13,21 @@ AC_DEFUN([gl_FUNC_REALLOCARRAY],
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF])
+ AC_REQUIRE([gl_FUNC_REALLOC_0_NONNULL])
gl_CHECK_FUNCS_ANDROID([reallocarray], [[#include <stdlib.h>]])
if test "$ac_cv_func_reallocarray" = no; then
HAVE_REALLOCARRAY=0
case "$gl_cv_onwards_func_reallocarray" in
future*) REPLACE_REALLOCARRAY=1 ;;
esac
- elif test "$gl_cv_malloc_ptrdiff" = no; then
- REPLACE_REALLOCARRAY=1
+ else
+ if test "$gl_cv_malloc_ptrdiff" = no; then
+ REPLACE_REALLOCARRAY=1
+ fi
+ case "$gl_cv_func_realloc_0_nonnull" in
+ *yes) ;;
+ *) REPLACE_REALLOCARRAY=1 ;;
+ esac
fi
])
diff --git a/gnulib/m4/regex.m4 b/gnulib/m4/regex.m4
index 64fa7e9146..1060a8e898 100644
--- a/gnulib/m4/regex.m4
+++ b/gnulib/m4/regex.m4
@@ -1,5 +1,5 @@
# regex.m4
-# serial 75
+# serial 78
dnl Copyright (C) 1996-2001, 2003-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -40,16 +40,16 @@ AC_DEFUN([gl_REGEX],
#include <limits.h>
#include <string.h>
- #if defined M_CHECK_ACTION || HAVE_DECL_ALARM
- # include <signal.h>
- # include <unistd.h>
+ #if HAVE_MALLOC_H
+ # include <malloc.h> /* defines M_CHECK_ACTION on glibc */
#endif
- #if HAVE_MALLOC_H
- # include <malloc.h>
+ #if defined __HAIKU__ || defined M_CHECK_ACTION || HAVE_DECL_ALARM
+ # include <signal.h>
+ # include <unistd.h>
#endif
- #ifdef M_CHECK_ACTION
+ #if defined __HAIKU__ || defined M_CHECK_ACTION
/* Exit with distinguishable exit code. */
static void sigabrt_no_core (int sig) { raise (SIGTERM); }
#endif
@@ -68,6 +68,9 @@ AC_DEFUN([gl_REGEX],
signal (SIGALRM, SIG_DFL);
alarm (2);
#endif
+#ifdef __HAIKU__
+ signal (SIGABRT, sigabrt_no_core);
+#endif
#ifdef M_CHECK_ACTION
signal (SIGABRT, sigabrt_no_core);
mallopt (M_CHECK_ACTION, 2);
@@ -389,7 +392,6 @@ AC_DEFUN([gl_PREREQ_REGEX],
AC_REQUIRE([AC_C_INLINE])
AC_REQUIRE([AC_C_RESTRICT])
AC_REQUIRE([AC_TYPE_MBSTATE_T])
- AC_REQUIRE([gl_EEMALLOC])
AC_CHECK_HEADERS([libintl.h])
AC_CHECK_FUNCS_ONCE([isblank iswctype])
AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]])
diff --git a/gnulib/m4/stdalign.m4 b/gnulib/m4/stdalign.m4
index 80846d2354..fd6112b2d3 100644
--- a/gnulib/m4/stdalign.m4
+++ b/gnulib/m4/stdalign.m4
@@ -82,10 +82,10 @@ AC_DEFUN([gl_ALIGNASOF],
References:
ISO C23 (latest free draft
- <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf>)
+ <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf>)
sections 6.5.3.4, 6.7.5, 7.15.
C++11 (latest free draft
- <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
+ <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
section 18.10. */
/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
diff --git a/gnulib/m4/stdlib_h.m4 b/gnulib/m4/stdlib_h.m4
index 68d98427b5..87b63ff54e 100644
--- a/gnulib/m4/stdlib_h.m4
+++ b/gnulib/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
# stdlib_h.m4
-# serial 81
+# serial 82
dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,6 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_GNU])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH])
@@ -248,7 +247,6 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
REPLACE_RAND=0; AC_SUBST([REPLACE_RAND])
REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM])
REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R])
- REPLACE_REALLOC_FOR_REALLOC_GNU=0;
AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU])
REPLACE_REALLOC_FOR_REALLOC_POSIX=0;
AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_POSIX])
REPLACE_REALLOCARRAY=0; AC_SUBST([REPLACE_REALLOCARRAY])
REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
diff --git a/gnulib/m4/strdup.m4 b/gnulib/m4/strdup.m4
index 33452dca47..d6989b52d4 100644
--- a/gnulib/m4/strdup.m4
+++ b/gnulib/m4/strdup.m4
@@ -1,5 +1,5 @@
# strdup.m4
-# serial 15
+# serial 16
dnl Copyright (C) 2002-2024 Free Software Foundation, Inc.
@@ -21,9 +21,10 @@ AC_DEFUN([gl_FUNC_STRDUP_POSIX],
[
AC_REQUIRE([gl_STRING_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
- if test $gl_cv_func_malloc_posix != yes; then
- REPLACE_STRDUP=1
- fi
+ case "$gl_cv_func_malloc_posix" in
+ *yes) ;;
+ *) REPLACE_STRDUP=1 ;;
+ esac
AC_CHECK_DECLS_ONCE([strdup])
if test $ac_cv_have_decl_strdup = no; then
HAVE_DECL_STRDUP=0
diff --git a/gnulib/m4/strndup.m4 b/gnulib/m4/strndup.m4
index 7e5aa08698..9c8b212fdd 100644
--- a/gnulib/m4/strndup.m4
+++ b/gnulib/m4/strndup.m4
@@ -1,5 +1,5 @@
# strndup.m4
-# serial 23
+# serial 24
dnl Copyright (C) 2002-2003, 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -21,7 +21,8 @@ AC_DEFUN([gl_FUNC_STRNDUP],
if test $ac_cv_func_strndup = yes; then
HAVE_STRNDUP=1
- # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating
'\0'.
+ dnl AIX 5.1 has a function that fails to add the terminating '\0'.
+ dnl AIX 7.3 has a function that does not support a zero length.
AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works],
[AC_RUN_IFELSE([
AC_LANG_PROGRAM([[#include <string.h>
@@ -33,23 +34,24 @@ AC_DEFUN([gl_FUNC_STRNDUP],
#endif
char *strndup (const char *, size_t);
#endif
- int result;
- char *s;
- s = strndup ("some longer string", 15);
- free (s);
- s = strndup ("shorter string", 13);
- result = s[13] != '\0';
- free (s);
+ int result = 0;
+ {
+ char *s = strndup ("some longer string", 15);
+ free (s);
+ s = strndup ("shorter string", 13);
+ if (s[13] != '\0')
+ result |= 1;
+ free (s);
+ }
+ if (strndup (NULL, 0) == NULL)
+ result |= 2;
return result;]])],
[gl_cv_func_strndup_works=yes],
[gl_cv_func_strndup_works=no],
- [
-changequote(,)dnl
- case $host_os in
- aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";;
- *) gl_cv_func_strndup_works="guessing yes";;
+ [case $host_os in
+ aix*) gl_cv_func_strndup_works="guessing no";;
+ *) gl_cv_func_strndup_works="guessing yes";;
esac
-changequote([,])dnl
])])
case $gl_cv_func_strndup_works in
*no) REPLACE_STRNDUP=1 ;;
diff --git a/gnulib/m4/wchar_h.m4 b/gnulib/m4/wchar_h.m4
index 14296d0291..cba48b3dc9 100644
--- a/gnulib/m4/wchar_h.m4
+++ b/gnulib/m4/wchar_h.m4
@@ -1,5 +1,5 @@
# wchar_h.m4
-# serial 64
+# serial 65
dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -257,6 +257,7 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS],
REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH])
REPLACE_WCSFTIME=0; AC_SUBST([REPLACE_WCSFTIME])
REPLACE_WCSCMP=0; AC_SUBST([REPLACE_WCSCMP])
+ REPLACE_WCSNCAT=0; AC_SUBST([REPLACE_WCSNCAT])
REPLACE_WCSNCMP=0; AC_SUBST([REPLACE_WCSNCMP])
REPLACE_WCSSTR=0; AC_SUBST([REPLACE_WCSSTR])
REPLACE_WCSTOK=0; AC_SUBST([REPLACE_WCSTOK])
diff --git a/gnulib/po/Makefile.in.in b/gnulib/po/Makefile.in.in
index 4b966931e9..acff1e1bee 100644
--- a/gnulib/po/Makefile.in.in
+++ b/gnulib/po/Makefile.in.in
@@ -1,14 +1,14 @@
# Makefile for PO directory in any package using GNU gettext.
# Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
-# Copyright (C) 2000-2020, 2024 Free Software Foundation, Inc.
+# Copyright (C) 2000-2024 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
#
-# Origin: gettext-0.21
-GETTEXT_MACRO_VERSION = 0.20
+# Origin: gettext-0.23
+GETTEXT_MACRO_VERSION = 0.22
PACKAGE = @PACKAGE@
VERSION = @VERSION@
@@ -68,7 +68,7 @@ POFILES = @POFILES@
GMOFILES = @GMOFILES@
UPDATEPOFILES = @UPDATEPOFILES@
DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+DISTFILES.common = Makefile.in.in remove-potcdate.sed \
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2)
$(DISTFILES.common.extra3)
DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
$(POFILES) $(GMOFILES) \
@@ -94,7 +94,7 @@ all: all-@USE_NLS@
.SUFFIXES:
-.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update
+.SUFFIXES: .po .gmo .sed .nop .po-create .po-update
# The .pot file, stamp-po, .po files, and .gmo files appear in release
tarballs.
# The GNU Coding Standards say in
@@ -113,6 +113,7 @@ all: all-@USE_NLS@
$(GMOFILES): $(srcdir)/$(DOMAIN).pot
.po.gmo:
@lang=`echo $* | sed -e 's,.*/,,'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" !=
"yes"; then PATH=`pwd`/../src:$$PATH; fi; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE)
$(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot &&
$(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f
$${lang}.1po"; \
cd $(srcdir) && \
@@ -122,10 +123,6 @@ $(GMOFILES): $(srcdir)/$(DOMAIN).pot
mv t-$${lang}.gmo $${lang}.gmo && \
rm -f $${lang}.1po
-.sin.sed:
- sed -e '/^#/d' $< > t-$@
- mv t-$@ $@
-
all-yes: $(srcdir)/stamp-po
all-no:
@@ -170,7 +167,7 @@ $(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot
# The determination of whether the package xyz is a GNU one is based on the
# heuristic whether some file in the top level directory mentions "GNU xyz".
# If GNU 'find' is available, we avoid grepping through monster files.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in
package_gnu="$(PACKAGE_GNU)"; \
test -n "$$package_gnu" || { \
if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null;
then \
@@ -222,8 +219,8 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in
remove-potcdate.sed
|| exit 1; \
fi; \
if test -f $(srcdir)/$(DOMAIN).pot; then \
- sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot >
$(DOMAIN).1po && \
- sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ sed -f $(srcdir)/remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot >
$(DOMAIN).1po && \
+ sed -f $(srcdir)/remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po
&& \
if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
else \
@@ -247,16 +244,19 @@ $(POFILES): $(POFILESDEPS)
@test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
if test -f "$(srcdir)/$${lang}.po"; then \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)"
!= "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang}
--previous $${lang}.po $(DOMAIN).pot"; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS)
--lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
cd $(srcdir) \
&& { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e
's,^[^0-9]*,,'` in \
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
+ '' | 0.[0-9] | 0.[0-9].* | 0.10 | 0.10.*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po
$(DOMAIN).pot;; \
+ 0.1[1-5] | 0.1[1-5].*) \
+ $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) $${lang}.po
$(DOMAIN).pot;; \
0.1[6-7] | 0.1[6-7].*) \
- $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous
$${lang}.po $(DOMAIN).pot;; \
+ $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) --previous
$${lang}.po $(DOMAIN).pot;; \
*) \
- $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang}
--previous $${lang}.po $(DOMAIN).pot;; \
+ $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS)
--lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
esac; \
}; \
else \
@@ -394,7 +394,6 @@ info dvi ps pdf html tags TAGS ctags CTAGS ID:
install-dvi install-ps install-pdf install-html:
mostlyclean:
- rm -f remove-potcdate.sed
rm -f $(srcdir)/stamp-poT
rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
rm -fr *.o
@@ -464,15 +463,17 @@ update-po: Makefile
tmpdir=`pwd`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous
$$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ echo "$${cdcmd}$(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --lang=$$lang
--previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
cd $(srcdir); \
if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
+ '' | 0.[0-9] | 0.[0-9].* | 0.10 | 0.10.*) \
$(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po
$$lang.po $(DOMAIN).pot;; \
+ 0.1[1-5] | 0.1[1-5].*) \
+ $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) -o
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
0.1[6-7] | 0.1[6-7].*) \
- $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --previous -o
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
*) \
- $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --lang=$$lang
--previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
esac; \
}; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
@@ -508,3 +509,9 @@ force:
# Tell versions [3.59,3.63) of GNU make not to export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
+
+# This Makefile contains rules which don't work with parallel make,
+# namely dist2.
+# See <https://lists.gnu.org/archive/html/bug-gettext/2022-06/msg00022.html>.
+# So, turn off parallel execution in this Makefile.
+.NOTPARALLEL:
diff --git a/gnulib/po/POTFILES.in b/gnulib/po/POTFILES.in
index 60f533118e..0bad013c84 100644
--- a/gnulib/po/POTFILES.in
+++ b/gnulib/po/POTFILES.in
@@ -201,6 +201,7 @@ gnulib/lib/stdint.in.h
gnulib/lib/stdio-read.c
gnulib/lib/stdio-write.c
gnulib/lib/stdio.in.h
+gnulib/lib/stdlib.c
gnulib/lib/stdlib.in.h
gnulib/lib/stpcpy.c
gnulib/lib/str-kmp.h
diff --git a/gnulib/po/es.po b/gnulib/po/es.po
index 9c3485f917..730e7fb640 100644
--- a/gnulib/po/es.po
+++ b/gnulib/po/es.po
@@ -1,7 +1,7 @@
-# Mensajes en español para gnulib 4.0.0.2567
-# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2022
Free Software Foundation, Inc.
+# Mensajes en español para gnulib 20241209.
+# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2022,
2023, 2024 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnulib package.
-# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2003, 2004, 2005, 2006, 2007,
2008, 2009, 2010, 2011, 2022.
+# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2003, 2004, 2005, 2006, 2007,
2008, 2009, 2010, 2011, 2022, 2023, 2024.
#
# Los mensajes iniciales de esta traducción provienen de la traducción
# de mailutils.
@@ -11,10 +11,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gnulib 4.0.0.2567\n"
+"Project-Id-Version: gnulib 20241209\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
"POT-Creation-Date: 2024-12-06 19:05+0000\n"
-"PO-Revision-Date: 2022-04-06 18:22-0500\n"
+"PO-Revision-Date: 2024-12-11 09:56-0600\n"
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
@@ -241,33 +241,27 @@ msgstr "memoria agotada"
#~ msgid "%u bitset_lists\n"
#~ msgstr "%u bitset_lists\n"
-#~ msgid "count log histogram\n"
-#~ msgstr "histograma de registro de cuenta\n"
+#~ msgid "count log histogram"
+#~ msgstr "histograma de registro de cuenta"
-#~ msgid "size log histogram\n"
-#~ msgstr "histograma de registro de tamaño\n"
+#~ msgid "size log histogram"
+#~ msgstr "histograma de registro de tamaño"
-#~ msgid "density histogram\n"
-#~ msgstr "histograma de densidad\n"
+#~ msgid "density histogram"
+#~ msgstr "histograma de densidad"
-#, c-format
-#~ msgid ""
-#~ "Bitset statistics:\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Estadísticas de conjuntos de bits:\n"
-#~ "\n"
+#~ msgid "Bitset statistics:"
+#~ msgstr "Estadísticas de conjuntos de bits:"
#, c-format
-#~ msgid "Accumulated runs = %u\n"
-#~ msgstr "Ejecuciones acumuladas = %u\n"
+#~ msgid "Accumulated runs = %u"
+#~ msgstr "Ejecuciones acumuladas = %u"
#~ msgid "cannot read stats file"
#~ msgstr "no se puede leer el fichero de estadísticas"
-#, c-format
-#~ msgid "bad stats file size\n"
-#~ msgstr "tamaño erróneo de fichero de estadísticas\n"
+#~ msgid "bad stats file size"
+#~ msgstr "tamaño erróneo de fichero de estadísticas"
#~ msgid "cannot write stats file"
#~ msgstr "no se puede escribir el fichero de estadísticas"
@@ -275,12 +269,89 @@ msgstr "memoria agotada"
#~ msgid "cannot open stats file for writing"
#~ msgstr "no se puede abrir el fichero de estadísticas para escritura"
+#~ msgid "regular empty file"
+#~ msgstr "fichero regular vacío"
+
+#~ msgid "regular file"
+#~ msgstr "fichero regular"
+
+#~ msgid "directory"
+#~ msgstr "directorio"
+
+#~ msgid "symbolic link"
+#~ msgstr "enlace simbólico"
+
+#~ msgid "message queue"
+#~ msgstr "cola de mensajes"
+
+#~ msgid "semaphore"
+#~ msgstr "semáforo"
+
+#~ msgid "shared memory object"
+#~ msgstr "objeto de memoria compartida"
+
+#~ msgid "typed memory object"
+#~ msgstr "objeto de memoria con tipo"
+
+#~ msgid "block special file"
+#~ msgstr "fichero especial de bloques"
+
+#~ msgid "character special file"
+#~ msgstr "fichero especial de caracteres"
+
+#~ msgid "contiguous data"
+#~ msgstr "datos contiguos"
+
+#~ msgid "fifo"
+#~ msgstr "`fifo'"
+
+#~ msgid "door"
+#~ msgstr "puerta"
+
+#~ msgid "multiplexed block special file"
+#~ msgstr "fichero especial de bloques multiplexado"
+
+#~ msgid "multiplexed character special file"
+#~ msgstr "fichero especial de caracteres multiplexado"
+
+#~ msgid "multiplexed file"
+#~ msgstr "fichero multiplexado"
+
+#~ msgid "named file"
+#~ msgstr "fichero nombrado"
+
+#~ msgid "network special file"
+#~ msgstr "fichero especial de red"
+
+#~ msgid "migrated file with data"
+#~ msgstr "fichero migrado con datos"
+
+#~ msgid "migrated file without data"
+#~ msgstr "fichero migrado sin datos"
+
+#~ msgid "port"
+#~ msgstr "puerto"
+
+#~ msgid "socket"
+#~ msgstr "`socket'"
+
+#~ msgid "whiteout"
+#~ msgstr "blanqueado"
+
+#~ msgid "weird file"
+#~ msgstr "fichero extraño"
+
#~ msgid "program error"
#~ msgstr "error del programa"
#~ msgid "stack overflow"
#~ msgstr "desbordamiento de la pila"
+#, c-format
+#~ msgid "cannot remove temporary file %s"
+#~ msgstr "no se puede borrar el fichero temporal %s"
+
+#, c-format
#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
#~ msgstr ""
#~ "no se puede encontrar un directorio temporal, pruebe definir $TMPDIR"
@@ -289,10 +360,6 @@ msgstr "memoria agotada"
#~ msgid "cannot create a temporary directory using template \"%s\""
#~ msgstr "no se puede crear un directorio temporal usando la plantilla \"%s\""
-#, c-format
-#~ msgid "cannot remove temporary file %s"
-#~ msgstr "no se puede borrar el fichero temporal %s"
-
#, c-format
#~ msgid "cannot remove temporary directory %s"
#~ msgstr "no se puede borrar el directorio temporal %s"
@@ -327,117 +394,107 @@ msgstr "memoria agotada"
#~ msgid "error after reading %s"
#~ msgstr "error después de leer %s"
+#, c-format
#~ msgid "fdopen() failed"
#~ msgstr "falló fdopen()"
-#~ msgid "C# compiler not found, try installing mono"
-#~ msgstr "No se encontró un compilador de C#, pruebe instalando mono"
-
-#~ msgid "C# virtual machine not found, try installing mono"
-#~ msgstr "No se encontró una máquina virtual de C#, pruebe instalando mono"
-
-#~ msgid "unbalanced ["
-#~ msgstr "[ sin pareja"
-
-#~ msgid "invalid character class"
-#~ msgstr "clase de carácter inválida"
-
-#~ msgid "character class syntax is [[:space:]], not [:space:]"
-#~ msgstr "la sintaxis de clase de carácter es [[:space:]], no [:space:]"
-
-#~ msgid "unfinished \\ escape"
-#~ msgstr "escape \\ sin terminar"
-
-#~ msgid "invalid content of \\{\\}"
-#~ msgstr "contenido inválido de \\{\\}"
-
-#~ msgid "regular expression too big"
-#~ msgstr "expresión regular demasiado grande"
-
-#~ msgid "unbalanced ("
-#~ msgstr "( sin pareja"
-
-#~ msgid "no syntax specified"
-#~ msgstr "no se especificó la sintaxis"
-
-#~ msgid "unbalanced )"
-#~ msgstr ") sin pareja"
+#, c-format
+#~ msgid "%s subprocess I/O error"
+#~ msgstr "%s: error de E/S del subproceso"
#, c-format
#~ msgid "%s subprocess failed"
#~ msgstr "%s: falló el subproceso"
-#~ msgid "regular empty file"
-#~ msgstr "fichero regular vacío"
+#, c-format
+#~ msgid "C# compiler not found, try installing mono or dotnet"
+#~ msgstr "No se encontró un compilador de C#, pruebe instalando mono o dotnet"
-#~ msgid "regular file"
-#~ msgstr "fichero regular"
+#, c-format
+#~ msgid "failed to copy '%s' to '%s'"
+#~ msgstr "falló al copiar '%s' a '%s'"
-#~ msgid "directory"
-#~ msgstr "directorio"
+#, c-format
+#~ msgid "could not determine %s version"
+#~ msgstr "no se puede determinar la versión %s"
-#~ msgid "symbolic link"
-#~ msgstr "enlace simbólico"
+#, c-format
+#~ msgid "failed to create \"%s\""
+#~ msgstr "no se puede crear \"%s\""
-#~ msgid "message queue"
-#~ msgstr "cola de mensajes"
+#, c-format
+#~ msgid "error while writing \"%s\" file"
+#~ msgstr "error al escribir el fichero \"%s\""
-#~ msgid "semaphore"
-#~ msgstr "semáforo"
+#, c-format
+#~ msgid "C# virtual machine not found, try installing mono or dotnet"
+#~ msgstr ""
+#~ "No se encontró una máquina virtual de C#, pruebe instalando mono o dotnet"
-#~ msgid "shared memory object"
-#~ msgstr "objeto de memoria compartida"
+#, c-format
+#~ msgid "cannot convert file name '%s' to Windows syntax"
+#~ msgstr ""
+#~ "no se puede convertir el nombre de fichero '%s' a la sintaxis de Windows"
-#~ msgid "typed memory object"
-#~ msgstr "objeto de memoria con tipo"
+#, c-format
+#~ msgid "cygwin_conv_path failed"
+#~ msgstr "falló cygwin_conv_path"
-#~ msgid "block special file"
-#~ msgstr "fichero especial de bloques"
+#, c-format
+#~ msgid "%s invocation failed"
+#~ msgstr "falló la invocación %s"
-#~ msgid "character special file"
-#~ msgstr "fichero especial de caracteres"
+#~ msgid "unbalanced ["
+#~ msgstr "[ sin pareja"
-#~ msgid "contiguous data"
-#~ msgstr "datos contiguos"
+#~ msgid "invalid character class"
+#~ msgstr "clase de carácter inválida"
-#~ msgid "fifo"
-#~ msgstr "`fifo'"
+#~ msgid "character class syntax is [[:space:]], not [:space:]"
+#~ msgstr "la sintaxis de clase de carácter es [[:space:]], no [:space:]"
-#~ msgid "door"
-#~ msgstr "puerta"
+#~ msgid "unfinished \\ escape"
+#~ msgstr "escape \\ sin terminar"
-#~ msgid "multiplexed block special file"
-#~ msgstr "fichero especial de bloques multiplexado"
+#~ msgid "? at start of expression"
+#~ msgstr "? al inicio de la expresión"
-#~ msgid "multiplexed character special file"
-#~ msgstr "fichero especial de caracteres multiplexado"
+#~ msgid "* at start of expression"
+#~ msgstr "* al inicio de la expresión"
-#~ msgid "multiplexed file"
-#~ msgstr "fichero multiplexado"
+#~ msgid "+ at start of expression"
+#~ msgstr "+ al inicio de la expresión"
-#~ msgid "named file"
-#~ msgstr "fichero nombrado"
+#~ msgid "{...} at start of expression"
+#~ msgstr "{...} al inicio de la expresión"
-#~ msgid "network special file"
-#~ msgstr "fichero especial de red"
+#~ msgid "invalid content of \\{\\}"
+#~ msgstr "contenido inválido de \\{\\}"
-#~ msgid "migrated file with data"
-#~ msgstr "fichero migrado con datos"
+#~ msgid "regular expression too big"
+#~ msgstr "expresión regular demasiado grande"
-#~ msgid "migrated file without data"
-#~ msgstr "fichero migrado sin datos"
+#~ msgid "stray \\ before unprintable character"
+#~ msgstr "\\ sobrante después de un carácter no imprimible"
-#~ msgid "port"
-#~ msgstr "puerto"
+#~ msgid "stray \\ before white space"
+#~ msgstr "\\ sobrante antes de espacio en blanco"
-#~ msgid "socket"
-#~ msgstr "`socket'"
+#, c-format
+#~ msgid "stray \\ before %s"
+#~ msgstr "\\ sobrante después de %s"
-#~ msgid "whiteout"
-#~ msgstr "blanqueado"
+#~ msgid "stray \\"
+#~ msgstr "\\ sobrante"
-#~ msgid "weird file"
-#~ msgstr "fichero extraño"
+#~ msgid "unbalanced ("
+#~ msgstr "( sin pareja"
+
+#~ msgid "no syntax specified"
+#~ msgstr "no se especificó la sintaxis"
+
+#~ msgid "unbalanced )"
+#~ msgstr ") sin pareja"
#~ msgid "Address family for hostname not supported"
#~ msgstr "No se admiten las familias de direcciones para hostname"
@@ -496,33 +553,29 @@ msgstr "memoria agotada"
#~ msgid "Unknown error"
#~ msgstr "Error desconocido"
+#, c-format
+#~ msgid ""
+#~ "The java program is too old. Cannot compile Java code for this old "
+#~ "version any more."
+#~ msgstr ""
+#~ "El programa java es demasiado antiguo. Ya no se puede compilar código "
+#~ "Java para esa versión antigua."
+
+#, c-format
#~ msgid "invalid source_version argument to compile_java_class"
#~ msgstr "argumento source_version inválido para compile_java_class"
+#, c-format
#~ msgid "invalid target_version argument to compile_java_class"
#~ msgstr "argumento target_version inválido para compile_java_class"
#, c-format
-#~ msgid "failed to create \"%s\""
-#~ msgstr "no se puede crear \"%s\""
+#~ msgid "Java compiler not found, try setting $JAVAC"
+#~ msgstr "No se encontró un compilador de Java, pruebe definiendo $JAVAC"
#, c-format
-#~ msgid "error while writing \"%s\" file"
-#~ msgstr "error al escribir el fichero \"%s\""
-
-#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
-#~ msgstr ""
-#~ "No se encontró un compilador de Java, pruebe instalando gcj o definiendo "
-#~ "$JAVAC"
-
-#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
-#~ msgstr ""
-#~ "No se encontró una máquina virtual de Java, pruebe instalando gij o "
-#~ "definiendo $JAVA"
-
-#, c-format
-#~ msgid "%s subprocess I/O error"
-#~ msgstr "%s: error de E/S del subproceso"
+#~ msgid "Java virtual machine not found, try setting $JAVA"
+#~ msgstr "No se encontró una máquina virtual de Java, pruebe definiendo $JAVA"
#, c-format
#~ msgid "cannot stat %s"
@@ -536,15 +589,313 @@ msgstr "memoria agotada"
#~ msgid "cannot create directory %s"
#~ msgstr "no se puede crear el directorio %s"
+#, c-format
#~ msgid "unable to record current working directory"
#~ msgstr "no se puede registrar el directorio de trabajo actual"
+#, c-format
#~ msgid "failed to return to initial working directory"
#~ msgstr "no se puede volver al directorio de trabajo inicial"
+#, c-format
+#~ msgid "_open_osfhandle failed"
+#~ msgstr "falló _open_osfhandle"
+
+#, c-format
+#~ msgid "cannot restore fd %d: dup2 failed"
+#~ msgstr "no se puede restaurar el df %d: falló dup2"
+
+#, c-format
#~ msgid "Failed to open /dev/zero for read"
#~ msgstr "Falló al abrir /dev/zero para lectura"
+#, c-format
+#~ msgid "parsed %s part: "
+#~ msgstr "parte %s decodificada: "
+
+#, c-format
+#~ msgid "year: %04<PRIdMAX>"
+#~ msgstr "año: %04<PRIdMAX>"
+
+#, c-format
+#~ msgid "%s (day ordinal=%<PRIdMAX> number=%d)"
+#~ msgstr "%s (día ordinal=%<PRIdMAX> número=%d)"
+
+#, c-format
+#~ msgid "number of seconds: %<PRIdMAX>"
+#~ msgstr "número de segundos %<PRIdMAX>"
+
+#~ msgid "today/this/now\n"
+#~ msgstr "hoy/es/ahora\n"
+
+#~ msgid "number of seconds"
+#~ msgstr "número de segundos"
+
+#~ msgid "datetime"
+#~ msgstr "fechahora"
+
+#~ msgid "time"
+#~ msgstr "hora"
+
+#~ msgid "local_zone"
+#~ msgstr "zona_local"
+
+#~ msgid "zone"
+#~ msgstr "zona"
+
+#~ msgid "date"
+#~ msgstr "fecha"
+
+#~ msgid "day"
+#~ msgstr "día"
+
+#~ msgid "relative"
+#~ msgstr "relativo"
+
+#~ msgid "number"
+#~ msgstr "número"
+
+#~ msgid "hybrid"
+#~ msgstr "híbrido"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has %<PRIdMAX> digits. Assuming YYYY/MM/DD\n"
+#~ msgstr ""
+#~ "aviso: el valor %<PRIdMAX> tiene %<PRIdMAX> dígitos. Se asume AAAA/MM/DD\n"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has less than 4 digits. Assuming MM/DD/YY[YY]\n"
+#~ msgstr ""
+#~ "aviso: el valor %<PRIdMAX> tiene menos de 4 dígitos. Se asume MM/DD/"
+#~ "AA[AA]\n"
+
+#, c-format
+#~ msgid "warning: adjusting year value %<PRIdMAX> to %<PRIdMAX>\n"
+#~ msgstr "aviso: se ajusta el valor de año %<PRIdMAX> a %<PRIdMAX>\n"
+
+#, c-format
+#~ msgid "error: out-of-range year %<PRIdMAX>\n"
+#~ msgstr "error: año %<PRIdMAX> fuera de rango\n"
+
+#, c-format
+#~ msgid "error: unknown word '%s'\n"
+#~ msgstr "error: palabra '%s' desconocida\n"
+
+#~ msgid "error: invalid date/time value:\n"
+#~ msgstr "error: valor de fecha/hora inválido:\n"
+
+#, c-format
+#~ msgid " user provided time: '%s'\n"
+#~ msgstr " hora proporcionada por el usuario: '%s'\n"
+
+#, c-format
+#~ msgid " normalized time: '%s'\n"
+#~ msgstr " hora normalizada: '%s'\n"
+
+#~ msgid " possible reasons:\n"
+#~ msgstr " posibles razones:\n"
+
+#~ msgid " nonexistent due to daylight-saving time;\n"
+#~ msgstr " no existe por la hora de horario de verano;\n"
+
+#~ msgid " invalid day/month combination;\n"
+#~ msgstr " combinación día/mes inválida;\n"
+
+#~ msgid " numeric values overflow;\n"
+#~ msgstr " desbordamiento de valores numéricos;\n"
+
+#~ msgid "incorrect timezone"
+#~ msgstr "zona horaria incorrectda"
+
+#~ msgid "missing timezone"
+#~ msgstr "falta la zona horaria"
+
+#~ msgid "error: initial year out of range\n"
+#~ msgstr "error: año inicial fuera de rango\n"
+
+#~ msgid "error: parsing failed\n"
+#~ msgstr "error: falló la decodificación\n"
+
+#, c-format
+#~ msgid "error: parsing failed, stopped at '%s'\n"
+#~ msgstr "error falló la decodificación, se detuvo en '%s'\n"
+
+#~ msgid "input timezone: "
+#~ msgstr "zona horaria ingresada: "
+
+#, c-format
+#~ msgid "'@timespec' - always UTC"
+#~ msgstr "'@espechora' - siempre es UTC"
+
+#, c-format
+#~ msgid "parsed date/time string"
+#~ msgstr "cadena fecha/hora decodificada"
+
+#, c-format
+#~ msgid "TZ=\"%s\" in date string"
+#~ msgstr "TZ=\"%s\" en la cadena de fecha"
+
+#, c-format
+#~ msgid "TZ=\"UTC0\" environment value or -u"
+#~ msgstr "valor de ambiente TZ=\"UTC0\" o -u"
+
+#, c-format
+#~ msgid "TZ=\"%s\" environment value"
+#~ msgstr "valor de ambiente TZ=\"%s\""
+
+#, c-format
+#~ msgid "system default"
+#~ msgstr "predefinido del sistema"
+
+#~ msgid "error: year, month, or day overflow\n"
+#~ msgstr "error: desbordamiento de año, mes o día\n"
+
+#, c-format
+#~ msgid "error: invalid hour %<PRIdMAX>%s\n"
+#~ msgstr "error: hora %<PRIdMAX>%s inválida\n"
+
+#, c-format
+#~ msgid "using specified time as starting value: '%s'\n"
+#~ msgstr "se usa la hora especificada como valor de inicio: '%s'\n"
+
+#, c-format
+#~ msgid "using current time as starting value: '%s'\n"
+#~ msgstr "se usa la hora actual como valor de inicio: '%s'\n"
+
+#, c-format
+#~ msgid "error: tzalloc (\"%s\") failed\n"
+#~ msgstr "error: falló tzalloc (\"%s\")\n"
+
+#, c-format
+#~ msgid ""
+#~ "error: day '%s' (day ordinal=%<PRIdMAX> number=%d) resulted in an invalid "
+#~ "date: '%s'\n"
+#~ msgstr ""
+#~ "error: el día '%s' (día ordinal=%<PRIdMAX> número=%d) resultó en una "
+#~ "fecha inválida: '%s'\n"
+
+#, c-format
+#~ msgid "new start date: '%s' is '%s'\n"
+#~ msgstr "nueva fecha de inicio: '%s' es '%s'\n"
+
+#, c-format
+#~ msgid "using current date as starting value: '%s'\n"
+#~ msgstr "se usa la fecha actual como valor de inicio: '%s'\n"
+
+#, c-format
+#~ msgid "warning: day (%s) ignored when explicit dates are given\n"
+#~ msgstr ""
+#~ "aviso: se ignora el día (%s) cuando se proporcionan fechas explícitas\n"
+
+#, c-format
+#~ msgid "starting date/time: '%s'\n"
+#~ msgstr "fecha/hora de inicio '%s'\n"
+
+#~ msgid ""
+#~ "warning: when adding relative months/years, it is recommended to specify "
+#~ "the 15th of the months\n"
+#~ msgstr ""
+#~ "aviso: al agregar meses/años relativos, se recomienda especificar el 15 "
+#~ "de los meses\n"
+
+#~ msgid ""
+#~ "warning: when adding relative days, it is recommended to specify noon\n"
+#~ msgstr ""
+#~ "aviso: al agregar días relativos, se recomienda especificar mediodía\n"
+
+#, c-format
+#~ msgid "error: %s:%d\n"
+#~ msgstr "error: %s:%d\n"
+
+#, c-format
+#~ msgid "error: adding relative date resulted in an invalid date: '%s'\n"
+#~ msgstr ""
+#~ "error: al agregar la fecha relativa resultó en una fecha inválida: '%s'\n"
+
+#, c-format
+#~ msgid ""
+#~ "after date adjustment (%+<PRIdMAX> years, %+<PRIdMAX> months, %+<PRIdMAX> "
+#~ "days),\n"
+#~ msgstr ""
+#~ "después del ajuste de fecha (%+<PRIdMAX> años, %+<PRIdMAX> meses, "
+#~ "%+<PRIdMAX> días),\n"
+
+#, c-format
+#~ msgid " new date/time = '%s'\n"
+#~ msgstr " nueva fecha/hora = '%s'\n"
+
+#~ msgid "warning: daylight saving time changed after date adjustment\n"
+#~ msgstr ""
+#~ "aviso: la hora de horario de verano se cambia después del ajuste de "
+#~ "fecha\n"
+
+#~ msgid "warning: month/year adjustment resulted in shifted dates:\n"
+#~ msgstr "aviso: el ajuste de mes/año resultó en fechas desplazadas:\n"
+
+#, c-format
+#~ msgid " adjusted Y M D: %s %02d %02d\n"
+#~ msgstr " A M D ajustado: %s %02d %02d\n"
+
+#, c-format
+#~ msgid " normalized Y M D: %s %02d %02d\n"
+#~ msgstr " A M D normalizado: %s %02d %02d\n"
+
+#, c-format
+#~ msgid "error: timezone %d caused time_t overflow\n"
+#~ msgstr "error: la zona horaria %d causó desbordamiento en time_t\n"
+
+#, c-format
+#~ msgid "'%s' = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr "'%s' = %<PRIdMAX> segundos-época\n"
+
+#~ msgid "error: adding relative time caused an overflow\n"
+#~ msgstr "error: al agregar hora relativa se causó un desbordamiento\n"
+
+#, c-format
+#~ msgid ""
+#~ "after time adjustment (%+<PRIdMAX> hours, %+<PRIdMAX> minutes, "
+#~ "%+<PRIdMAX> seconds, %+d ns),\n"
+#~ msgstr ""
+#~ "después del ajuste de hora (%+<PRIdMAX> horas, %+<PRIdMAX> minutos, "
+#~ "%+<PRIdMAX> segundos, %+d ns),\n"
+
+#, c-format
+#~ msgid " new time = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr " nueva hora = %<PRIdMAX> segundo-época\n"
+
+#~ msgid "warning: daylight saving time changed after time adjustment\n"
+#~ msgstr ""
+#~ "aviso: la hora de horario de verano cambió después del ajuste de hora\n"
+
+#~ msgid "timezone: system default\n"
+#~ msgstr "zona horaria: predefinida del sistema\n"
+
+#~ msgid "timezone: Universal Time\n"
+#~ msgstr "zona horaria: Tiempo Universal\n"
+
+#, c-format
+#~ msgid "timezone: TZ=\"%s\" environment value\n"
+#~ msgstr "zona horaria: valor de ambiente TZ=\"%s\"\n"
+
+#, c-format
+#~ msgid "final: %<PRIdMAX>.%09d (epoch-seconds)\n"
+#~ msgstr "final: %<PRIdMAX>.%09d (segundos-época)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC)\n"
+#~ msgstr "final: %s (UTC)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC%s)\n"
+#~ msgstr "final: %s (UTC%s)\n"
+
+#, c-format
+#~ msgid "final: %s (unknown time zone offset)\n"
+#~ msgstr "final: %s (desplazamiento de zona horaria desconocido)\n"
+
+#, c-format
#~ msgid "creation of reading thread failed"
#~ msgstr "falló la creación del hilo de lectura"
@@ -568,6 +919,7 @@ msgstr "memoria agotada"
#~ msgid "subprocess %s terminated with exit code %d"
#~ msgstr "el subproceso %s terminó con el código de salida %d"
+#, c-format
#~ msgid "creation of threads failed"
#~ msgstr "falló la creación de hilos"
@@ -700,6 +1052,7 @@ msgstr "memoria agotada"
#~ msgid "error writing to a closed pipe or socket"
#~ msgstr "error al escribir a una tubería o socket cerrados"
+#, c-format
#~ msgid "cannot create pipe"
#~ msgstr "no se puede crear una tubería"
@@ -754,11 +1107,8 @@ msgstr "memoria agotada"
# Eso sí, un día tendré que preguntar a los de GNU en qué se diferencia
# "invalid" de "not allowed" de "not recognized" y todo eso... sv
#
-#~ msgid "invalid user"
-#~ msgstr "usuario inválido"
-
-#~ msgid "invalid group"
-#~ msgstr "grupo inválido"
+#~ msgid "invalid spec"
+#~ msgstr "especificación inválida"
# Me niego a considerar "inválido" como palabra "políticamente incorrecta".
# Si algún "impedido físico" lee este mensaje y se molesta por ello, entonces
@@ -774,11 +1124,14 @@ msgstr "memoria agotada"
# Eso sí, un día tendré que preguntar a los de GNU en qué se diferencia
# "invalid" de "not allowed" de "not recognized" y todo eso... sv
#
-#~ msgid "invalid spec"
-#~ msgstr "especificación inválida"
+#~ msgid "invalid user"
+#~ msgstr "usuario inválido"
-#~ msgid "unable to display error message"
-#~ msgstr "no se puede mostrar el mensaje de error"
+#~ msgid "invalid group"
+#~ msgstr "grupo inválido"
+
+#~ msgid "warning: '.' should be ':'"
+#~ msgstr "aviso: '.' debe ser ':'"
#, c-format
#~ msgid "Packaged by %s (%s)\n"
@@ -892,13 +1245,6 @@ msgstr "memoria agotada"
#~ msgid "General help using GNU software: <%s>\n"
#~ msgstr "Ayuda general para usar software de GNU: <%s>\n"
-#~ msgid "_open_osfhandle failed"
-#~ msgstr "falló _open_osfhandle"
-
-#, c-format
-#~ msgid "cannot restore fd %d: dup2 failed"
-#~ msgstr "no se puede restaurar el df %d: falló dup2"
-
#, c-format
#~ msgid "%s subprocess"
#~ msgstr "subproceso %s"
@@ -907,6 +1253,7 @@ msgstr "memoria agotada"
#~ msgid "%s subprocess got fatal signal %d"
#~ msgstr "el subproceso %s recibió la señal fatal %d"
+#, c-format
#~ msgid "failed to set file descriptor text/binary mode"
#~ msgstr "falló al establecer el modo texto/binario del descriptor de fichero"
@@ -926,9 +1273,11 @@ msgstr "memoria agotada"
#~ msgid "failed to reopen %s with mode %s"
#~ msgstr "falló al reabrir %s con modo %s"
+#, c-format
#~ msgid "string comparison failed"
#~ msgstr "la comparación de cadenas falló"
+#, c-format
#~ msgid "Set LC_ALL='C' to work around the problem."
#~ msgstr ""
#~ "Establezca LC_ALL='C' para solucionar este problema de forma temporal."
@@ -937,12 +1286,18 @@ msgstr "memoria agotada"
#~ msgid "The strings compared were %s and %s."
#~ msgstr "Las cadenas comparadas eran %s y %s."
+#, c-format
#~ msgid "cannot perform formatted output"
#~ msgstr "no se puede mostrar la salida con formato"
+#, c-format
#~ msgid "standard file descriptors"
#~ msgstr "descriptores de fichero estándar"
+#, c-format
+#~ msgid "%s: %s"
+#~ msgstr "%s: %s"
+
#, c-format
#~ msgid "invalid %s%s argument '%s'"
#~ msgstr "el argumento %s%s '%s' es inválido"
@@ -955,6 +1310,9 @@ msgstr "memoria agotada"
#~ msgid "%s%s argument '%s' too large"
#~ msgstr "el argumento %s%s '%s' es demasiado grande"
+#~ msgid "unable to display error message"
+#~ msgstr "no se puede mostrar el mensaje de error"
+
#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
#~ msgstr "%.*s: El parámetro ARGP_HELP_FMT debe ser positivo"
diff --git a/gnulib/po/ka.po b/gnulib/po/ka.po
index 9ba8240864..e2d992eb99 100644
--- a/gnulib/po/ka.po
+++ b/gnulib/po/ka.po
@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
"POT-Creation-Date: 2024-12-06 19:05+0000\n"
-"PO-Revision-Date: 2022-12-23 14:32+0100\n"
+"PO-Revision-Date: 2024-12-11 12:33+0100\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <(nothing)>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.2.2\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.5\n"
#: gnulib/lib/error.c:208
msgid "Unknown system error"
@@ -237,6 +237,21 @@ msgstr "მეხსიერება გადავსებულია"
#~ msgid "%u bitset_lists\n"
#~ msgstr "%u bitset_lists\n"
+#, fuzzy
+#~| msgid "density histogram"
+#~ msgid "count log histogram\n"
+#~ msgstr "სიმკვრივის ჰისტოგრამა"
+
+#, fuzzy
+#~| msgid "density histogram"
+#~ msgid "size log histogram\n"
+#~ msgstr "სიმკვრივის ჰისტოგრამა"
+
+#, fuzzy
+#~| msgid "density histogram"
+#~ msgid "density histogram\n"
+#~ msgstr "სიმკვრივის ჰისტოგრამა"
+
#~ msgid "program error"
#~ msgstr "პროგრამის შეცდომა"
@@ -268,6 +283,10 @@ msgstr "მეხსიერება გადავსებულია"
#~ msgid "preserving permissions for %s"
#~ msgstr "%s-ის წვდომების შენახვა"
+#, c-format
+#~ msgid "error while opening %s for reading"
+#~ msgstr "შეცდომა '%s'-ის წასაკითხად გახნისას"
+
#, c-format
#~ msgid "error reading %s"
#~ msgstr "შეცდომა '%s'-ის კითხვისას"
@@ -276,6 +295,13 @@ msgstr "მეხსიერება გადავსებულია"
#~ msgid "error writing %s"
#~ msgstr "შეცდომა '%s'-ის ჩაწერისას"
+#, c-format
+#~ msgid "error after reading %s"
+#~ msgstr "შეცდომა '%s'-ის წაკითხვის შემდეგ"
+
+#~ msgid "fdopen() failed"
+#~ msgstr "fdopen() -ის შეცდომა"
+
#~ msgid "unbalanced ["
#~ msgstr "დაუბალანსებელი ["
@@ -436,6 +462,18 @@ msgstr "მეხსიერება გადავსებულია"
#~ msgid "Unknown error"
#~ msgstr "უცნობი შეცდომა"
+#, c-format
+#~ msgid "failed to create \"%s\""
+#~ msgstr "\"%s\"-ის შექმნის შეცდომა"
+
+#, c-format
+#~ msgid "error while writing \"%s\" file"
+#~ msgstr "შეცდომა \"%s\" ფაილის ჩაწერსას"
+
+#, c-format
+#~ msgid "%s subprocess I/O error"
+#~ msgstr "%s ქვეპროცესის შეტ/გამოტ შეცდომა"
+
#, c-format
#~ msgid "cannot stat %s"
#~ msgstr "%s-ის აღმოჩენის შეცდომა"
@@ -454,6 +492,9 @@ msgstr "მეხსიერება გადავსებულია"
#~ msgid "failed to return to initial working directory"
#~ msgstr "საწყისი საქაღალდის დაბრუნების შეცდომა"
+#~ msgid "creation of threads failed"
+#~ msgstr "ნაკადების შექმნა ჩავარდა"
+
#~ msgid "`"
#~ msgstr "`"
@@ -713,6 +754,10 @@ msgstr "მეხსიერება გადავსებულია"
#~ "%s, %s, %s, %s\n"
#~ "%s, %s და სხვ.\n"
+#, c-format
+#~ msgid "Report bugs to: %s\n"
+#~ msgstr "შეცდომების შესახებ მიწერეთ: %s\n"
+
#, c-format
#~ msgid "Report %s bugs to: %s\n"
#~ msgstr "%s-ის შეცდომების შესახებ მისაწერი ელფოსტა: %s\n"
@@ -749,7 +794,7 @@ msgstr "მეხსიერება გადავსებულია"
#, c-format
#~ msgid "failed to reopen %s with mode %s"
-#~ msgstr "%s-ის %s რეჟიმში ხელახალი გახსნიშ ეცდომა"
+#~ msgstr "%s-ის %s რეჟიმში ხელახალი გახსნის შეცდომა"
#~ msgid "string comparison failed"
#~ msgstr "სტრიქონების შედარება შეუძლებელია"
@@ -778,3 +823,76 @@ msgstr "მეხსიერება გადავსებულია"
#, c-format
#~ msgid "%s%s argument '%s' too large"
#~ msgstr "%s%s-ის არგუმენტი %s ძალიან დიდია"
+
+#, c-format
+#~ msgid "failed to copy '%s' to '%s'"
+#~ msgstr "%s-ის %s-ში კოპირება ჩავარდა"
+
+#, c-format
+#~ msgid "%s invocation failed"
+#~ msgstr "%s-ის ჩაწოდება ჩავარდა"
+
+#~ msgid "? at start of expression"
+#~ msgstr "? გამოსახულების დასაწყისში"
+
+#~ msgid "* at start of expression"
+#~ msgstr "* გამოსახულების დასაწყისში"
+
+#~ msgid "+ at start of expression"
+#~ msgstr "+ გამოსახულების დასაწყისში"
+
+#~ msgid "{...} at start of expression"
+#~ msgstr "{...} გამოსახულების დასაწყისში"
+
+#~ msgid "stray \\ before unprintable character"
+#~ msgstr "უცხო \\ დაუბეჭდავად სიმბოლომდე"
+
+#~ msgid "stray \\ before white space"
+#~ msgstr "უცხო \\ თეთრ გამოტოვებამდე"
+
+#~ msgid "stray \\"
+#~ msgstr "უცხო \\"
+
+#~ msgid "datetime"
+#~ msgstr "თარიღი და დრო"
+
+#~ msgid "time"
+#~ msgstr "დრო"
+
+#~ msgid "zone"
+#~ msgstr "ზონა"
+
+#~ msgid "date"
+#~ msgstr "თარიღი"
+
+#~ msgid "day"
+#~ msgstr "დღე"
+
+#~ msgid "relative"
+#~ msgstr "ფარდობითი"
+
+#~ msgid "number"
+#~ msgstr "ნომერი"
+
+#~ msgid "hybrid"
+#~ msgstr "ჰიბრიდი"
+
+#~ msgid "incorrect timezone"
+#~ msgstr "არასწორი დროის სარტყელი"
+
+#~ msgid "error: initial year out of range\n"
+#~ msgstr "შეცდომა: საწყისი წელი შუალედს გარეთაა\n"
+
+#~ msgid "error: parsing failed\n"
+#~ msgstr "შეცდომა: დამუშავება ჩავარდა\n"
+
+#, c-format
+#~ msgid "system default"
+#~ msgstr "სისტემის ნაგულისხმევი"
+
+#~ msgid "warning: '.' should be ':'"
+#~ msgstr "გაფრთხილება: '.' უნდა იყოს \":\""
+
+#, c-format
+#~ msgid "%s: %s"
+#~ msgstr "%s: %s"
diff --git a/gnulib/po/nl.po b/gnulib/po/nl.po
index d288d31917..9f9ef6e00e 100644
--- a/gnulib/po/nl.po
+++ b/gnulib/po/nl.po
@@ -1,18 +1,20 @@
# Dutch translations for gnulib.
-# Copyright (C) 2019 Free Software Foundation, Inc.
+# Copyright (C) 2024 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnulib package.
#
+# "Find your elephant, then vanish, so that you may live to find another."
+#
# Erick Branderhorst <branderh@debian.org>, 1996.
# Ivo Timmermans <ivo@o2w.nl>, 2000.
# Freek de Kruijf <f.de.kruijf@hetnet.nl>, 2004, 2005.
# Erwin Poeze <erwin.poeze@gmail.com>, 2009, 2010.
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2008, 2010, 2011, 2019.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2008, 2010, 2011, 2019, 2024.
msgid ""
msgstr ""
-"Project-Id-Version: gnulib-4.0.0.2567\n"
+"Project-Id-Version: gnulib-20241209\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
"POT-Creation-Date: 2024-12-06 19:05+0000\n"
-"PO-Revision-Date: 2019-05-29 13:31+0200\n"
+"PO-Revision-Date: 2024-12-11 14:08+0100\n"
"Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -241,33 +243,27 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "%u bitset_lists\n"
#~ msgstr "%u bitset_lists\n"
-#~ msgid "count log histogram\n"
-#~ msgstr "histogram van aantal gezette bits\n"
+#~ msgid "count log histogram"
+#~ msgstr "histogram van aantal gezette bits"
-#~ msgid "size log histogram\n"
-#~ msgstr "histogram van bitset-groottes\n"
+#~ msgid "size log histogram"
+#~ msgstr "histogram van bitset-groottes"
-#~ msgid "density histogram\n"
-#~ msgstr "histogram van dichtheid aan gezette bits\n"
+#~ msgid "density histogram"
+#~ msgstr "histogram van dichtheid aan gezette bits"
-#, c-format
-#~ msgid ""
-#~ "Bitset statistics:\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Bitset-statistieken:\n"
-#~ "\n"
+#~ msgid "Bitset statistics:"
+#~ msgstr "Bitset-statistieken:"
#, c-format
-#~ msgid "Accumulated runs = %u\n"
-#~ msgstr "Aantal uitvoeringen = %u\n"
+#~ msgid "Accumulated runs = %u"
+#~ msgstr "Aantal uitvoeringen = %u"
#~ msgid "cannot read stats file"
#~ msgstr "kan statistiekenbestand niet lezen"
-#, c-format
-#~ msgid "bad stats file size\n"
-#~ msgstr "statistiekenbestand heeft een verkeerde grootte\n"
+#~ msgid "bad stats file size"
+#~ msgstr "statistiekenbestand heeft een verkeerde grootte"
#~ msgid "cannot write stats file"
#~ msgstr "kan statistiekenbestand niet schrijven"
@@ -275,23 +271,96 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "cannot open stats file for writing"
#~ msgstr "kan statistiekenbestand niet openen voor schrijven"
+#~ msgid "regular empty file"
+#~ msgstr "leeg normaal bestand"
+
+#~ msgid "regular file"
+#~ msgstr "normaal bestand"
+
+#~ msgid "directory"
+#~ msgstr "map"
+
+#~ msgid "symbolic link"
+#~ msgstr "symbolische koppeling"
+
+#~ msgid "message queue"
+#~ msgstr "berichtenwachtrij"
+
+#~ msgid "semaphore"
+#~ msgstr "semafoor"
+
+#~ msgid "shared memory object"
+#~ msgstr "gedeeld geheugenobject"
+
+#~ msgid "typed memory object"
+#~ msgstr "zelfstandig geheugenobject"
+
+#~ msgid "block special file"
+#~ msgstr "blok-apparaat"
+
+#~ msgid "character special file"
+#~ msgstr "byte-apparaat"
+
+#~ msgid "contiguous data"
+#~ msgstr "aaneengesloten gegevens"
+
+#~ msgid "fifo"
+#~ msgstr "fifo"
+
+#~ msgid "door"
+#~ msgstr "door"
+
+#~ msgid "multiplexed block special file"
+#~ msgstr "gemultiplexed blok-apparaat"
+
+#~ msgid "multiplexed character special file"
+#~ msgstr "gemultiplexed byte-apparaat"
+
+#~ msgid "multiplexed file"
+#~ msgstr "gemultiplexed bestand"
+
+#~ msgid "named file"
+#~ msgstr "benoemd bestand"
+
+#~ msgid "network special file"
+#~ msgstr "netwerkapparaat"
+
+#~ msgid "migrated file with data"
+#~ msgstr "gemigreerd bestand met gegevens"
+
+#~ msgid "migrated file without data"
+#~ msgstr "gemigreerd bestand zonder gegevens"
+
+#~ msgid "port"
+#~ msgstr "poort"
+
+#~ msgid "socket"
+#~ msgstr "socket"
+
+#~ msgid "whiteout"
+#~ msgstr "whiteout"
+
+#~ msgid "weird file"
+#~ msgstr "merkwaardig bestand"
+
#~ msgid "program error"
#~ msgstr "programmafout"
#~ msgid "stack overflow"
#~ msgstr "stack-overloop"
+#, c-format
+#~ msgid "cannot remove temporary file %s"
+#~ msgstr "kan tijdelijk bestand '%s' niet verwijderen"
+
+#, c-format
#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
-#~ msgstr "kan geen tijdelijke map vinden; zet $TMPDIR"
+#~ msgstr "kan geen tijdelijke map vinden; probeer het zetten van $TMPDIR"
#, c-format
#~ msgid "cannot create a temporary directory using template \"%s\""
#~ msgstr "kan met sjabloon '%s' geen tijdelijke map aanmaken"
-#, c-format
-#~ msgid "cannot remove temporary file %s"
-#~ msgstr "kan tijdelijk bestand '%s' niet verwijderen"
-
#, c-format
#~ msgid "cannot remove temporary directory %s"
#~ msgstr "kan tijdelijke map '%s' niet verwijderen"
@@ -326,117 +395,105 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "error after reading %s"
#~ msgstr "fout na lezen van %s"
+#, c-format
#~ msgid "fdopen() failed"
#~ msgstr "fdopen() is mislukt"
-#~ msgid "C# compiler not found, try installing mono"
-#~ msgstr "C#-compiler is niet gevonden; installeer 'mono'"
-
-#~ msgid "C# virtual machine not found, try installing mono"
-#~ msgstr "virtuele C#-machine is niet gevonden; installeer 'mono'"
-
-#~ msgid "unbalanced ["
-#~ msgstr "ongepaarde ["
-
-#~ msgid "invalid character class"
-#~ msgstr "ongeldige tekenklasse"
-
-#~ msgid "character class syntax is [[:space:]], not [:space:]"
-#~ msgstr "syntax van tekenklasse is [[:space:]], niet [:space:]"
-
-#~ msgid "unfinished \\ escape"
-#~ msgstr "onafgemaakte \\-stuurcode"
-
-#~ msgid "invalid content of \\{\\}"
-#~ msgstr "ongeldige inhoud van \\{\\}"
-
-#~ msgid "regular expression too big"
-#~ msgstr "reguliere expressie is te groot"
-
-#~ msgid "unbalanced ("
-#~ msgstr "ongepaarde ("
-
-#~ msgid "no syntax specified"
-#~ msgstr "geen syntax opgegeven"
-
-#~ msgid "unbalanced )"
-#~ msgstr "ongepaarde )"
+#, c-format
+#~ msgid "%s subprocess I/O error"
+#~ msgstr "In-/uitvoerfout in subproces %s"
#, c-format
#~ msgid "%s subprocess failed"
#~ msgstr "subproces %s is mislukt"
-#~ msgid "regular empty file"
-#~ msgstr "leeg normaal bestand"
+#, c-format
+#~ msgid "C# compiler not found, try installing mono or dotnet"
+#~ msgstr "C#-compiler is niet gevonden; installeer 'mono' of 'dotnet'"
-#~ msgid "regular file"
-#~ msgstr "normaal bestand"
+#, c-format
+#~ msgid "failed to copy '%s' to '%s'"
+#~ msgstr "kopiëren van '%s' naar '%s' is mislukt"
-#~ msgid "directory"
-#~ msgstr "map"
+#, c-format
+#~ msgid "could not determine %s version"
+#~ msgstr "kan versie van %s niet achterhalen"
-#~ msgid "symbolic link"
-#~ msgstr "symbolische koppeling"
+#, c-format
+#~ msgid "failed to create \"%s\""
+#~ msgstr "aanmaken van '%s' is mislukt"
-#~ msgid "message queue"
-#~ msgstr "berichtenwachtrij"
+#, c-format
+#~ msgid "error while writing \"%s\" file"
+#~ msgstr "fout bij schrijven van bestand '%s'"
-#~ msgid "semaphore"
-#~ msgstr "semafoor"
+#, c-format
+#~ msgid "C# virtual machine not found, try installing mono or dotnet"
+#~ msgstr "virtuele C#-machine is niet gevonden; installeer 'mono' of 'dotnet'"
-#~ msgid "shared memory object"
-#~ msgstr "gedeeld geheugenobject"
+#, c-format
+#~ msgid "cannot convert file name '%s' to Windows syntax"
+#~ msgstr "kan bestandsnaam '%s' niet naar Windows-syntax converteren"
-#~ msgid "typed memory object"
-#~ msgstr "zelfstandig geheugenobject"
+#, c-format
+#~ msgid "cygwin_conv_path failed"
+#~ msgstr "cygwin_conv_path() is mislukt"
-#~ msgid "block special file"
-#~ msgstr "blok-apparaat"
+#, c-format
+#~ msgid "%s invocation failed"
+#~ msgstr "aanroepen van %s is mislukt"
-#~ msgid "character special file"
-#~ msgstr "byte-apparaat"
+#~ msgid "unbalanced ["
+#~ msgstr "ongepaarde ["
-#~ msgid "contiguous data"
-#~ msgstr "aaneengesloten gegevens"
+#~ msgid "invalid character class"
+#~ msgstr "ongeldige tekenklasse"
-#~ msgid "fifo"
-#~ msgstr "fifo"
+#~ msgid "character class syntax is [[:space:]], not [:space:]"
+#~ msgstr "syntax van tekenklasse is [[:space:]], niet [:space:]"
-#~ msgid "door"
-#~ msgstr "door"
+#~ msgid "unfinished \\ escape"
+#~ msgstr "onafgemaakte \\-stuurcode"
-#~ msgid "multiplexed block special file"
-#~ msgstr "gemultiplexed blok-apparaat"
+#~ msgid "? at start of expression"
+#~ msgstr "? aan begin van expressie"
-#~ msgid "multiplexed character special file"
-#~ msgstr "gemultiplexed byte-apparaat"
+#~ msgid "* at start of expression"
+#~ msgstr "* aan begin van expressie"
-#~ msgid "multiplexed file"
-#~ msgstr "gemultiplexed bestand"
+#~ msgid "+ at start of expression"
+#~ msgstr "+ aan begin van expressie"
-#~ msgid "named file"
-#~ msgstr "benoemd bestand"
+#~ msgid "{...} at start of expression"
+#~ msgstr "{...} aan begin van expressie"
-#~ msgid "network special file"
-#~ msgstr "netwerkapparaat"
+#~ msgid "invalid content of \\{\\}"
+#~ msgstr "ongeldige inhoud van \\{\\}"
-#~ msgid "migrated file with data"
-#~ msgstr "gemigreerd bestand met gegevens"
+#~ msgid "regular expression too big"
+#~ msgstr "reguliere expressie is te groot"
-#~ msgid "migrated file without data"
-#~ msgstr "gemigreerd bestand zonder gegevens"
+#~ msgid "stray \\ before unprintable character"
+#~ msgstr "verdwaalde \\ voor ontoonbaar teken"
-#~ msgid "port"
-#~ msgstr "poort"
+#~ msgid "stray \\ before white space"
+#~ msgstr "verdwaalde \\ voor witruimte"
-#~ msgid "socket"
-#~ msgstr "socket"
+#, c-format
+#~ msgid "stray \\ before %s"
+#~ msgstr "verdwaalde \\ voor %s"
-#~ msgid "whiteout"
-#~ msgstr "whiteout"
+#~ msgid "stray \\"
+#~ msgstr "verdwaalde \\"
-#~ msgid "weird file"
-#~ msgstr "merkwaardig bestand"
+#~ msgid "unbalanced ("
+#~ msgstr "ongepaarde ("
+
+#~ msgid "no syntax specified"
+#~ msgstr "geen syntax opgegeven"
+
+#~ msgid "unbalanced )"
+#~ msgstr "ongepaarde )"
#~ msgid "Address family for hostname not supported"
#~ msgstr "Adresfamilie voor hostnaam wordt niet ondersteund"
@@ -495,30 +552,30 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "Unknown error"
#~ msgstr "Onbekende fout"
+#, c-format
+#~ msgid ""
+#~ "The java program is too old. Cannot compile Java code for this old "
+#~ "version any more."
+#~ msgstr ""
+#~ "Het 'java'-programma is te oud. Kan Java-code niet meer compileren voor "
+#~ "deze oude versie."
+
+#, c-format
#~ msgid "invalid source_version argument to compile_java_class"
#~ msgstr "ongeldige waarde voor 'source_version' in compile_java_class()"
+#, c-format
#~ msgid "invalid target_version argument to compile_java_class"
#~ msgstr "ongeldige waarde voor 'target_version' in compile_java_class()"
#, c-format
-#~ msgid "failed to create \"%s\""
-#~ msgstr "aanmaken van '%s' is mislukt"
+#~ msgid "Java compiler not found, try setting $JAVAC"
+#~ msgstr "Java-compiler is niet gevonden; probeer het zetten van $JAVAC"
#, c-format
-#~ msgid "error while writing \"%s\" file"
-#~ msgstr "fout bij schrijven van bestand '%s'"
-
-#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
-#~ msgstr "Java-compiler is niet gevonden; installeer 'gcj' of zet $JAVAC"
-
-#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
+#~ msgid "Java virtual machine not found, try setting $JAVA"
#~ msgstr ""
-#~ "Virtuele Java-machine is niet gevonden; installeer 'gcj' of zet $JAVA"
-
-#, c-format
-#~ msgid "%s subprocess I/O error"
-#~ msgstr "In-/uitvoerfout in subproces %s"
+#~ "Virtuele Java-machine is niet gevonden; probeer het zetten van $JAVA"
#, c-format
#~ msgid "cannot stat %s"
@@ -532,15 +589,317 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "cannot create directory %s"
#~ msgstr "kan map %s niet aanmaken"
+#, c-format
#~ msgid "unable to record current working directory"
#~ msgstr "kan de huidige werkmap niet vastleggen"
+#, c-format
#~ msgid "failed to return to initial working directory"
#~ msgstr "kan niet terugkeren naar de oorspronkelijke werkmap"
+#, c-format
+#~ msgid "_open_osfhandle failed"
+#~ msgstr "_open_osfhandle() is mislukt"
+
+#, c-format
+#~ msgid "cannot restore fd %d: dup2 failed"
+#~ msgstr "kan bestandsdescriptor %d niet herstellen: dup2() is mislukt"
+
+#, c-format
#~ msgid "Failed to open /dev/zero for read"
#~ msgstr "Openen van /dev/zero voor lezen is mislukt"
+#, c-format
+#~ msgid "parsed %s part: "
+#~ msgstr "ontleed %s-gedeelte: "
+
+#, c-format
+#~ msgid "year: %04<PRIdMAX>"
+#~ msgstr "jaar: %04<PRIdMAX>"
+
+#, c-format
+#~ msgid "%s (day ordinal=%<PRIdMAX> number=%d)"
+#~ msgstr "%s (dagrang=%<PRIdMAX> dagnummer=%d)"
+
+#, c-format
+#~ msgid "number of seconds: %<PRIdMAX>"
+#~ msgstr "aantal seconden: %<PRIdMAX>"
+
+#~ msgid "today/this/now\n"
+#~ msgstr "vandaag/deze/nu\n"
+
+#~ msgid "number of seconds"
+#~ msgstr "aantal seconden"
+
+#~ msgid "datetime"
+#~ msgstr "datumtijd"
+
+#~ msgid "time"
+#~ msgstr "tijd"
+
+#~ msgid "local_zone"
+#~ msgstr "lokale zone"
+
+#~ msgid "zone"
+#~ msgstr "zone"
+
+#~ msgid "date"
+#~ msgstr "datum"
+
+#~ msgid "day"
+#~ msgstr "dag"
+
+#~ msgid "relative"
+#~ msgstr "relatief"
+
+#~ msgid "number"
+#~ msgstr "aantal"
+
+#~ msgid "hybrid"
+#~ msgstr "hybride"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has %<PRIdMAX> digits. Assuming YYYY/MM/DD\n"
+#~ msgstr ""
+#~ "waarschuwing: waarde %<PRIdMAX> heeft %<PRIdMAX> cijfers -- JJJJ/MM/DD "
+#~ "wordt aangenomen\n"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has less than 4 digits. Assuming MM/DD/YY[YY]\n"
+#~ msgstr ""
+#~ "waarschuwing: waarde %<PRIdMAX> heeft minder dan vier cijfers -- MM/DD/"
+#~ "JJ[JJ] wordt aangenomen\n"
+
+#, c-format
+#~ msgid "warning: adjusting year value %<PRIdMAX> to %<PRIdMAX>\n"
+#~ msgstr ""
+#~ "waarschuwing: jaarwaarde %<PRIdMAX> wordt aangepast naar %<PRIdMAX>\n"
+
+#, c-format
+#~ msgid "error: out-of-range year %<PRIdMAX>\n"
+#~ msgstr "fout: jaar %<PRIdMAX> valt buiten bereik\n"
+
+#, c-format
+#~ msgid "error: unknown word '%s'\n"
+#~ msgstr "fout: onbekend woord '%s'\n"
+
+#~ msgid "error: invalid date/time value:\n"
+#~ msgstr "fout: ongeldige waarde voor datum/tijd:\n"
+
+#, c-format
+#~ msgid " user provided time: '%s'\n"
+#~ msgstr " door gebruiker gegeven tijd: '%s'\n"
+
+#, c-format
+#~ msgid " normalized time: '%s'\n"
+#~ msgstr " genormaliseerde tijd: '%s'\n"
+
+#~ msgid " possible reasons:\n"
+#~ msgstr " mogelijke redenen:\n"
+
+#~ msgid " nonexistent due to daylight-saving time;\n"
+#~ msgstr " niet-bestaand wegens zomertijd;\n"
+
+#~ msgid " invalid day/month combination;\n"
+#~ msgstr " ongeldige combinatie van dag/maand;\n"
+
+#~ msgid " numeric values overflow;\n"
+#~ msgstr " overloop van getalswaarden;\n"
+
+#~ msgid "incorrect timezone"
+#~ msgstr "onjuiste tijdzone"
+
+#~ msgid "missing timezone"
+#~ msgstr "ontbrekende tijdzone"
+
+#~ msgid "error: initial year out of range\n"
+#~ msgstr "fout: beginjaar valt buiten bereik\n"
+
+#~ msgid "error: parsing failed\n"
+#~ msgstr "fout: ontleden is mislukt\n"
+
+#, c-format
+#~ msgid "error: parsing failed, stopped at '%s'\n"
+#~ msgstr "fout: ontleden is mislukt -- gestopt bij '%s'\n"
+
+#~ msgid "input timezone: "
+#~ msgstr "invoer tijdzone: "
+
+#, c-format
+#~ msgid "'@timespec' - always UTC"
+#~ msgstr "'@timespec' -- altijd UTC"
+
+#, c-format
+#~ msgid "parsed date/time string"
+#~ msgstr "ontlede datum/tijd-tekenreeks"
+
+#, c-format
+#~ msgid "TZ=\"%s\" in date string"
+#~ msgstr "TZ=\"%s\" in datum-tekenreeks"
+
+#, c-format
+#~ msgid "TZ=\"UTC0\" environment value or -u"
+#~ msgstr "TZ=\"UTC0\" omgevingswaarde of -u"
+
+#, c-format
+#~ msgid "TZ=\"%s\" environment value"
+#~ msgstr "TZ=\"%s\" omgevingswaarde"
+
+#, c-format
+#~ msgid "system default"
+#~ msgstr "systeemstandaard"
+
+#~ msgid "error: year, month, or day overflow\n"
+#~ msgstr "fout: overloop van jaar, maand, of dag\n"
+
+#, c-format
+#~ msgid "error: invalid hour %<PRIdMAX>%s\n"
+#~ msgstr "fout: ongeldig uur %<PRIdMAX>%s\n"
+
+#, c-format
+#~ msgid "using specified time as starting value: '%s'\n"
+#~ msgstr "opgegeven tijd wordt als startwaarde gebruikt: '%s'\n"
+
+#, c-format
+#~ msgid "using current time as starting value: '%s'\n"
+#~ msgstr "huidige tijd wordt als startwaarde gebruikt: '%s'\n"
+
+#, c-format
+#~ msgid "error: tzalloc (\"%s\") failed\n"
+#~ msgstr "fout: tzalloc(\"%s\") is mislukt\n"
+
+#, c-format
+#~ msgid ""
+#~ "error: day '%s' (day ordinal=%<PRIdMAX> number=%d) resulted in an invalid "
+#~ "date: '%s'\n"
+#~ msgstr ""
+#~ "fout: dag '%s' (dagrang=%<PRIdMAX> dagnummer=%d) resulteerde in een "
+#~ "ongeldige datum: '%s'\n"
+
+#, c-format
+#~ msgid "new start date: '%s' is '%s'\n"
+#~ msgstr "nieuwe startdatum: '%s' is '%s'\n"
+
+#, c-format
+#~ msgid "using current date as starting value: '%s'\n"
+#~ msgstr "huidige datum wordt als startwaarde gebruikt: '%s'\n"
+
+#, c-format
+#~ msgid "warning: day (%s) ignored when explicit dates are given\n"
+#~ msgstr ""
+#~ "waarschuwing: dag (%s) wordt genegeerd wanneer expliciete datums gegeven "
+#~ "zijn\n"
+
+#, c-format
+#~ msgid "starting date/time: '%s'\n"
+#~ msgstr "startdatum/-tijd: '%s'\n"
+
+#~ msgid ""
+#~ "warning: when adding relative months/years, it is recommended to specify "
+#~ "the 15th of the months\n"
+#~ msgstr ""
+#~ "waarschuwing: als relatieve maanden/jaren toegevoegd worden, is het "
+#~ "raadzaam de 15e van de maand op te geven\n"
+
+#~ msgid ""
+#~ "warning: when adding relative days, it is recommended to specify noon\n"
+#~ msgstr ""
+#~ "waarschuwing: als relatieve dagen toegevoegd worden, is het raadzaam het "
+#~ "midden van de dag op te geven\n"
+
+#, c-format
+#~ msgid "error: %s:%d\n"
+#~ msgstr "fout: %s:%d\n"
+
+#, c-format
+#~ msgid "error: adding relative date resulted in an invalid date: '%s'\n"
+#~ msgstr ""
+#~ "fout: het toevoegen van een relatieve datum resulteerde in een ongeldige "
+#~ "datum: '%s'\n"
+
+#, c-format
+#~ msgid ""
+#~ "after date adjustment (%+<PRIdMAX> years, %+<PRIdMAX> months, %+<PRIdMAX> "
+#~ "days),\n"
+#~ msgstr ""
+#~ "na datumaanpassing (%+<PRIdMAX> jaren, %+<PRIdMAX> maanden, %+<PRIdMAX> "
+#~ "dagen),\n"
+
+#, c-format
+#~ msgid " new date/time = '%s'\n"
+#~ msgstr " nieuwe datum/tijd = '%s'\n"
+
+#~ msgid "warning: daylight saving time changed after date adjustment\n"
+#~ msgstr "waarschuwing: zomertijd is gewijzigd na datumaanpassing\n"
+
+#~ msgid "warning: month/year adjustment resulted in shifted dates:\n"
+#~ msgstr ""
+#~ "waarschuwing: aanpassing van maand/jaar resulteerde in verschoven "
+#~ "datums:\n"
+
+#, c-format
+#~ msgid " adjusted Y M D: %s %02d %02d\n"
+#~ msgstr " aangepaste J M D: %s %02d %02d\n"
+
+#, c-format
+#~ msgid " normalized Y M D: %s %02d %02d\n"
+#~ msgstr " genormaliseerde J M D: %s %02d %02d\n"
+
+#, c-format
+#~ msgid "error: timezone %d caused time_t overflow\n"
+#~ msgstr "fout: tijdzone %d veroorzaakte een overloop van 'time_t'\n"
+
+#, c-format
+#~ msgid "'%s' = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr "'%s' = %<PRIdMAX> epoche-seconden\n"
+
+#~ msgid "error: adding relative time caused an overflow\n"
+#~ msgstr "fout: het toevoegen van relatieve tijd veroorzaakte een overloop\n"
+
+#, c-format
+#~ msgid ""
+#~ "after time adjustment (%+<PRIdMAX> hours, %+<PRIdMAX> minutes, "
+#~ "%+<PRIdMAX> seconds, %+d ns),\n"
+#~ msgstr ""
+#~ "na tijdsaanpassing (%+<PRIdMAX> uren, %+<PRIdMAX> minuten, %+<PRIdMAX> "
+#~ "seconden, %+d ns),\n"
+
+#, c-format
+#~ msgid " new time = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr " nieuwe tijd = %<PRIdMAX> epoche-seconden\n"
+
+#~ msgid "warning: daylight saving time changed after time adjustment\n"
+#~ msgstr "waarschuwing: zomertijd is gewijzigd na tijdsaanpassing\n"
+
+#~ msgid "timezone: system default\n"
+#~ msgstr "tijdzone: systeemstandaard\n"
+
+#~ msgid "timezone: Universal Time\n"
+#~ msgstr "tijdzone: UTC (gecoördineerde wereldtijd)\n"
+
+#, c-format
+#~ msgid "timezone: TZ=\"%s\" environment value\n"
+#~ msgstr "tijdzone: TZ=\"%s\" omgevingswaarde\n"
+
+#, c-format
+#~ msgid "final: %<PRIdMAX>.%09d (epoch-seconds)\n"
+#~ msgstr "uiteindelijk: %<PRIdMAX>.%09d (epoche-seconden)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC)\n"
+#~ msgstr "uiteindelijk: %s (UTC)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC%s)\n"
+#~ msgstr "uiteindelijk: %s (UTC%s)\n"
+
+#, c-format
+#~ msgid "final: %s (unknown time zone offset)\n"
+#~ msgstr "uiteindelijk: %s (onbekende tijdzoneverschuiving)\n"
+
+#, c-format
#~ msgid "creation of reading thread failed"
#~ msgstr "Het aanmaken van een lees-thread is mislukt"
@@ -564,6 +923,7 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "subprocess %s terminated with exit code %d"
#~ msgstr "subproces %s is geëindigd met afsluitwaarde %d"
+#, c-format
#~ msgid "creation of threads failed"
#~ msgstr "aanmaken van threads is mislukt"
@@ -695,6 +1055,7 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "error writing to a closed pipe or socket"
#~ msgstr "fouten bij het schrijven naar een afgesloten 'pipe' of 'socket'"
+#, c-format
#~ msgid "cannot create pipe"
#~ msgstr "kan geen pijp aanmaken"
@@ -735,17 +1096,17 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "cannot convert U+%04X to local character set: %s"
#~ msgstr "kan U+%04X niet converteren naar de lokale tekenset: %s"
+#~ msgid "invalid spec"
+#~ msgstr "ongeldige aanduiding"
+
#~ msgid "invalid user"
#~ msgstr "ongeldige gebruiker"
#~ msgid "invalid group"
#~ msgstr "ongeldige groep"
-#~ msgid "invalid spec"
-#~ msgstr "ongeldige aanduiding"
-
-#~ msgid "unable to display error message"
-#~ msgstr "kan foutmelding niet tonen"
+#~ msgid "warning: '.' should be ':'"
+#~ msgstr "waarschuwing: '.' zou ':' moeten zijn"
#, c-format
#~ msgid "Packaged by %s (%s)\n"
@@ -866,13 +1227,6 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "General help using GNU software: <%s>\n"
#~ msgstr "Algemene hulp bij gebruik van GNU-software: <%s>\n"
-#~ msgid "_open_osfhandle failed"
-#~ msgstr "_open_osfhandle() is mislukt"
-
-#, c-format
-#~ msgid "cannot restore fd %d: dup2 failed"
-#~ msgstr "kan bestandsdescriptor %d niet herstellen: dup2() is mislukt"
-
#, c-format
#~ msgid "%s subprocess"
#~ msgstr "subproces %s"
@@ -881,6 +1235,7 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "%s subprocess got fatal signal %d"
#~ msgstr "subproces %s ontving het fatale signaal %d"
+#, c-format
#~ msgid "failed to set file descriptor text/binary mode"
#~ msgstr "kan modus van bestandsdescriptor niet instellen op tekst of binair"
@@ -900,9 +1255,11 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "failed to reopen %s with mode %s"
#~ msgstr "opnieuw openen van '%s' met modus %s is mislukt"
+#, c-format
#~ msgid "string comparison failed"
#~ msgstr "vergelijking van tekenreeksen is mislukt"
+#, c-format
#~ msgid "Set LC_ALL='C' to work around the problem."
#~ msgstr "Zet LC_ALL='C' om het probleem te omzeilen."
@@ -910,12 +1267,18 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "The strings compared were %s and %s."
#~ msgstr "De te vergelijken tekenreeksen waren %s en %s."
+#, c-format
#~ msgid "cannot perform formatted output"
#~ msgstr "kan geen opgemaakte uitvoer aanmaken"
+#, c-format
#~ msgid "standard file descriptors"
#~ msgstr "standaard bestandsdescriptors"
+#, c-format
+#~ msgid "%s: %s"
+#~ msgstr "%s: %s"
+
#, c-format
#~ msgid "invalid %s%s argument '%s'"
#~ msgstr "ongeldig argument '%3$s' van %1$s%2$s"
@@ -928,6 +1291,9 @@ msgstr "onvoldoende geheugen beschikbaar"
#~ msgid "%s%s argument '%s' too large"
#~ msgstr "argument '%3$s' van %1$s%2$s is te groot"
+#~ msgid "unable to display error message"
+#~ msgstr "kan foutmelding niet tonen"
+
#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
#~ msgstr "%.*s: Parameter in ARGP_HELP_FMT moet positief zijn"
diff --git a/gnulib/po/pt_BR.po b/gnulib/po/pt_BR.po
index 1a1dcabf25..c7d43ea65e 100644
--- a/gnulib/po/pt_BR.po
+++ b/gnulib/po/pt_BR.po
@@ -1,17 +1,18 @@
# Brazilian Portuguese translations for gnulib package
# Traduções em português brasileiro para o pacote gnulib
-# Copyright (C) 2019 Free Software Foundation, Inc.
+# Copyright (C) 2024 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnulib package.
# Cyro Mendes De Moraes Neto <neto@conectiva.com.br>, 1998.
# Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>, 2001.
# Juan Carlos Castro y Castro <jcastro@vialink.com.br>, 2003.
-# Rafael Fontenelle <rafaelff@gnome.org>, 2013, 2017, 2019.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2024.
+#
msgid ""
msgstr ""
-"Project-Id-Version: gnulib 4.0.0.2567\n"
+"Project-Id-Version: gnulib 20241209\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
"POT-Creation-Date: 2024-12-06 19:05+0000\n"
-"PO-Revision-Date: 2019-08-28 15:29-0300\n"
+"PO-Revision-Date: 2024-12-11 13:13-0300\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
@@ -19,9 +20,9 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Virtaal 1.0.0-beta1\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Gtranslator 47.1\n"
#: gnulib/lib/error.c:208
msgid "Unknown system error"
@@ -251,34 +252,28 @@ msgstr "memória esgotada"
#~ msgid "%u bitset_lists\n"
#~ msgstr "%u bitset_lists\n"
-#~ msgid "count log histogram\n"
-#~ msgstr "histograma de log de contagem\n"
+#~ msgid "count log histogram"
+#~ msgstr "histograma de log de contagem"
-#~ msgid "size log histogram\n"
-#~ msgstr "histograma de log de tamanho\n"
+#~ msgid "size log histogram"
+#~ msgstr "histograma de log de tamanho"
-#~ msgid "density histogram\n"
-#~ msgstr "histograma de densidade\n"
+#~ msgid "density histogram"
+#~ msgstr "histograma de densidade"
-#, c-format
-#~ msgid ""
-#~ "Bitset statistics:\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Estatística de bitset:\n"
-#~ "\n"
+#~ msgid "Bitset statistics:"
+#~ msgstr "Estatística de bitset:"
#, c-format
-#~ msgid "Accumulated runs = %u\n"
-#~ msgstr "Execuções acumuladas = %u\n"
+#~ msgid "Accumulated runs = %u"
+#~ msgstr "Execuções acumuladas = %u"
# , c-format
#~ msgid "cannot read stats file"
#~ msgstr "não foi possível ler o arquivo de estado"
-#, c-format
-#~ msgid "bad stats file size\n"
-#~ msgstr "tamanho inválido de arquivo de estado\n"
+#~ msgid "bad stats file size"
+#~ msgstr "tamanho inválido de arquivo de estado"
# , c-format
#~ msgid "cannot write stats file"
@@ -287,12 +282,94 @@ msgstr "memória esgotada"
#~ msgid "cannot open stats file for writing"
#~ msgstr "não foi possível abrir o arquivo de estado para escrita"
+#~ msgid "regular empty file"
+#~ msgstr "arquivo comum vazio"
+
+#~ msgid "regular file"
+#~ msgstr "arquivo comum"
+
+#~ msgid "directory"
+#~ msgstr "diretório"
+
+#~ msgid "symbolic link"
+#~ msgstr "link simbólico"
+
+#~ msgid "message queue"
+#~ msgstr "fila de mensagem"
+
+#~ msgid "semaphore"
+#~ msgstr "semáforo"
+
+#~ msgid "shared memory object"
+#~ msgstr "objeto de memória compartilhada"
+
+#~ msgid "typed memory object"
+#~ msgstr "objeto de memória tipificada"
+
+#~ msgid "block special file"
+#~ msgstr "arquivo especial de bloco"
+
+#~ msgid "character special file"
+#~ msgstr "arquivo especial de caractere"
+
+#~ msgid "contiguous data"
+#~ msgstr "dados contíguos"
+
+# first-in, first-out; abreviação muito usada no meio computacional em
+# português -- Rafael
+#~ msgid "fifo"
+#~ msgstr "fifo"
+
+# https://en.wikipedia.org/wiki/Unix_file_types#Door
+# Não traduzir para porta para evitar confusão com "port"
+#~ msgid "door"
+#~ msgstr "door"
+
+#~ msgid "multiplexed block special file"
+#~ msgstr "arquivo multiplexado especial de bloco"
+
+#~ msgid "multiplexed character special file"
+#~ msgstr "arquivo multiplexado especial de caractere"
+
+#~ msgid "multiplexed file"
+#~ msgstr "arquivo multiplexado"
+
+#~ msgid "named file"
+#~ msgstr "arquivo nomeado"
+
+#~ msgid "network special file"
+#~ msgstr "arquivo especial de rede"
+
+#~ msgid "migrated file with data"
+#~ msgstr "arquivo migrado com dados"
+
+#~ msgid "migrated file without data"
+#~ msgstr "arquivo migrado sem dados"
+
+#~ msgid "port"
+#~ msgstr "porta"
+
+#~ msgid "socket"
+#~ msgstr "soquete"
+
+#~ msgid "whiteout"
+#~ msgstr "whiteout"
+
+#~ msgid "weird file"
+#~ msgstr "arquivo estranho"
+
#~ msgid "program error"
#~ msgstr "erro do programa"
#~ msgid "stack overflow"
#~ msgstr "estouro de pilha"
+# , c-format
+#, c-format
+#~ msgid "cannot remove temporary file %s"
+#~ msgstr "não foi possível remover o arquivo temporário %s"
+
+#, c-format
#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
#~ msgstr ""
#~ "não foi possível localizar um diretório temporário, tente definir $TMPDIR"
@@ -303,11 +380,6 @@ msgstr "memória esgotada"
#~ msgstr ""
#~ "não foi possível criar um diretório temporário usando o modelo \"%s\""
-# , c-format
-#, c-format
-#~ msgid "cannot remove temporary file %s"
-#~ msgstr "não foi possível remover o arquivo temporário %s"
-
# , c-format
#, c-format
#~ msgid "cannot remove temporary directory %s"
@@ -347,123 +419,115 @@ msgstr "memória esgotada"
#~ msgid "error after reading %s"
#~ msgstr "erro após leitura de %s"
+#, c-format
#~ msgid "fdopen() failed"
#~ msgstr "fdopen() falhou"
-#~ msgid "C# compiler not found, try installing mono"
-#~ msgstr "O compilador C# não foi localizado, tente instalar mono"
-
-#~ msgid "C# virtual machine not found, try installing mono"
-#~ msgstr "A máquina virtual C# não foi localizada, tente instalar mono"
-
-#~ msgid "unbalanced ["
-#~ msgstr "[ não balanceado"
-
# , c-format
-#~ msgid "invalid character class"
-#~ msgstr "classe de caracteres inválida"
-
-#~ msgid "character class syntax is [[:space:]], not [:space:]"
-#~ msgstr "a sintaxe da classe de caracteres é [[:space:]], não [:space:]"
-
-#~ msgid "unfinished \\ escape"
-#~ msgstr "escape \\ não finalizado"
-
-#~ msgid "invalid content of \\{\\}"
-#~ msgstr "conteúdo inválido de \\{\\}"
-
-# , c-format
-#~ msgid "regular expression too big"
-#~ msgstr "expressão regular grande demais"
-
-#~ msgid "unbalanced ("
-#~ msgstr "( não balanceado"
-
-#~ msgid "no syntax specified"
-#~ msgstr "nenhuma sintaxe especificada"
-
-#~ msgid "unbalanced )"
-#~ msgstr ") não balanceado"
+#, c-format
+#~ msgid "%s subprocess I/O error"
+#~ msgstr "erro de E/S no subprocesso %s"
# , c-format
#, c-format
#~ msgid "%s subprocess failed"
#~ msgstr "subprocesso %s falhou"
-#~ msgid "regular empty file"
-#~ msgstr "arquivo comum vazio"
+#, c-format
+#~ msgid "C# compiler not found, try installing mono or dotnet"
+#~ msgstr "O compilador C# não foi localizado, tente instalar mono ou dotnet"
-#~ msgid "regular file"
-#~ msgstr "arquivo comum"
+#, c-format
+#~ msgid "failed to copy '%s' to '%s'"
+#~ msgstr "falha ao copiar \"%s\" para \"%s\""
-#~ msgid "directory"
-#~ msgstr "diretório"
+#, c-format
+#~ msgid "could not determine %s version"
+#~ msgstr "não foi possível determinar a versão de %s"
-#~ msgid "symbolic link"
-#~ msgstr "link simbólico"
+#, c-format
+#~ msgid "failed to create \"%s\""
+#~ msgstr "falha ao criar \"%s\""
-#~ msgid "message queue"
-#~ msgstr "fila de mensagem"
+# , c-format
+#, c-format
+#~ msgid "error while writing \"%s\" file"
+#~ msgstr "erro ao escrever o arquivo \"%s\""
-#~ msgid "semaphore"
-#~ msgstr "semáforo"
+#, c-format
+#~ msgid "C# virtual machine not found, try installing mono or dotnet"
+#~ msgstr ""
+#~ "a máquina virtual C# não foi localizada, tente instalar mono ou dotnet"
-#~ msgid "shared memory object"
-#~ msgstr "objeto de memória compartilhada"
+#, c-format
+#~ msgid "cannot convert file name '%s' to Windows syntax"
+#~ msgstr ""
+#~ "não foi possível converter o nome de arquivo \"%s\" para a sintaxe Windows"
-#~ msgid "typed memory object"
-#~ msgstr "objeto de memória tipificada"
+#, c-format
+#~ msgid "cygwin_conv_path failed"
+#~ msgstr "cygwin_conv_path falhou"
-#~ msgid "block special file"
-#~ msgstr "arquivo especial de bloco"
+#, c-format
+#~ msgid "%s invocation failed"
+#~ msgstr "invocação de %s falhou"
-#~ msgid "character special file"
-#~ msgstr "arquivo especial de caractere"
+#~ msgid "unbalanced ["
+#~ msgstr "[ não balanceado"
-#~ msgid "contiguous data"
-#~ msgstr "dados contíguos"
+# , c-format
+#~ msgid "invalid character class"
+#~ msgstr "classe de caracteres inválida"
-# first-in, first-out; abreviação muito usada no meio computacional em
português -- Rafael
-#~ msgid "fifo"
-#~ msgstr "fifo"
+#~ msgid "character class syntax is [[:space:]], not [:space:]"
+#~ msgstr "a sintaxe da classe de caracteres é [[:space:]], não [:space:]"
-# https://en.wikipedia.org/wiki/Unix_file_types#Door
-# Não traduzir para porta para evitar confusão com "port"
-#~ msgid "door"
-#~ msgstr "door"
+#~ msgid "unfinished \\ escape"
+#~ msgstr "escape \\ não finalizado"
-#~ msgid "multiplexed block special file"
-#~ msgstr "arquivo multiplexado especial de bloco"
+# , c-format
+#~ msgid "? at start of expression"
+#~ msgstr "? no início da expressão"
-#~ msgid "multiplexed character special file"
-#~ msgstr "arquivo multiplexado especial de caractere"
+# , c-format
+#~ msgid "* at start of expression"
+#~ msgstr "* no início da expressão"
-#~ msgid "multiplexed file"
-#~ msgstr "arquivo multiplexado"
+# , c-format
+#~ msgid "+ at start of expression"
+#~ msgstr "+ no início da expressão"
-#~ msgid "named file"
-#~ msgstr "arquivo nomeado"
+#~ msgid "{...} at start of expression"
+#~ msgstr "{...} no início da expressão"
-#~ msgid "network special file"
-#~ msgstr "arquivo especial de rede"
+#~ msgid "invalid content of \\{\\}"
+#~ msgstr "conteúdo inválido de \\{\\}"
-#~ msgid "migrated file with data"
-#~ msgstr "arquivo migrado com dados"
+# , c-format
+#~ msgid "regular expression too big"
+#~ msgstr "expressão regular grande demais"
-#~ msgid "migrated file without data"
-#~ msgstr "arquivo migrado sem dados"
+#~ msgid "stray \\ before unprintable character"
+#~ msgstr "\\ perdida antes de caractere não imprimível"
-#~ msgid "port"
-#~ msgstr "porta"
+#~ msgid "stray \\ before white space"
+#~ msgstr "\\ perdida antes de espaço"
-#~ msgid "socket"
-#~ msgstr "soquete"
+#, c-format
+#~ msgid "stray \\ before %s"
+#~ msgstr "\\ perdida antes de %s"
-#~ msgid "whiteout"
-#~ msgstr "whiteout"
+#~ msgid "stray \\"
+#~ msgstr "\\ perdida"
-#~ msgid "weird file"
-#~ msgstr "arquivo estranho"
+#~ msgid "unbalanced ("
+#~ msgstr "( não balanceado"
+
+#~ msgid "no syntax specified"
+#~ msgstr "nenhuma sintaxe especificada"
+
+#~ msgid "unbalanced )"
+#~ msgstr ") não balanceado"
#~ msgid "Address family for hostname not supported"
#~ msgstr "Não há suporte para família de endereços para nome de máquina"
@@ -522,35 +586,32 @@ msgstr "memória esgotada"
#~ msgid "Unknown error"
#~ msgstr "Erro desconhecido"
+#, c-format
+#~ msgid ""
+#~ "The java program is too old. Cannot compile Java code for this old "
+#~ "version any more."
+#~ msgstr ""
+#~ "O programa java é antigo demais. Não é possível compilar código Java para "
+#~ "esta versão antiga mais."
+
+#, c-format
#~ msgid "invalid source_version argument to compile_java_class"
#~ msgstr "argumento source_version inválido para compile_java_class"
+#, c-format
#~ msgid "invalid target_version argument to compile_java_class"
#~ msgstr "argumento target_version inválido para compile_java_class"
#, c-format
-#~ msgid "failed to create \"%s\""
-#~ msgstr "falha ao criar \"%s\""
-
-# , c-format
-#, c-format
-#~ msgid "error while writing \"%s\" file"
-#~ msgstr "erro ao escrever o arquivo \"%s\""
-
-#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
-#~ msgstr ""
-#~ "O compilador de Java não foi localizado, tente instalar gcj ou definir "
-#~ "$JAVAC"
-
-#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
+#~ msgid "Java compiler not found, try setting $JAVAC"
#~ msgstr ""
-#~ "A máquina virtual de Java não foi localizada, tente instalar gij ou "
-#~ "definir $JAVA"
+#~ "o compilador Java não foi localizado, tente instalar gcj ou definir $JAVAC"
-# , c-format
#, c-format
-#~ msgid "%s subprocess I/O error"
-#~ msgstr "erro de E/S no subprocesso %s"
+#~ msgid "Java virtual machine not found, try setting $JAVA"
+#~ msgstr ""
+#~ "a máquina virtual Java não foi localizada, tente instalar gij ou definir "
+#~ "$JAVA"
# , c-format
#, c-format
@@ -568,17 +629,312 @@ msgstr "memória esgotada"
#~ msgstr "não foi possível criar o diretório %s"
# , c-format
+#, c-format
#~ msgid "unable to record current working directory"
#~ msgstr "não foi possível registrar o diretório de trabalho atual"
# , c-format
+#, c-format
#~ msgid "failed to return to initial working directory"
#~ msgstr "falha em retornar ao diretório de trabalho inicial"
+#, c-format
+#~ msgid "_open_osfhandle failed"
+#~ msgstr "_open_osfhandle falhou"
+
+#, c-format
+#~ msgid "cannot restore fd %d: dup2 failed"
+#~ msgstr "não foi possível restaurar descritor de arquivo %d: dup2 falhou"
+
# , c-format
+#, c-format
#~ msgid "Failed to open /dev/zero for read"
#~ msgstr "Falha ao abrir /dev/zero para leitura"
+#, c-format
+#~ msgid "parsed %s part: "
+#~ msgstr "analisada parte de %s: "
+
+#, c-format
+#~ msgid "year: %04<PRIdMAX>"
+#~ msgstr "ano: %04<PRIdMAX>"
+
+#, c-format
+#~ msgid "%s (day ordinal=%<PRIdMAX> number=%d)"
+#~ msgstr "%s (dia ordinal=%<PRIdMAX> número=%d)"
+
+#, c-format
+#~ msgid "number of seconds: %<PRIdMAX>"
+#~ msgstr "número de segundos: %<PRIdMAX>"
+
+#~ msgid "today/this/now\n"
+#~ msgstr "hoje/isso/agora\n"
+
+#~ msgid "number of seconds"
+#~ msgstr "número de segundos"
+
+#~ msgid "datetime"
+#~ msgstr "datetime"
+
+#~ msgid "time"
+#~ msgstr "horário"
+
+#~ msgid "local_zone"
+#~ msgstr "zona local"
+
+#~ msgid "zone"
+#~ msgstr "zona"
+
+#~ msgid "date"
+#~ msgstr "data"
+
+#~ msgid "day"
+#~ msgstr "dia"
+
+#~ msgid "relative"
+#~ msgstr "relativa"
+
+#~ msgid "number"
+#~ msgstr "número"
+
+#~ msgid "hybrid"
+#~ msgstr "híbrida"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has %<PRIdMAX> digits. Assuming YYYY/MM/DD\n"
+#~ msgstr ""
+#~ "aviso: o valor %<PRIdMAX> tem %<PRIdMAX> dígitos. Presumindo AAAA/MM/DD\n"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has less than 4 digits. Assuming MM/DD/YY[YY]\n"
+#~ msgstr ""
+#~ "aviso: o valor %<PRIdMAX> tem menos de 4 dígitos. Presumindo MM/DD/"
+#~ "AA[AA]\n"
+
+#, c-format
+#~ msgid "warning: adjusting year value %<PRIdMAX> to %<PRIdMAX>\n"
+#~ msgstr "aviso: ajustando o valor de ano %<PRIdMAX> para %<PRIdMAX>\n"
+
+#, c-format
+#~ msgid "error: out-of-range year %<PRIdMAX>\n"
+#~ msgstr "erro: ano %<PRIdMAX> fora do intervalo\n"
+
+#, c-format
+#~ msgid "error: unknown word '%s'\n"
+#~ msgstr "erro: palavra desconhecida \"%s\"\n"
+
+#~ msgid "error: invalid date/time value:\n"
+#~ msgstr "erro: valor de data/horário inválido:\n"
+
+#, c-format
+#~ msgid " user provided time: '%s'\n"
+#~ msgstr " horário fornecido pelo usuário: \"%s\"\n"
+
+#, c-format
+#~ msgid " normalized time: '%s'\n"
+#~ msgstr " horário normalizado: \"%s\"\n"
+
+#~ msgid " possible reasons:\n"
+#~ msgstr " motivos possíveis:\n"
+
+#~ msgid " nonexistent due to daylight-saving time;\n"
+#~ msgstr " não existente por causa do horário de verão;\n"
+
+#~ msgid " invalid day/month combination;\n"
+#~ msgstr " combinação de dia/mês inválida;\n"
+
+#~ msgid " numeric values overflow;\n"
+#~ msgstr " estouro de valores numéricos;\n"
+
+#~ msgid "incorrect timezone"
+#~ msgstr "fuso horário incorreto"
+
+#~ msgid "missing timezone"
+#~ msgstr "faltando fuso horário"
+
+# , c-format
+#~ msgid "error: initial year out of range\n"
+#~ msgstr "erro: ano inicial fora do intervalo\n"
+
+#~ msgid "error: parsing failed\n"
+#~ msgstr "erro: análise falhou\n"
+
+#, c-format
+#~ msgid "error: parsing failed, stopped at '%s'\n"
+#~ msgstr "erro: análise falhou, parou em \"%s\"\n"
+
+#~ msgid "input timezone: "
+#~ msgstr "fuso horário de entrada: "
+
+#, c-format
+#~ msgid "'@timespec' - always UTC"
+#~ msgstr "\"@timespec\" - sempre UTC"
+
+#, c-format
+#~ msgid "parsed date/time string"
+#~ msgstr "string de data/horário analisada"
+
+#, c-format
+#~ msgid "TZ=\"%s\" in date string"
+#~ msgstr "TZ=\"%s\" em string de data"
+
+#, c-format
+#~ msgid "TZ=\"UTC0\" environment value or -u"
+#~ msgstr "valor de ambiente TZ=\"UTC0\" ou -u"
+
+#, c-format
+#~ msgid "TZ=\"%s\" environment value"
+#~ msgstr "valor de ambiente TZ=\"%s\""
+
+#, c-format
+#~ msgid "system default"
+#~ msgstr "padrão do sistema"
+
+#~ msgid "error: year, month, or day overflow\n"
+#~ msgstr "erro: estouro de ano, mês ou dia\n"
+
+#, c-format
+#~ msgid "error: invalid hour %<PRIdMAX>%s\n"
+#~ msgstr "erro: hora %<PRIdMAX>%s inválido\n"
+
+#, c-format
+#~ msgid "using specified time as starting value: '%s'\n"
+#~ msgstr "usando horário especificado como valor inicial: \"%s\"\n"
+
+#, c-format
+#~ msgid "using current time as starting value: '%s'\n"
+#~ msgstr "usando horário atual como valor inicial: \"%s\"\n"
+
+#, c-format
+#~ msgid "error: tzalloc (\"%s\") failed\n"
+#~ msgstr "erro: tzalloc (\"%s\") falhou\n"
+
+#, c-format
+#~ msgid ""
+#~ "error: day '%s' (day ordinal=%<PRIdMAX> number=%d) resulted in an invalid "
+#~ "date: '%s'\n"
+#~ msgstr ""
+#~ "erro: o dia \"%s\" (dia ordinal=%<PRIdMAX> número=%d) resultou em uma "
+#~ "data inválida: \"%s\"\n"
+
+#, c-format
+#~ msgid "new start date: '%s' is '%s'\n"
+#~ msgstr "nova data inicial: \"%s\" é \"%s\"\n"
+
+#, c-format
+#~ msgid "using current date as starting value: '%s'\n"
+#~ msgstr "usando data atual como valor inicial: \"%s\"\n"
+
+#, c-format
+#~ msgid "warning: day (%s) ignored when explicit dates are given\n"
+#~ msgstr "aviso: dia (%s) ignorado quando datas explícitas são dadas\n"
+
+#, c-format
+#~ msgid "starting date/time: '%s'\n"
+#~ msgstr "data/horário inicial: \"%s\"\n"
+
+#~ msgid ""
+#~ "warning: when adding relative months/years, it is recommended to specify "
+#~ "the 15th of the months\n"
+#~ msgstr ""
+#~ "aviso: ao adicionar meses/anos relativos, é recomendado especificar o 15º "
+#~ "dos meses\n"
+
+#~ msgid ""
+#~ "warning: when adding relative days, it is recommended to specify noon\n"
+#~ msgstr ""
+#~ "aviso: ao adicionar dias relativos, é recomendado especificar meio-dia\n"
+
+#, c-format
+#~ msgid "error: %s:%d\n"
+#~ msgstr "erro: %s:%d\n"
+
+#, c-format
+#~ msgid "error: adding relative date resulted in an invalid date: '%s'\n"
+#~ msgstr ""
+#~ "erro: a adição de data relativa resultou em uma data inválida: \"%s\"\n"
+
+#, c-format
+#~ msgid ""
+#~ "after date adjustment (%+<PRIdMAX> years, %+<PRIdMAX> months, %+<PRIdMAX> "
+#~ "days),\n"
+#~ msgstr ""
+#~ "após o ajuste de data (%+<PRIdMAX> anos, %+<PRIdMAX> meses, %+<PRIdMAX> "
+#~ "dias),\n"
+
+#, c-format
+#~ msgid " new date/time = '%s'\n"
+#~ msgstr " nova/o data/horário = \"%s\"\n"
+
+#~ msgid "warning: daylight saving time changed after date adjustment\n"
+#~ msgstr "aviso: horário de verão alterado após o ajuste da data\n"
+
+#~ msgid "warning: month/year adjustment resulted in shifted dates:\n"
+#~ msgstr "aviso: o ajuste de mês/ano resultou em datas deslocadas:\n"
+
+#, c-format
+#~ msgid " adjusted Y M D: %s %02d %02d\n"
+#~ msgstr " A M D ajustados: %s %02d %02d\n"
+
+#, c-format
+#~ msgid " normalized Y M D: %s %02d %02d\n"
+#~ msgstr " A M D normalizados: %s %02d %02d\n"
+
+#, c-format
+#~ msgid "error: timezone %d caused time_t overflow\n"
+#~ msgstr "erro: fuso horário %d causou estouro em time_t\n"
+
+#, c-format
+#~ msgid "'%s' = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr "\"%s\" = %<PRIdMAX> segundos desde o epoch\n"
+
+#~ msgid "error: adding relative time caused an overflow\n"
+#~ msgstr "erro: a adição de horário relativo causou um estouro\n"
+
+#, c-format
+#~ msgid ""
+#~ "after time adjustment (%+<PRIdMAX> hours, %+<PRIdMAX> minutes, "
+#~ "%+<PRIdMAX> seconds, %+d ns),\n"
+#~ msgstr ""
+#~ "após o ajuste de horário (%+<PRIdMAX> horas, %+<PRIdMAX> minutos, "
+#~ "%+<PRIdMAX> segundos, %+d ns),\n"
+
+#, c-format
+#~ msgid " new time = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr " novo horário = %<PRIdMAX> segundos desde o epoch\n"
+
+#~ msgid "warning: daylight saving time changed after time adjustment\n"
+#~ msgstr "aviso: horário de verão alterado após o ajuste do horário\n"
+
+#~ msgid "timezone: system default\n"
+#~ msgstr "fuso horário: padrão do sistema\n"
+
+#~ msgid "timezone: Universal Time\n"
+#~ msgstr "fuso horário: Tempo Universal\n"
+
+#, c-format
+#~ msgid "timezone: TZ=\"%s\" environment value\n"
+#~ msgstr "fuso horário: valor ambiente TZ=\"%s\"\n"
+
+#, c-format
+#~ msgid "final: %<PRIdMAX>.%09d (epoch-seconds)\n"
+#~ msgstr "final: %<PRIdMAX>.%09d (segundos desde epoch)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC)\n"
+#~ msgstr "final: %s (UTC)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC%s)\n"
+#~ msgstr "final: %s (UTC%s)\n"
+
+#, c-format
+#~ msgid "final: %s (unknown time zone offset)\n"
+#~ msgstr "final: %s (posição de fuso horário desconhecida)\n"
+
+#, c-format
#~ msgid "creation of reading thread failed"
#~ msgstr "a criação da thread de leitura falhou"
@@ -605,6 +961,7 @@ msgstr "memória esgotada"
#~ msgid "subprocess %s terminated with exit code %d"
#~ msgstr "o subprocesso %s terminou com o código de saída %d"
+#, c-format
#~ msgid "creation of threads failed"
#~ msgstr "a criação das threads falhou"
@@ -763,6 +1120,7 @@ msgstr "memória esgotada"
#~ msgstr "erro de escrita para um redirecionamento (pipe) ou soquete fechado"
# , c-format
+#, c-format
#~ msgid "cannot create pipe"
#~ msgstr "não foi possível criar redirecionamento"
@@ -807,17 +1165,17 @@ msgstr "memória esgotada"
#~ msgstr ""
#~ "não foi possível converter U+%04X para o conjunto de caracteres local: %s"
+#~ msgid "invalid spec"
+#~ msgstr "especificação inválida"
+
#~ msgid "invalid user"
#~ msgstr "usuário inválido"
#~ msgid "invalid group"
#~ msgstr "grupo inválido"
-#~ msgid "invalid spec"
-#~ msgstr "especificação inválida"
-
-#~ msgid "unable to display error message"
-#~ msgstr "não foi possível exibir a mensagem de erro"
+#~ msgid "warning: '.' should be ':'"
+#~ msgstr "aviso: \".\" deve ser \":\""
#, c-format
#~ msgid "Packaged by %s (%s)\n"
@@ -914,7 +1272,8 @@ msgstr "memória esgotada"
#~ "%s, %s, %s, %s,\n"
#~ "%s, %s e outros.\n"
-# Adicionado endereço de email da equipe, conforme solicitação do
desenvolvedor -- Rafael
+# Adicionado endereço de email da equipe, conforme solicitação do
+# desenvolvedor -- Rafael
#, c-format
#~ msgid "Report bugs to: %s\n"
#~ msgstr ""
@@ -934,13 +1293,6 @@ msgstr "memória esgotada"
#~ msgid "General help using GNU software: <%s>\n"
#~ msgstr "Ajuda para uso de softwares GNU: <%s>\n"
-#~ msgid "_open_osfhandle failed"
-#~ msgstr "_open_osfhandle falhou"
-
-#, c-format
-#~ msgid "cannot restore fd %d: dup2 failed"
-#~ msgstr "não foi possível restaurar descritor de arquivo %d: dup2 falhou"
-
# , c-format
#, c-format
#~ msgid "%s subprocess"
@@ -951,6 +1303,7 @@ msgstr "memória esgotada"
#~ msgid "%s subprocess got fatal signal %d"
#~ msgstr "o subprocesso %s recebeu sinal fatal %d"
+#, c-format
#~ msgid "failed to set file descriptor text/binary mode"
#~ msgstr "falha ao definir modo texto/binário do descritor de arquivo"
@@ -970,9 +1323,11 @@ msgstr "memória esgotada"
#~ msgid "failed to reopen %s with mode %s"
#~ msgstr "falha ao reabrir %s com modo %s"
+#, c-format
#~ msgid "string comparison failed"
#~ msgstr "a comparação de textos falhou"
+#, c-format
#~ msgid "Set LC_ALL='C' to work around the problem."
#~ msgstr "Defina LC_ALL='C' para contornar o problema."
@@ -980,12 +1335,18 @@ msgstr "memória esgotada"
#~ msgid "The strings compared were %s and %s."
#~ msgstr "Os textos comparados foram %s e %s."
+#, c-format
#~ msgid "cannot perform formatted output"
#~ msgstr "não foi possível fazer a saída formatada"
+#, c-format
#~ msgid "standard file descriptors"
#~ msgstr "descritores de arquivo padrão"
+#, c-format
+#~ msgid "%s: %s"
+#~ msgstr "%s: %s"
+
# %s%s é hífen e opção, `%s' é o argumento da opção
# , c-format
#, c-format
@@ -1003,6 +1364,9 @@ msgstr "memória esgotada"
#~ msgid "%s%s argument '%s' too large"
#~ msgstr "argumento para %s%s \"%s\" é grande demais"
+#~ msgid "unable to display error message"
+#~ msgstr "não foi possível exibir a mensagem de erro"
+
#~ msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
#~ msgstr "Página do %s: <https://www.gnu.org/software/%s/>\n"
diff --git a/gnulib/po/ro.po b/gnulib/po/ro.po
index 8e11afe178..e6151ec61a 100644
--- a/gnulib/po/ro.po
+++ b/gnulib/po/ro.po
@@ -1,9 +1,12 @@
# Mesajele în limba română pentru pachetul mailutils.
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2022, 2024 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnulib package.
#
# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003.
-# Traducere făcută de EH, pentru versiunea mailutis 0.4/coreutils 5.2.1.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022, 2024.
+#
+# Cronologia traducerii fișierului „trader”:
+# Traducere inițială, făcută de EH, pentru versiunea mailutis 0.4/coreutils
5.2.1.
# Notă, R-GC: se pare că în perioada 2000-2005 a făcut parte din suita altor
# pachete, înainte de-a deveni un pachet de sine stătător.
# Actualizare a mesajelor, de la fișierul „gnulib-4.0.0.2567.pot”.
@@ -13,14 +16,16 @@
# NU și a mesajelor traduse (acestea au rămas neschimbate).
# Eliminare a mesajelor ce-au dispărut în ultima versiune.
# Actualizări realizate de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>, 15.01.2022.
-# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022.
+# Actualizare a traducerii pentru versiunea 4.0.0.2567, făcută de R-GC,
feb-2022.
+# Actualizare a traducerii pentru versiunea 20241209, făcută de R-GC, dec-2024.
+# Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul).
#
msgid ""
msgstr ""
-"Project-Id-Version: gnulib-4.0.0.2567\n"
+"Project-Id-Version: gnulib 20241209\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
"POT-Creation-Date: 2024-12-06 19:05+0000\n"
-"PO-Revision-Date: 2022-02-19 23:11+0100\n"
+"PO-Revision-Date: 2024-12-11 14:19+0100\n"
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
@@ -30,7 +35,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2);\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.5\n"
#: gnulib/lib/error.c:208
msgid "Unknown system error"
@@ -263,33 +268,27 @@ msgstr "memorie epuizată"
# făcută de Benno Schulenberg din echipa
# olandeză:
# „histogram van aantal gezette bits”
-#~ msgid "count log histogram\n"
-#~ msgstr "histograma numărului seturilor de biți»bitset«\n"
+#~ msgid "count log histogram"
+#~ msgstr "histograma numărului seturilor de biți»bitset«"
-#~ msgid "size log histogram\n"
-#~ msgstr "histograma dimensiunilor seturilor de biți»bitset«\n"
+#~ msgid "size log histogram"
+#~ msgstr "histograma dimensiunilor seturilor de biți»bitset«"
-#~ msgid "density histogram\n"
-#~ msgstr "histograma densității seturilor de biți»bitset«\n"
+#~ msgid "density histogram"
+#~ msgstr "histograma densității seturilor de biți»bitset«"
-#, c-format
-#~ msgid ""
-#~ "Bitset statistics:\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Statistici set de biți»bitset«:\n"
-#~ "\n"
+#~ msgid "Bitset statistics:"
+#~ msgstr "Statistici set de biți»bitset«:"
#, c-format
-#~ msgid "Accumulated runs = %u\n"
-#~ msgstr "Cantitatea de execuții = %u\n"
+#~ msgid "Accumulated runs = %u"
+#~ msgstr "Cantitatea de execuții = %u"
#~ msgid "cannot read stats file"
#~ msgstr "nu se poate citi fișierul cu statistici"
-#, c-format
-#~ msgid "bad stats file size\n"
-#~ msgstr "dimensiunea fișierului cu statistici, este necorespunzătoare\n"
+#~ msgid "bad stats file size"
+#~ msgstr "dimensiunea fișierului cu statistici, este necorespunzătoare"
#~ msgid "cannot write stats file"
#~ msgstr "nu se poate scrie fișierul cu statistici"
@@ -297,105 +296,6 @@ msgstr "memorie epuizată"
#~ msgid "cannot open stats file for writing"
#~ msgstr "nu se poate deschide fișierul cu statistici pentru scriere"
-#~ msgid "program error"
-#~ msgstr "eroare de program"
-
-#~ msgid "stack overflow"
-#~ msgstr "debordare de stivă"
-
-#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
-#~ msgstr ""
-#~ "nu se poate găsi un director temporar, încercați să stabiliți variabila "
-#~ "$TMPDIR"
-
-# R-GC, scrie:
-# după ce-a revizat fișierul, DȘ îmi spune:
-# «→ aici parcă lipsește un „se”, și ar deveni „nu se poate crea...”»
-# îmi pare rău, mi se făcuse foame de cuvinte..
-# :)
-# - corectare aplicată!
-#, c-format
-#~ msgid "cannot create a temporary directory using template \"%s\""
-#~ msgstr "nu se poate crea un director temporar utilizând șablonul „%s”"
-
-#, c-format
-#~ msgid "cannot remove temporary file %s"
-#~ msgstr "nu se poate elimina fișierul temporar %s"
-
-#, c-format
-#~ msgid "cannot remove temporary directory %s"
-#~ msgstr "nu se poate elimina directorul temporar %s"
-
-#~ msgid "error closing file"
-#~ msgstr "eroare la închiderea fișierului"
-
-#~ msgid "write error"
-#~ msgstr "eroare de scriere"
-
-#, c-format
-#~ msgid "preserving permissions for %s"
-#~ msgstr "se păstrează permisiunile pentru %s"
-
-#, c-format
-#~ msgid "error while opening %s for reading"
-#~ msgstr "eroare la deschiderea lui %s pentru citire"
-
-#, c-format
-#~ msgid "cannot open backup file %s for writing"
-#~ msgstr "nu se poate deschide fișierul de copie de rezervă %s pentru scriere"
-
-#, c-format
-#~ msgid "error reading %s"
-#~ msgstr "eroare la citirea din %s"
-
-#, c-format
-#~ msgid "error writing %s"
-#~ msgstr "eroare la scrierea în %s"
-
-#, c-format
-#~ msgid "error after reading %s"
-#~ msgstr "eroare după citirea %s"
-
-#~ msgid "fdopen() failed"
-#~ msgstr "fdopen() a eșuat"
-
-#~ msgid "C# compiler not found, try installing mono"
-#~ msgstr "Nu a fost găsit compilatorul C#, încercați să instalați mono"
-
-#~ msgid "C# virtual machine not found, try installing mono"
-#~ msgstr "Nu a fost găsită mașina virtuală C#, încercați să instalați mono"
-
-#~ msgid "unbalanced ["
-#~ msgstr "„[” fără pereche"
-
-#~ msgid "invalid character class"
-#~ msgstr "clasă de caractere nevalidă"
-
-#~ msgid "character class syntax is [[:space:]], not [:space:]"
-#~ msgstr "sintaxa de clasă de caractere este [[:spațiu:]], nu [:spațiu]"
-
-#~ msgid "unfinished \\ escape"
-#~ msgstr "eludare » \\ « neterminată"
-
-#~ msgid "invalid content of \\{\\}"
-#~ msgstr "conținut nevalid al \\{\\}"
-
-#~ msgid "regular expression too big"
-#~ msgstr "expresia regulată este prea lungă"
-
-#~ msgid "unbalanced ("
-#~ msgstr "„(” fără pereche"
-
-#~ msgid "no syntax specified"
-#~ msgstr "nu s-a specificat nicio sintaxă"
-
-#~ msgid "unbalanced )"
-#~ msgstr "„)” fără pereche"
-
-#, c-format
-#~ msgid "%s subprocess failed"
-#~ msgstr "subprocesul %s a eșuat"
-
#~ msgid "regular empty file"
#~ msgstr "fișier gol obișnuit"
@@ -491,6 +391,169 @@ msgstr "memorie epuizată"
#~ msgid "weird file"
#~ msgstr "fișier ciudat"
+#~ msgid "program error"
+#~ msgstr "eroare de program"
+
+#~ msgid "stack overflow"
+#~ msgstr "debordare de stivă"
+
+#, c-format
+#~ msgid "cannot remove temporary file %s"
+#~ msgstr "nu se poate elimina fișierul temporar %s"
+
+#, c-format
+#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
+#~ msgstr ""
+#~ "nu se poate găsi un director temporar, încercați să stabiliți variabila "
+#~ "$TMPDIR"
+
+# R-GC, scrie:
+# după ce-a revizat fișierul, DȘ îmi spune:
+# «→ aici parcă lipsește un „se”, și ar deveni „nu se poate crea...”»
+# îmi pare rău, mi se făcuse foame de cuvinte..
+# :)
+# - corectare aplicată!
+#, c-format
+#~ msgid "cannot create a temporary directory using template \"%s\""
+#~ msgstr "nu se poate crea un director temporar utilizând șablonul „%s”"
+
+#, c-format
+#~ msgid "cannot remove temporary directory %s"
+#~ msgstr "nu se poate elimina directorul temporar %s"
+
+#~ msgid "error closing file"
+#~ msgstr "eroare la închiderea fișierului"
+
+#~ msgid "write error"
+#~ msgstr "eroare de scriere"
+
+#, c-format
+#~ msgid "preserving permissions for %s"
+#~ msgstr "se păstrează permisiunile pentru %s"
+
+#, c-format
+#~ msgid "error while opening %s for reading"
+#~ msgstr "eroare la deschiderea lui %s pentru citire"
+
+#, c-format
+#~ msgid "cannot open backup file %s for writing"
+#~ msgstr "nu se poate deschide fișierul de copie de rezervă %s pentru scriere"
+
+#, c-format
+#~ msgid "error reading %s"
+#~ msgstr "eroare la citirea din %s"
+
+#, c-format
+#~ msgid "error writing %s"
+#~ msgstr "eroare la scrierea în %s"
+
+#, c-format
+#~ msgid "error after reading %s"
+#~ msgstr "eroare după citirea %s"
+
+#, c-format
+#~ msgid "fdopen() failed"
+#~ msgstr "fdopen() a eșuat"
+
+#, c-format
+#~ msgid "%s subprocess I/O error"
+#~ msgstr "eroare de In/Ieș a subprocesului %s"
+
+#, c-format
+#~ msgid "%s subprocess failed"
+#~ msgstr "subprocesul %s a eșuat"
+
+#, c-format
+#~ msgid "C# compiler not found, try installing mono or dotnet"
+#~ msgstr ""
+#~ "Nu a fost găsit compilatorul C#, încercați să instalați mono sau dotnet"
+
+#, c-format
+#~ msgid "failed to copy '%s' to '%s'"
+#~ msgstr "nu s-a putut copia „%s” la „%s”"
+
+#, c-format
+#~ msgid "could not determine %s version"
+#~ msgstr "nu s-a putut determina versiunea %s"
+
+#, c-format
+#~ msgid "failed to create \"%s\""
+#~ msgstr "nu s-a putut crea „%s”"
+
+#, c-format
+#~ msgid "error while writing \"%s\" file"
+#~ msgstr "eroare în timpul scrierii fișierului „%s”"
+
+#, c-format
+#~ msgid "C# virtual machine not found, try installing mono or dotnet"
+#~ msgstr ""
+#~ "Nu a fost găsită mașina virtuală C#, încercați să instalați mono sau "
+#~ "dotnet"
+
+#, c-format
+#~ msgid "cannot convert file name '%s' to Windows syntax"
+#~ msgstr "nu se poate converti numele de fișier „%s” în sintaxa Windows"
+
+#, c-format
+#~ msgid "cygwin_conv_path failed"
+#~ msgstr "funcția cygwin_conv_path() a eșuat"
+
+#, c-format
+#~ msgid "%s invocation failed"
+#~ msgstr "invocarea %s a eșuat"
+
+#~ msgid "unbalanced ["
+#~ msgstr "„[” fără pereche"
+
+#~ msgid "invalid character class"
+#~ msgstr "clasă de caractere nevalidă"
+
+#~ msgid "character class syntax is [[:space:]], not [:space:]"
+#~ msgstr "sintaxa de clasă de caractere este [[:spațiu:]], nu [:spațiu]"
+
+#~ msgid "unfinished \\ escape"
+#~ msgstr "eludare » \\ « neterminată"
+
+#~ msgid "? at start of expression"
+#~ msgstr "? la începutul expresiei"
+
+#~ msgid "* at start of expression"
+#~ msgstr "* la începutul expresiei"
+
+#~ msgid "+ at start of expression"
+#~ msgstr "+ la începutul expresiei"
+
+#~ msgid "{...} at start of expression"
+#~ msgstr "{...} la începutul expresiei"
+
+#~ msgid "invalid content of \\{\\}"
+#~ msgstr "conținut nevalid al \\{\\}"
+
+#~ msgid "regular expression too big"
+#~ msgstr "expresia regulată este prea lungă"
+
+#~ msgid "stray \\ before unprintable character"
+#~ msgstr "caracter în plus „\\”, înainte de caracter neimprimabil"
+
+#~ msgid "stray \\ before white space"
+#~ msgstr "caracter în plus „\\”, înainte de un spațiu în alb"
+
+#, c-format
+#~ msgid "stray \\ before %s"
+#~ msgstr "caracter în plus „\\”, înainte de „%s”"
+
+#~ msgid "stray \\"
+#~ msgstr "caracter în plus „\\”"
+
+#~ msgid "unbalanced ("
+#~ msgstr "„(” fără pereche"
+
+#~ msgid "no syntax specified"
+#~ msgstr "nu s-a specificat nicio sintaxă"
+
+#~ msgid "unbalanced )"
+#~ msgstr "„)” fără pereche"
+
#~ msgid "Address family for hostname not supported"
#~ msgstr "Familia de adrese pentru numele de gazdă nu este suportată"
@@ -559,33 +622,32 @@ msgstr "memorie epuizată"
#~ msgid "Unknown error"
#~ msgstr "Eroare necunoscută"
+#, c-format
+#~ msgid ""
+#~ "The java program is too old. Cannot compile Java code for this old "
+#~ "version any more."
+#~ msgstr ""
+#~ "Programul java este prea vechi. Nu se mai poate compila codul Java pentru "
+#~ "această versiune veche."
+
+#, c-format
#~ msgid "invalid source_version argument to compile_java_class"
#~ msgstr "argumentul source_version nu este valid pentru compile_java_class"
+#, c-format
#~ msgid "invalid target_version argument to compile_java_class"
#~ msgstr "argumentul target_version nu este valid pentru compile_java_class"
#, c-format
-#~ msgid "failed to create \"%s\""
-#~ msgstr "nu s-a putut crea \"%s\""
-
-#, c-format
-#~ msgid "error while writing \"%s\" file"
-#~ msgstr "eroare în timpul scrierii fișierului „%s”"
-
-#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
+#~ msgid "Java compiler not found, try setting $JAVAC"
#~ msgstr ""
-#~ "Nu a fost găsit compilatorul Java, încercați să instalați gcj sau "
-#~ "stabiliți variabila $JAVAC"
-
-#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
-#~ msgstr ""
-#~ "Nu a fost găsită mașina virtuală Java, încercați să instalați gij sau "
-#~ "stabiliți variabila $JAVA"
+#~ "Nu a fost găsit compilatorul Java, încercați să definiți variabila $JAVAC"
#, c-format
-#~ msgid "%s subprocess I/O error"
-#~ msgstr "eroare de In/Ieș a subprocesului %s"
+#~ msgid "Java virtual machine not found, try setting $JAVA"
+#~ msgstr ""
+#~ "Nu a fost găsită mașina virtuală Java, încercați să definiți variabila "
+#~ "$JAVA"
#, c-format
#~ msgid "cannot stat %s"
@@ -599,15 +661,314 @@ msgstr "memorie epuizată"
#~ msgid "cannot create directory %s"
#~ msgstr "nu se poate crea directorul %s"
+#, c-format
#~ msgid "unable to record current working directory"
#~ msgstr "nu s-a putut înregistra directorul de lucru curent"
+#, c-format
#~ msgid "failed to return to initial working directory"
#~ msgstr "întoarcerea la directorul de lucru inițial a eșuat"
+#, c-format
+#~ msgid "_open_osfhandle failed"
+#~ msgstr "_open_osfhandle a eșuat"
+
+#, c-format
+#~ msgid "cannot restore fd %d: dup2 failed"
+#~ msgstr "nu se poate restaura fd %d: dup2 a eșuat"
+
+#, c-format
#~ msgid "Failed to open /dev/zero for read"
#~ msgstr "Nu s-a putut deschide „/dev/zero” pentru citire"
+#, c-format
+#~ msgid "parsed %s part: "
+#~ msgstr "partea %s analizată: "
+
+#, c-format
+#~ msgid "year: %04<PRIdMAX>"
+#~ msgstr "anul: %04<PRIdMAX>"
+
+#, c-format
+#~ msgid "%s (day ordinal=%<PRIdMAX> number=%d)"
+#~ msgstr "%s (zi ordinală=%<PRIdMAX> număr=%d)"
+
+#, c-format
+#~ msgid "number of seconds: %<PRIdMAX>"
+#~ msgstr "număr de secunde: %<PRIdMAX>"
+
+#~ msgid "today/this/now\n"
+#~ msgstr "azi/asta/acum\n"
+
+#~ msgid "number of seconds"
+#~ msgstr "număr de secunde"
+
+#~ msgid "datetime"
+#~ msgstr "data/ora"
+
+#~ msgid "time"
+#~ msgstr "timp"
+
+#~ msgid "local_zone"
+#~ msgstr "fus_orar"
+
+#~ msgid "zone"
+#~ msgstr "zona"
+
+#~ msgid "date"
+#~ msgstr "data"
+
+#~ msgid "day"
+#~ msgstr "zi"
+
+#~ msgid "relative"
+#~ msgstr "relativ"
+
+#~ msgid "number"
+#~ msgstr "număr"
+
+#~ msgid "hybrid"
+#~ msgstr "hibrid"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has %<PRIdMAX> digits. Assuming YYYY/MM/DD\n"
+#~ msgstr ""
+#~ "avertisment: valoarea %<PRIdMAX> are %<PRIdMAX> cifre. Presupunând AAAA/"
+#~ "LL/ZZ\n"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has less than 4 digits. Assuming MM/DD/YY[YY]\n"
+#~ msgstr ""
+#~ "avertisment: valoarea %<PRIdMAX> are mai puțin de 4 cifre. Presupunând LL/"
+#~ "ZZ/AA[AA]\n"
+
+#, c-format
+#~ msgid "warning: adjusting year value %<PRIdMAX> to %<PRIdMAX>\n"
+#~ msgstr ""
+#~ "avertisment: se ajustează valoarea anului %<PRIdMAX> la %<PRIdMAX>.\n"
+
+#, c-format
+#~ msgid "error: out-of-range year %<PRIdMAX>\n"
+#~ msgstr "eroare: an în afara intervalului %<PRIdMAX>\n"
+
+#, c-format
+#~ msgid "error: unknown word '%s'\n"
+#~ msgstr "eroare: cuvânt necunoscut „%s”\n"
+
+#~ msgid "error: invalid date/time value:\n"
+#~ msgstr "eroare: valoare de dată/oră nevalidă:\n"
+
+#, c-format
+#~ msgid " user provided time: '%s'\n"
+#~ msgstr " ora furnizată de utilizator: „%s”\n"
+
+#, c-format
+#~ msgid " normalized time: '%s'\n"
+#~ msgstr " ora normalizată: „%s”\n"
+
+#~ msgid " possible reasons:\n"
+#~ msgstr " motive posibile:\n"
+
+#~ msgid " nonexistent due to daylight-saving time;\n"
+#~ msgstr " inexistent datorită orei de vară;\n"
+
+#~ msgid " invalid day/month combination;\n"
+#~ msgstr " combinație zi/lună nevalidă;\n"
+
+#~ msgid " numeric values overflow;\n"
+#~ msgstr " depășirea valorilor numerice;\n"
+
+#~ msgid "incorrect timezone"
+#~ msgstr "fus orar incorect"
+
+#~ msgid "missing timezone"
+#~ msgstr "lipsește fusul orar"
+
+#~ msgid "error: initial year out of range\n"
+#~ msgstr "eroare: anul inițial în afara intervalului\n"
+
+#~ msgid "error: parsing failed\n"
+#~ msgstr "eroare: analizarea a eșuat\n"
+
+#, c-format
+#~ msgid "error: parsing failed, stopped at '%s'\n"
+#~ msgstr "eroare: analizarea a eșuat, oprită la „%s”\n"
+
+#~ msgid "input timezone: "
+#~ msgstr "introduceți fusul orar: "
+
+#, c-format
+#~ msgid "'@timespec' - always UTC"
+#~ msgstr "„@timespec” - întotdeauna UTC"
+
+#, c-format
+#~ msgid "parsed date/time string"
+#~ msgstr "șir de dată/oră analizat"
+
+#, c-format
+#~ msgid "TZ=\"%s\" in date string"
+#~ msgstr "TZ=\"%s\" în șirul de date"
+
+#, c-format
+#~ msgid "TZ=\"UTC0\" environment value or -u"
+#~ msgstr "TZ=\"UTC0\" valoare de mediu sau „-u”"
+
+#, c-format
+#~ msgid "TZ=\"%s\" environment value"
+#~ msgstr "TZ=\"%s\" valoare de mediu"
+
+#, c-format
+#~ msgid "system default"
+#~ msgstr "valoarea implicită a sistemului"
+
+#~ msgid "error: year, month, or day overflow\n"
+#~ msgstr "eroare: depășirea anului, a lunii sau a zilei\n"
+
+#, c-format
+#~ msgid "error: invalid hour %<PRIdMAX>%s\n"
+#~ msgstr "eroare: oră nevalidă %<PRIdMAX>%s\n"
+
+#, c-format
+#~ msgid "using specified time as starting value: '%s'\n"
+#~ msgstr "folosind ora specificată ca valoare de pornire: „%s”\n"
+
+#, c-format
+#~ msgid "using current time as starting value: '%s'\n"
+#~ msgstr "folosind ora curentă ca valoare de pornire: „%s”\n"
+
+#, c-format
+#~ msgid "error: tzalloc (\"%s\") failed\n"
+#~ msgstr "eroare: tzalloc (\"%s\") a eșuat\n"
+
+#, c-format
+#~ msgid ""
+#~ "error: day '%s' (day ordinal=%<PRIdMAX> number=%d) resulted in an invalid "
+#~ "date: '%s'\n"
+#~ msgstr ""
+#~ "eroare: ziua „%s” (zi ordinală=%<PRIdMAX> număr=%d) a avut ca rezultat o "
+#~ "dată nevalidă: „%s”\n"
+
+#, c-format
+#~ msgid "new start date: '%s' is '%s'\n"
+#~ msgstr "noua dată de începere: „%s” este „%s”\n"
+
+#, c-format
+#~ msgid "using current date as starting value: '%s'\n"
+#~ msgstr "folosind data curentă ca valoare de pornire: „%s”\n"
+
+#, c-format
+#~ msgid "warning: day (%s) ignored when explicit dates are given\n"
+#~ msgstr ""
+#~ "avertisment: ziua (%s) este ignorată atunci când se dau date explicite\n"
+
+#, c-format
+#~ msgid "starting date/time: '%s'\n"
+#~ msgstr "data/ora de începere: „%s”\n"
+
+#~ msgid ""
+#~ "warning: when adding relative months/years, it is recommended to specify "
+#~ "the 15th of the months\n"
+#~ msgstr ""
+#~ "avertisment: atunci când se adaugă lunile/anii relativi, se recomandă să "
+#~ "se precizeze data de 15 a lunilor.\n"
+
+#~ msgid ""
+#~ "warning: when adding relative days, it is recommended to specify noon\n"
+#~ msgstr ""
+#~ "avertisment: atunci când se adaugă zile relative, se recomandă să se "
+#~ "precizeze ora prânzului\n"
+
+#, c-format
+#~ msgid "error: %s:%d\n"
+#~ msgstr "eroare: %s:%d\n"
+
+#, c-format
+#~ msgid "error: adding relative date resulted in an invalid date: '%s'\n"
+#~ msgstr ""
+#~ "eroare: adăugarea unei date relative a avut ca rezultat o dată nevalidă: "
+#~ "„%s”\n"
+
+#, c-format
+#~ msgid ""
+#~ "after date adjustment (%+<PRIdMAX> years, %+<PRIdMAX> months, %+<PRIdMAX> "
+#~ "days),\n"
+#~ msgstr ""
+#~ "după ajustarea datei (%+<PRIdMAX> ani, %+<PRIdMAX> luni, %+<PRIdMAX> "
+#~ "zile),\n"
+
+#, c-format
+#~ msgid " new date/time = '%s'\n"
+#~ msgstr " noua dată/oră = „%s”\n"
+
+#~ msgid "warning: daylight saving time changed after date adjustment\n"
+#~ msgstr "avertisment: ora de vară a fost modificată după ajustarea datei\n"
+
+#~ msgid "warning: month/year adjustment resulted in shifted dates:\n"
+#~ msgstr "avertisment: ajustarea lunii/anului a dus la decalarea datelor:\n"
+
+#, c-format
+#~ msgid " adjusted Y M D: %s %02d %02d\n"
+#~ msgstr " ajustat A L Z: %s %02d %02d\n"
+
+#, c-format
+#~ msgid " normalized Y M D: %s %02d %02d\n"
+#~ msgstr " normalizat A L Z: %s %02d %02d\n"
+
+#, c-format
+#~ msgid "error: timezone %d caused time_t overflow\n"
+#~ msgstr "eroare: fusul orar %d a cauzat depășirea time_t\n"
+
+#, c-format
+#~ msgid "'%s' = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr "„%s” = %<PRIdMAX> secunde-epocă\n"
+
+#~ msgid "error: adding relative time caused an overflow\n"
+#~ msgstr "eroare: adăugarea timpului relativ a cauzat o depășire\n"
+
+#, c-format
+#~ msgid ""
+#~ "after time adjustment (%+<PRIdMAX> hours, %+<PRIdMAX> minutes, "
+#~ "%+<PRIdMAX> seconds, %+d ns),\n"
+#~ msgstr ""
+#~ "după ajustarea timpului (%+<PRIdMAX> ore, %+<PRIdMAX> minute, %+<PRIdMAX> "
+#~ "secunde, %+d ns),\n"
+
+#, c-format
+#~ msgid " new time = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr " nou timp = %<PRIdMAX> epocă-secunde\n"
+
+#~ msgid "warning: daylight saving time changed after time adjustment\n"
+#~ msgstr "avertisment: ora de vară a fost modificată după ajustarea orei\n"
+
+#~ msgid "timezone: system default\n"
+#~ msgstr "fusul orar: implicit al sistemului\n"
+
+#~ msgid "timezone: Universal Time\n"
+#~ msgstr "fusul orar: Timp universal\n"
+
+#, c-format
+#~ msgid "timezone: TZ=\"%s\" environment value\n"
+#~ msgstr "fusul orar: TZ=\"%s\" valoarea de mediu\n"
+
+#, c-format
+#~ msgid "final: %<PRIdMAX>.%09d (epoch-seconds)\n"
+#~ msgstr "final: %<PRIdMAX>.%09d (secunde-epocă)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC)\n"
+#~ msgstr "final: %s (UTC)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC%s)\n"
+#~ msgstr "final: %s (UTC%s)\n"
+
+#, c-format
+#~ msgid "final: %s (unknown time zone offset)\n"
+#~ msgstr "final: %s (decalaj de fus orar necunoscut)\n"
+
+#, c-format
#~ msgid "creation of reading thread failed"
#~ msgstr "crearea firului de citire a eșuat"
@@ -631,6 +992,7 @@ msgstr "memorie epuizată"
#~ msgid "subprocess %s terminated with exit code %d"
#~ msgstr "subprocesul %s a terminat cu codul de ieșire %d"
+#, c-format
#~ msgid "creation of threads failed"
#~ msgstr "crearea firelor a eșuat"
@@ -773,6 +1135,7 @@ msgstr "memorie epuizată"
#~ "eroare de scriere într-o linie de conectare închisă sau într-un soclu "
#~ "închis"
+#, c-format
#~ msgid "cannot create pipe"
#~ msgstr "nu se poate crea linia de conectare"
@@ -823,17 +1186,17 @@ msgstr "memorie epuizată"
#~ msgid "cannot convert U+%04X to local character set: %s"
#~ msgstr "nu se poate converti U+%04X în setul de caractere local: %s"
+#~ msgid "invalid spec"
+#~ msgstr "specificație nevalidă"
+
#~ msgid "invalid user"
#~ msgstr "utilizator nevalid"
#~ msgid "invalid group"
#~ msgstr "grup nevalid"
-#~ msgid "invalid spec"
-#~ msgstr "specificație nevalidă"
-
-#~ msgid "unable to display error message"
-#~ msgstr "imposibil de afișat mesajul de eroare"
+#~ msgid "warning: '.' should be ':'"
+#~ msgstr "avertisment: în loc de „.\" trebuie sa fie \":\""
#, c-format
#~ msgid "Packaged by %s (%s)\n"
@@ -947,13 +1310,6 @@ msgstr "memorie epuizată"
#~ msgid "General help using GNU software: <%s>\n"
#~ msgstr "Ajutor general utilizând software GNU: <%s>\n"
-#~ msgid "_open_osfhandle failed"
-#~ msgstr "_open_osfhandle a eșuat"
-
-#, c-format
-#~ msgid "cannot restore fd %d: dup2 failed"
-#~ msgstr "nu se poate restaura fd %d: dup2 a eșuat"
-
#, c-format
#~ msgid "%s subprocess"
#~ msgstr "subprocesul %s"
@@ -971,6 +1327,7 @@ msgstr "memorie epuizată"
# fișierului, a rămas mesaj valabil, traducerea
# inițială a mesajului:
# „nu s-a putut stabili descriptorul de fișier în modul text/binar”
+#, c-format
#~ msgid "failed to set file descriptor text/binary mode"
#~ msgstr "nu s-a putut stabili descriptorul de fișier în modul text/binar"
@@ -990,9 +1347,11 @@ msgstr "memorie epuizată"
#~ msgid "failed to reopen %s with mode %s"
#~ msgstr "nu s-a putut redeschide %s în modul %s"
+#, c-format
#~ msgid "string comparison failed"
#~ msgstr "compararea șirurilor a eșuat"
+#, c-format
#~ msgid "Set LC_ALL='C' to work around the problem."
#~ msgstr "Stabiliți LC_ALL='C' pentru a rezolva problema."
@@ -1000,12 +1359,18 @@ msgstr "memorie epuizată"
#~ msgid "The strings compared were %s and %s."
#~ msgstr "Șirurile comparate au fost %s și %s."
+#, c-format
#~ msgid "cannot perform formatted output"
#~ msgstr "nu se poate afișa ieșirea formatată"
+#, c-format
#~ msgid "standard file descriptors"
#~ msgstr "descriptoare de fișier standard"
+#, c-format
+#~ msgid "%s: %s"
+#~ msgstr "%s: %s"
+
# R-GC, scrie:
# traducerea acestui mesaj, și a celor două
# mesaje următoare, a fost inspirată de
@@ -1034,3 +1399,6 @@ msgstr "memorie epuizată"
#, c-format
#~ msgid "%s%s argument '%s' too large"
#~ msgstr "argumentul „%3$s” al %1$s%2$s este prea lung"
+
+#~ msgid "unable to display error message"
+#~ msgstr "imposibil de afișat mesajul de eroare"
diff --git a/gnulib/po/uk.po b/gnulib/po/uk.po
index 7122f994c1..ba4b707e66 100644
--- a/gnulib/po/uk.po
+++ b/gnulib/po/uk.po
@@ -3,13 +3,13 @@
# Copyright (C) 2010 Free Software Foundation, Inc.
#
# Sergey Poznyakoff <gray@gnu.org>, 2010.
-# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2019.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2019, 2024.
msgid ""
msgstr ""
-"Project-Id-Version: gnulib 4.0.0.2567\n"
+"Project-Id-Version: gnulib-20241209\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
"POT-Creation-Date: 2024-12-06 19:05+0000\n"
-"PO-Revision-Date: 2019-05-19 14:26+0300\n"
+"PO-Revision-Date: 2024-12-11 18:31+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
"Language: uk\n"
@@ -19,7 +19,7 @@ msgstr ""
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 19.03.70\n"
+"X-Generator: Lokalize 23.04.3\n"
#: gnulib/lib/error.c:208
msgid "Unknown system error"
@@ -238,33 +238,27 @@ msgstr "пам'ять вичерпано"
#~ msgid "%u bitset_lists\n"
#~ msgstr "%u bitset_lists\n"
-#~ msgid "count log histogram\n"
-#~ msgstr "гістограма журналу лічильників\n"
+#~ msgid "count log histogram"
+#~ msgstr "гістограма журналу лічильників"
-#~ msgid "size log histogram\n"
-#~ msgstr "гістограма журналу розміру\n"
+#~ msgid "size log histogram"
+#~ msgstr "гістограма журналу розміру"
-#~ msgid "density histogram\n"
-#~ msgstr "гістограма щільності\n"
+#~ msgid "density histogram"
+#~ msgstr "гістограма щільності"
-#, c-format
-#~ msgid ""
-#~ "Bitset statistics:\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Статистика наборів бітів:\n"
-#~ "\n"
+#~ msgid "Bitset statistics:"
+#~ msgstr "Статистика наборів бітів:"
#, c-format
-#~ msgid "Accumulated runs = %u\n"
-#~ msgstr "Акумульовані запуски = %u\n"
+#~ msgid "Accumulated runs = %u"
+#~ msgstr "Акумульовані запуски = %u"
#~ msgid "cannot read stats file"
#~ msgstr "не вдалося прочитати файл статистичних даних"
-#, c-format
-#~ msgid "bad stats file size\n"
-#~ msgstr "помилковий розмір файла статистичних даних\n"
+#~ msgid "bad stats file size"
+#~ msgstr "помилковий розмір файла статистичних даних"
#~ msgid "cannot write stats file"
#~ msgstr "не вдалося записати файл статистичних даних."
@@ -272,12 +266,89 @@ msgstr "пам'ять вичерпано"
#~ msgid "cannot open stats file for writing"
#~ msgstr "не вдалося відкрити файл статистичних даних для запису"
+#~ msgid "regular empty file"
+#~ msgstr "звичайний порожній файл"
+
+#~ msgid "regular file"
+#~ msgstr "звичайний файл"
+
+#~ msgid "directory"
+#~ msgstr "каталог"
+
+#~ msgid "symbolic link"
+#~ msgstr "символьне посилання"
+
+#~ msgid "message queue"
+#~ msgstr "черга повідомлень"
+
+#~ msgid "semaphore"
+#~ msgstr "семафор"
+
+#~ msgid "shared memory object"
+#~ msgstr "спільний об'єкт пам'яті"
+
+#~ msgid "typed memory object"
+#~ msgstr "типізований об'єкт пам'яті"
+
+#~ msgid "block special file"
+#~ msgstr "спеціальний блоковий файл"
+
+#~ msgid "character special file"
+#~ msgstr "спеціальний символьний файл"
+
+#~ msgid "contiguous data"
+#~ msgstr "неперервні дані"
+
+#~ msgid "fifo"
+#~ msgstr "fifo"
+
+#~ msgid "door"
+#~ msgstr "двері"
+
+#~ msgid "multiplexed block special file"
+#~ msgstr "спеціальний файл ущільненого блокового пристрою"
+
+#~ msgid "multiplexed character special file"
+#~ msgstr "спеціальний файл ущільненого символьного пристрою"
+
+#~ msgid "multiplexed file"
+#~ msgstr "ущільнений файл"
+
+#~ msgid "named file"
+#~ msgstr "іменований файл"
+
+#~ msgid "network special file"
+#~ msgstr "спеціальний файл мережі"
+
+#~ msgid "migrated file with data"
+#~ msgstr "перенесений файл з даними"
+
+#~ msgid "migrated file without data"
+#~ msgstr "перенесений файл без даних"
+
+#~ msgid "port"
+#~ msgstr "порт"
+
+#~ msgid "socket"
+#~ msgstr "гніздо"
+
+#~ msgid "whiteout"
+#~ msgstr "забілювання"
+
+#~ msgid "weird file"
+#~ msgstr "дивний файл"
+
#~ msgid "program error"
#~ msgstr "помилка програми"
#~ msgid "stack overflow"
#~ msgstr "переповнення стосу"
+#, c-format
+#~ msgid "cannot remove temporary file %s"
+#~ msgstr "не вдається усунути тимчасовий файл %s"
+
+#, c-format
#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
#~ msgstr "не вдається знайти тимчасовий каталог, спробуйте встановити $TMPDIR"
@@ -286,10 +357,6 @@ msgstr "пам'ять вичерпано"
#~ msgstr ""
#~ "не вдається створити тимчасовий каталог використовуючи шаблон \"%s\""
-#, c-format
-#~ msgid "cannot remove temporary file %s"
-#~ msgstr "не вдається усунути тимчасовий файл %s"
-
#, c-format
#~ msgid "cannot remove temporary directory %s"
#~ msgstr "не вдається усунути тимчасовий каталог %s"
@@ -324,14 +391,54 @@ msgstr "пам'ять вичерпано"
#~ msgid "error after reading %s"
#~ msgstr "помилка після читання «%s»"
+#, c-format
#~ msgid "fdopen() failed"
#~ msgstr "помилка fdopen()"
-#~ msgid "C# compiler not found, try installing mono"
-#~ msgstr "не знайдено компілятора C#, спробуйте встановити mono"
+#, c-format
+#~ msgid "%s subprocess I/O error"
+#~ msgstr "помилка вводу-виводу нащадка %s"
+
+#, c-format
+#~ msgid "%s subprocess failed"
+#~ msgstr "нащадок %s зазнав невдачі"
+
+#, c-format
+#~ msgid "C# compiler not found, try installing mono or dotnet"
+#~ msgstr "Компілятор C# не знайдено, спробуйте встановити mono або dotnet"
+
+#, c-format
+#~ msgid "failed to copy '%s' to '%s'"
+#~ msgstr "не вдалося скопіювати «%s» до «%s»"
+
+#, c-format
+#~ msgid "could not determine %s version"
+#~ msgstr "не вдалося визначити версію %s"
-#~ msgid "C# virtual machine not found, try installing mono"
-#~ msgstr "не знайдено віртуальної машини C#, спробуйте встановити mono"
+#, c-format
+#~ msgid "failed to create \"%s\""
+#~ msgstr "не вдалося створити \"%s\""
+
+#, c-format
+#~ msgid "error while writing \"%s\" file"
+#~ msgstr "помилка запису у файл \"%s\""
+
+#, c-format
+#~ msgid "C# virtual machine not found, try installing mono or dotnet"
+#~ msgstr ""
+#~ "Не знайдено віртуальну машину pnet, спробуйте встановити mono або dotnet"
+
+#, c-format
+#~ msgid "cannot convert file name '%s' to Windows syntax"
+#~ msgstr "не вдалося перетворити назву файла «%s» до синтаксису Windows"
+
+#, c-format
+#~ msgid "cygwin_conv_path failed"
+#~ msgstr "помилка cygwin_conv_path"
+
+#, c-format
+#~ msgid "%s invocation failed"
+#~ msgstr "спроба викликати %s зазнала невдачі"
#~ msgid "unbalanced ["
#~ msgstr "неврівноважена дужка ["
@@ -346,12 +453,37 @@ msgstr "пам'ять вичерпано"
#~ msgid "unfinished \\ escape"
#~ msgstr "незавершене екранування \\"
+#~ msgid "? at start of expression"
+#~ msgstr "? на початку виразу"
+
+#~ msgid "* at start of expression"
+#~ msgstr "* на початку виразу"
+
+#~ msgid "+ at start of expression"
+#~ msgstr "+ на початку виразу"
+
+#~ msgid "{...} at start of expression"
+#~ msgstr "{...} на початку виразу"
+
#~ msgid "invalid content of \\{\\}"
#~ msgstr "некоректний вміст \\{\\}"
#~ msgid "regular expression too big"
#~ msgstr "занадто об'ємний формальний вираз"
+#~ msgid "stray \\ before unprintable character"
+#~ msgstr "зайва \\ перед непридатним до друку символом"
+
+#~ msgid "stray \\ before white space"
+#~ msgstr "зайва \\ перед пробілом"
+
+#, c-format
+#~ msgid "stray \\ before %s"
+#~ msgstr "зайва \\ перед %s"
+
+#~ msgid "stray \\"
+#~ msgstr "зайвий символ \\"
+
#~ msgid "unbalanced ("
#~ msgstr "неврівноважена дужка ("
@@ -361,82 +493,6 @@ msgstr "пам'ять вичерпано"
#~ msgid "unbalanced )"
#~ msgstr "неврівноважена дужка )"
-#, c-format
-#~ msgid "%s subprocess failed"
-#~ msgstr "нащадок %s зазнав невдачі"
-
-#~ msgid "regular empty file"
-#~ msgstr "звичайний порожній файл"
-
-#~ msgid "regular file"
-#~ msgstr "звичайний файл"
-
-#~ msgid "directory"
-#~ msgstr "каталог"
-
-#~ msgid "symbolic link"
-#~ msgstr "символьне посилання"
-
-#~ msgid "message queue"
-#~ msgstr "черга повідомлень"
-
-#~ msgid "semaphore"
-#~ msgstr "семафор"
-
-#~ msgid "shared memory object"
-#~ msgstr "спільний об'єкт пам'яті"
-
-#~ msgid "typed memory object"
-#~ msgstr "типізований об'єкт пам'яті"
-
-#~ msgid "block special file"
-#~ msgstr "спеціальний блоковий файл"
-
-#~ msgid "character special file"
-#~ msgstr "спеціальний символьний файл"
-
-#~ msgid "contiguous data"
-#~ msgstr "неперервні дані"
-
-#~ msgid "fifo"
-#~ msgstr "fifo"
-
-#~ msgid "door"
-#~ msgstr "двері"
-
-#~ msgid "multiplexed block special file"
-#~ msgstr "спеціальний файл ущільненого блокового пристрою"
-
-#~ msgid "multiplexed character special file"
-#~ msgstr "спеціальний файл ущільненого символьного пристрою"
-
-#~ msgid "multiplexed file"
-#~ msgstr "ущільнений файл"
-
-#~ msgid "named file"
-#~ msgstr "іменований файл"
-
-#~ msgid "network special file"
-#~ msgstr "спеціальний файл мережі"
-
-#~ msgid "migrated file with data"
-#~ msgstr "перенесений файл з даними"
-
-#~ msgid "migrated file without data"
-#~ msgstr "перенесений файл без даних"
-
-#~ msgid "port"
-#~ msgstr "порт"
-
-#~ msgid "socket"
-#~ msgstr "гніздо"
-
-#~ msgid "whiteout"
-#~ msgstr "забілювання"
-
-#~ msgid "weird file"
-#~ msgstr "дивний файл"
-
#~ msgid "Address family for hostname not supported"
#~ msgstr "Родина адрес для назви вузла не підтримується"
@@ -494,33 +550,29 @@ msgstr "пам'ять вичерпано"
#~ msgid "Unknown error"
#~ msgstr "Невідома помилка"
+#, c-format
+#~ msgid ""
+#~ "The java program is too old. Cannot compile Java code for this old "
+#~ "version any more."
+#~ msgstr ""
+#~ "Програма мовою java є надто старою. Компіляція коду Java для цієї старої "
+#~ "версії більше не є можливою."
+
+#, c-format
#~ msgid "invalid source_version argument to compile_java_class"
#~ msgstr "недійсне значення аргументу source_version для compile_java_class"
+#, c-format
#~ msgid "invalid target_version argument to compile_java_class"
#~ msgstr "недійсне значення аргументу target_version для compile_java_class"
#, c-format
-#~ msgid "failed to create \"%s\""
-#~ msgstr "не вдалося створити \"%s\""
-
-#, c-format
-#~ msgid "error while writing \"%s\" file"
-#~ msgstr "помилка запису у файл \"%s\""
-
-#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
-#~ msgstr ""
-#~ "Не знайдено компілятора java, спробуйте встановити gcj або задати "
-#~ "значення $JAVAC"
-
-#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
-#~ msgstr ""
-#~ "Не знайдено віртуальної машини java, спробуйте встановити gij або задати "
-#~ "значення $JAVA"
+#~ msgid "Java compiler not found, try setting $JAVAC"
+#~ msgstr "Компілятор Java не знайдено, встановіть змінну $JAVAC"
#, c-format
-#~ msgid "%s subprocess I/O error"
-#~ msgstr "помилка вводу-виводу нащадка %s"
+#~ msgid "Java virtual machine not found, try setting $JAVA"
+#~ msgstr "Не знайдено віртуальну машину Java, встановіть змінну $JAVA"
#, c-format
#~ msgid "cannot stat %s"
@@ -534,15 +586,312 @@ msgstr "пам'ять вичерпано"
#~ msgid "cannot create directory %s"
#~ msgstr "не вдається створити каталог %s"
+#, c-format
#~ msgid "unable to record current working directory"
#~ msgstr "не вдається змінити поточний каталог"
+#, c-format
#~ msgid "failed to return to initial working directory"
#~ msgstr "не вдається зберегти поточний каталог"
+#, c-format
+#~ msgid "_open_osfhandle failed"
+#~ msgstr "помилка _open_osfhandle"
+
+#, c-format
+#~ msgid "cannot restore fd %d: dup2 failed"
+#~ msgstr "не вдається відновити дескриптор %d: помилка dup2"
+
+#, c-format
#~ msgid "Failed to open /dev/zero for read"
#~ msgstr "Не вдалося відкрити /dev/zero для читання"
+#, c-format
+#~ msgid "parsed %s part: "
+#~ msgstr "оброблена частина %s: "
+
+#, c-format
+#~ msgid "year: %04<PRIdMAX>"
+#~ msgstr "рік: %04<PRIdMAX>"
+
+#, c-format
+#~ msgid "%s (day ordinal=%<PRIdMAX> number=%d)"
+#~ msgstr "%s (порядковий день=%<PRIdMAX> номер=%d)"
+
+#, c-format
+#~ msgid "number of seconds: %<PRIdMAX>"
+#~ msgstr "кількість секунд: %<PRIdMAX>"
+
+#~ msgid "today/this/now\n"
+#~ msgstr "сьогодні/ця/зараз\n"
+
+#~ msgid "number of seconds"
+#~ msgstr "кількість секунд"
+
+#~ msgid "datetime"
+#~ msgstr "дата-час"
+
+#~ msgid "time"
+#~ msgstr "час"
+
+#~ msgid "local_zone"
+#~ msgstr "місцевий_пояс"
+
+#~ msgid "zone"
+#~ msgstr "пояс"
+
+#~ msgid "date"
+#~ msgstr "дата"
+
+#~ msgid "day"
+#~ msgstr "день"
+
+#~ msgid "relative"
+#~ msgstr "відносне"
+
+#~ msgid "number"
+#~ msgstr "число"
+
+#~ msgid "hybrid"
+#~ msgstr "гібридна"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has %<PRIdMAX> digits. Assuming YYYY/MM/DD\n"
+#~ msgstr ""
+#~ "попередження: значення %<PRIdMAX> складається з %<PRIdMAX> цифр. "
+#~ "Припускаємо формат РРРР/ММ/ДД\n"
+
+#, c-format
+#~ msgid ""
+#~ "warning: value %<PRIdMAX> has less than 4 digits. Assuming MM/DD/YY[YY]\n"
+#~ msgstr ""
+#~ "попередження: значення %<PRIdMAX> містить менше за 4 цифри. Припускаємо "
+#~ "формат ММ/ДД/РР[РР]\n"
+
+#, c-format
+#~ msgid "warning: adjusting year value %<PRIdMAX> to %<PRIdMAX>\n"
+#~ msgstr "попередження: коригуємо значення року %<PRIdMAX> до %<PRIdMAX>\n"
+
+#, c-format
+#~ msgid "error: out-of-range year %<PRIdMAX>\n"
+#~ msgstr "помилка: рік поза межами припустимого діапазону — %<PRIdMAX>\n"
+
+#, c-format
+#~ msgid "error: unknown word '%s'\n"
+#~ msgstr "помилка: невідоме слово «%s»\n"
+
+#~ msgid "error: invalid date/time value:\n"
+#~ msgstr "помилка: некоректне значення дати або часу:\n"
+
+#, c-format
+#~ msgid " user provided time: '%s'\n"
+#~ msgstr " час, наданий користувачем: «%s»\n"
+
+#, c-format
+#~ msgid " normalized time: '%s'\n"
+#~ msgstr " нормалізований час: «%s»\n"
+
+#~ msgid " possible reasons:\n"
+#~ msgstr " можливі причини:\n"
+
+#~ msgid " nonexistent due to daylight-saving time;\n"
+#~ msgstr " не існує через використання літнього часу;\n"
+
+#~ msgid " invalid day/month combination;\n"
+#~ msgstr " некоректна комбінація день-місяць;\n"
+
+#~ msgid " numeric values overflow;\n"
+#~ msgstr " переповнення числових значень;\n"
+
+#~ msgid "incorrect timezone"
+#~ msgstr "помилковий часовий пояс"
+
+#~ msgid "missing timezone"
+#~ msgstr "не вказано часового поясу"
+
+#~ msgid "error: initial year out of range\n"
+#~ msgstr "помилка: початковий рік поза межами припустимого діапазону\n"
+
+#~ msgid "error: parsing failed\n"
+#~ msgstr "помилка: не вдалося обробити\n"
+
+#, c-format
+#~ msgid "error: parsing failed, stopped at '%s'\n"
+#~ msgstr "помилка: не вдалося обробити, зупинилися на «%s»\n"
+
+#~ msgid "input timezone: "
+#~ msgstr "вхідний часовий пояс:"
+
+#, c-format
+#~ msgid "'@timespec' - always UTC"
+#~ msgstr "«@timespec» — завжди всесвітній час (UTC)"
+
+#, c-format
+#~ msgid "parsed date/time string"
+#~ msgstr "оброблено рядок дати і часу"
+
+#, c-format
+#~ msgid "TZ=\"%s\" in date string"
+#~ msgstr "TZ=\"%s\" у рядку дати"
+
+#, c-format
+#~ msgid "TZ=\"UTC0\" environment value or -u"
+#~ msgstr "значення середовища TZ=\"UTC0\" або -u"
+
+#, c-format
+#~ msgid "TZ=\"%s\" environment value"
+#~ msgstr "значення середовища TZ=\"%s\""
+
+#, c-format
+#~ msgid "system default"
+#~ msgstr "типове для системи"
+
+#~ msgid "error: year, month, or day overflow\n"
+#~ msgstr "помилка: переповнення значення року, місяця або дня\n"
+
+#, c-format
+#~ msgid "error: invalid hour %<PRIdMAX>%s\n"
+#~ msgstr "помилка: некоректне значення годин — %<PRIdMAX>%s\n"
+
+#, c-format
+#~ msgid "using specified time as starting value: '%s'\n"
+#~ msgstr "використовуємо вказаний час як початкове значення: «%s»\n"
+
+#, c-format
+#~ msgid "using current time as starting value: '%s'\n"
+#~ msgstr "використовуємо поточний час як початкове значення: «%s»\n"
+
+#, c-format
+#~ msgid "error: tzalloc (\"%s\") failed\n"
+#~ msgstr "помилка: не вдалося виконати tzalloc (\"%s\")\n"
+
+#, c-format
+#~ msgid ""
+#~ "error: day '%s' (day ordinal=%<PRIdMAX> number=%d) resulted in an invalid "
+#~ "date: '%s'\n"
+#~ msgstr ""
+#~ "помилка: використання дня «%s» (порядковий день=%<PRIdMAX> номер=%d) дало "
+#~ "некоректну дату: «%s»\n"
+
+#, c-format
+#~ msgid "new start date: '%s' is '%s'\n"
+#~ msgstr "нова початкова дата: «%s» є «%s»\n"
+
+#, c-format
+#~ msgid "using current date as starting value: '%s'\n"
+#~ msgstr "використовуємо поточну дату як початкове значення: «%s»\n"
+
+#, c-format
+#~ msgid "warning: day (%s) ignored when explicit dates are given\n"
+#~ msgstr "попередження: день (%s) ігнорується, якщо вказано явні дати\n"
+
+#, c-format
+#~ msgid "starting date/time: '%s'\n"
+#~ msgstr "початкова дата і час: «%s»\n"
+
+#~ msgid ""
+#~ "warning: when adding relative months/years, it is recommended to specify "
+#~ "the 15th of the months\n"
+#~ msgstr ""
+#~ "попередження: при додаванні відносних місяців і років рекомендовано "
+#~ "вказувати 15-е число місяців\n"
+
+#~ msgid ""
+#~ "warning: when adding relative days, it is recommended to specify noon\n"
+#~ msgstr ""
+#~ "попередження: при додаванні відносних днів рекомендовано вказувати "
+#~ "південь\n"
+
+#, c-format
+#~ msgid "error: %s:%d\n"
+#~ msgstr "помилка: %s:%d\n"
+
+#, c-format
+#~ msgid "error: adding relative date resulted in an invalid date: '%s'\n"
+#~ msgstr ""
+#~ "помилка: додавання відносної дати призвело до некоректної дати: «%s»\n"
+
+#, c-format
+#~ msgid ""
+#~ "after date adjustment (%+<PRIdMAX> years, %+<PRIdMAX> months, %+<PRIdMAX> "
+#~ "days),\n"
+#~ msgstr ""
+#~ "після коригування дати (%+<PRIdMAX> років, %+<PRIdMAX> місяців, "
+#~ "%+<PRIdMAX> днів),\n"
+
+#, c-format
+#~ msgid " new date/time = '%s'\n"
+#~ msgstr " нова дата і час = «%s»\n"
+
+#~ msgid "warning: daylight saving time changed after date adjustment\n"
+#~ msgstr "попередження: змінено літній час після коригування дати\n"
+
+#~ msgid "warning: month/year adjustment resulted in shifted dates:\n"
+#~ msgstr "попередження: коригування місяця і року призвело до зсуву дат:\n"
+
+#, c-format
+#~ msgid " adjusted Y M D: %s %02d %02d\n"
+#~ msgstr " кориговані значення року, місяця і дня: %s %02d %02d\n"
+
+#, c-format
+#~ msgid " normalized Y M D: %s %02d %02d\n"
+#~ msgstr " нормалізоване значення року, місяця і дня: %s %02d %02d\n"
+
+#, c-format
+#~ msgid "error: timezone %d caused time_t overflow\n"
+#~ msgstr ""
+#~ "помилка: використання часового поясу %d призвело до переповнення time_t\n"
+
+#, c-format
+#~ msgid "'%s' = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr "'%s' = %<PRIdMAX> секунд епохи\n"
+
+#~ msgid "error: adding relative time caused an overflow\n"
+#~ msgstr "помилка: додавання відносного часу призвело до переповнення\n"
+
+#, c-format
+#~ msgid ""
+#~ "after time adjustment (%+<PRIdMAX> hours, %+<PRIdMAX> minutes, "
+#~ "%+<PRIdMAX> seconds, %+d ns),\n"
+#~ msgstr ""
+#~ "після коригування часу (%+<PRIdMAX> годин, %+<PRIdMAX> хвилин, "
+#~ "%+<PRIdMAX> секунд, %+d мкс),\n"
+
+#, c-format
+#~ msgid " new time = %<PRIdMAX> epoch-seconds\n"
+#~ msgstr " новий час = %<PRIdMAX> секунд епохи\n"
+
+#~ msgid "warning: daylight saving time changed after time adjustment\n"
+#~ msgstr "попередження: змінено літній час після коригування часу\n"
+
+#~ msgid "timezone: system default\n"
+#~ msgstr "часовий пояс: типовий для системи\n"
+
+#~ msgid "timezone: Universal Time\n"
+#~ msgstr "часовий пояс: всесвітній час\n"
+
+#, c-format
+#~ msgid "timezone: TZ=\"%s\" environment value\n"
+#~ msgstr "часовий пояс: значення середовища TZ=\"%s\"\n"
+
+#, c-format
+#~ msgid "final: %<PRIdMAX>.%09d (epoch-seconds)\n"
+#~ msgstr "остаточно: %<PRIdMAX>.%09d (секунд епохи)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC)\n"
+#~ msgstr "остаточно: %s (UTC)\n"
+
+#, c-format
+#~ msgid "final: %s (UTC%s)\n"
+#~ msgstr "остаточно: %s (UTC%s)\n"
+
+#, c-format
+#~ msgid "final: %s (unknown time zone offset)\n"
+#~ msgstr "остаточно: %s (невідомий зсув часового поясу)\n"
+
+#, c-format
#~ msgid "creation of reading thread failed"
#~ msgstr "не вдалося створити потік читання"
@@ -566,6 +915,7 @@ msgstr "пам'ять вичерпано"
#~ msgid "subprocess %s terminated with exit code %d"
#~ msgstr "підпроцес %s закінчився кодом %d"
+#, c-format
#~ msgid "creation of threads failed"
#~ msgstr "помилка створення потоків"
@@ -694,6 +1044,7 @@ msgstr "пам'ять вичерпано"
#~ msgid "error writing to a closed pipe or socket"
#~ msgstr "помилка запису у закритий конвеєр або гніздо"
+#, c-format
#~ msgid "cannot create pipe"
#~ msgstr "не вдається створити конвеєр"
@@ -734,17 +1085,17 @@ msgstr "пам'ять вичерпано"
#~ msgid "cannot convert U+%04X to local character set: %s"
#~ msgstr "не вдається передати U+%04X у локальному зборі знаків: %s"
+#~ msgid "invalid spec"
+#~ msgstr "недійсна специфікація"
+
#~ msgid "invalid user"
#~ msgstr "Некоректний користувач"
#~ msgid "invalid group"
#~ msgstr "недійсна група"
-#~ msgid "invalid spec"
-#~ msgstr "недійсна специфікація"
-
-#~ msgid "unable to display error message"
-#~ msgstr "не вдається вивести повідомлення про помилку"
+#~ msgid "warning: '.' should be ':'"
+#~ msgstr "попередження: замість «.» має бути «:»"
#, c-format
#~ msgid "Packaged by %s (%s)\n"
@@ -861,13 +1212,6 @@ msgstr "пам'ять вичерпано"
#~ "Загальна довідкова інформація щодо використання програмного забезпечення "
#~ "GNU: <%s>\n"
-#~ msgid "_open_osfhandle failed"
-#~ msgstr "помилка _open_osfhandle"
-
-#, c-format
-#~ msgid "cannot restore fd %d: dup2 failed"
-#~ msgstr "не вдається відновити дескриптор %d: помилка dup2"
-
#, c-format
#~ msgid "%s subprocess"
#~ msgstr "нащадок процесу %s"
@@ -876,6 +1220,7 @@ msgstr "пам'ять вичерпано"
#~ msgid "%s subprocess got fatal signal %d"
#~ msgstr "підпроцес %s отримав фатальний сигнал %d"
+#, c-format
#~ msgid "failed to set file descriptor text/binary mode"
#~ msgstr ""
#~ "не вдалося встановити текстовий або двійковий режим для дескриптора файла"
@@ -896,9 +1241,11 @@ msgstr "пам'ять вичерпано"
#~ msgid "failed to reopen %s with mode %s"
#~ msgstr "не вдалося відкрити %s у режимі %s"
+#, c-format
#~ msgid "string comparison failed"
#~ msgstr "невдале порівняння рядків"
+#, c-format
#~ msgid "Set LC_ALL='C' to work around the problem."
#~ msgstr "Встановити LC_ALL='C', щоб уникнути цієї помилки."
@@ -906,12 +1253,18 @@ msgstr "пам'ять вичерпано"
#~ msgid "The strings compared were %s and %s."
#~ msgstr "Порівнювалися рядки: \"%s\" та \"%s\"."
+#, c-format
#~ msgid "cannot perform formatted output"
#~ msgstr "неможливо здійснити форматований вивід"
+#, c-format
#~ msgid "standard file descriptors"
#~ msgstr "стандартні дескриптори файлів"
+#, c-format
+#~ msgid "%s: %s"
+#~ msgstr "%s: %s"
+
#, c-format
#~ msgid "invalid %s%s argument '%s'"
#~ msgstr "некоректний аргумент %s%s — «%s»"
@@ -924,6 +1277,9 @@ msgstr "пам'ять вичерпано"
#~ msgid "%s%s argument '%s' too large"
#~ msgstr "%s%s, аргумент «%s» є занадто об’ємним"
+#~ msgid "unable to display error message"
+#~ msgstr "не вдається вивести повідомлення про помилку"
+
#~ msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
#~ msgstr "Домашня сторінка %s: <https://www.gnu.org/software/%s/>\n"
diff --git a/tp/Texinfo/XS/gnulib/lib/Makefile.am
b/tp/Texinfo/XS/gnulib/lib/Makefile.am
index f6b871c84b..1fe261f31c 100644
--- a/tp/Texinfo/XS/gnulib/lib/Makefile.am
+++ b/tp/Texinfo/XS/gnulib/lib/Makefile.am
@@ -627,24 +627,6 @@ EXTRA_DIST += rawmemchr.valgrind
## end gnulib module rawmemchr
-## begin gnulib module realloc-gnu
-
-
-EXTRA_DIST += realloc.c
-
-EXTRA_libgnu_la_SOURCES += realloc.c
-
-## end gnulib module realloc-gnu
-
-## begin gnulib module realloc-posix
-
-
-EXTRA_DIST += realloc.c
-
-EXTRA_libgnu_la_SOURCES += realloc.c
-
-## end gnulib module realloc-posix
-
## begin gnulib module root-uid
@@ -997,9 +979,8 @@ EXTRA_DIST += stdio.in.h
## begin gnulib module stdlib
BUILT_SOURCES += stdlib.h
+libgnu_la_SOURCES += stdlib.c
-# We need the following in order to create <stdlib.h> when the system
-# doesn't have one that works with the given compiler.
stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
$(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(gl_V_at)$(SED_HEADER_STDOUT) \
@@ -1038,7 +1019,6 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status
$(CXXDEFS_H) \
-e 's/@''GNULIB_RAND''@/$(GL_GNULIB_RAND)/g' \
-e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \
-e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \
- -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \
-e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \
-e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \
-e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \
@@ -1140,7 +1120,6 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status
$(CXXDEFS_H) \
-e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \
-e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
-e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
- -e
's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \
-e
's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g'
\
-e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
@@ -2601,6 +2580,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status
$(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
-e 's|@''REPLACE_WCSCMP''@|$(REPLACE_WCSCMP)|g' \
+ -e 's|@''REPLACE_WCSNCAT''@|$(REPLACE_WCSNCAT)|g' \
-e 's|@''REPLACE_WCSNCMP''@|$(REPLACE_WCSNCMP)|g' \
-e 's|@''REPLACE_WCSSTR''@|$(REPLACE_WCSSTR)|g' \
-e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \
diff --git a/tp/Texinfo/XS/gnulib/lib/gettext.h
b/tp/Texinfo/XS/gnulib/lib/gettext.h
index 39d5ae4daa..bf0aa41e23 100644
--- a/tp/Texinfo/XS/gnulib/lib/gettext.h
+++ b/tp/Texinfo/XS/gnulib/lib/gettext.h
@@ -1,6 +1,5 @@
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2024 Free Software
- Foundation, Inc.
+ Copyright (C) 1995-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,6 +17,7 @@
#ifndef _LIBGETTEXT_H
#define _LIBGETTEXT_H 1
+
/* NLS can be disabled through the configure --disable-nls option
or through "#define ENABLE NLS 0" before including this file. */
#if defined ENABLE_NLS && ENABLE_NLS
@@ -45,19 +45,19 @@
as well because people using "gettext.h" will not include <libintl.h>,
and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
is OK. */
-#if defined(__sun)
-# include <locale.h>
-#endif
+# if defined(__sun)
+# include <locale.h>
+# endif
/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
<libintl.h>, which chokes if dcgettext is defined as a macro. So include
it now, to make later inclusions of <libintl.h> a NOP. */
-#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
-# include <cstdlib>
-# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H
-# include <libintl.h>
+# if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
+# include <cstdlib>
+# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H
+# include <libintl.h>
+# endif
# endif
-#endif
/* Disabled NLS.
The casts to 'const char *' serve the purpose of producing warnings
@@ -93,12 +93,14 @@
#endif
+
/* Prefer gnulib's setlocale override over libintl's setlocale override. */
#ifdef GNULIB_defined_setlocale
# undef setlocale
# define setlocale rpl_setlocale
#endif
+
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
translation is done at a different place in the code.
@@ -108,6 +110,7 @@
initializer for static 'char[]' or 'const char[]' variables. */
#define gettext_noop(String) String
+
/* The separator between msgctxt and msgid in a .mo file. */
#define GETTEXT_CONTEXT_GLUE "\004"
@@ -115,6 +118,9 @@
MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be
short and rarely need to change.
The letter 'p' stands for 'particular' or 'special'. */
+
+#include <locale.h> /* for LC_MESSAGES */
+
#ifdef DEFAULT_TEXT_DOMAIN
# define pgettext(Msgctxt, Msgid) \
pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid,
Msgid, LC_MESSAGES)
@@ -178,11 +184,12 @@ npgettext_aux (const char *domain,
return translation;
}
+
/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID
can be arbitrary expressions. But for string literals these macros are
less efficient than those above. */
-#include <string.h>
+#include <string.h> /* for memcpy */
/* GNULIB_NO_VLA can be defined to disable use of VLAs even if supported.
This relates to the -Wvla and -Wvla-larger-than warnings, enabled in
@@ -199,7 +206,7 @@ npgettext_aux (const char *domain,
#endif
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
-#include <stdlib.h>
+# include <stdlib.h> /* for malloc, free */
#endif
#define pgettext_expr(Msgctxt, Msgid) \
@@ -297,4 +304,5 @@ dcnpgettext_expr (const char *domain,
return (n == 1 ? msgid : msgid_plural);
}
+
#endif /* _LIBGETTEXT_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/malloc.c
b/tp/Texinfo/XS/gnulib/lib/malloc.c
index 2a7867a1d1..045ff82c1a 100644
--- a/tp/Texinfo/XS/gnulib/lib/malloc.c
+++ b/tp/Texinfo/XS/gnulib/lib/malloc.c
@@ -17,28 +17,33 @@
/* written by Jim Meyering and Bruno Haible */
+/* Ensure that we call the system's malloc() below. */
#define _GL_USE_STDLIB_ALLOC 1
#include <config.h>
#include <stdlib.h>
#include <errno.h>
-
-#include "xalloc-oversized.h"
+#include <stdckdint.h>
/* Allocate an N-byte block of memory from the heap, even if N is 0. */
void *
rpl_malloc (size_t n)
{
+#if !HAVE_MALLOC_0_NONNULL
if (n == 0)
n = 1;
+#endif
- if (xalloc_oversized (n, 1))
+#if !HAVE_MALLOC_PTRDIFF
+ ptrdiff_t signed_n;
+ if (ckd_add (&signed_n, n, 0))
{
errno = ENOMEM;
return NULL;
}
+#endif
void *result = malloc (n);
diff --git a/tp/Texinfo/XS/gnulib/lib/malloca.c
b/tp/Texinfo/XS/gnulib/lib/malloca.c
index e75c72df84..2219459490 100644
--- a/tp/Texinfo/XS/gnulib/lib/malloca.c
+++ b/tp/Texinfo/XS/gnulib/lib/malloca.c
@@ -93,7 +93,7 @@ mmalloca (size_t n)
/* Out of memory. */
return NULL;
#else
-# if !MALLOC_0_IS_NONNULL
+# if !HAVE_MALLOC_0_NONNULL
if (n == 0)
n = 1;
# endif
@@ -118,7 +118,7 @@ freea (void *p)
char *cp = p;
small_t *sp = p;
# if defined __CHERI_PURE_CAPABILITY__
- void *mem = sp[-1];
+ void *mem = (void *) sp[-1];
# else
void *mem = cp - sp[-1];
# endif
diff --git a/tp/Texinfo/XS/gnulib/lib/realloc.c
b/tp/Texinfo/XS/gnulib/lib/realloc.c
deleted file mode 100644
index 5cfe3bc747..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/realloc.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* realloc() function that is glibc compatible.
-
- Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2024 Free Software
- Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* written by Jim Meyering and Bruno Haible */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <errno.h>
-
-#include "xalloc-oversized.h"
-
-/* Call the system's realloc below. This file does not define
- _GL_USE_STDLIB_ALLOC because it needs Gnulib's malloc if present. */
-#undef realloc
-
-/* Change the size of an allocated block of memory P to N bytes,
- with error checking. If P is NULL, use malloc. Otherwise if N is zero,
- free P and return NULL. */
-
-void *
-rpl_realloc (void *p, size_t n)
-{
- if (p == NULL)
- return malloc (n);
-
- if (n == 0)
- {
-#if NEED_SANITIZED_REALLOC
- /* ISO C 23 § 7.24.3.7.(3) says that this case is undefined behaviour.
- Let the programmer know that it occurred.
- When the undefined-behaviour sanitizers report this case, i.e. when
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117233> and
- <https://github.com/llvm/llvm-project/issues/113065>
- have been closed and new releases of GCC and clang have been made,
- we can remove this code here. */
- abort ();
-#else
- free (p);
- return NULL;
-#endif
- }
-
- if (xalloc_oversized (n, 1))
- {
- errno = ENOMEM;
- return NULL;
- }
-
- void *result = realloc (p, n);
-
-#if !HAVE_MALLOC_POSIX
- if (result == NULL)
- errno = ENOMEM;
-#endif
-
- return result;
-}
diff --git a/gnulib/lib/malloc.c b/tp/Texinfo/XS/gnulib/lib/stdlib.c
similarity index 54%
copy from gnulib/lib/malloc.c
copy to tp/Texinfo/XS/gnulib/lib/stdlib.c
index 2a7867a1d1..521d64627d 100644
--- a/gnulib/lib/malloc.c
+++ b/tp/Texinfo/XS/gnulib/lib/stdlib.c
@@ -1,6 +1,6 @@
-/* malloc() function that is glibc compatible.
+/* Inline functions for <stdlib.h>.
- Copyright (C) 1997-1998, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+ Copyright (C) 2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -15,37 +15,7 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-/* written by Jim Meyering and Bruno Haible */
-
-#define _GL_USE_STDLIB_ALLOC 1
#include <config.h>
+#define _GL_STDLIB_INLINE _GL_EXTERN_INLINE
#include <stdlib.h>
-
-#include <errno.h>
-
-#include "xalloc-oversized.h"
-
-/* Allocate an N-byte block of memory from the heap, even if N is 0. */
-
-void *
-rpl_malloc (size_t n)
-{
- if (n == 0)
- n = 1;
-
- if (xalloc_oversized (n, 1))
- {
- errno = ENOMEM;
- return NULL;
- }
-
- void *result = malloc (n);
-
-#if !HAVE_MALLOC_POSIX
- if (result == NULL)
- errno = ENOMEM;
-#endif
-
- return result;
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/stdlib.in.h
b/tp/Texinfo/XS/gnulib/lib/stdlib.in.h
index 6667f426ad..adbef69131 100644
--- a/tp/Texinfo/XS/gnulib/lib/stdlib.in.h
+++ b/tp/Texinfo/XS/gnulib/lib/stdlib.in.h
@@ -54,7 +54,7 @@
/* This file uses _Noreturn, _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE,
- GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+ _GL_INLINE_HEADER_BEGIN, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
@@ -130,6 +130,14 @@ struct random_data
# include <string>
#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_STDLIB_INLINE
+# define _GL_STDLIB_INLINE _GL_INLINE
+#endif
+#ifndef _GL_REALLOC_INLINE
+# define _GL_REALLOC_INLINE _GL_INLINE
+#endif
+
/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
that can be freed by passing them as the Ith argument to the
function F. */
@@ -283,8 +291,8 @@ _GL_CXXALIASWARN (free);
#elif defined GNULIB_POSIXCHECK
# undef free
/* Assume free is always declared. */
-_GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - "
- "use gnulib module free for portability");
+_GL_WARN_ON_USE (free, "free is not POSIX:2024 compliant everywhere - "
+ "use gnulib module free-posix for portability");
#endif
@@ -367,9 +375,10 @@ _GL_WARN_ON_USE (atoll, "atoll is unportable - "
#endif
#if @GNULIB_CALLOC_POSIX@
-# if (@GNULIB_CALLOC_POSIX@ && @REPLACE_CALLOC_FOR_CALLOC_POSIX@) \
+# if @REPLACE_CALLOC_FOR_CALLOC_POSIX@ \
|| (@GNULIB_CALLOC_GNU@ && @REPLACE_CALLOC_FOR_CALLOC_GNU@)
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+ || _GL_USE_STDLIB_ALLOC)
# undef calloc
# define calloc rpl_calloc
# endif
@@ -681,7 +690,7 @@ _GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
by never specifying a zero size), so it does not need malloc or
realloc to be redefined. */
#if @GNULIB_MALLOC_POSIX@
-# if (@GNULIB_MALLOC_POSIX@ && @REPLACE_MALLOC_FOR_MALLOC_POSIX@) \
+# if @REPLACE_MALLOC_FOR_MALLOC_POSIX@ \
|| (@GNULIB_MALLOC_GNU@ && @REPLACE_MALLOC_FOR_MALLOC_GNU@)
# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
|| _GL_USE_STDLIB_ALLOC)
@@ -740,11 +749,12 @@ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant
everywhere - "
/* Return maximum number of bytes of a multibyte character. */
#if @REPLACE_MB_CUR_MAX@
# if !GNULIB_defined_MB_CUR_MAX
-static inline
-int gl_MB_CUR_MAX (void)
+_GL_STDLIB_INLINE int
+gl_MB_CUR_MAX (void)
{
/* Turn the value 3 to the value 4, as needed for the UTF-8 encoding. */
- return MB_CUR_MAX + (MB_CUR_MAX == 3);
+ int gl_mb_cur_max = MB_CUR_MAX;
+ return gl_mb_cur_max == 3 ? 4 : gl_mb_cur_max;
}
# undef MB_CUR_MAX
# define MB_CUR_MAX gl_MB_CUR_MAX ()
@@ -1454,16 +1464,25 @@ _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable
- "
#if @GNULIB_REALLOC_POSIX@
-# if (@GNULIB_REALLOC_POSIX@ && @REPLACE_REALLOC_FOR_REALLOC_POSIX@) \
- || (@GNULIB_REALLOC_GNU@ && @REPLACE_REALLOC_FOR_REALLOC_GNU@)
+# if @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+# if @REPLACE_REALLOC_FOR_REALLOC_POSIX@ == 2
+# define _GL_INLINE_RPL_REALLOC 1
+_GL_REALLOC_INLINE void *
+rpl_realloc (void *ptr, size_t size)
+{
+ return realloc (ptr, size ? size : 1);
+}
+# endif
# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
|| _GL_USE_STDLIB_ALLOC)
# undef realloc
# define realloc rpl_realloc
# endif
+# if !defined _GL_INLINE_RPL_REALLOC
_GL_FUNCDECL_RPL (realloc, void *,
(void *ptr, size_t size),
_GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_NODISCARD);
+# endif
_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
# else
# if __GNUC__ >= 11 && !defined __clang__
@@ -1968,6 +1987,8 @@ _GL_CXXALIASWARN (wctomb);
#endif
+_GL_INLINE_HEADER_END
+
#endif /* _@GUARD_PREFIX@_STDLIB_H */
#endif /* _@GUARD_PREFIX@_STDLIB_H */
#endif
diff --git a/tp/Texinfo/XS/gnulib/lib/unistd.in.h
b/tp/Texinfo/XS/gnulib/lib/unistd.in.h
index 20b1356fd3..ceb3cb48f1 100644
--- a/tp/Texinfo/XS/gnulib/lib/unistd.in.h
+++ b/tp/Texinfo/XS/gnulib/lib/unistd.in.h
@@ -181,6 +181,9 @@ _GL_INLINE_HEADER_BEGIN
#ifndef _GL_UNISTD_INLINE
# define _GL_UNISTD_INLINE _GL_INLINE
#endif
+#ifndef _GL_GETPAGESIZE_INLINE
+# define _GL_GETPAGESIZE_INLINE _GL_INLINE
+#endif
/* Hide some function declarations from <winsock2.h>. */
@@ -1478,7 +1481,7 @@ _GL_FUNCDECL_SYS (getpagesize, int, (void), );
# define getpagesize() _gl_getpagesize ()
# else
# if !GNULIB_defined_getpagesize_function
-_GL_UNISTD_INLINE int
+_GL_GETPAGESIZE_INLINE int
getpagesize ()
{
return _gl_getpagesize ();
diff --git a/tp/Texinfo/XS/gnulib/lib/vasnprintf.c
b/tp/Texinfo/XS/gnulib/lib/vasnprintf.c
index 6ae95ca5dd..c06ae019a5 100644
--- a/tp/Texinfo/XS/gnulib/lib/vasnprintf.c
+++ b/tp/Texinfo/XS/gnulib/lib/vasnprintf.c
@@ -217,6 +217,12 @@
/* Here we need to call the native sprintf, not rpl_sprintf. */
#undef sprintf
+/* macOS 12's "warning: 'sprintf' is deprecated" is pointless,
+ as sprintf is used safely here. */
+#if defined __APPLE__ && defined __MACH__ && _GL_GNUC_PREREQ (4, 2)
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
/* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized"
warnings in this file. Use -Dlint to suppress them. */
#if defined GCC_LINT || defined lint
diff --git a/tp/Texinfo/XS/gnulib/lib/wchar.in.h
b/tp/Texinfo/XS/gnulib/lib/wchar.in.h
index 54354559ef..3c6beb0712 100644
--- a/tp/Texinfo/XS/gnulib/lib/wchar.in.h
+++ b/tp/Texinfo/XS/gnulib/lib/wchar.in.h
@@ -1149,14 +1149,27 @@ _GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
/* Append no more than N wide characters of SRC onto DEST. */
#if @GNULIB_WCSNCAT@
-# if !@HAVE_WCSNCAT@
+# if @REPLACE_WCSNCAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcsncat
+# define wcsncat rpl_wcsncat
+# endif
+_GL_FUNCDECL_RPL (wcsncat, wchar_t *,
+ (wchar_t *restrict dest, const wchar_t *restrict src,
+ size_t n), );
+_GL_CXXALIAS_RPL (wcsncat, wchar_t *,
+ (wchar_t *restrict dest, const wchar_t *restrict src,
+ size_t n));
+# else
+# if !@HAVE_WCSNCAT@
_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
(wchar_t *restrict dest, const wchar_t *restrict src,
size_t n), );
-# endif
+# endif
_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
(wchar_t *restrict dest, const wchar_t *restrict src,
size_t n));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (wcsncat);
# endif
diff --git a/tp/Texinfo/XS/gnulib/m4/assert_h.m4
b/tp/Texinfo/XS/gnulib/m4/assert_h.m4
index e1ee068f07..02f24db535 100644
--- a/tp/Texinfo/XS/gnulib/m4/assert_h.m4
+++ b/tp/Texinfo/XS/gnulib/m4/assert_h.m4
@@ -1,5 +1,5 @@
# assert_h.m4
-# serial 1
+# serial 4
dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -13,30 +13,31 @@ AC_DEFUN([gl_ASSERT_H],
AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert],
[gl_saved_CFLAGS=$CFLAGS
for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do
- AS_CASE([$gl_working],
- [*assert.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_ASSERT_H"])
-
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#if defined __clang__ && __STDC_VERSION__ < 202311
- #pragma clang diagnostic error "-Wc2x-extensions"
- #pragma clang diagnostic error "-Wc++1z-extensions"
- #endif
- #ifdef INCLUDE_ASSERT_H
- #include <assert.h>
- #endif
- static_assert (2 + 2 == 4, "arithmetic does not work");
- static_assert (2 + 2 == 4);
- ]],
- [[
- static_assert (sizeof (char) == 1, "sizeof does not work");
- static_assert (sizeof (char) == 1);
- ]])],
- [gl_cv_static_assert=$gl_working],
- [gl_cv_static_assert=no])
- CFLAGS=$gl_saved_CFLAGS
- test "$gl_cv_static_assert" != no && break
- done])
+ AS_CASE([$gl_working],
+ [*assert.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_ASSERT_H"])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#if defined __clang__ && __STDC_VERSION__ < 202311
+ #pragma clang diagnostic error "-Wc2x-extensions"
+ #pragma clang diagnostic error "-Wc++1z-extensions"
+ #endif
+ #ifdef INCLUDE_ASSERT_H
+ #include <assert.h>
+ #endif
+ static_assert (2 + 2 == 4, "arithmetic does not work");
+ static_assert (2 + 2 == 4);
+ ]],
+ [[
+ static_assert (sizeof (char) == 1, "sizeof does not work");
+ static_assert (sizeof (char) == 1);
+ ]])
+ ],
+ [gl_cv_static_assert=$gl_working],
+ [gl_cv_static_assert=no])
+ CFLAGS=$gl_saved_CFLAGS
+ test "$gl_cv_static_assert" != no && break
+ done
+ ])
GL_GENERATE_ASSERT_H=false
AS_CASE([$gl_cv_static_assert],
@@ -49,6 +50,10 @@ AC_DEFUN([gl_ASSERT_H],
dnl The "zz" puts this toward config.h's end, to avoid potential
dnl collisions with other definitions.
+ dnl Hardcode the known configuration results for GCC and clang, so that
+ dnl a configuration made with the C compiler works also with the C++ compiler
+ dnl and vice versa.
+ dnl The seemingly redundant parentheses are necessary for MSVC 14.
dnl #undef assert so that programs are not tempted to use it without
dnl specifically including assert.h.
dnl #undef __ASSERT_H__ so that on IRIX, when programs later include
@@ -56,7 +61,16 @@ AC_DEFUN([gl_ASSERT_H],
dnl Break the #undef_s apart with a comment so that 'configure' does
dnl not comment them out.
AH_VERBATIM([zzstatic_assert],
-[#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
+[#if (!(defined __clang__ \
+ ? (defined __cplusplus \
+ ? __cplusplus >= 201703L \
+ : __STDC_VERSION__ >= 202000L && __clang_major__ >= 16) \
+ : (defined __GNUC__ \
+ ? (defined __cplusplus \
+ ? __cplusplus >= 201103L && __GNUG__ >= 6 \
+ : __STDC_VERSION__ >= 202000L && __GNUC__ >= 13) \
+ : defined HAVE_C_STATIC_ASSERT)) \
+ && !defined assert \
&& (!defined __cplusplus \
|| (__cpp_static_assert < 201411 \
&& __GNUG__ < 6 && __clang_major__ < 6)))
@@ -66,8 +80,9 @@ AC_DEFUN([gl_ASSERT_H],
#undef/**/__ASSERT_H__
#endif
/* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
- We need it also to be invocable with a single argument. */
- #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+ We need it also to be invocable with a single argument.
+ Haiku 2022 <assert.h> does not define static_assert at all. */
+ #if (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
#undef/**/static_assert
#define static_assert _Static_assert
#endif
diff --git a/tp/Texinfo/XS/gnulib/m4/c-bool.m4
b/tp/Texinfo/XS/gnulib/m4/c-bool.m4
index 13aeae90d5..fa792b12a1 100644
--- a/tp/Texinfo/XS/gnulib/m4/c-bool.m4
+++ b/tp/Texinfo/XS/gnulib/m4/c-bool.m4
@@ -1,5 +1,5 @@
# c-bool.m4
-# serial 1
+# serial 3
dnl Copyright 2022-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -30,12 +30,23 @@ AC_DEFUN([gl_C_BOOL],
dnl The "zz" puts this toward config.h's end, to avoid potential
dnl collisions with other definitions.
dnl If 'bool', 'true' and 'false' do not work, arrange for them to work.
- dnl In C, this means including <stdbool.h> if it is not already included.
+ dnl Hardcode the known configuration results for GCC and clang, so that
+ dnl a configuration made with the C compiler works also with the C++ compiler
+ dnl and vice versa.
+ dnl The seemingly redundant parentheses are necessary for MSVC 14.
+ dnl "Arrange for them to work", in C, means including <stdbool.h> if it is
+ dnl not already included.
dnl However, if the preprocessor mistakenly treats 'true' as 0,
dnl define it to a bool expression equal to 1; this is needed in
dnl Sun C++ 5.11 (Oracle Solaris Studio 12.2, 2010) and older.
AH_VERBATIM([zzbool],
-[#ifndef HAVE_C_BOOL
+[#if !(defined __cplusplus \
+ ? 1 \
+ : (defined __clang__ \
+ ? __STDC_VERSION__ >= 202000L && __clang_major__ >= 15 \
+ : (defined __GNUC__ \
+ ? __STDC_VERSION__ >= 202000L && __GNUC__ >= 13 \
+ : defined HAVE_C_BOOL)))
# if !defined __cplusplus && !defined __bool_true_false_are_defined
# if HAVE_STDBOOL_H
# include <stdbool.h>
diff --git a/tp/Texinfo/XS/gnulib/m4/eealloc.m4
b/tp/Texinfo/XS/gnulib/m4/eealloc.m4
deleted file mode 100644
index 2081ac9fb0..0000000000
--- a/tp/Texinfo/XS/gnulib/m4/eealloc.m4
+++ /dev/null
@@ -1,33 +0,0 @@
-# eealloc.m4
-# serial 3
-dnl Copyright (C) 2003, 2009-2024 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl This file is offered as-is, without any warranty.
-
-AC_DEFUN([gl_EEALLOC],
-[
- AC_REQUIRE([gl_EEMALLOC])
- AC_REQUIRE([gl_EEREALLOC])
-])
-
-AC_DEFUN([gl_EEMALLOC],
-[
- _AC_FUNC_MALLOC_IF(
- [gl_cv_func_malloc_0_nonnull=1],
- [gl_cv_func_malloc_0_nonnull=0])
- AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], [$gl_cv_func_malloc_0_nonnull],
- [If malloc(0) is != NULL, define this to 1. Otherwise define this
- to 0.])
-])
-
-AC_DEFUN([gl_EEREALLOC],
-[
- _AC_FUNC_REALLOC_IF(
- [gl_cv_func_realloc_0_nonnull=1],
- [gl_cv_func_realloc_0_nonnull=0])
- AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], [$gl_cv_func_realloc_0_nonnull],
- [If realloc(NULL,0) is != NULL, define this to 1. Otherwise define this
- to 0.])
-])
diff --git a/tp/Texinfo/XS/gnulib/m4/gnulib-common.m4
b/tp/Texinfo/XS/gnulib/m4/gnulib-common.m4
index 6981dcae81..0a5cbd55ec 100644
--- a/tp/Texinfo/XS/gnulib/m4/gnulib-common.m4
+++ b/tp/Texinfo/XS/gnulib/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
# gnulib-common.m4
-# serial 105
+# serial 106
dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -852,7 +852,7 @@ AC_DEFUN([gl_COMMON_BODY], [
# if __clang_major__ >= 15
# define _GL_ATTRIBUTE_CAPABILITY_TYPE(concept) \
__attribute__ ((__capability__ (concept)))
-#else
+# else
# define _GL_ATTRIBUTE_CAPABILITY_TYPE(concept)
# endif
#endif
diff --git a/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
b/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
index ff1ad01e51..1135f733b8 100644
--- a/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
+++ b/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
@@ -95,8 +95,6 @@ AC_DEFUN([gl_EARLY],
# Code from module multiarch:
# Code from module pathmax:
# Code from module rawmemchr:
- # Code from module realloc-gnu:
- # Code from module realloc-posix:
# Code from module root-uid:
# Code from module setenv:
# Code from module size_max:
@@ -340,16 +338,6 @@ AC_DEFUN([gl_INIT],
gl_PREREQ_RAWMEMCHR
])
gl_STRING_MODULE_INDICATOR([rawmemchr])
- gl_FUNC_REALLOC_GNU
- if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 1; then
- AC_LIBOBJ([realloc])
- fi
- gl_STDLIB_MODULE_INDICATOR([realloc-gnu])
- gl_FUNC_REALLOC_POSIX
- if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then
- AC_LIBOBJ([realloc])
- fi
- gl_STDLIB_MODULE_INDICATOR([realloc-posix])
gl_FUNC_SETENV
gl_CONDITIONAL([GL_COND_OBJ_SETENV],
[test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1])
@@ -797,7 +785,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/printf-parse.h
lib/rawmemchr.c
lib/rawmemchr.valgrind
- lib/realloc.c
lib/root-uid.h
lib/setenv.c
lib/size_max.h
@@ -812,6 +799,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/stdio-read.c
lib/stdio-write.c
lib/stdio.in.h
+ lib/stdlib.c
lib/stdlib.in.h
lib/strchrnul.c
lib/strchrnul.valgrind
@@ -933,7 +921,6 @@ AC_DEFUN([gl_FILE_LIST], [
m4/close.m4
m4/codeset.m4
m4/dup2.m4
- m4/eealloc.m4
m4/environ.m4
m4/errno_h.m4
m4/euidaccess.m4
@@ -987,7 +974,6 @@ AC_DEFUN([gl_FILE_LIST], [
m4/pid_t.m4
m4/printf.m4
m4/rawmemchr.m4
- m4/realloc.m4
m4/setenv.m4
m4/size_max.m4
m4/ssize_t.m4
diff --git a/tp/Texinfo/XS/gnulib/m4/largefile.m4
b/tp/Texinfo/XS/gnulib/m4/largefile.m4
index 36a7f27231..2d30b8471b 100644
--- a/tp/Texinfo/XS/gnulib/m4/largefile.m4
+++ b/tp/Texinfo/XS/gnulib/m4/largefile.m4
@@ -295,7 +295,7 @@ AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])])
# By default, many hosts won't let programs access large files;
# one must use special compiler options to get large-file access to work.
# For more details about this brain damage please see:
-# http://www.unix.org/version2/whatsnew/lfs20mar.html
+# https://www.unix.org/version2/whatsnew/lfs20mar.html
# Additionally, on Linux file systems with 64-bit inodes a file that happens
# to have a 64-bit inode number cannot be accessed by 32-bit applications on
# Linux x86/x86_64. This can occur with file systems such as XFS and NFS.
diff --git a/tp/Texinfo/XS/gnulib/m4/malloc.m4
b/tp/Texinfo/XS/gnulib/m4/malloc.m4
index 6f9aeecb6d..a854ade93b 100644
--- a/tp/Texinfo/XS/gnulib/m4/malloc.m4
+++ b/tp/Texinfo/XS/gnulib/m4/malloc.m4
@@ -1,13 +1,24 @@
# malloc.m4
-# serial 34
+# serial 43
dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This file is offered as-is, without any warranty.
-# This is adapted with modifications from upstream Autoconf here:
-#
https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n949
+m4_version_prereq([2.73], [], [
+# Modules that use this macro directly or indirectly should depend
+# on extensions-aix, so that _LINUX_SOURCE_COMPAT gets defined
+# before this macro gets invoked. This helps on AIX 7.2 and earlier
+# if !(__VEC__ || __AIXVEC), and doesn't hurt otherwise.
+#
+# This is copied from upstream Autoconf here:
+#
https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=1f38316f6af7bf63e5e7dd187ff6456e07ad743e#n971
+# _AC_FUNC_MALLOC_IF(IF-WORKS, IF-NOT[, UNKNOWN-ASSUME])
+# ------------------------------------------------------
+# If 'malloc (0)' returns nonnull, run IF-WORKS, otherwise, IF-NOT.
+# If it is not known whether it works, assume the shell word UNKNOWN-ASSUME,
+# which should end in "yes" or in something else (the latter is the default).
AC_DEFUN([_AC_FUNC_MALLOC_IF],
[
AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
@@ -16,61 +27,81 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
[AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[#include <stdlib.h>
- ]],
- [[void *p = malloc (0);
- void * volatile vp = p;
- int result = !vp;
+ /* Use pmalloc to test; 'volatile' prevents the compiler
+ from optimizing the malloc call away. */
+ void *(*volatile pmalloc) (size_t) = malloc;]],
+ [[void *p = pmalloc (0);
+ int result = !p;
free (p);
- return result;]])
- ],
+ return result;]])],
[ac_cv_func_malloc_0_nonnull=yes],
[ac_cv_func_malloc_0_nonnull=no],
- [case "$host_os" in
- # Guess yes on platforms where we know the result.
- *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midipix* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
- ac_cv_func_malloc_0_nonnull="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;;
- esac
- ])
- ])
+ [AS_CASE([$host_os],
+ [# Guess yes on platforms where we know the result.
+ *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
+ | gnu* | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin* | mingw* | windows* | msys*],
+ [ac_cv_func_malloc_0_nonnull="guessing yes"],
+ [# Guess as follows if we don't know.
+ ac_cv_func_malloc_0_nonnull=m4_default([$3], ["guessing no"])])])])
AS_CASE([$ac_cv_func_malloc_0_nonnull], [*yes], [$1], [$2])
])# _AC_FUNC_MALLOC_IF
+])
+
+# gl_FUNC_MALLOC_0_NONNULL
+# ------------------------
+# If 'malloc (0)' returns nonnull define HAVE_MALLOC_0_NONNULL.
+# Also, set ac_cv_func_malloc_0_nonnull to a string that ends in
+# "yes", otherwise set it to something else. If unknown whether
+# malloc (0) works, guess as normal for cross-builds.
+AC_DEFUN([gl_FUNC_MALLOC_0_NONNULL],
+[
+ _AC_FUNC_MALLOC_IF(
+ [AC_DEFINE([HAVE_MALLOC_0_NONNULL], [1],
+ [Define to 1 if malloc (0) returns nonnull.])],
+ [],
+ ["$gl_cross_guess_normal"])
+])
# gl_FUNC_MALLOC_GNU
# ------------------
-# Replace malloc if it is not compatible with GNU libc.
+# Test whether malloc (0) is compatible with GNU libc.
+# Replace malloc if not.
+# Define HAVE_MALLOC_0_NONNULL if malloc (0) returns nonnull (except upon
+# out-of-memory).
+# Define HAVE_MALLOC_PTRDIFF if malloc (N) reliably fails when N exceeds
+# PTRDIFF_MAX.
AC_DEFUN([gl_FUNC_MALLOC_GNU],
[
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
+ AC_REQUIRE([gl_FUNC_MALLOC_0_NONNULL])
- dnl Through the dependency on module extensions-aix, _LINUX_SOURCE_COMPAT
- dnl gets defined already before this macro gets invoked. This helps
- dnl if !(__VEC__ || __AIXVEC), and doesn't hurt otherwise.
-
- REPLACE_MALLOC_FOR_MALLOC_GNU="$REPLACE_MALLOC_FOR_MALLOC_POSIX"
- if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 0; then
- _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC_FOR_MALLOC_GNU=1])
- fi
+ AS_CASE([$ac_cv_func_malloc_0_nonnull],
+ [*yes],
+ [REPLACE_MALLOC_FOR_MALLOC_GNU=$REPLACE_MALLOC_FOR_MALLOC_POSIX],
+ [REPLACE_MALLOC_FOR_MALLOC_GNU=1])
])
# gl_FUNC_MALLOC_PTRDIFF
# ----------------------
-# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX,
-# and replace malloc otherwise.
+# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX.
+# Define HAVE_MALLOC_PTRDIFF if yes.
+# Replace malloc if not.
AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF],
[
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF])
- test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC_FOR_MALLOC_POSIX=1
+ AS_IF([test "$gl_cv_malloc_ptrdiff" = yes],
+ [AC_DEFINE([HAVE_MALLOC_PTRDIFF], 1,
+ [Define to 1 if malloc-like functions do not allocate objects
+ larger than PTRDIFF_MAX bytes.])],
+ [REPLACE_MALLOC_FOR_MALLOC_POSIX=1])
])
# Test whether malloc, realloc, calloc refuse to create objects
# larger than what can be expressed in ptrdiff_t.
-# Set gl_cv_func_malloc_gnu to yes or no accordingly.
+# Set gl_cv_func_malloc_gnu.
AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF],
[
AC_CACHE_CHECK([whether malloc is ptrdiff_t safe],
@@ -114,16 +145,19 @@ AC_DEFUN([gl_FUNC_MALLOC_POSIX],
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_FUNC_MALLOC_PTRDIFF])
AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
- if test "$gl_cv_func_malloc_posix" = yes; then
- AC_DEFINE([HAVE_MALLOC_POSIX], [1],
- [Define if malloc, realloc, and calloc set errno on allocation failure.])
- else
- REPLACE_MALLOC_FOR_MALLOC_POSIX=1
- fi
+ case "$gl_cv_func_malloc_posix" in
+ *yes)
+ AC_DEFINE([HAVE_MALLOC_POSIX], [1],
+ [Define if malloc, realloc, and calloc set errno on allocation
failure.])
+ ;;
+ *)
+ REPLACE_MALLOC_FOR_MALLOC_POSIX=1
+ ;;
+ esac
])
# Test whether malloc, realloc, calloc set errno to ENOMEM on failure.
-# Set gl_cv_func_malloc_posix to yes or no accordingly.
+# Set gl_cv_func_malloc_posix to *yes or *no accordingly.
AC_DEFUN([gl_CHECK_MALLOC_POSIX],
[
AC_REQUIRE([AC_CANONICAL_HOST])
@@ -134,10 +168,24 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX],
dnl some systems go to their knees when you do that. So assume that
dnl all Unix implementations of the function set errno on failure,
dnl except on those platforms where we have seen 'test-malloc-gnu',
- dnl 'test-realloc-gnu', 'test-calloc-gnu' fail.
+ dnl 'test-realloc-posix', 'test-calloc-gnu' fail.
case "$host_os" in
mingw* | windows*)
- gl_cv_func_malloc_posix=no ;;
+ dnl Old MSVCRT from 2001 did not set errno=ENOMEM when malloc failed.
+ dnl More recent MSVCRT from 2019 does so.
+ dnl UCRT is the successor of MSVCRT. Assume that UCRT does so as
well.
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdio.h>
+ #ifndef _UCRT
+ msvcrt yuck
+ #endif
+ ]],
+ [[]])
+ ],
+ [gl_cv_func_malloc_posix="guessing yes"],
+ [gl_cv_func_malloc_posix="guessing no"])
+ ;;
irix* | solaris*)
dnl On IRIX 6.5, the three functions return NULL with errno unset
dnl when the argument is larger than PTRDIFF_MAX.
diff --git a/tp/Texinfo/XS/gnulib/m4/malloca.m4
b/tp/Texinfo/XS/gnulib/m4/malloca.m4
index 0929b9efff..8d80e38055 100644
--- a/tp/Texinfo/XS/gnulib/m4/malloca.m4
+++ b/tp/Texinfo/XS/gnulib/m4/malloca.m4
@@ -1,5 +1,5 @@
# malloca.m4
-# serial 2
+# serial 3
dnl Copyright (C) 2003-2004, 2006-2007, 2009-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
@@ -12,5 +12,5 @@ AC_DEFUN([gl_MALLOCA],
dnl Use the autoconf tests for alloca(), but not the AC_SUBSTed variables
dnl @ALLOCA@ and @LTALLOCA@.
dnl gl_FUNC_ALLOCA dnl Already brought in by the module dependencies.
- AC_REQUIRE([gl_EEMALLOC])
+ AC_REQUIRE([gl_FUNC_MALLOC_GNU])
])
diff --git a/tp/Texinfo/XS/gnulib/m4/realloc.m4
b/tp/Texinfo/XS/gnulib/m4/realloc.m4
deleted file mode 100644
index f4d78f9622..0000000000
--- a/tp/Texinfo/XS/gnulib/m4/realloc.m4
+++ /dev/null
@@ -1,92 +0,0 @@
-# realloc.m4
-# serial 33
-dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl This file is offered as-is, without any warranty.
-
-# An an experimental option, the user can request a sanitized realloc()
-# implementation, i.e. one that aborts upon undefined behaviour,
-# by setting
-# gl_cv_func_realloc_sanitize=yes
-# at configure time.
-AC_DEFUN([gl_FUNC_REALLOC_SANITIZED],
-[
- AC_CACHE_CHECK([whether realloc should abort upon undefined behaviour],
- [gl_cv_func_realloc_sanitize],
- [test -n "$gl_cv_func_realloc_sanitize" || gl_cv_func_realloc_sanitize=no])
-])
-
-# This is adapted with modifications from upstream Autoconf here:
-#
https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n1455
-AC_DEFUN([_AC_FUNC_REALLOC_IF],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
- AC_CACHE_CHECK([whether realloc (0, 0) returns nonnull],
- [ac_cv_func_realloc_0_nonnull],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <stdlib.h>
- ]],
- [[void *p = realloc (0, 0);
- void * volatile vp = p;
- int result = !vp;
- free (p);
- return result;]])
- ],
- [ac_cv_func_realloc_0_nonnull=yes],
- [ac_cv_func_realloc_0_nonnull=no],
- [case "$host_os" in
- # Guess yes on platforms where we know the result.
- *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midipix* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
- ac_cv_func_realloc_0_nonnull="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;;
- esac
- ])
- ])
- AS_CASE([$ac_cv_func_realloc_0_nonnull], [*yes], [$1], [$2])
-])# AC_FUNC_REALLOC
-
-# gl_FUNC_REALLOC_GNU
-# -------------------
-# Replace realloc if it is not compatible with GNU libc.
-AC_DEFUN([gl_FUNC_REALLOC_GNU],
-[
- AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- AC_REQUIRE([gl_FUNC_REALLOC_POSIX])
-
- dnl Through the dependency on module extensions-aix, _LINUX_SOURCE_COMPAT
- dnl gets defined already before this macro gets invoked. This helps
- dnl if !(__VEC__ || __AIXVEC), and doesn't hurt otherwise.
-
- AC_REQUIRE([gl_FUNC_REALLOC_SANITIZED])
- if test "$gl_cv_func_realloc_sanitize" = no \
- && test $REPLACE_REALLOC_FOR_REALLOC_GNU = 0; then
- _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC_FOR_REALLOC_GNU=1])
- fi
-])# gl_FUNC_REALLOC_GNU
-
-# gl_FUNC_REALLOC_POSIX
-# ---------------------
-# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it
-# fails, and doesn't mess up with ptrdiff_t overflow),
-# and replace realloc if it is not.
-AC_DEFUN([gl_FUNC_REALLOC_POSIX],
-[
- AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
- AC_REQUIRE([gl_FUNC_REALLOC_SANITIZED])
- if test "$gl_cv_func_realloc_sanitize" != no; then
- REPLACE_REALLOC_FOR_REALLOC_POSIX=1
- AC_DEFINE([NEED_SANITIZED_REALLOC], [1],
- [Define to 1 if realloc should abort upon undefined behaviour.])
- else
- if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then
- REPLACE_REALLOC_FOR_REALLOC_POSIX=1
- fi
- fi
-])
diff --git a/tp/Texinfo/XS/gnulib/m4/stdlib_h.m4
b/tp/Texinfo/XS/gnulib/m4/stdlib_h.m4
index 68d98427b5..87b63ff54e 100644
--- a/tp/Texinfo/XS/gnulib/m4/stdlib_h.m4
+++ b/tp/Texinfo/XS/gnulib/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
# stdlib_h.m4
-# serial 81
+# serial 82
dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,6 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_GNU])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH])
@@ -248,7 +247,6 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
REPLACE_RAND=0; AC_SUBST([REPLACE_RAND])
REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM])
REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R])
- REPLACE_REALLOC_FOR_REALLOC_GNU=0;
AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU])
REPLACE_REALLOC_FOR_REALLOC_POSIX=0;
AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_POSIX])
REPLACE_REALLOCARRAY=0; AC_SUBST([REPLACE_REALLOCARRAY])
REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
diff --git a/tp/Texinfo/XS/gnulib/m4/strndup.m4
b/tp/Texinfo/XS/gnulib/m4/strndup.m4
index 7e5aa08698..9c8b212fdd 100644
--- a/tp/Texinfo/XS/gnulib/m4/strndup.m4
+++ b/tp/Texinfo/XS/gnulib/m4/strndup.m4
@@ -1,5 +1,5 @@
# strndup.m4
-# serial 23
+# serial 24
dnl Copyright (C) 2002-2003, 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -21,7 +21,8 @@ AC_DEFUN([gl_FUNC_STRNDUP],
if test $ac_cv_func_strndup = yes; then
HAVE_STRNDUP=1
- # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating
'\0'.
+ dnl AIX 5.1 has a function that fails to add the terminating '\0'.
+ dnl AIX 7.3 has a function that does not support a zero length.
AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works],
[AC_RUN_IFELSE([
AC_LANG_PROGRAM([[#include <string.h>
@@ -33,23 +34,24 @@ AC_DEFUN([gl_FUNC_STRNDUP],
#endif
char *strndup (const char *, size_t);
#endif
- int result;
- char *s;
- s = strndup ("some longer string", 15);
- free (s);
- s = strndup ("shorter string", 13);
- result = s[13] != '\0';
- free (s);
+ int result = 0;
+ {
+ char *s = strndup ("some longer string", 15);
+ free (s);
+ s = strndup ("shorter string", 13);
+ if (s[13] != '\0')
+ result |= 1;
+ free (s);
+ }
+ if (strndup (NULL, 0) == NULL)
+ result |= 2;
return result;]])],
[gl_cv_func_strndup_works=yes],
[gl_cv_func_strndup_works=no],
- [
-changequote(,)dnl
- case $host_os in
- aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";;
- *) gl_cv_func_strndup_works="guessing yes";;
+ [case $host_os in
+ aix*) gl_cv_func_strndup_works="guessing no";;
+ *) gl_cv_func_strndup_works="guessing yes";;
esac
-changequote([,])dnl
])])
case $gl_cv_func_strndup_works in
*no) REPLACE_STRNDUP=1 ;;
diff --git a/tp/Texinfo/XS/gnulib/m4/wchar_h.m4
b/tp/Texinfo/XS/gnulib/m4/wchar_h.m4
index 14296d0291..cba48b3dc9 100644
--- a/tp/Texinfo/XS/gnulib/m4/wchar_h.m4
+++ b/tp/Texinfo/XS/gnulib/m4/wchar_h.m4
@@ -1,5 +1,5 @@
# wchar_h.m4
-# serial 64
+# serial 65
dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -257,6 +257,7 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS],
REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH])
REPLACE_WCSFTIME=0; AC_SUBST([REPLACE_WCSFTIME])
REPLACE_WCSCMP=0; AC_SUBST([REPLACE_WCSCMP])
+ REPLACE_WCSNCAT=0; AC_SUBST([REPLACE_WCSNCAT])
REPLACE_WCSNCMP=0; AC_SUBST([REPLACE_WCSNCMP])
REPLACE_WCSSTR=0; AC_SUBST([REPLACE_WCSSTR])
REPLACE_WCSTOK=0; AC_SUBST([REPLACE_WCSTOK])