aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2023-01-06 17:53:54 -0800
committerPaul Eggert2023-01-06 18:05:57 -0800
commit9e98ff562b4b8f2dae92bd4c64d15934c7d5877f (patch)
treef37ce6d03a710f541fbbe72b9533a05d1a63103f
parent2f05f48918ecf6e59b330709b09a36f81f7b6c48 (diff)
downloademacs-9e98ff562b4b8f2dae92bd4c64d15934c7d5877f.tar.gz
emacs-9e98ff562b4b8f2dae92bd4c64d15934c7d5877f.zip
Update from Gnulib by running admin/merge-gnulib
-rwxr-xr-xbuild-aux/config.guess2
-rwxr-xr-xbuild-aux/config.sub2
-rw-r--r--doc/misc/texinfo.tex735
-rw-r--r--lib/alloca.in.h4
-rw-r--r--lib/attribute.h2
-rw-r--r--lib/binary-io.h3
-rw-r--r--lib/c-ctype.h3
-rw-r--r--lib/c-strcasecmp.c3
-rw-r--r--lib/c-strncasecmp.c3
-rw-r--r--lib/careadlinkat.c4
-rw-r--r--lib/cloexec.c3
-rw-r--r--lib/close-stream.c3
-rw-r--r--lib/diffseq.h4
-rw-r--r--lib/dup2.c3
-rw-r--r--lib/file-has-acl.c9
-rw-r--r--lib/filemode.h4
-rw-r--r--lib/filename.h2
-rw-r--r--lib/fpending.c4
-rw-r--r--lib/fpending.h4
-rw-r--r--lib/fsusage.c4
-rw-r--r--lib/getgroups.c3
-rw-r--r--lib/getloadavg.c4
-rw-r--r--lib/gettext.h4
-rw-r--r--lib/gettime.c3
-rw-r--r--lib/gettimeofday.c3
-rw-r--r--lib/gnulib.mk.in5
-rw-r--r--lib/group-member.c4
-rw-r--r--lib/limits.in.h4
-rw-r--r--lib/malloc.c3
-rw-r--r--lib/malloc/scratch_buffer.h2
-rw-r--r--lib/malloc/scratch_buffer_grow.c2
-rw-r--r--lib/malloc/scratch_buffer_grow_preserve.c2
-rw-r--r--lib/malloc/scratch_buffer_set_array_size.c2
-rw-r--r--lib/md5-stream.c4
-rw-r--r--lib/md5.c4
-rw-r--r--lib/md5.h4
-rw-r--r--lib/memmem.c4
-rw-r--r--lib/memrchr.c4
-rw-r--r--lib/memset_explicit.c2
-rw-r--r--lib/mktime-internal.h2
-rw-r--r--lib/mktime.c2
-rw-r--r--lib/nanosleep.c3
-rw-r--r--lib/regex.c2
-rw-r--r--lib/regex.h2
-rw-r--r--lib/save-cwd.h4
-rw-r--r--lib/sha1.c3
-rw-r--r--lib/sig2str.c3
-rw-r--r--lib/stdio.in.h8
-rw-r--r--lib/stdlib.in.h3
-rw-r--r--lib/string.in.h20
-rw-r--r--lib/strtoimax.c4
-rw-r--r--lib/strtol.c4
-rw-r--r--lib/strtoll.c4
-rw-r--r--lib/time_r.c3
-rw-r--r--lib/timegm.c2
-rw-r--r--lib/verify.h16
-rw-r--r--lib/xalloc-oversized.h3
-rw-r--r--m4/acl.m416
-rw-r--r--m4/alloca.m44
-rw-r--r--m4/d-type.m43
-rw-r--r--m4/dup2.m43
-rw-r--r--m4/extensions.m411
-rw-r--r--m4/filemode.m43
-rw-r--r--m4/fsusage.m43
-rw-r--r--m4/getgroups.m43
-rw-r--r--m4/getloadavg.m44
-rw-r--r--m4/getrandom.m410
-rw-r--r--m4/gettime.m43
-rw-r--r--m4/gettimeofday.m43
-rw-r--r--m4/gnulib-common.m437
-rw-r--r--m4/gnulib-comp.m42
-rw-r--r--m4/group-member.m43
-rw-r--r--m4/largefile.m4327
-rw-r--r--m4/mempcpy.m44
-rw-r--r--m4/memrchr.m44
-rw-r--r--m4/memset_explicit.m42
-rw-r--r--m4/mktime.m44
-rw-r--r--m4/nstrftime.m43
-rw-r--r--m4/pathmax.m44
-rw-r--r--m4/sig2str.m43
-rw-r--r--m4/ssize_t.m43
-rw-r--r--m4/stat-time.m44
-rw-r--r--m4/stdio_h.m414
-rw-r--r--m4/strnlen.m44
-rw-r--r--m4/strtoimax.m43
-rw-r--r--m4/strtoll.m43
-rw-r--r--m4/time_h.m43
-rw-r--r--m4/timespec.m43
88 files changed, 836 insertions, 612 deletions
diff --git a/build-aux/config.guess b/build-aux/config.guess
index b30b9fdc8ef..980b0208381 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -1,6 +1,6 @@
1#! /bin/sh 1#! /bin/sh
2# Attempt to guess a canonical system name. 2# Attempt to guess a canonical system name.
3# Copyright 1992-2023 Free Software Foundation, Inc. 3# Copyright 1992-2022 Free Software Foundation, Inc.
4 4
5# shellcheck disable=SC2006,SC2268 # see below for rationale 5# shellcheck disable=SC2006,SC2268 # see below for rationale
6 6
diff --git a/build-aux/config.sub b/build-aux/config.sub
index 9e118bdee3c..baf1512b3c0 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -1,6 +1,6 @@
1#! /bin/sh 1#! /bin/sh
2# Configuration validation subroutine script. 2# Configuration validation subroutine script.
3# Copyright 1992-2023 Free Software Foundation, Inc. 3# Copyright 1992-2022 Free Software Foundation, Inc.
4 4
5# shellcheck disable=SC2006,SC2268 # see below for rationale 5# shellcheck disable=SC2006,SC2268 # see below for rationale
6 6
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 7c4520637a7..3cccf01d958 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,9 +3,9 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2022-12-19.22} 6\def\texinfoversion{2023-01-02.21}
7% 7%
8% Copyright 1985--1986, 1988, 1990--2023 Free Software Foundation, Inc. 8% Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
9% 9%
10% This texinfo.tex file is free software: you can redistribute it and/or 10% This texinfo.tex file is free software: you can redistribute it and/or
11% modify it under the terms of the GNU General Public License as 11% modify it under the terms of the GNU General Public License as
@@ -58,12 +58,6 @@
58 58
59\message{Loading texinfo [version \texinfoversion]:} 59\message{Loading texinfo [version \texinfoversion]:}
60 60
61% If in a .fmt file, print the version number
62% and turn on active characters that we couldn't do earlier because
63% they might have appeared in the input file name.
64\everyjob{\message{[Texinfo version \texinfoversion]}%
65 \catcode`+=\active \catcode`\_=\active}
66
67% LaTeX's \typeout. This ensures that the messages it is used for 61% LaTeX's \typeout. This ensures that the messages it is used for
68% are identical in format to the corresponding ones from latex/pdflatex. 62% are identical in format to the corresponding ones from latex/pdflatex.
69\def\typeout{\immediate\write17}% 63\def\typeout{\immediate\write17}%
@@ -530,7 +524,7 @@
530 524
531% ... but they get defined via ``\envdef\foo{...}'': 525% ... but they get defined via ``\envdef\foo{...}'':
532\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} 526\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
533\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} 527\long\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
534 528
535% Check whether we're in the right environment: 529% Check whether we're in the right environment:
536\def\checkenv#1{% 530\def\checkenv#1{%
@@ -1200,13 +1194,17 @@ output) for that.)}
1200 % 1194 %
1201 % Set color, and create a mark which defines \thiscolor accordingly, 1195 % Set color, and create a mark which defines \thiscolor accordingly,
1202 % so that \makeheadline knows which color to restore. 1196 % so that \makeheadline knows which color to restore.
1197 \def\curcolor{0 0 0}%
1203 \def\setcolor#1{% 1198 \def\setcolor#1{%
1204 \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% 1199 \ifx#1\curcolor\else
1205 \domark 1200 \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
1206 \pdfsetcolor{#1}% 1201 \domark
1202 \pdfsetcolor{#1}%
1203 \xdef\curcolor{#1}%
1204 \fi
1207 } 1205 }
1208 % 1206 %
1209 \def\maincolor{\rgbBlack} 1207 \let\maincolor\rgbBlack
1210 \pdfsetcolor{\maincolor} 1208 \pdfsetcolor{\maincolor}
1211 \edef\thiscolor{\maincolor} 1209 \edef\thiscolor{\maincolor}
1212 \def\currentcolordefs{} 1210 \def\currentcolordefs{}
@@ -1362,7 +1360,7 @@ output) for that.)}
1362 % 1360 %
1363 % by default, use black for everything. 1361 % by default, use black for everything.
1364 \def\urlcolor{\rgbBlack} 1362 \def\urlcolor{\rgbBlack}
1365 \def\linkcolor{\rgbBlack} 1363 \let\linkcolor\rgbBlack
1366 \def\endlink{\setcolor{\maincolor}\pdfendlink} 1364 \def\endlink{\setcolor{\maincolor}\pdfendlink}
1367 % 1365 %
1368 % Adding outlines to PDF; macros for calculating structure of outlines 1366 % Adding outlines to PDF; macros for calculating structure of outlines
@@ -2683,6 +2681,7 @@ end
2683\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright} 2681\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright}
2684\gdef\setregularquotes{\let`\lq \let'\rq} 2682\gdef\setregularquotes{\let`\lq \let'\rq}
2685} 2683}
2684\setregularquotes
2686 2685
2687% Allow an option to not use regular directed right quote/apostrophe 2686% Allow an option to not use regular directed right quote/apostrophe
2688% (char 0x27), but instead the undirected quote from cmtt (char 0x0d). 2687% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
@@ -3744,8 +3743,8 @@ $$%
3744 want the contents after the title page.}}% 3743 want the contents after the title page.}}%
3745 3744
3746\parseargdef\shorttitlepage{% 3745\parseargdef\shorttitlepage{%
3747 \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% 3746 {\headingsoff \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
3748 \endgroup\page\hbox{}\page} 3747 \endgroup\page\hbox{}\page}\pageone}
3749 3748
3750\envdef\titlepage{% 3749\envdef\titlepage{%
3751 % Open one extra group, as we want to close it in the middle of \Etitlepage. 3750 % Open one extra group, as we want to close it in the middle of \Etitlepage.
@@ -4795,21 +4794,6 @@ $$%
4795\def\docodeindexxxx #1{\docind{\indexname}{#1}} 4794\def\docodeindexxxx #1{\docind{\indexname}{#1}}
4796 4795
4797 4796
4798% Used for the aux, toc and index files to prevent expansion of Texinfo
4799% commands.
4800%
4801\def\atdummies{%
4802 \definedummyletter\@%
4803 \definedummyletter\ %
4804 \definedummyletter\{%
4805 \definedummyletter\}%
4806 \definedummyletter\&%
4807 %
4808 % Do the redefinitions.
4809 \definedummies
4810 \otherbackslash
4811}
4812
4813% \definedummyword defines \#1 as \string\#1\space, thus effectively 4797% \definedummyword defines \#1 as \string\#1\space, thus effectively
4814% preventing its expansion. This is used only for control words, 4798% preventing its expansion. This is used only for control words,
4815% not control letters, because the \space would be incorrect for 4799% not control letters, because the \space would be incorrect for
@@ -4825,110 +4809,91 @@ $$%
4825% 4809%
4826\def\definedummyword #1{\def#1{\string#1\space}}% 4810\def\definedummyword #1{\def#1{\string#1\space}}%
4827\def\definedummyletter#1{\def#1{\string#1}}% 4811\def\definedummyletter#1{\def#1{\string#1}}%
4828\let\definedummyaccent\definedummyletter
4829 4812
4830% Called from \atdummies to prevent the expansion of commands. 4813% Used for the aux, toc and index files to prevent expansion of Texinfo
4814% commands. Most of the commands are controlled through the
4815% \ifdummies conditional.
4831% 4816%
4832\def\definedummies{% 4817\def\atdummies{%
4818 \dummiestrue
4833 % 4819 %
4834 \let\commondummyword\definedummyword 4820 \definedummyletter\@%
4835 \let\commondummyletter\definedummyletter 4821 \definedummyletter\ %
4836 \let\commondummyaccent\definedummyaccent 4822 \definedummyletter\{%
4837 \commondummiesnofonts 4823 \definedummyletter\}%
4824 \definedummyletter\&%
4838 % 4825 %
4839 \definedummyletter\_% 4826 \definedummyletter\_%
4840 \definedummyletter\-% 4827 \definedummyletter\-%
4841 % 4828 %
4842 % Non-English letters.
4843 \definedummyword\AA
4844 \definedummyword\AE
4845 \definedummyword\DH
4846 \definedummyword\L
4847 \definedummyword\O
4848 \definedummyword\OE
4849 \definedummyword\TH
4850 \definedummyword\aa
4851 \definedummyword\ae
4852 \definedummyword\dh
4853 \definedummyword\exclamdown
4854 \definedummyword\l
4855 \definedummyword\o
4856 \definedummyword\oe
4857 \definedummyword\ordf
4858 \definedummyword\ordm
4859 \definedummyword\questiondown
4860 \definedummyword\ss
4861 \definedummyword\th
4862 %
4863 % Although these internal commands shouldn't show up, sometimes they do.
4864 \definedummyword\bf
4865 \definedummyword\gtr
4866 \definedummyword\hat
4867 \definedummyword\less
4868 \definedummyword\sf
4869 \definedummyword\sl
4870 \definedummyword\tclose
4871 \definedummyword\tt
4872 %
4873 \definedummyword\LaTeX
4874 \definedummyword\TeX
4875 %
4876 % Assorted special characters.
4877 \definedummyword\ampchar
4878 \definedummyword\atchar
4879 \definedummyword\arrow
4880 \definedummyword\backslashchar
4881 \definedummyword\bullet
4882 \definedummyword\comma
4883 \definedummyword\copyright
4884 \definedummyword\registeredsymbol
4885 \definedummyword\dots
4886 \definedummyword\enddots
4887 \definedummyword\entrybreak
4888 \definedummyword\equiv
4889 \definedummyword\error
4890 \definedummyword\euro
4891 \definedummyword\expansion
4892 \definedummyword\geq
4893 \definedummyword\guillemetleft
4894 \definedummyword\guillemetright
4895 \definedummyword\guilsinglleft
4896 \definedummyword\guilsinglright
4897 \definedummyword\lbracechar
4898 \definedummyword\leq
4899 \definedummyword\mathopsup
4900 \definedummyword\minus
4901 \definedummyword\ogonek
4902 \definedummyword\pounds
4903 \definedummyword\point
4904 \definedummyword\print
4905 \definedummyword\quotedblbase
4906 \definedummyword\quotedblleft
4907 \definedummyword\quotedblright
4908 \definedummyword\quoteleft
4909 \definedummyword\quoteright
4910 \definedummyword\quotesinglbase
4911 \definedummyword\rbracechar
4912 \definedummyword\result
4913 \definedummyword\sub
4914 \definedummyword\sup
4915 \definedummyword\textdegree
4916 %
4917 \definedummyword\subentry 4829 \definedummyword\subentry
4918 % 4830 %
4919 % We want to disable all macros so that they are not expanded by \write. 4831 % We want to disable all macros so that they are not expanded by \write.
4832 \let\commondummyword\definedummyword
4920 \macrolist 4833 \macrolist
4921 \let\value\dummyvalue 4834 \let\value\dummyvalue
4922 % 4835 %
4923 \normalturnoffactive 4836 \turnoffactive
4924} 4837}
4925 4838
4926% \commondummiesnofonts: common to \definedummies and \indexnofonts. 4839\newif\ifdummies
4927% Define \commondummyletter, \commondummyaccent and \commondummyword before 4840\newif\ifindexnofonts
4928% using. Used for accents, font commands, and various control letters. 4841
4929% 4842\def\commondummyletter#1{%
4930\def\commondummiesnofonts{% 4843 \expandafter\let\csname\string#1:impl\endcsname#1%
4931 % Control letters and accents. 4844 \edef#1{%
4845 \noexpand\ifindexnofonts
4846 % empty expansion
4847 \noexpand\else
4848 \noexpand\ifdummies\string#1%
4849 \noexpand\else
4850 \noexpand\jumptwofi % dispose of the \fi
4851 \expandafter\noexpand\csname\string#1:impl\endcsname
4852 \noexpand\fi
4853 \noexpand\fi}%
4854}
4855
4856\def\commondummyaccent#1{%
4857 \expandafter\let\csname\string#1:impl\endcsname#1%
4858 \edef#1{%
4859 \noexpand\ifindexnofonts
4860 \noexpand\expandafter % dispose of \else ... \fi
4861 \noexpand\asis
4862 \noexpand\else
4863 \noexpand\ifdummies\string#1%
4864 \noexpand\else
4865 \noexpand\jumptwofi % dispose of the \fi
4866 \expandafter\noexpand\csname\string#1:impl\endcsname
4867 \noexpand\fi
4868 \noexpand\fi}%
4869}
4870
4871% Like \commondummyaccent but add a \space at the end of the dummy expansion
4872% #2 is the expansion used for \indexnofonts. #2 is always followed by
4873% \asis to remove a pair of following braces.
4874\def\commondummyword#1#2{%
4875 \expandafter\let\csname\string#1:impl\endcsname#1%
4876 \expandafter\def\csname\string#1:ixnf\endcsname{#2\asis}%
4877 \edef#1{%
4878 \noexpand\ifindexnofonts
4879 \noexpand\expandafter % dispose of \else ... \fi
4880 \expandafter\noexpand\csname\string#1:ixnf\endcsname
4881 \noexpand\else
4882 \noexpand\ifdummies\string#1\space
4883 \noexpand\else
4884 \noexpand\jumptwofi % dispose of the \fi \fi
4885 \expandafter\noexpand\csname\string#1:impl\endcsname
4886 \noexpand\fi
4887 \noexpand\fi}%
4888}
4889\def\jumptwofi#1\fi\fi{\fi\fi#1}
4890
4891% For \atdummies and \indexnofonts. \atdummies sets
4892% \dummiestrue and \indexnofonts sets \indexnofontstrue.
4893\def\definedummies{
4894 % @-sign is always an escape character when reading auxiliary files
4895 \escapechar = `\@
4896 %
4932 \commondummyletter\!% 4897 \commondummyletter\!%
4933 \commondummyaccent\"% 4898 \commondummyaccent\"%
4934 \commondummyaccent\'% 4899 \commondummyaccent\'%
@@ -4942,58 +4907,123 @@ $$%
4942 \commondummyaccent\^% 4907 \commondummyaccent\^%
4943 \commondummyaccent\`% 4908 \commondummyaccent\`%
4944 \commondummyaccent\~% 4909 \commondummyaccent\~%
4945 \commondummyword\u 4910 %
4946 \commondummyword\v 4911 % Control letters and accents.
4947 \commondummyword\H 4912 \commondummyword\u {}%
4948 \commondummyword\dotaccent 4913 \commondummyword\v {}%
4949 \commondummyword\ogonek 4914 \commondummyword\H {}%
4950 \commondummyword\ringaccent 4915 \commondummyword\dotaccent {}%
4951 \commondummyword\tieaccent 4916 \commondummyword\ogonek {}%
4952 \commondummyword\ubaraccent 4917 \commondummyword\ringaccent {}%
4953 \commondummyword\udotaccent 4918 \commondummyword\tieaccent {}%
4954 \commondummyword\dotless 4919 \commondummyword\ubaraccent {}%
4920 \commondummyword\udotaccent {}%
4921 \commondummyword\dotless {}%
4955 % 4922 %
4956 % Texinfo font commands. 4923 % Texinfo font commands.
4957 \commondummyword\b 4924 \commondummyword\b {}%
4958 \commondummyword\i 4925 \commondummyword\i {}%
4959 \commondummyword\r 4926 \commondummyword\r {}%
4960 \commondummyword\sansserif 4927 \commondummyword\sansserif {}%
4961 \commondummyword\sc 4928 \commondummyword\sc {}%
4962 \commondummyword\slanted 4929 \commondummyword\slanted {}%
4963 \commondummyword\t 4930 \commondummyword\t {}%
4964 % 4931 %
4965 % Commands that take arguments. 4932 % Commands that take arguments.
4966 \commondummyword\abbr 4933 \commondummyword\abbr {}%
4967 \commondummyword\acronym 4934 \commondummyword\acronym {}%
4968 \commondummyword\anchor 4935 \commondummyword\anchor {}%
4969 \commondummyword\cite 4936 \commondummyword\cite {}%
4970 \commondummyword\code 4937 \commondummyword\code {}%
4971 \commondummyword\command 4938 \commondummyword\command {}%
4972 \commondummyword\dfn 4939 \commondummyword\dfn {}%
4973 \commondummyword\dmn 4940 \commondummyword\dmn {}%
4974 \commondummyword\email 4941 \commondummyword\email {}%
4975 \commondummyword\emph 4942 \commondummyword\emph {}%
4976 \commondummyword\env 4943 \commondummyword\env {}%
4977 \commondummyword\file 4944 \commondummyword\file {}%
4978 \commondummyword\image 4945 \commondummyword\image {}%
4979 \commondummyword\indicateurl 4946 \commondummyword\indicateurl{}%
4980 \commondummyword\inforef 4947 \commondummyword\inforef {}%
4981 \commondummyword\kbd 4948 \commondummyword\kbd {}%
4982 \commondummyword\key 4949 \commondummyword\key {}%
4983 \commondummyword\math 4950 \commondummyword\math {}%
4984 \commondummyword\option 4951 \commondummyword\option {}%
4985 \commondummyword\pxref 4952 \commondummyword\pxref {}%
4986 \commondummyword\ref 4953 \commondummyword\ref {}%
4987 \commondummyword\samp 4954 \commondummyword\samp {}%
4988 \commondummyword\strong 4955 \commondummyword\strong {}%
4989 \commondummyword\tie 4956 \commondummyword\tie {}%
4990 \commondummyword\U 4957 \commondummyword\U {}%
4991 \commondummyword\uref 4958 \commondummyword\uref {}%
4992 \commondummyword\url 4959 \commondummyword\url {}%
4993 \commondummyword\var 4960 \commondummyword\var {}%
4994 \commondummyword\verb 4961 \commondummyword\verb {}%
4995 \commondummyword\w 4962 \commondummyword\w {}%
4996 \commondummyword\xref 4963 \commondummyword\xref {}%
4964 %
4965 \commondummyword\AA {AA}%
4966 \commondummyword\AE {AE}%
4967 \commondummyword\DH {DZZ}%
4968 \commondummyword\L {L}%
4969 \commondummyword\O {O}%
4970 \commondummyword\OE {OE}%
4971 \commondummyword\TH {TH}%
4972 \commondummyword\aa {aa}%
4973 \commondummyword\ae {ae}%
4974 \commondummyword\dh {dzz}%
4975 \commondummyword\exclamdown {!}%
4976 \commondummyword\l {l}%
4977 \commondummyword\o {o}%
4978 \commondummyword\oe {oe}%
4979 \commondummyword\ordf {a}%
4980 \commondummyword\ordm {o}%
4981 \commondummyword\questiondown {?}%
4982 \commondummyword\ss {ss}%
4983 \commondummyword\th {th}%
4984 %
4985 \commondummyword\LaTeX {LaTeX}%
4986 \commondummyword\TeX {TeX}%
4987 %
4988 % Assorted special characters.
4989 \commondummyword\ampchar {\normalamp}%
4990 \commondummyword\atchar {\@}%
4991 \commondummyword\arrow {->}%
4992 \commondummyword\backslashchar {}%
4993 \commondummyword\bullet {bullet}%
4994 \commondummyword\comma {,}%
4995 \commondummyword\copyright {copyright}%
4996 \commondummyword\dots {...}%
4997 \commondummyword\enddots {...}%
4998 \commondummyword\entrybreak {}%
4999 \commondummyword\equiv {===}%
5000 \commondummyword\error {error}%
5001 \commondummyword\euro {euro}%
5002 \commondummyword\expansion {==>}%
5003 \commondummyword\geq {>=}%
5004 \commondummyword\guillemetleft {<<}%
5005 \commondummyword\guillemetright {>>}%
5006 \commondummyword\guilsinglleft {<}%
5007 \commondummyword\guilsinglright {>}%
5008 \commondummyword\lbracechar {\{}%
5009 \commondummyword\leq {<=}%
5010 \commondummyword\mathopsup {sup}%
5011 \commondummyword\minus {-}%
5012 \commondummyword\pounds {pounds}%
5013 \commondummyword\point {.}%
5014 \commondummyword\print {-|}%
5015 \commondummyword\quotedblbase {"}%
5016 \commondummyword\quotedblleft {"}%
5017 \commondummyword\quotedblright {"}%
5018 \commondummyword\quoteleft {`}%
5019 \commondummyword\quoteright {'}%
5020 \commondummyword\quotesinglbase {,}%
5021 \commondummyword\rbracechar {\}}%
5022 \commondummyword\registeredsymbol {R}%
5023 \commondummyword\result {=>}%
5024 \commondummyword\sub {}%
5025 \commondummyword\sup {}%
5026 \commondummyword\textdegree {o}%
4997} 5027}
4998 5028
4999\let\indexlbrace\relax 5029\let\indexlbrace\relax
@@ -5044,18 +5074,7 @@ $$%
5044% would be for a given command (usually its argument). 5074% would be for a given command (usually its argument).
5045% 5075%
5046\def\indexnofonts{% 5076\def\indexnofonts{%
5047 % Accent commands should become @asis. 5077 \indexnofontstrue
5048 \def\commondummyaccent##1{\let##1\asis}%
5049 % We can just ignore other control letters.
5050 \def\commondummyletter##1{\let##1\empty}%
5051 % All control words become @asis by default; overrides below.
5052 \let\commondummyword\commondummyaccent
5053 \commondummiesnofonts
5054 %
5055 % Don't no-op \tt, since it isn't a user-level command
5056 % and is used in the definitions of the active chars like <, >, |, etc.
5057 % Likewise with the other plain tex font commands.
5058 %\let\tt=\asis
5059 % 5078 %
5060 \def\ { }% 5079 \def\ { }%
5061 \def\@{@}% 5080 \def\@{@}%
@@ -5067,65 +5086,6 @@ $$%
5067 \let\lbracechar\{% 5086 \let\lbracechar\{%
5068 \let\rbracechar\}% 5087 \let\rbracechar\}%
5069 % 5088 %
5070 % Non-English letters.
5071 \def\AA{AA}%
5072 \def\AE{AE}%
5073 \def\DH{DZZ}%
5074 \def\L{L}%
5075 \def\OE{OE}%
5076 \def\O{O}%
5077 \def\TH{TH}%
5078 \def\aa{aa}%
5079 \def\ae{ae}%
5080 \def\dh{dzz}%
5081 \def\exclamdown{!}%
5082 \def\l{l}%
5083 \def\oe{oe}%
5084 \def\ordf{a}%
5085 \def\ordm{o}%
5086 \def\o{o}%
5087 \def\questiondown{?}%
5088 \def\ss{ss}%
5089 \def\th{th}%
5090 %
5091 \let\do\indexnofontsdef
5092 %
5093 \do\LaTeX{LaTeX}%
5094 \do\TeX{TeX}%
5095 %
5096 % Assorted special characters.
5097 \do\atchar{@}%
5098 \do\arrow{->}%
5099 \do\bullet{bullet}%
5100 \do\comma{,}%
5101 \do\copyright{copyright}%
5102 \do\dots{...}%
5103 \do\enddots{...}%
5104 \do\equiv{==}%
5105 \do\error{error}%
5106 \do\euro{euro}%
5107 \do\expansion{==>}%
5108 \do\geq{>=}%
5109 \do\guillemetleft{<<}%
5110 \do\guillemetright{>>}%
5111 \do\guilsinglleft{<}%
5112 \do\guilsinglright{>}%
5113 \do\leq{<=}%
5114 \do\lbracechar{\{}%
5115 \do\minus{-}%
5116 \do\point{.}%
5117 \do\pounds{pounds}%
5118 \do\print{-|}%
5119 \do\quotedblbase{"}%
5120 \do\quotedblleft{"}%
5121 \do\quotedblright{"}%
5122 \do\quoteleft{`}%
5123 \do\quoteright{'}%
5124 \do\quotesinglbase{,}%
5125 \do\rbracechar{\}}%
5126 \do\registeredsymbol{R}%
5127 \do\result{=>}%
5128 \do\textdegree{o}%
5129 % 5089 %
5130 % We need to get rid of all macros, leaving only the arguments (if present). 5090 % We need to get rid of all macros, leaving only the arguments (if present).
5131 % Of course this is not nearly correct, but it is the best we can do for now. 5091 % Of course this is not nearly correct, but it is the best we can do for now.
@@ -5137,14 +5097,11 @@ $$%
5137 % to take a single TeX argument. The case of a macro invocation that 5097 % to take a single TeX argument. The case of a macro invocation that
5138 % goes to end-of-line is not handled. 5098 % goes to end-of-line is not handled.
5139 % 5099 %
5100 \def\commondummyword##1{\let##1\asis}%
5140 \macrolist 5101 \macrolist
5141 \let\value\indexnofontsvalue 5102 \let\value\indexnofontsvalue
5142} 5103}
5143 5104
5144% Give the control sequence a definition that removes the {} that follows
5145% its use, e.g. @AA{} -> AA
5146\def\indexnofontsdef#1#2{\def#1##1{#2}}%
5147
5148 5105
5149 5106
5150 5107
@@ -7135,8 +7092,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7135\newdimen\cartouter\newdimen\cartinner 7092\newdimen\cartouter\newdimen\cartinner
7136\newskip\normbskip\newskip\normpskip\newskip\normlskip 7093\newskip\normbskip\newskip\normpskip\newskip\normlskip
7137 7094
7138 7095\envparseargdef\cartouche{%
7139\envdef\cartouche{%
7140 \cartouchefontdefs 7096 \cartouchefontdefs
7141 \ifhmode\par\fi % can't be in the midst of a paragraph. 7097 \ifhmode\par\fi % can't be in the midst of a paragraph.
7142 \startsavinginserts 7098 \startsavinginserts
@@ -7166,16 +7122,19 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7166 \baselineskip=0pt\parskip=0pt\lineskip=0pt 7122 \baselineskip=0pt\parskip=0pt\lineskip=0pt
7167 \carttop 7123 \carttop
7168 \hbox\bgroup 7124 \hbox\bgroup
7169 \hskip\lskip 7125 \hskip\lskip
7170 \vrule\kern3pt 7126 \vrule\kern3pt
7171 \vbox\bgroup 7127 \vbox\bgroup
7172 \kern3pt 7128 \hsize=\cartinner
7173 \hsize=\cartinner 7129 \baselineskip=\normbskip
7174 \baselineskip=\normbskip 7130 \lineskip=\normlskip
7175 \lineskip=\normlskip 7131 \parskip=\normpskip
7176 \parskip=\normpskip 7132 \def\arg{#1}%
7177 \vskip -\parskip 7133 \ifx\arg\empty\else
7178 \comment % For explanation, see the end of def\group. 7134 \centerV{\hfil \bf #1 \hfil}%
7135 \fi
7136 \kern3pt
7137 \vskip -\parskip
7179} 7138}
7180\def\Ecartouche{% 7139\def\Ecartouche{%
7181 \ifhmode\par\fi 7140 \ifhmode\par\fi
@@ -7858,10 +7817,12 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7858 7817
7859% Print arguments. Use slanted for @def*, typewriter for @deftype*. 7818% Print arguments. Use slanted for @def*, typewriter for @deftype*.
7860\def\defunargs#1{% 7819\def\defunargs#1{%
7861 \df \ifdoingtypefn \tt \else \sl \fi 7820 \bgroup
7862 \ifflagclear{txicodevaristt}{}% 7821 \df \ifdoingtypefn \tt \else \sl \fi
7863 {\def\var##1{{\setregularquotes \ttsl ##1}}}% 7822 \ifflagclear{txicodevaristt}{}%
7864 #1% 7823 {\def\var##1{{\setregularquotes \ttsl ##1}}}%
7824 #1%
7825 \egroup
7865} 7826}
7866 7827
7867% We want ()&[] to print specially on the defun line. 7828% We want ()&[] to print specially on the defun line.
@@ -9900,12 +9861,10 @@ directory should work if nowhere else does.}
9900 % For native Unicode handling (XeTeX and LuaTeX) 9861 % For native Unicode handling (XeTeX and LuaTeX)
9901 \nativeunicodechardefs 9862 \nativeunicodechardefs
9902 \else 9863 \else
9903 % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX) 9864 % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX).
9865 % Since we already invoke \utfeightchardefs at the top level,
9866 % making non-ascii chars active is sufficient.
9904 \setnonasciicharscatcode\active 9867 \setnonasciicharscatcode\active
9905 % since we already invoked \utfeightchardefs at the top level
9906 % (below), do not re-invoke it, otherwise our check for duplicated
9907 % definitions gets triggered. Making non-ascii chars active is
9908 % sufficient.
9909 \fi 9868 \fi
9910 % 9869 %
9911 \else 9870 \else
@@ -9930,7 +9889,6 @@ directory should work if nowhere else does.}
9930 \fi 9889 \fi
9931} 9890}
9932 9891
9933% emacs-page
9934% A message to be logged when using a character that isn't available 9892% A message to be logged when using a character that isn't available
9935% the default font encoding (OT1). 9893% the default font encoding (OT1).
9936% 9894%
@@ -9939,12 +9897,6 @@ directory should work if nowhere else does.}
9939% Take account of \c (plain) vs. \, (Texinfo) difference. 9897% Take account of \c (plain) vs. \, (Texinfo) difference.
9940\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} 9898\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
9941 9899
9942% First, make active non-ASCII characters in order for them to be
9943% correctly categorized when TeX reads the replacement text of
9944% macros containing the character definitions.
9945\setnonasciicharscatcode\active
9946%
9947
9948\def\gdefchar#1#2{% 9900\def\gdefchar#1#2{%
9949\gdef#1{% 9901\gdef#1{%
9950 \ifpassthroughchars 9902 \ifpassthroughchars
@@ -9954,8 +9906,14 @@ directory should work if nowhere else does.}
9954 \fi 9906 \fi
9955}} 9907}}
9956 9908
9909\begingroup
9910
9911% Make non-ASCII characters active for defining the character definition
9912% macros.
9913\setnonasciicharscatcode\active
9914
9957% Latin1 (ISO-8859-1) character definitions. 9915% Latin1 (ISO-8859-1) character definitions.
9958\def\latonechardefs{% 9916\gdef\latonechardefs{%
9959 \gdefchar^^a0{\tie} 9917 \gdefchar^^a0{\tie}
9960 \gdefchar^^a1{\exclamdown} 9918 \gdefchar^^a1{\exclamdown}
9961 \gdefchar^^a2{{\tcfont \char162}} % cent 9919 \gdefchar^^a2{{\tcfont \char162}} % cent
@@ -10060,7 +10018,7 @@ directory should work if nowhere else does.}
10060} 10018}
10061 10019
10062% Latin9 (ISO-8859-15) encoding character definitions. 10020% Latin9 (ISO-8859-15) encoding character definitions.
10063\def\latninechardefs{% 10021\gdef\latninechardefs{%
10064 % Encoding is almost identical to Latin1. 10022 % Encoding is almost identical to Latin1.
10065 \latonechardefs 10023 \latonechardefs
10066 % 10024 %
@@ -10075,7 +10033,7 @@ directory should work if nowhere else does.}
10075} 10033}
10076 10034
10077% Latin2 (ISO-8859-2) character definitions. 10035% Latin2 (ISO-8859-2) character definitions.
10078\def\lattwochardefs{% 10036\gdef\lattwochardefs{%
10079 \gdefchar^^a0{\tie} 10037 \gdefchar^^a0{\tie}
10080 \gdefchar^^a1{\ogonek{A}} 10038 \gdefchar^^a1{\ogonek{A}}
10081 \gdefchar^^a2{\u{}} 10039 \gdefchar^^a2{\u{}}
@@ -10179,6 +10137,8 @@ directory should work if nowhere else does.}
10179 \gdefchar^^ff{\dotaccent{}} 10137 \gdefchar^^ff{\dotaccent{}}
10180} 10138}
10181 10139
10140\endgroup % active chars
10141
10182% UTF-8 character definitions. 10142% UTF-8 character definitions.
10183% 10143%
10184% This code to support UTF-8 is based on LaTeX's utf8.def, with some 10144% This code to support UTF-8 is based on LaTeX's utf8.def, with some
@@ -11231,14 +11191,14 @@ directory should work if nowhere else does.}
11231 \relax 11191 \relax
11232} 11192}
11233 11193
11234% Define all Unicode characters we know about. This makes UTF-8 the default 11194% Define all Unicode characters we know about
11235% input encoding and allows @U to work.
11236\iftxinativeunicodecapable 11195\iftxinativeunicodecapable
11237 \nativeunicodechardefsatu 11196 \nativeunicodechardefsatu
11238\else 11197\else
11239 \utfeightchardefs 11198 \utfeightchardefs
11240\fi 11199\fi
11241 11200
11201
11242\message{formatting,} 11202\message{formatting,}
11243 11203
11244\newdimen\defaultparindent \defaultparindent = 15pt 11204\newdimen\defaultparindent \defaultparindent = 15pt
@@ -11566,7 +11526,7 @@ directory should work if nowhere else does.}
11566 \fi 11526 \fi
11567} 11527}
11568 11528
11569\microtypeON 11529\microtypeOFF
11570 11530
11571\parseargdef\microtype{% 11531\parseargdef\microtype{%
11572 \def\txiarg{#1}% 11532 \def\txiarg{#1}%
@@ -11583,6 +11543,9 @@ directory should work if nowhere else does.}
11583 11543
11584\message{and turning on texinfo input format.} 11544\message{and turning on texinfo input format.}
11585 11545
11546% Make UTF-8 the default encoding.
11547\documentencodingzzz{UTF-8}
11548
11586\def^^L{\par} % remove \outer, so ^L can appear in an @comment 11549\def^^L{\par} % remove \outer, so ^L can appear in an @comment
11587\catcode`\^^K = 10 % treat vertical tab as whitespace 11550\catcode`\^^K = 10 % treat vertical tab as whitespace
11588 11551
@@ -11645,23 +11608,32 @@ directory should work if nowhere else does.}
11645% Used sometimes to turn off (effectively) the active characters even after 11608% Used sometimes to turn off (effectively) the active characters even after
11646% parsing them. 11609% parsing them.
11647\def\turnoffactive{% 11610\def\turnoffactive{%
11648 \normalturnoffactive 11611 \passthroughcharstrue
11612 \let-=\normaldash
11613 \let"=\normaldoublequote
11614 \let$=\normaldollar %$ font-lock fix
11615 \let+=\normalplus
11616 \let<=\normalless
11617 \let>=\normalgreater
11618 \let^=\normalcaret
11619 \let_=\normalunderscore
11620 \let|=\normalverticalbar
11621 \let~=\normaltilde
11649 \otherbackslash 11622 \otherbackslash
11623 \setregularquotes
11624 \unsepspaces
11650} 11625}
11651 11626
11652\catcode`\@=0 11627% If a .fmt file is being used, characters that might appear in a file
11628% name cannot be active until we have parsed the command line.
11629% So turn them off again, and have \loadconf turn them back on.
11630\catcode`+=\other \catcode`\_=\other
11631
11653 11632
11654% \backslashcurfont outputs one backslash character in current font, 11633% \backslashcurfont outputs one backslash character in current font,
11655% as in \char`\\. 11634% as in \char`\\.
11656\global\chardef\backslashcurfont=`\\ 11635\global\chardef\backslashcurfont=`\\
11657 11636
11658% \realbackslash is an actual character `\' with catcode other.
11659{\catcode`\\=\other @gdef@realbackslash{\}}
11660
11661% In Texinfo, backslash is an active character; it prints the backslash
11662% in fixed width font.
11663\catcode`\\=\active % @ for escape char from now on.
11664
11665% Print a typewriter backslash. For math mode, we can't simply use 11637% Print a typewriter backslash. For math mode, we can't simply use
11666% \backslashcurfont: the story here is that in math mode, the \char 11638% \backslashcurfont: the story here is that in math mode, the \char
11667% of \backslashcurfont ends up printing the roman \ from the math symbol 11639% of \backslashcurfont ends up printing the roman \ from the math symbol
@@ -11671,109 +11643,120 @@ directory should work if nowhere else does.}
11671% ignored family value; char position "5C). We can't use " for the 11643% ignored family value; char position "5C). We can't use " for the
11672% usual hex value because it has already been made active. 11644% usual hex value because it has already been made active.
11673 11645
11674@def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} 11646\def\ttbackslash{{\tt \ifmmode \mathchar29020 \else \backslashcurfont \fi}}
11675@let@backslashchar = @ttbackslash % @backslashchar{} is for user documents. 11647\let\backslashchar = \ttbackslash % \backslashchar{} is for user documents.
11676
11677% \otherbackslash defines an active \ to be a literal `\' character with
11678% catcode other.
11679@gdef@otherbackslash{@let\=@realbackslash}
11680
11681% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
11682% the literal character `\'.
11683%
11684{@catcode`- = @active
11685 @gdef@normalturnoffactive{%
11686 @passthroughcharstrue
11687 @let-=@normaldash
11688 @let"=@normaldoublequote
11689 @let$=@normaldollar %$ font-lock fix
11690 @let+=@normalplus
11691 @let<=@normalless
11692 @let>=@normalgreater
11693 @let^=@normalcaret
11694 @let_=@normalunderscore
11695 @let|=@normalverticalbar
11696 @let~=@normaltilde
11697 @let\=@ttbackslash
11698 @setregularquotes
11699 @unsepspaces
11700 }
11701}
11702 11648
11703% If a .fmt file is being used, characters that might appear in a file 11649% These are made active for url-breaking, so need
11704% name cannot be active until we have parsed the command line. 11650% active definitions as the normal characters.
11705% So turn them off again, and have @fixbackslash turn them back on. 11651\def\normaldot{.}
11706@catcode`+=@other @catcode`@_=@other 11652\def\normalquest{?}
11707 11653\def\normalslash{/}
11708% \enablebackslashhack - allow file to begin `\input texinfo' 11654
11709% 11655% \newlinesloadsconf - call \loadconf as soon as possible in the
11710% If a .fmt file is being used, we don't want the `\input texinfo' to show up. 11656% file, e.g. at the first newline.
11711% That is what \eatinput is for; after that, the `\' should revert to printing 11657%
11712% a backslash. 11658{\catcode`\^=7
11713% If the file did not have a `\input texinfo', then it is turned off after 11659\catcode`\^^M=13
11714% the first line; otherwise the first `\' in the file would cause an error. 11660\gdef\newlineloadsconf{%
11715% This is used on the very last line of this file, texinfo.tex. 11661 \catcode`\^^M=13 %
11716% We also use @c to call @fixbackslash, in case ends of lines are hidden. 11662 \newlineloadsconfzz%
11717{ 11663}
11718@catcode`@^=7 11664\gdef\newlineloadsconfzz#1^^M{%
11719@catcode`@^^M=13@gdef@enablebackslashhack{% 11665 \def\c{\loadconf\c}%
11720 @global@let\ = @eatinput% 11666 % Definition for the first newline read in the file
11721 @catcode`@^^M=13% 11667 \def ^^M{\loadconf}%
11722 @def@c{@fixbackslash@c}%
11723 % Definition for the newline at the end of this file.
11724 @def ^^M{@let^^M@secondlinenl}%
11725 % Definition for a newline in the main Texinfo file.
11726 @gdef @secondlinenl{@fixbackslash}%
11727 % In case the first line has a whole-line command on it 11668 % In case the first line has a whole-line command on it
11728 @let@originalparsearg@parsearg 11669 \let\originalparsearg\parsearg%
11729 @def@parsearg{@fixbackslash@originalparsearg} 11670 \def\parsearg{\loadconf\originalparsearg}%
11730}} 11671}}
11731 11672
11732{@catcode`@^=7 @catcode`@^^M=13%
11733@gdef@eatinput input texinfo#1^^M{@fixbackslash}}
11734 11673
11735% Emergency active definition of newline, in case an active newline token 11674% Emergency active definition of newline, in case an active newline token
11736% appears by mistake. 11675% appears by mistake.
11737{@catcode`@^=7 @catcode13=13% 11676{\catcode`\^=7 \catcode13=13%
11738@gdef@enableemergencynewline{% 11677\gdef\enableemergencynewline{%
11739 @gdef^^M{% 11678 \gdef^^M{%
11740 @par% 11679 \par%
11741 %<warning: active newline>@par% 11680 %<warning: active newline>\par%
11742}}} 11681}}}
11743 11682
11744 11683
11745@gdef@fixbackslash{% 11684% \loadconf gets called at the beginning of every Texinfo file.
11746 @ifx\@eatinput @let\ = @ttbackslash @fi 11685% If texinfo.cnf is present on the system, read it. Useful for site-wide
11747 @catcode13=5 % regular end of line 11686% @afourpaper, etc. Not opening texinfo.cnf directly in texinfo.tex
11748 @enableemergencynewline 11687% makes it possible to make a format file for Texinfo.
11749 @let@c=@comment 11688%
11750 @let@parsearg@originalparsearg 11689\gdef\loadconf{%
11690 \relax % Terminate the filename if running as "tex '&texinfo' FILE.texi".
11691 %
11692 % Turn off the definitions that trigger \loadconf
11693 \everyjobreset
11694 \catcode13=5 % regular end of line
11695 \enableemergencynewline
11696 \let\c=\comment
11697 \let\parsearg\originalparsearg
11698 %
11751 % Also turn back on active characters that might appear in the input 11699 % Also turn back on active characters that might appear in the input
11752 % file name, in case not using a pre-dumped format. 11700 % file name, in case not using a pre-dumped format.
11753 @catcode`+=@active 11701 \catcode`+=\active
11754 @catcode`@_=@active 11702 \catcode`\_=\active
11755 %
11756 % If texinfo.cnf is present on the system, read it.
11757 % Useful for site-wide @afourpaper, etc. This macro, @fixbackslash, gets
11758 % called at the beginning of every Texinfo file. Not opening texinfo.cnf
11759 % directly in this file, texinfo.tex, makes it possible to make a format
11760 % file for Texinfo.
11761 % 11703 %
11762 @openin 1 texinfo.cnf 11704 \openin 1 texinfo.cnf
11763 @ifeof 1 @else @input texinfo.cnf @fi 11705 \ifeof 1 \else \input texinfo.cnf \fi
11764 @closein 1 11706 \closein 1
11765} 11707}
11766 11708
11709% Redefine some control sequences to be controlled by the \ifdummies
11710% and \ifindexnofonts switches. Do this at the end so that the control
11711% sequences are all defined.
11712\definedummies
11713
11714
11715
11716
11717\catcode`\@=0
11718
11719% \realbackslash is an actual character `\' with catcode other.
11720{\catcode`\\=\other @gdef@realbackslash{\}}
11721
11722% In Texinfo, backslash is an active character; it prints the backslash
11723% in fixed width font.
11724\catcode`\\=\active % @ for escape char from now on.
11725
11726@let\ = @ttbackslash
11727
11728% If in a .fmt file, print the version number.
11729% \eatinput stops the `\input texinfo' from showing up.
11730% After that, `\' should revert to printing a backslash.
11731% Turn on active characters that we couldn't do earlier because
11732% they might have appeared in the input file name.
11733%
11734@everyjob{@message{[Texinfo version @texinfoversion]}%
11735 @global@let\ = @eatinput
11736 @catcode`+=@active @catcode`@_=@active}
11737
11738{@catcode`@^=7 @catcode`@^^M=13%
11739@gdef@eatinput input texinfo#1^^M{@loadconf}}
11740
11741@def@everyjobreset{@ifx\@eatinput @let\ = @ttbackslash @fi}
11742
11743% \otherbackslash defines an active \ to be a literal `\' character with
11744% catcode other.
11745@gdef@otherbackslash{@let\=@realbackslash}
11746
11747% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
11748% the literal character `\'.
11749%
11750{@catcode`- = @active
11751 @gdef@normalturnoffactive{%
11752 @turnoffactive
11753 @let\=@ttbackslash
11754 }
11755}
11767 11756
11768% Say @foo, not \foo, in error messages. 11757% Say @foo, not \foo, in error messages.
11769@escapechar = `@@ 11758@escapechar = `@@
11770 11759
11771% These (along with & and #) are made active for url-breaking, so need
11772% active definitions as the normal characters.
11773@def@normaldot{.}
11774@def@normalquest{?}
11775@def@normalslash{/}
11776
11777% These look ok in all fonts, so just make them not special. 11760% These look ok in all fonts, so just make them not special.
11778% @hashchar{} gets its own user-level command, because of #line. 11761% @hashchar{} gets its own user-level command, because of #line.
11779@catcode`@& = @other @def@normalamp{&} 11762@catcode`@& = @other @def@normalamp{&}
@@ -11788,15 +11771,11 @@ directory should work if nowhere else does.}
11788@c Do this last of all since we use ` in the previous @catcode assignments. 11771@c Do this last of all since we use ` in the previous @catcode assignments.
11789@catcode`@'=@active 11772@catcode`@'=@active
11790@catcode`@`=@active 11773@catcode`@`=@active
11791@setregularquotes
11792 11774
11793@c Local variables: 11775@c Local variables:
11794@c eval: (add-hook 'before-save-hook 'time-stamp nil t) 11776@c eval: (add-hook 'before-save-hook 'time-stamp nil t)
11795@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}" 11777@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}"
11796@c page-delimiter: "^\\\\message\\|emacs-page" 11778@c page-delimiter: "^\\\\message"
11797@c End: 11779@c End:
11798 11780
11799@c vim:sw=2: 11781@newlineloadsconf
11800
11801@enablebackslashhack
11802
diff --git a/lib/alloca.in.h b/lib/alloca.in.h
index b9ce9ef5603..a1bb3d758dc 100644
--- a/lib/alloca.in.h
+++ b/lib/alloca.in.h
@@ -1,7 +1,7 @@
1/* Memory allocation on the stack. 1/* Memory allocation on the stack.
2 2
3 Copyright (C) 1995, 1999, 2001-2004, 2006-2023 Free Software 3 Copyright (C) 1995, 1999, 2001-2004, 2006-2023 Free Software Foundation,
4 Foundation, Inc. 4 Inc.
5 5
6 This file is free software: you can redistribute it and/or modify 6 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 7 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/attribute.h b/lib/attribute.h
index 36b2978bb2c..130644d8798 100644
--- a/lib/attribute.h
+++ b/lib/attribute.h
@@ -32,7 +32,7 @@
32 32
33 33
34/* This file defines two types of attributes: 34/* This file defines two types of attributes:
35 * C2x standard attributes. These have macro names that do not begin with 35 * C23 standard attributes. These have macro names that do not begin with
36 'ATTRIBUTE_'. 36 'ATTRIBUTE_'.
37 * Selected GCC attributes; see: 37 * Selected GCC attributes; see:
38 https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html 38 https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
diff --git a/lib/binary-io.h b/lib/binary-io.h
index dd9829aa88d..6f4db253354 100644
--- a/lib/binary-io.h
+++ b/lib/binary-io.h
@@ -1,6 +1,5 @@
1/* Binary mode I/O. 1/* Binary mode I/O.
2 Copyright (C) 2001, 2003, 2005, 2008-2023 Free Software Foundation, 2 Copyright (C) 2001, 2003, 2005, 2008-2023 Free Software Foundation, Inc.
3 Inc.
4 3
5 This file is free software: you can redistribute it and/or modify 4 This file is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as 5 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/c-ctype.h b/lib/c-ctype.h
index 9d093f7f722..35ca83d7d43 100644
--- a/lib/c-ctype.h
+++ b/lib/c-ctype.h
@@ -5,8 +5,7 @@
5 <ctype.h> functions' behaviour depends on the current locale set via 5 <ctype.h> functions' behaviour depends on the current locale set via
6 setlocale. 6 setlocale.
7 7
8 Copyright (C) 2000-2003, 2006, 2008-2023 Free Software Foundation, 8 Copyright (C) 2000-2003, 2006, 2008-2023 Free Software Foundation, Inc.
9 Inc.
10 9
11 This file is free software: you can redistribute it and/or modify 10 This file is free software: you can redistribute it and/or modify
12 it under the terms of the GNU Lesser General Public License as 11 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/c-strcasecmp.c b/lib/c-strcasecmp.c
index c90c6d6a09c..8a958dc4fd9 100644
--- a/lib/c-strcasecmp.c
+++ b/lib/c-strcasecmp.c
@@ -1,6 +1,5 @@
1/* c-strcasecmp.c -- case insensitive string comparator in C locale 1/* c-strcasecmp.c -- case insensitive string comparator in C locale
2 Copyright (C) 1998-1999, 2005-2006, 2009-2023 Free Software 2 Copyright (C) 1998-1999, 2005-2006, 2009-2023 Free Software Foundation, Inc.
3 Foundation, Inc.
4 3
5 This file is free software: you can redistribute it and/or modify 4 This file is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as 5 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/c-strncasecmp.c b/lib/c-strncasecmp.c
index bc30ce0ffc4..4ca8c5f4001 100644
--- a/lib/c-strncasecmp.c
+++ b/lib/c-strncasecmp.c
@@ -1,6 +1,5 @@
1/* c-strncasecmp.c -- case insensitive string comparator in C locale 1/* c-strncasecmp.c -- case insensitive string comparator in C locale
2 Copyright (C) 1998-1999, 2005-2006, 2009-2023 Free Software 2 Copyright (C) 1998-1999, 2005-2006, 2009-2023 Free Software Foundation, Inc.
3 Foundation, Inc.
4 3
5 This file is free software: you can redistribute it and/or modify 4 This file is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as 5 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/careadlinkat.c b/lib/careadlinkat.c
index 1d7db893731..359d497396c 100644
--- a/lib/careadlinkat.c
+++ b/lib/careadlinkat.c
@@ -1,7 +1,7 @@
1/* Read symbolic links into a buffer without size limitation, relative to fd. 1/* Read symbolic links into a buffer without size limitation, relative to fd.
2 2
3 Copyright (C) 2001, 2003-2004, 2007, 2009-2023 Free Software 3 Copyright (C) 2001, 2003-2004, 2007, 2009-2023 Free Software Foundation,
4 Foundation, Inc. 4 Inc.
5 5
6 This file is free software: you can redistribute it and/or modify 6 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 7 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/cloexec.c b/lib/cloexec.c
index ba53d0020b1..e4cecbd2e8a 100644
--- a/lib/cloexec.c
+++ b/lib/cloexec.c
@@ -1,7 +1,6 @@
1/* cloexec.c - set or clear the close-on-exec descriptor flag 1/* cloexec.c - set or clear the close-on-exec descriptor flag
2 2
3 Copyright (C) 1991, 2004-2006, 2009-2023 Free Software Foundation, 3 Copyright (C) 1991, 2004-2006, 2009-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/close-stream.c b/lib/close-stream.c
index b68b30e6ff0..ab686bac2ae 100644
--- a/lib/close-stream.c
+++ b/lib/close-stream.c
@@ -1,7 +1,6 @@
1/* Close a stream, with nicer error checking than fclose's. 1/* Close a stream, with nicer error checking than fclose's.
2 2
3 Copyright (C) 1998-2002, 2004, 2006-2023 Free Software Foundation, 3 Copyright (C) 1998-2002, 2004, 2006-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This program is free software: you can redistribute it and/or modify 5 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
diff --git a/lib/diffseq.h b/lib/diffseq.h
index ad3f258ab6b..dfaf4f295e8 100644
--- a/lib/diffseq.h
+++ b/lib/diffseq.h
@@ -1,7 +1,7 @@
1/* Analyze differences between two vectors. 1/* Analyze differences between two vectors.
2 2
3 Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2023 Free 3 Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 5
6 This program is free software: you can redistribute it and/or modify 6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
diff --git a/lib/dup2.c b/lib/dup2.c
index 1597d9d1e6e..7d197ca3123 100644
--- a/lib/dup2.c
+++ b/lib/dup2.c
@@ -1,7 +1,6 @@
1/* Duplicate an open file descriptor to a specified file descriptor. 1/* Duplicate an open file descriptor to a specified file descriptor.
2 2
3 Copyright (C) 1999, 2004-2007, 2009-2023 Free Software Foundation, 3 Copyright (C) 1999, 2004-2007, 2009-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c
index d0e11e631ca..b31a2ea2523 100644
--- a/lib/file-has-acl.c
+++ b/lib/file-has-acl.c
@@ -81,9 +81,10 @@ acl_nfs4_nontrivial (uint32_t *xattr, ssize_t nbytes)
81 uint32_t flag = ntohl (xattr[1]); 81 uint32_t flag = ntohl (xattr[1]);
82 uint32_t wholen = ntohl (xattr[3]); 82 uint32_t wholen = ntohl (xattr[3]);
83 xattr += 4; 83 xattr += 4;
84 int64_t wholen4 = wholen; 84 int whowords = (wholen / BYTES_PER_NETWORK_UINT
85 wholen4 = ((wholen4 + (BYTES_PER_NETWORK_UINT)) 85 + (wholen % BYTES_PER_NETWORK_UINT != 0));
86 & ~ (BYTES_PER_NETWORK_UINT - 1)); 86 int64_t wholen4 = whowords;
87 wholen4 *= BYTES_PER_NETWORK_UINT;
87 88
88 /* Trivial ACLs have only ACE4_ACCESS_ALLOWED_ACE_TYPE or 89 /* Trivial ACLs have only ACE4_ACCESS_ALLOWED_ACE_TYPE or
89 ACE4_ACCESS_DENIED_ACE_TYPE. */ 90 ACE4_ACCESS_DENIED_ACE_TYPE. */
@@ -115,7 +116,7 @@ acl_nfs4_nontrivial (uint32_t *xattr, ssize_t nbytes)
115 return 1; 116 return 1;
116 ace_found |= ace_found_bit; 117 ace_found |= ace_found_bit;
117 118
118 xattr = (uint32_t *) ((char *) xattr + wholen4); 119 xattr += whowords;
119 } 120 }
120 121
121 return 0; 122 return 0;
diff --git a/lib/filemode.h b/lib/filemode.h
index d456cc585b3..15a8dcc3760 100644
--- a/lib/filemode.h
+++ b/lib/filemode.h
@@ -1,7 +1,7 @@
1/* Make a string describing file modes. 1/* Make a string describing file modes.
2 2
3 Copyright (C) 1998-1999, 2003, 2006, 2009-2023 Free Software 3 Copyright (C) 1998-1999, 2003, 2006, 2009-2023 Free Software Foundation,
4 Foundation, Inc. 4 Inc.
5 5
6 This program is free software: you can redistribute it and/or modify 6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
diff --git a/lib/filename.h b/lib/filename.h
index a2400a9dfe3..ab77ca2df91 100644
--- a/lib/filename.h
+++ b/lib/filename.h
@@ -1,5 +1,5 @@
1/* Basic filename support macros. 1/* Basic filename support macros.
2 Copyright (C) 2001-2023 Free Software Foundation, Inc. 2 Copyright (C) 2001-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 4
5 The GNU C Library is free software; you can redistribute it and/or 5 The GNU C Library is free software; you can redistribute it and/or
diff --git a/lib/fpending.c b/lib/fpending.c
index df3cd85f3a6..afa840b8512 100644
--- a/lib/fpending.c
+++ b/lib/fpending.c
@@ -1,6 +1,6 @@
1/* fpending.c -- return the number of pending output bytes on a stream 1/* fpending.c -- return the number of pending output bytes on a stream
2 Copyright (C) 2000, 2004, 2006-2007, 2009-2023 Free Software 2 Copyright (C) 2000, 2004, 2006-2007, 2009-2023 Free Software Foundation,
3 Foundation, Inc. 3 Inc.
4 4
5 This program is free software: you can redistribute it and/or modify 5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
diff --git a/lib/fpending.h b/lib/fpending.h
index fe310384f7e..5e860db6810 100644
--- a/lib/fpending.h
+++ b/lib/fpending.h
@@ -1,7 +1,7 @@
1/* Declare __fpending. 1/* Declare __fpending.
2 2
3 Copyright (C) 2000, 2003, 2005-2006, 2009-2023 Free Software 3 Copyright (C) 2000, 2003, 2005-2006, 2009-2023 Free Software Foundation,
4 Foundation, Inc. 4 Inc.
5 5
6 This program is free software: you can redistribute it and/or modify 6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
diff --git a/lib/fsusage.c b/lib/fsusage.c
index 2be120a06de..f6f4b1c35fd 100644
--- a/lib/fsusage.c
+++ b/lib/fsusage.c
@@ -1,7 +1,7 @@
1/* fsusage.c -- return space usage of mounted file systems 1/* fsusage.c -- return space usage of mounted file systems
2 2
3 Copyright (C) 1991-1992, 1996, 1998-1999, 2002-2006, 2009-2023 Free 3 Copyright (C) 1991-1992, 1996, 1998-1999, 2002-2006, 2009-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 5
6 This file is free software: you can redistribute it and/or modify 6 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 7 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/getgroups.c b/lib/getgroups.c
index 6a2bda8d71e..93829d3b15e 100644
--- a/lib/getgroups.c
+++ b/lib/getgroups.c
@@ -1,7 +1,6 @@
1/* provide consistent interface to getgroups for systems that don't allow N==0 1/* provide consistent interface to getgroups for systems that don't allow N==0
2 2
3 Copyright (C) 1996, 1999, 2003, 2006-2023 Free Software Foundation, 3 Copyright (C) 1996, 1999, 2003, 2006-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/getloadavg.c b/lib/getloadavg.c
index 37fcea0a76b..59b53e79980 100644
--- a/lib/getloadavg.c
+++ b/lib/getloadavg.c
@@ -1,7 +1,7 @@
1/* Get the system load averages. 1/* Get the system load averages.
2 2
3 Copyright (C) 1985-1989, 1991-1995, 1997, 1999-2000, 2003-2023 Free 3 Copyright (C) 1985-1989, 1991-1995, 1997, 1999-2000, 2003-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 5
6 NOTE: The canonical source of this file is maintained with gnulib. 6 NOTE: The canonical source of this file is maintained with gnulib.
7 Bugs can be reported to bug-gnulib@gnu.org. 7 Bugs can be reported to bug-gnulib@gnu.org.
diff --git a/lib/gettext.h b/lib/gettext.h
index 582886f9f51..d0462c47e17 100644
--- a/lib/gettext.h
+++ b/lib/gettext.h
@@ -1,6 +1,6 @@
1/* Convenience header for conditional use of GNU <libintl.h>. 1/* Convenience header for conditional use of GNU <libintl.h>.
2 Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2023 Free 2 Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2023 Free Software
3 Software Foundation, Inc. 3 Foundation, Inc.
4 4
5 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/gettime.c b/lib/gettime.c
index cfba830478e..f86cc4efbff 100644
--- a/lib/gettime.c
+++ b/lib/gettime.c
@@ -1,7 +1,6 @@
1/* gettime -- get the system clock 1/* gettime -- get the system clock
2 2
3 Copyright (C) 2002, 2004-2007, 2009-2023 Free Software Foundation, 3 Copyright (C) 2002, 2004-2007, 2009-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/gettimeofday.c b/lib/gettimeofday.c
index 7207c851272..d896ec132b9 100644
--- a/lib/gettimeofday.c
+++ b/lib/gettimeofday.c
@@ -1,7 +1,6 @@
1/* Provide gettimeofday for systems that don't have it or for which it's broken. 1/* Provide gettimeofday for systems that don't have it or for which it's broken.
2 2
3 Copyright (C) 2001-2003, 2005-2007, 2009-2023 Free Software 3 Copyright (C) 2001-2003, 2005-2007, 2009-2023 Free Software Foundation, Inc.
4 Foundation, Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in
index 9e2eaf51381..0b4e0458a3c 100644
--- a/lib/gnulib.mk.in
+++ b/lib/gnulib.mk.in
@@ -240,6 +240,7 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
240ERRNO_H = @ERRNO_H@ 240ERRNO_H = @ERRNO_H@
241EXECINFO_H = @EXECINFO_H@ 241EXECINFO_H = @EXECINFO_H@
242EXEEXT = @EXEEXT@ 242EXEEXT = @EXEEXT@
243FILE_HAS_ACL_LIB = @FILE_HAS_ACL_LIB@
243FIND_DELETE = @FIND_DELETE@ 244FIND_DELETE = @FIND_DELETE@
244FIRSTFILE_OBJ = @FIRSTFILE_OBJ@ 245FIRSTFILE_OBJ = @FIRSTFILE_OBJ@
245FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 246FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
@@ -675,6 +676,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
675HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ 676HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
676HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ 677HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
677HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ 678HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
679HAVE_DECL_GETW = @HAVE_DECL_GETW@
678HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ 680HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
679HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ 681HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
680HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ 682HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
@@ -683,6 +685,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
683HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ 685HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
684HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ 686HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
685HAVE_DECL_POSIX_SPAWN_SETSID = @HAVE_DECL_POSIX_SPAWN_SETSID@ 687HAVE_DECL_POSIX_SPAWN_SETSID = @HAVE_DECL_POSIX_SPAWN_SETSID@
688HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
686HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ 689HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
687HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ 690HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
688HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ 691HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
@@ -3104,7 +3107,9 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
3104 -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ 3107 -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
3105 -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ 3108 -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
3106 -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ 3109 -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
3110 -e 's|@''HAVE_DECL_GETW''@|$(HAVE_DECL_GETW)|g' \
3107 -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ 3111 -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
3112 -e 's|@''HAVE_DECL_PUTW''@|$(HAVE_DECL_PUTW)|g' \
3108 -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ 3113 -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
3109 -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ 3114 -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
3110 -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ 3115 -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
diff --git a/lib/group-member.c b/lib/group-member.c
index 6e3f640dcf0..96a09f94a8f 100644
--- a/lib/group-member.c
+++ b/lib/group-member.c
@@ -1,7 +1,7 @@
1/* group-member.c -- determine whether group id is in calling user's group list 1/* group-member.c -- determine whether group id is in calling user's group list
2 2
3 Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2023 Free 3 Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 5
6 This file is free software: you can redistribute it and/or modify 6 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 7 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/limits.in.h b/lib/limits.in.h
index ae46a5aa25f..eaeac472299 100644
--- a/lib/limits.in.h
+++ b/lib/limits.in.h
@@ -99,7 +99,7 @@
99# endif 99# endif
100#endif 100#endif
101 101
102/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */ 102/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014. */
103 103
104#if (! defined ULLONG_WIDTH \ 104#if (! defined ULLONG_WIDTH \
105 && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \ 105 && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \
@@ -117,7 +117,7 @@
117# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX) 117# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX)
118#endif 118#endif
119 119
120/* Macros specified by C2x. */ 120/* Macros specified by C23. */
121 121
122#if (! defined BOOL_WIDTH \ 122#if (! defined BOOL_WIDTH \
123 && (defined _GNU_SOURCE \ 123 && (defined _GNU_SOURCE \
diff --git a/lib/malloc.c b/lib/malloc.c
index 92f8c841cd7..3ade35cb63f 100644
--- a/lib/malloc.c
+++ b/lib/malloc.c
@@ -1,7 +1,6 @@
1/* malloc() function that is glibc compatible. 1/* malloc() function that is glibc compatible.
2 2
3 Copyright (C) 1997-1998, 2006-2007, 2009-2023 Free Software 3 Copyright (C) 1997-1998, 2006-2007, 2009-2023 Free Software Foundation, Inc.
4 Foundation, Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/malloc/scratch_buffer.h b/lib/malloc/scratch_buffer.h
index 33fd2b29cd5..a9bdcadec21 100644
--- a/lib/malloc/scratch_buffer.h
+++ b/lib/malloc/scratch_buffer.h
@@ -1,5 +1,5 @@
1/* Variable-sized buffer with on-stack default allocation. 1/* Variable-sized buffer with on-stack default allocation.
2 Copyright (C) 2015-2023 Free Software Foundation, Inc. 2 Copyright (C) 2015-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 4
5 The GNU C Library is free software; you can redistribute it and/or 5 The GNU C Library is free software; you can redistribute it and/or
diff --git a/lib/malloc/scratch_buffer_grow.c b/lib/malloc/scratch_buffer_grow.c
index a5e8f2f7230..9a5e4dbb1eb 100644
--- a/lib/malloc/scratch_buffer_grow.c
+++ b/lib/malloc/scratch_buffer_grow.c
@@ -1,5 +1,5 @@
1/* Variable-sized buffer with on-stack default allocation. 1/* Variable-sized buffer with on-stack default allocation.
2 Copyright (C) 2015-2023 Free Software Foundation, Inc. 2 Copyright (C) 2015-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 4
5 The GNU C Library is free software; you can redistribute it and/or 5 The GNU C Library is free software; you can redistribute it and/or
diff --git a/lib/malloc/scratch_buffer_grow_preserve.c b/lib/malloc/scratch_buffer_grow_preserve.c
index c0b5d87b7e4..3fe5a0720ec 100644
--- a/lib/malloc/scratch_buffer_grow_preserve.c
+++ b/lib/malloc/scratch_buffer_grow_preserve.c
@@ -1,5 +1,5 @@
1/* Variable-sized buffer with on-stack default allocation. 1/* Variable-sized buffer with on-stack default allocation.
2 Copyright (C) 2015-2023 Free Software Foundation, Inc. 2 Copyright (C) 2015-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 4
5 The GNU C Library is free software; you can redistribute it and/or 5 The GNU C Library is free software; you can redistribute it and/or
diff --git a/lib/malloc/scratch_buffer_set_array_size.c b/lib/malloc/scratch_buffer_set_array_size.c
index 24c39350ade..89c37a950e9 100644
--- a/lib/malloc/scratch_buffer_set_array_size.c
+++ b/lib/malloc/scratch_buffer_set_array_size.c
@@ -1,5 +1,5 @@
1/* Variable-sized buffer with on-stack default allocation. 1/* Variable-sized buffer with on-stack default allocation.
2 Copyright (C) 2015-2023 Free Software Foundation, Inc. 2 Copyright (C) 2015-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 4
5 The GNU C Library is free software; you can redistribute it and/or 5 The GNU C Library is free software; you can redistribute it and/or
diff --git a/lib/md5-stream.c b/lib/md5-stream.c
index ab48fe3261a..ba76792cbbe 100644
--- a/lib/md5-stream.c
+++ b/lib/md5-stream.c
@@ -1,7 +1,7 @@
1/* Functions to compute MD5 message digest of files or memory blocks. 1/* Functions to compute MD5 message digest of files or memory blocks.
2 according to the definition of MD5 in RFC 1321 from April 1992. 2 according to the definition of MD5 in RFC 1321 from April 1992.
3 Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2023 Free 3 Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 This file is part of the GNU C Library. 5 This file is part of the GNU C Library.
6 6
7 This file is free software: you can redistribute it and/or modify 7 This file is free software: you can redistribute it and/or modify
diff --git a/lib/md5.c b/lib/md5.c
index b1e139339f4..4a6accf28ff 100644
--- a/lib/md5.c
+++ b/lib/md5.c
@@ -1,7 +1,7 @@
1/* Functions to compute MD5 message digest of files or memory blocks. 1/* Functions to compute MD5 message digest of files or memory blocks.
2 according to the definition of MD5 in RFC 1321 from April 1992. 2 according to the definition of MD5 in RFC 1321 from April 1992.
3 Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2023 Free 3 Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 This file is part of the GNU C Library. 5 This file is part of the GNU C Library.
6 6
7 This file is free software: you can redistribute it and/or modify 7 This file is free software: you can redistribute it and/or modify
diff --git a/lib/md5.h b/lib/md5.h
index 3b0b4ff730f..f34e7cb8dfa 100644
--- a/lib/md5.h
+++ b/lib/md5.h
@@ -1,7 +1,7 @@
1/* Declaration of functions and data types used for MD5 sum computing 1/* Declaration of functions and data types used for MD5 sum computing
2 library functions. 2 library functions.
3 Copyright (C) 1995-1997, 1999-2001, 2004-2006, 2008-2023 Free 3 Copyright (C) 1995-1997, 1999-2001, 2004-2006, 2008-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 This file is part of the GNU C Library. 5 This file is part of the GNU C Library.
6 6
7 This file is free software: you can redistribute it and/or modify 7 This file is free software: you can redistribute it and/or modify
diff --git a/lib/memmem.c b/lib/memmem.c
index 665815efb1a..c0b48c1b25d 100644
--- a/lib/memmem.c
+++ b/lib/memmem.c
@@ -1,5 +1,5 @@
1/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2023 Free 1/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2023 Free Software
2 Software Foundation, Inc. 2 Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 4
5 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
diff --git a/lib/memrchr.c b/lib/memrchr.c
index a34fc71f7da..c5b1fe8b2e3 100644
--- a/lib/memrchr.c
+++ b/lib/memrchr.c
@@ -1,7 +1,7 @@
1/* memrchr -- find the last occurrence of a byte in a memory block 1/* memrchr -- find the last occurrence of a byte in a memory block
2 2
3 Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2023 Free 3 Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 5
6 Based on strlen implementation by Torbjorn Granlund (tege@sics.se), 6 Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
7 with help from Dan Sahlin (dan@sics.se) and 7 with help from Dan Sahlin (dan@sics.se) and
diff --git a/lib/memset_explicit.c b/lib/memset_explicit.c
index eabeb3ec2b8..6d21a5e8797 100644
--- a/lib/memset_explicit.c
+++ b/lib/memset_explicit.c
@@ -1,5 +1,5 @@
1/* Erase sensitive data from memory. 1/* Erase sensitive data from memory.
2 Copyright 2022 Free Software Foundation, Inc. 2 Copyright 2022-2023 Free Software Foundation, Inc.
3 3
4 This file is free software: you can redistribute it and/or modify 4 This file is free software: you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as 5 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/mktime-internal.h b/lib/mktime-internal.h
index 709c36bdf56..170764eabc8 100644
--- a/lib/mktime-internal.h
+++ b/lib/mktime-internal.h
@@ -1,5 +1,5 @@
1/* Internals of mktime and related functions 1/* Internals of mktime and related functions
2 Copyright 2016-2023 Free Software Foundation, Inc. 2 Copyright 2016-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 Contributed by Paul Eggert <eggert@cs.ucla.edu>. 4 Contributed by Paul Eggert <eggert@cs.ucla.edu>.
5 5
diff --git a/lib/mktime.c b/lib/mktime.c
index 94a4320e6ca..7dc9d67ef9d 100644
--- a/lib/mktime.c
+++ b/lib/mktime.c
@@ -1,5 +1,5 @@
1/* Convert a 'struct tm' to a time_t value. 1/* Convert a 'struct tm' to a time_t value.
2 Copyright (C) 1993-2023 Free Software Foundation, Inc. 2 Copyright (C) 1993-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 Contributed by Paul Eggert <eggert@twinsun.com>. 4 Contributed by Paul Eggert <eggert@twinsun.com>.
5 5
diff --git a/lib/nanosleep.c b/lib/nanosleep.c
index 6383115c0f1..3f295f49b5d 100644
--- a/lib/nanosleep.c
+++ b/lib/nanosleep.c
@@ -1,7 +1,6 @@
1/* Provide a replacement for the POSIX nanosleep function. 1/* Provide a replacement for the POSIX nanosleep function.
2 2
3 Copyright (C) 1999-2000, 2002, 2004-2023 Free Software Foundation, 3 Copyright (C) 1999-2000, 2002, 2004-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/regex.c b/lib/regex.c
index 3beb0deb987..ff1176782e4 100644
--- a/lib/regex.c
+++ b/lib/regex.c
@@ -1,5 +1,5 @@
1/* Extended regular expression matching and search library. 1/* Extended regular expression matching and search library.
2 Copyright (C) 2002-2023 Free Software Foundation, Inc. 2 Copyright (C) 2002-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. 4 Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
5 5
diff --git a/lib/regex.h b/lib/regex.h
index 9ef0252ffff..a7e0bd02757 100644
--- a/lib/regex.h
+++ b/lib/regex.h
@@ -1,6 +1,6 @@
1/* Definitions for data structures and routines for the regular 1/* Definitions for data structures and routines for the regular
2 expression library. 2 expression library.
3 Copyright (C) 1985, 1989-2023 Free Software Foundation, Inc. 3 Copyright (C) 1985, 1989-2022 Free Software Foundation, Inc.
4 This file is part of the GNU C Library. 4 This file is part of the GNU C Library.
5 5
6 The GNU C Library is free software; you can redistribute it and/or 6 The GNU C Library is free software; you can redistribute it and/or
diff --git a/lib/save-cwd.h b/lib/save-cwd.h
index f26319389c2..d089b0e2145 100644
--- a/lib/save-cwd.h
+++ b/lib/save-cwd.h
@@ -1,7 +1,7 @@
1/* Save and restore current working directory. 1/* Save and restore current working directory.
2 2
3 Copyright (C) 1995, 1997-1998, 2003, 2009-2023 Free Software 3 Copyright (C) 1995, 1997-1998, 2003, 2009-2023 Free Software Foundation,
4 Foundation, Inc. 4 Inc.
5 5
6 This program is free software: you can redistribute it and/or modify 6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
diff --git a/lib/sha1.c b/lib/sha1.c
index 3f6d86a285c..80f0b7a3314 100644
--- a/lib/sha1.c
+++ b/lib/sha1.c
@@ -1,8 +1,7 @@
1/* sha1.c - Functions to compute SHA1 message digest of files or 1/* sha1.c - Functions to compute SHA1 message digest of files or
2 memory blocks according to the NIST specification FIPS-180-1. 2 memory blocks according to the NIST specification FIPS-180-1.
3 3
4 Copyright (C) 2000-2001, 2003-2006, 2008-2023 Free Software 4 Copyright (C) 2000-2001, 2003-2006, 2008-2023 Free Software Foundation, Inc.
5 Foundation, Inc.
6 5
7 This file is free software: you can redistribute it and/or modify 6 This file is free software: you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as 7 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/sig2str.c b/lib/sig2str.c
index 4f68cb7ca8a..c5219caaaed 100644
--- a/lib/sig2str.c
+++ b/lib/sig2str.c
@@ -1,7 +1,6 @@
1/* sig2str.c -- convert between signal names and numbers 1/* sig2str.c -- convert between signal names and numbers
2 2
3 Copyright (C) 2002, 2004, 2006, 2009-2023 Free Software Foundation, 3 Copyright (C) 2002, 2004, 2006, 2009-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This program is free software: you can redistribute it and/or modify 5 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
diff --git a/lib/stdio.in.h b/lib/stdio.in.h
index 59cbea3d47d..8b5ef4bd2dd 100644
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -951,9 +951,13 @@ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
951# endif 951# endif
952_GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream)); 952_GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream));
953# else 953# else
954# if @HAVE_DECL_GETW@
954_GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream)); 955_GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream));
956# endif
955# endif 957# endif
958# if __GLIBC__ >= 2
956_GL_CXXALIASWARN (getw); 959_GL_CXXALIASWARN (getw);
960# endif
957#endif 961#endif
958 962
959#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ 963#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
@@ -1190,9 +1194,13 @@ _GL_CXXALIASWARN (puts);
1190# endif 1194# endif
1191_GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream)); 1195_GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream));
1192# else 1196# else
1197# if @HAVE_DECL_PUTW@
1193_GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream)); 1198_GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream));
1199# endif
1194# endif 1200# endif
1201# if __GLIBC__ >= 2
1195_GL_CXXALIASWARN (putw); 1202_GL_CXXALIASWARN (putw);
1203# endif
1196#endif 1204#endif
1197 1205
1198#if @GNULIB_REMOVE@ 1206#if @GNULIB_REMOVE@
diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h
index 4c8aad76124..b79e5f70965 100644
--- a/lib/stdlib.in.h
+++ b/lib/stdlib.in.h
@@ -1,7 +1,6 @@
1/* A GNU-like <stdlib.h>. 1/* A GNU-like <stdlib.h>.
2 2
3 Copyright (C) 1995, 2001-2004, 2006-2023 Free Software Foundation, 3 Copyright (C) 1995, 2001-2004, 2006-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/string.in.h b/lib/string.in.h
index 1e27deed982..b227a178873 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -59,10 +59,11 @@
59# include <unistd.h> 59# include <unistd.h>
60#endif 60#endif
61 61
62/* AIX 7.2 declares ffsl and ffsll in <strings.h>, not in <string.h>. */ 62/* AIX 7.2 and Android 13 declare ffsl and ffsll in <strings.h>, not in
63 <string.h>. */
63/* But in any case avoid namespace pollution on glibc systems. */ 64/* But in any case avoid namespace pollution on glibc systems. */
64#if ((@GNULIB_FFSL@ || @GNULIB_FFSLL@ || defined GNULIB_POSIXCHECK) \ 65#if ((@GNULIB_FFSL@ || @GNULIB_FFSLL@ || defined GNULIB_POSIXCHECK) \
65 && defined _AIX) \ 66 && (defined _AIX || defined __ANDROID__)) \
66 && ! defined __GLIBC__ 67 && ! defined __GLIBC__
67# include <strings.h> 68# include <strings.h>
68#endif 69#endif
@@ -82,7 +83,14 @@
82 can be freed via 'free'; it can be used only after declaring 'free'. */ 83 can be freed via 'free'; it can be used only after declaring 'free'. */
83/* Applies to: functions. Cannot be used on inline functions. */ 84/* Applies to: functions. Cannot be used on inline functions. */
84#ifndef _GL_ATTRIBUTE_DEALLOC_FREE 85#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
85# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) 86# if defined __cplusplus && defined __GNUC__ && !defined __clang__
87/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
88# define _GL_ATTRIBUTE_DEALLOC_FREE \
89 _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
90# else
91# define _GL_ATTRIBUTE_DEALLOC_FREE \
92 _GL_ATTRIBUTE_DEALLOC (free, 1)
93# endif
86#endif 94#endif
87 95
88/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly 96/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
@@ -336,7 +344,7 @@ _GL_CXXALIAS_SYS_CAST2 (memrchr,
336 || defined __clang__) 344 || defined __clang__)
337_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t) throw ()); 345_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t) throw ());
338_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t) throw ()); 346_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t) throw ());
339# else 347# elif __GLIBC__ >= 2
340_GL_CXXALIASWARN (memrchr); 348_GL_CXXALIASWARN (memrchr);
341# endif 349# endif
342#elif defined GNULIB_POSIXCHECK 350#elif defined GNULIB_POSIXCHECK
@@ -491,7 +499,7 @@ _GL_CXXALIAS_SYS_CAST2 (strchrnul,
491_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in) throw ()); 499_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in) throw ());
492_GL_CXXALIASWARN1 (strchrnul, char const *, 500_GL_CXXALIASWARN1 (strchrnul, char const *,
493 (char const *__s, int __c_in) throw ()); 501 (char const *__s, int __c_in) throw ());
494# else 502# elif __GLIBC__ >= 2
495_GL_CXXALIASWARN (strchrnul); 503_GL_CXXALIASWARN (strchrnul);
496# endif 504# endif
497#elif defined GNULIB_POSIXCHECK 505#elif defined GNULIB_POSIXCHECK
@@ -856,7 +864,7 @@ _GL_CXXALIASWARN1 (strcasestr, char *,
856 (char *haystack, const char *needle) throw ()); 864 (char *haystack, const char *needle) throw ());
857_GL_CXXALIASWARN1 (strcasestr, const char *, 865_GL_CXXALIASWARN1 (strcasestr, const char *,
858 (const char *haystack, const char *needle) throw ()); 866 (const char *haystack, const char *needle) throw ());
859# else 867# elif __GLIBC__ >= 2
860_GL_CXXALIASWARN (strcasestr); 868_GL_CXXALIASWARN (strcasestr);
861# endif 869# endif
862#elif defined GNULIB_POSIXCHECK 870#elif defined GNULIB_POSIXCHECK
diff --git a/lib/strtoimax.c b/lib/strtoimax.c
index d8d74e8c699..f7977e28e64 100644
--- a/lib/strtoimax.c
+++ b/lib/strtoimax.c
@@ -1,7 +1,7 @@
1/* Convert string representation of a number into an intmax_t value. 1/* Convert string representation of a number into an intmax_t value.
2 2
3 Copyright (C) 1999, 2001-2004, 2006, 2009-2023 Free Software 3 Copyright (C) 1999, 2001-2004, 2006, 2009-2023 Free Software Foundation,
4 Foundation, Inc. 4 Inc.
5 5
6 This file is free software: you can redistribute it and/or modify 6 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 7 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/strtol.c b/lib/strtol.c
index 6bc1f061877..d11269b2622 100644
--- a/lib/strtol.c
+++ b/lib/strtol.c
@@ -1,7 +1,7 @@
1/* Convert string representation of a number into an integer value. 1/* Convert string representation of a number into an integer value.
2 2
3 Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2023 Free 3 Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2023 Free Software
4 Software Foundation, Inc. 4 Foundation, Inc.
5 5
6 NOTE: The canonical source of this file is maintained with the GNU C 6 NOTE: The canonical source of this file is maintained with the GNU C
7 Library. Bugs can be reported to bug-glibc@gnu.org. 7 Library. Bugs can be reported to bug-glibc@gnu.org.
diff --git a/lib/strtoll.c b/lib/strtoll.c
index 919b453984c..9fdfa19b220 100644
--- a/lib/strtoll.c
+++ b/lib/strtoll.c
@@ -1,6 +1,6 @@
1/* Function to parse a 'long long int' from text. 1/* Function to parse a 'long long int' from text.
2 Copyright (C) 1995-1997, 1999, 2001, 2009-2023 Free Software 2 Copyright (C) 1995-1997, 1999, 2001, 2009-2023 Free Software Foundation,
3 Foundation, Inc. 3 Inc.
4 This file is part of the GNU C Library. 4 This file is part of the GNU C Library.
5 5
6 This file is free software: you can redistribute it and/or modify 6 This file is free software: you can redistribute it and/or modify
diff --git a/lib/time_r.c b/lib/time_r.c
index c8143a6900a..97be4fd0544 100644
--- a/lib/time_r.c
+++ b/lib/time_r.c
@@ -1,7 +1,6 @@
1/* Reentrant time functions like localtime_r. 1/* Reentrant time functions like localtime_r.
2 2
3 Copyright (C) 2003, 2006-2007, 2010-2023 Free Software Foundation, 3 Copyright (C) 2003, 2006-2007, 2010-2023 Free Software Foundation, Inc.
4 Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/lib/timegm.c b/lib/timegm.c
index b47025a0545..a1b19efc392 100644
--- a/lib/timegm.c
+++ b/lib/timegm.c
@@ -1,6 +1,6 @@
1/* Convert UTC calendar time to simple time. Like mktime but assumes UTC. 1/* Convert UTC calendar time to simple time. Like mktime but assumes UTC.
2 2
3 Copyright (C) 1994-2023 Free Software Foundation, Inc. 3 Copyright (C) 1994-2022 Free Software Foundation, Inc.
4 This file is part of the GNU C Library. 4 This file is part of the GNU C Library.
5 5
6 The GNU C Library is free software; you can redistribute it and/or 6 The GNU C Library is free software; you can redistribute it and/or
diff --git a/lib/verify.h b/lib/verify.h
index ff8438c9269..17d6e78c816 100644
--- a/lib/verify.h
+++ b/lib/verify.h
@@ -223,8 +223,15 @@ template <int w>
223/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ 223/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */
224#ifdef _GL_STATIC_ASSERT_H 224#ifdef _GL_STATIC_ASSERT_H
225# if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert 225# if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert
226# define _Static_assert(R, ...) \ 226# if !defined _MSC_VER || defined __clang__
227 _GL_VERIFY ((R), "static assertion failed", -) 227# define _Static_assert(...) \
228 _GL_VERIFY (__VA_ARGS__, "static assertion failed", -)
229# else
230 /* Work around MSVC preprocessor incompatibility with ISO C; see
231 <https://stackoverflow.com/questions/5134523/>. */
232# define _Static_assert(R, ...) \
233 _GL_VERIFY ((R), "static assertion failed", -)
234# endif
228# endif 235# endif
229# if (!defined static_assert \ 236# if (!defined static_assert \
230 && __STDC_VERSION__ < 202311 \ 237 && __STDC_VERSION__ < 202311 \
@@ -235,9 +242,8 @@ template <int w>
235/* MSVC 14 in C++ mode supports the two-arguments static_assert but not 242/* MSVC 14 in C++ mode supports the two-arguments static_assert but not
236 the one-argument static_assert, and it does not support _Static_assert. 243 the one-argument static_assert, and it does not support _Static_assert.
237 We have to play preprocessor tricks to distinguish the two cases. 244 We have to play preprocessor tricks to distinguish the two cases.
238 Since the MSVC preprocessor is not ISO C compliant (cf. 245 Since the MSVC preprocessor is not ISO C compliant (see above),.
239 <https://stackoverflow.com/questions/5134523/>), the solution is specific 246 the solution is specific to MSVC. */
240 to MSVC. */
241# define _GL_EXPAND(x) x 247# define _GL_EXPAND(x) x
242# define _GL_SA1(a1) static_assert ((a1), "static assertion failed") 248# define _GL_SA1(a1) static_assert ((a1), "static assertion failed")
243# define _GL_SA2 static_assert 249# define _GL_SA2 static_assert
diff --git a/lib/xalloc-oversized.h b/lib/xalloc-oversized.h
index 05ef7028137..5dbdfb5506a 100644
--- a/lib/xalloc-oversized.h
+++ b/lib/xalloc-oversized.h
@@ -1,7 +1,6 @@
1/* xalloc-oversized.h -- memory allocation size checking 1/* xalloc-oversized.h -- memory allocation size checking
2 2
3 Copyright (C) 1990-2000, 2003-2004, 2006-2023 Free Software 3 Copyright (C) 1990-2000, 2003-2004, 2006-2023 Free Software Foundation, Inc.
4 Foundation, Inc.
5 4
6 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as 6 it under the terms of the GNU Lesser General Public License as
diff --git a/m4/acl.m4 b/m4/acl.m4
index 98362858ce5..6c2db7d3203 100644
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -1,5 +1,5 @@
1# acl.m4 - check for access control list (ACL) primitives 1# acl.m4 - check for access control list (ACL) primitives
2# serial 24 2# serial 25
3 3
4# Copyright (C) 2002, 2004-2023 Free Software Foundation, Inc. 4# Copyright (C) 2002, 2004-2023 Free Software Foundation, Inc.
5# This file is free software; the Free Software Foundation 5# This file is free software; the Free Software Foundation
@@ -139,7 +139,10 @@ int type = ACL_TYPE_EXTENDED;]])],
139 AC_MSG_WARN([AC_PACKAGE_NAME will be built without ACL support.]) 139 AC_MSG_WARN([AC_PACKAGE_NAME will be built without ACL support.])
140 fi 140 fi
141 fi 141 fi
142 test -n "$gl_need_lib_has_acl" && LIB_HAS_ACL=$LIB_ACL 142 if test -n "$gl_need_lib_has_acl"; then
143 FILE_HAS_ACL_LIB=$LIB_ACL
144 LIB_HAS_ACL="$FILE_HAS_ACL_LIB"
145 fi
143 AC_SUBST([LIB_ACL]) 146 AC_SUBST([LIB_ACL])
144 AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl], 147 AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl],
145 [Define to nonzero if you want access control list support.]) 148 [Define to nonzero if you want access control list support.])
@@ -197,15 +200,18 @@ AC_DEFUN([gl_FILE_HAS_ACL],
197 [gl_cv_getxattr_with_posix_acls=yes])]) 200 [gl_cv_getxattr_with_posix_acls=yes])])
198 fi 201 fi
199 if test "$gl_cv_getxattr_with_posix_acls" = yes; then 202 if test "$gl_cv_getxattr_with_posix_acls" = yes; then
200 LIB_HAS_ACL= 203 FILE_HAS_ACL_LIB=
201 AC_DEFINE([GETXATTR_WITH_POSIX_ACLS], 1, 204 AC_DEFINE([GETXATTR_WITH_POSIX_ACLS], 1,
202 [Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS 205 [Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS
203 and XATTR_NAME_POSIX_ACL_DEFAULT.]) 206 and XATTR_NAME_POSIX_ACL_DEFAULT.])
204 else 207 else
205 dnl Set gl_need_lib_has_acl to a nonempty value, so that any 208 dnl Set gl_need_lib_has_acl to a nonempty value, so that any
206 dnl later gl_FUNC_ACL call will set LIB_HAS_ACL=$LIB_ACL. 209 dnl later gl_FUNC_ACL call will set FILE_HAS_ACL_LIB=$LIB_ACL.
207 gl_need_lib_has_acl=1 210 gl_need_lib_has_acl=1
208 LIB_HAS_ACL=$LIB_ACL 211 FILE_HAS_ACL_LIB=$LIB_ACL
209 fi 212 fi
213 AC_SUBST([FILE_HAS_ACL_LIB])
214 dnl For backward compatibility (e.g. coreutils still uses LIB_HAS_ACL).
215 LIB_HAS_ACL="$FILE_HAS_ACL_LIB"
210 AC_SUBST([LIB_HAS_ACL]) 216 AC_SUBST([LIB_HAS_ACL])
211]) 217])
diff --git a/m4/alloca.m4 b/m4/alloca.m4
index 75851875910..c685fac918a 100644
--- a/m4/alloca.m4
+++ b/m4/alloca.m4
@@ -1,6 +1,6 @@
1# alloca.m4 serial 21 1# alloca.m4 serial 21
2dnl Copyright (C) 2002-2004, 2006-2007, 2009-2023 Free Software 2dnl Copyright (C) 2002-2004, 2006-2007, 2009-2023 Free Software Foundation,
3dnl Foundation, Inc. 3dnl Inc.
4dnl This file is free software; the Free Software Foundation 4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 6dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/d-type.m4 b/m4/d-type.m4
index 05eb8ac0cfa..3f63bbe78ee 100644
--- a/m4/d-type.m4
+++ b/m4/d-type.m4
@@ -5,8 +5,7 @@ dnl
5dnl Check whether struct dirent has a member named d_type. 5dnl Check whether struct dirent has a member named d_type.
6dnl 6dnl
7 7
8# Copyright (C) 1997, 1999-2004, 2006, 2009-2023 Free Software 8# Copyright (C) 1997, 1999-2004, 2006, 2009-2023 Free Software Foundation, Inc.
9# Foundation, Inc.
10# 9#
11# This file is free software; the Free Software Foundation 10# This file is free software; the Free Software Foundation
12# gives unlimited permission to copy and/or distribute it, 11# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/dup2.m4 b/m4/dup2.m4
index 8a040d4c369..e1cc73e18db 100644
--- a/m4/dup2.m4
+++ b/m4/dup2.m4
@@ -1,6 +1,5 @@
1#serial 27 1#serial 27
2dnl Copyright (C) 2002, 2005, 2007, 2009-2023 Free Software Foundation, 2dnl Copyright (C) 2002, 2005, 2007, 2009-2023 Free Software Foundation, Inc.
3dnl Inc.
4dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/extensions.m4 b/m4/extensions.m4
index 6596e7efc06..5336b8daf7e 100644
--- a/m4/extensions.m4
+++ b/m4/extensions.m4
@@ -1,4 +1,4 @@
1# serial 22 -*- Autoconf -*- 1# serial 23 -*- Autoconf -*-
2# Enable extensions on systems that normally disable them. 2# Enable extensions on systems that normally disable them.
3 3
4# Copyright (C) 2003, 2006-2023 Free Software Foundation, Inc. 4# Copyright (C) 2003, 2006-2023 Free Software Foundation, Inc.
@@ -31,7 +31,7 @@ m4_ifndef([AC_CHECK_INCLUDES_DEFAULT],
31# its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS 31# its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS
32# invocation occurs in gl_EARLY, not in gl_INIT. 32# invocation occurs in gl_EARLY, not in gl_INIT.
33 33
34m4_version_prereq([2.70.1], [], [ 34m4_version_prereq([2.72], [], [
35 35
36# AC_USE_SYSTEM_EXTENSIONS 36# AC_USE_SYSTEM_EXTENSIONS
37# ------------------------ 37# ------------------------
@@ -113,11 +113,15 @@ AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
113#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ 113#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
114# undef __STDC_WANT_IEC_60559_DFP_EXT__ 114# undef __STDC_WANT_IEC_60559_DFP_EXT__
115#endif 115#endif
116/* Enable extensions specified by C23 Annex F. */
117#ifndef __STDC_WANT_IEC_60559_EXT__
118# undef __STDC_WANT_IEC_60559_EXT__
119#endif
116/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ 120/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
117#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ 121#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
118# undef __STDC_WANT_IEC_60559_FUNCS_EXT__ 122# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
119#endif 123#endif
120/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ 124/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */
121#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ 125#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
122# undef __STDC_WANT_IEC_60559_TYPES_EXT__ 126# undef __STDC_WANT_IEC_60559_TYPES_EXT__
123#endif 127#endif
@@ -187,6 +191,7 @@ dnl it should only be defined when necessary.
187 AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__]) 191 AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__])
188 AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__]) 192 AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__])
189 AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__]) 193 AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__])
194 AC_DEFINE([__STDC_WANT_IEC_60559_EXT__])
190 AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__]) 195 AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__])
191 AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__]) 196 AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__])
192 AC_DEFINE([__STDC_WANT_LIB_EXT2__]) 197 AC_DEFINE([__STDC_WANT_LIB_EXT2__])
diff --git a/m4/filemode.m4 b/m4/filemode.m4
index 2fcc69d119b..3cafc5cd1e1 100644
--- a/m4/filemode.m4
+++ b/m4/filemode.m4
@@ -1,6 +1,5 @@
1# filemode.m4 serial 9 1# filemode.m4 serial 9
2dnl Copyright (C) 2002, 2005-2006, 2009-2023 Free Software Foundation, 2dnl Copyright (C) 2002, 2005-2006, 2009-2023 Free Software Foundation, Inc.
3dnl Inc.
4dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/fsusage.m4 b/m4/fsusage.m4
index aeb3467a272..88f3ca817cb 100644
--- a/m4/fsusage.m4
+++ b/m4/fsusage.m4
@@ -1,8 +1,7 @@
1# serial 35 1# serial 35
2# Obtaining file system usage information. 2# Obtaining file system usage information.
3 3
4# Copyright (C) 1997-1998, 2000-2001, 2003-2023 Free Software 4# Copyright (C) 1997-1998, 2000-2001, 2003-2023 Free Software Foundation, Inc.
5# Foundation, Inc.
6# 5#
7# This file is free software; the Free Software Foundation 6# This file is free software; the Free Software Foundation
8# gives unlimited permission to copy and/or distribute it, 7# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/getgroups.m4 b/m4/getgroups.m4
index d5a18ea88b0..241fec88e3c 100644
--- a/m4/getgroups.m4
+++ b/m4/getgroups.m4
@@ -3,8 +3,7 @@
3dnl From Jim Meyering. 3dnl From Jim Meyering.
4dnl A wrapper around AC_FUNC_GETGROUPS. 4dnl A wrapper around AC_FUNC_GETGROUPS.
5 5
6# Copyright (C) 1996-1997, 1999-2004, 2008-2023 Free Software 6# Copyright (C) 1996-1997, 1999-2004, 2008-2023 Free Software Foundation, Inc.
7# Foundation, Inc.
8# 7#
9# This file is free software; the Free Software Foundation 8# This file is free software; the Free Software Foundation
10# gives unlimited permission to copy and/or distribute it, 9# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/getloadavg.m4 b/m4/getloadavg.m4
index 7097e5dd512..79e420baae8 100644
--- a/m4/getloadavg.m4
+++ b/m4/getloadavg.m4
@@ -1,7 +1,7 @@
1# Check for getloadavg. 1# Check for getloadavg.
2 2
3# Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2023 Free 3# Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2023 Free Software
4# Software Foundation, Inc. 4# Foundation, Inc.
5 5
6# This file is free software; the Free Software Foundation 6# This file is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it, 7# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/getrandom.m4 b/m4/getrandom.m4
index 95111567d79..f2010c0213f 100644
--- a/m4/getrandom.m4
+++ b/m4/getrandom.m4
@@ -1,4 +1,4 @@
1# getrandom.m4 serial 8 1# getrandom.m4 serial 9
2dnl Copyright 2020-2023 Free Software Foundation, Inc. 2dnl Copyright 2020-2023 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -9,7 +9,13 @@ dnl Written by Paul Eggert.
9AC_DEFUN([gl_FUNC_GETRANDOM], 9AC_DEFUN([gl_FUNC_GETRANDOM],
10[ 10[
11 AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) 11 AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS])
12 AC_CHECK_FUNCS_ONCE([getrandom]) 12 gl_CHECK_FUNCS_ANDROID([getrandom],
13 [[/* Additional includes are needed before <sys/random.h> on uClibc
14 and Mac OS X. */
15 #include <sys/types.h>
16 #include <stdlib.h>
17 #include <sys/random.h>
18 ]])
13 if test "$ac_cv_func_getrandom" != yes; then 19 if test "$ac_cv_func_getrandom" != yes; then
14 HAVE_GETRANDOM=0 20 HAVE_GETRANDOM=0
15 else 21 else
diff --git a/m4/gettime.m4 b/m4/gettime.m4
index 39067be6fa8..06f32fe26c2 100644
--- a/m4/gettime.m4
+++ b/m4/gettime.m4
@@ -1,6 +1,5 @@
1# gettime.m4 serial 12 1# gettime.m4 serial 12
2dnl Copyright (C) 2002, 2004-2006, 2009-2023 Free Software Foundation, 2dnl Copyright (C) 2002, 2004-2006, 2009-2023 Free Software Foundation, Inc.
3dnl Inc.
4dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4
index 66231e0174f..5051d61cc87 100644
--- a/m4/gettimeofday.m4
+++ b/m4/gettimeofday.m4
@@ -1,7 +1,6 @@
1# serial 29 1# serial 29
2 2
3# Copyright (C) 2001-2003, 2005, 2007, 2009-2023 Free Software 3# Copyright (C) 2001-2003, 2005, 2007, 2009-2023 Free Software Foundation, Inc.
4# Foundation, Inc.
5# This file is free software; the Free Software Foundation 4# This file is free software; the Free Software Foundation
6# gives unlimited permission to copy and/or distribute it, 5# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved. 6# with or without modifications, as long as this notice is preserved.
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index 138f498451d..26239caa2b1 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -1,4 +1,4 @@
1# gnulib-common.m4 serial 74 1# gnulib-common.m4 serial 76
2dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. 2dnl Copyright (C) 2007-2023 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -187,7 +187,14 @@ AC_DEFUN([gl_COMMON_BODY], [
187 to use this earlier definition, since <stdlib.h> may not have been included 187 to use this earlier definition, since <stdlib.h> may not have been included
188 yet. */ 188 yet. */
189#ifndef _GL_ATTRIBUTE_DEALLOC_FREE 189#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
190# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) 190# if defined __cplusplus && defined __GNUC__ && !defined __clang__
191/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
192# define _GL_ATTRIBUTE_DEALLOC_FREE \
193 _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
194# else
195# define _GL_ATTRIBUTE_DEALLOC_FREE \
196 _GL_ATTRIBUTE_DEALLOC (free, 1)
197# endif
191#endif 198#endif
192 199
193/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. 200/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
@@ -309,7 +316,7 @@ AC_DEFUN([gl_COMMON_BODY], [
309 - enumeration, enumeration item, 316 - enumeration, enumeration item,
310 - typedef, 317 - typedef,
311 in C++ also: class. */ 318 in C++ also: class. */
312/* In C++ and C2x, this is spelled [[__maybe_unused__]]. 319/* In C++ and C23, this is spelled [[__maybe_unused__]].
313 GCC's syntax is __attribute__ ((__unused__)). 320 GCC's syntax is __attribute__ ((__unused__)).
314 clang supports both syntaxes. */ 321 clang supports both syntaxes. */
315#ifdef __has_c_attribute 322#ifdef __has_c_attribute
@@ -1016,6 +1023,30 @@ AC_DEFUN([gl_CONDITIONAL_HEADER],
1016 m4_popdef([gl_header_name]) 1023 m4_popdef([gl_header_name])
1017]) 1024])
1018 1025
1026dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]])
1027dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
1028dnl on Android.
1029dnl Namely, if func was added to Android API level, say, 28, then the libc.so
1030dnl has the symbol func always, whereas the header file <foo.h> declares func
1031dnl conditionally:
1032dnl #if __ANDROID_API__ >= 28
1033dnl ... func (...) __INTRODUCED_IN(28);
1034dnl #endif
1035dnl Thus, when compiling with "clang -target armv7a-unknown-linux-android28",
1036dnl the function func is declared and exists in libc.
1037dnl Whereas when compiling with "clang -target armv7a-unknown-linux-android27",
1038dnl the function func is not declared but exists in libc. We need to treat this
1039dnl case like the case where func does not exist.
1040AC_DEFUN([gl_CHECK_FUNCS_ANDROID],
1041[
1042 AC_CHECK_DECL([$1], , , [$2])
1043 if test $ac_cv_have_decl_[$1] = yes; then
1044 AC_CHECK_FUNCS([$1])
1045 else
1046 ac_cv_func_[$1]=no
1047 fi
1048])
1049
1019dnl Expands to some code for use in .c programs that, on native Windows, defines 1050dnl Expands to some code for use in .c programs that, on native Windows, defines
1020dnl the Microsoft deprecated alias function names to the underscore-prefixed 1051dnl the Microsoft deprecated alias function names to the underscore-prefixed
1021dnl actual function names. With this macro, these function names are available 1052dnl actual function names. With this macro, these function names are available
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 6435bcd149c..ae5001c44b5 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -123,7 +123,6 @@ AC_DEFUN([gl_EARLY],
123 # Code from module intprops: 123 # Code from module intprops:
124 # Code from module inttypes-incomplete: 124 # Code from module inttypes-incomplete:
125 # Code from module largefile: 125 # Code from module largefile:
126 AC_REQUIRE([gl_YEAR2038_EARLY])
127 AC_REQUIRE([AC_SYS_LARGEFILE]) 126 AC_REQUIRE([AC_SYS_LARGEFILE])
128 # Code from module lchmod: 127 # Code from module lchmod:
129 # Code from module libc-config: 128 # Code from module libc-config:
@@ -1544,6 +1543,5 @@ AC_DEFUN([gl_FILE_LIST], [
1544 m4/warnings.m4 1543 m4/warnings.m4
1545 m4/wchar_t.m4 1544 m4/wchar_t.m4
1546 m4/wint_t.m4 1545 m4/wint_t.m4
1547 m4/year2038.m4
1548 m4/zzgnulib.m4 1546 m4/zzgnulib.m4
1549]) 1547])
diff --git a/m4/group-member.m4 b/m4/group-member.m4
index 6e860c6189d..7c56ee3de7d 100644
--- a/m4/group-member.m4
+++ b/m4/group-member.m4
@@ -1,7 +1,6 @@
1# serial 14 1# serial 14
2 2
3# Copyright (C) 1999-2001, 2003-2007, 2009-2023 Free Software 3# Copyright (C) 1999-2001, 2003-2007, 2009-2023 Free Software Foundation, Inc.
4# Foundation, Inc.
5 4
6# This file is free software; the Free Software Foundation 5# This file is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it, 6# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/largefile.m4 b/m4/largefile.m4
index bc8a2b93534..7fb81b864af 100644
--- a/m4/largefile.m4
+++ b/m4/largefile.m4
@@ -12,8 +12,7 @@
12# and ftello in C++ mode as well. 12# and ftello in C++ mode as well.
13# Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038. 13# Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038.
14AC_DEFUN([gl_SET_LARGEFILE_SOURCE], 14AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
15[ 15 m4_ifndef([AC_SYS_YEAR2038], [[
16 m4_ifndef([AC_SYS_YEAR2038], [
17 AC_REQUIRE([AC_CANONICAL_HOST]) 16 AC_REQUIRE([AC_CANONICAL_HOST])
18 AC_FUNC_FSEEKO 17 AC_FUNC_FSEEKO
19 case "$host_os" in 18 case "$host_os" in
@@ -22,11 +21,10 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
22 [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).]) 21 [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).])
23 ;; 22 ;;
24 esac 23 esac
25 ]) 24 ]])
26]) 25)
27 26
28# Work around a problem in Autoconf through 2.71 on glibc 2.34+ 27# Work around a problem in autoconf <= 2.69:
29# with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
30# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, 28# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
31# or configures them incorrectly in some cases. 29# or configures them incorrectly in some cases.
32m4_version_prereq([2.70], [], [ 30m4_version_prereq([2.70], [], [
@@ -46,34 +44,258 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
46]) 44])
47])# m4_version_prereq 2.70 45])# m4_version_prereq 2.70
48 46
47# Support AC_SYS_YEAR2038, even if Autoconf 2.71 or earlier.
48# This code is taken from Autoconf master.
49m4_ifndef([AC_SYS_YEAR2038], [ 49m4_ifndef([AC_SYS_YEAR2038], [
50 50
51# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, 51# _AC_SYS_YEAR2038_TEST_CODE
52# CACHE-VAR, 52# --------------------------
53# DESCRIPTION, 53# C code used to probe for time_t that can represent time points more
54# PROLOGUE, [FUNCTION-BODY]) 54# than 2**31 - 1 seconds after the epoch. With the usual Unix epoch,
55# -------------------------------------------------------- 55# these correspond to dates after 2038-01-18 22:14:07 +0000 (Gregorian),
56m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], 56# hence the name.
57[AC_CACHE_CHECK([for $1 value needed for large files], [$3], 57AC_DEFUN([_AC_SYS_YEAR2038_TEST_CODE],
58[while :; do 58[[
59 m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( 59 #include <time.h>
60 [AC_LANG_PROGRAM([$5], [$6])], 60 /* Check that time_t can represent 2**32 - 1 correctly. */
61 [$3=no; break]) 61 #define LARGE_TIME_T \\
62 m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( 62 ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
63 [AC_LANG_PROGRAM([#undef $1 63 int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
64#define $1 $2 64 && LARGE_TIME_T % 65537 == 0)
65$5], [$6])], 65 ? 1 : -1];
66 [$3=$2; break]) 66]])
67 $3=unknown 67
68 break 68# _AC_SYS_YEAR2038_OPTIONS
69done]) 69# ------------------------
70case $$3 in #( 70# List of known ways to enable support for large time_t. If you change
71 no | unknown) ;; 71# this list you probably also need to change the AS_CASE at the end of
72 *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);; 72# _AC_SYS_YEAR2038_PROBE.
73esac 73m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
74rm -rf conftest*[]dnl 74 ["none needed"] dnl 64-bit and newer 32-bit Unix
75])# _AC_SYS_LARGEFILE_MACRO_VALUE 75 ["-D_TIME_BITS=64"] dnl glibc 2.34 with some 32-bit ABIs
76 ["-D__MINGW_USE_VC2005_COMPAT"] dnl 32-bit MinGW
77 ["-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"]
78 dnl 32-bit MinGW (misconfiguration)
79))
80
81# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED])
82# -----------------------------------------
83# Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent
84# time points more than 2**31 - 1 seconds after the epoch (dates after
85# 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
86# to one of the values in the _AC_SYS_YEAR2038_OPTIONS list, or to
87# "support not detected" if none of them worked. Then, set compilation
88# options and #defines as necessary to enable large time_t support.
89#
90# Note that we do not test whether mktime, localtime, etc. handle
91# large values of time_t correctly, as that would require use of
92# AC_TRY_RUN. Note also that some systems only support large time_t
93# together with large off_t.
94#
95# If support is not detected, the behavior depends on which of the
96# top-level AC_SYS_YEAR2038 macros was used (see below).
97#
98# If you change this macro you may also need to change
99# _AC_SYS_YEAR2038_OPTIONS.
100AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
101[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038],
102 [ac_cv_sys_year2038_opts],
103 [ac_save_CPPFLAGS="$CPPFLAGS"
104 ac_opt_found=no
105 for ac_opt in _AC_SYS_YEAR2038_OPTIONS; do
106 AS_IF([test x"$ac_opt" != x"none needed"],
107 [CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"])
108 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_YEAR2038_TEST_CODE])],
109 [ac_cv_sys_year2038_opts="$ac_opt"
110 ac_opt_found=yes])
111 test $ac_opt_found = no || break
112 done
113 CPPFLAGS="$ac_save_CPPFLAGS"
114 test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected"])
115
116ac_have_year2038=yes
117AS_CASE([$ac_cv_sys_year2038_opts],
118 ["none needed"], [],
119 ["support not detected"],
120 [ac_have_year2038=no
121 AS_CASE([$enable_year2038],
122 [yes],
123 [# If we're not cross compiling and 'touch' works with a large
124 # timestamp, then we can presume the system supports wider time_t
125 # *somehow* and we just weren't able to detect it. One common
126 # case that we deliberately *don't* probe for is a system that
127 # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
128 # wide time_t. (It would be inappropriate for us to override an
129 # intentional use of -m32.) Error out, demanding use of
130 # --disable-year2038 if this is intentional.
131 AS_IF([test $cross_compiling = no],
132 [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
133 [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
134 [*'Feb 7 2106'* | *'Feb 7 17:10'*],
135 [AC_MSG_FAILURE(m4_text_wrap(
136 [this system appears to support timestamps after January 2038,
137 but no mechanism for enabling wide 'time_t' was detected.
138 Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.)
139 To proceed with 32-bit time_t, configure with '--disable-year2038'.],
140 [], [], [55]))])])])])],
141
142 ["-D_TIME_BITS=64"],
143 [AC_DEFINE([_TIME_BITS], [64],
144 [Number of bits in time_t, on hosts where this is settable.])],
145
146 ["-D__MINGW_USE_VC2005_COMPAT=1"],
147 [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
148 [Define to 1 on platforms where this makes time_t a 64-bit type.])],
149
150 ["-U_USE_32_BIT_TIME_T"*],
151 [AC_MSG_FAILURE(m4_text_wrap(
152 [the 'time_t' type is currently forced to be 32-bit.
153 It will stop working after January 2038.
154 Remove _USE_32BIT_TIME_T from the compiler flags.],
155 [], [], [55]))],
156
157 [AC_MSG_ERROR(
158 [internal error: bad value for \$ac_cv_sys_year2038_opts])])
159])
160
161# _AC_SYS_YEAR2038_ENABLE
162# -----------------------
163# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN.
164# Depending on which of the YEAR2038 macros was used, add either an
165# --enable-year2038, or a --disable-year2038, or no option at all to
166# the configure script. Note that this is expanded very late and
167# therefore there cannot be any code in the AC_ARG_ENABLE. The
168# default value for enable_year2038 is emitted unconditionally
169# because the generated code always looks at this variable.
170m4_define([_AC_SYS_YEAR2038_ENABLE],
171[m4_divert_text([DEFAULTS],
172 m4_provide_if([AC_SYS_YEAR2038],
173 [enable_year2038=yes],
174 [enable_year2038=no]))]dnl
175[AC_ARG_ENABLE([year2038],
176 m4_provide_if([AC_SYS_YEAR2038],
177 [AS_HELP_STRING([--disable-year2038],
178 [do not support timestamps after 2038])],
179 [AS_HELP_STRING([--enable-year2038],
180 [support timestamps after 2038])]))])
181
182# _AC_SYS_YEAR2038_OPT_IN
183# -----------------------
184# If the --enable-year2038 option is given to configure, attempt to
185# detect and activate support for large time_t on 32-bit systems.
186# This macro is automatically invoked by AC_SYS_LARGEFILE when large
187# *file* support is detected. It does not AC_REQUIRE AC_SYS_LARGEFILE
188# to avoid a dependency loop, and is therefore unsafe to expose as a
189# documented macro.
190AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
191[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
192 AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
193 AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
194])])
195
196# AC_SYS_YEAR2038
197# ---------------
198# Attempt to detect and activate support for large time_t.
199# On systems where time_t is not always 64 bits, this probe can be
200# skipped by passing the --disable-year2038 option to configure.
201AC_DEFUN([AC_SYS_YEAR2038],
202[AC_REQUIRE([AC_SYS_LARGEFILE])]dnl
203[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
204 AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
205 AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
206])])
207
208# _AC_SYS_LARGEFILE_TEST_CODE
209# ---------------------------
210# C code used to probe for large file support.
211m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
212[@%:@include <sys/types.h>
213 /* Check that off_t can represent 2**63 - 1 correctly.
214 We can't simply define LARGE_OFF_T to be 9223372036854775807,
215 since some C++ compilers masquerading as C compilers
216 incorrectly reject 9223372036854775807. */
217@%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
218 int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
219 && LARGE_OFF_T % 2147483647 == 1)
220 ? 1 : -1]];[]dnl
221])
222
223# _AC_SYS_LARGEFILE_OPTIONS
224# -------------------------
225# List of known ways to enable support for large files. If you change
226# this list you probably also need to change the AS_CASE at the end of
227# _AC_SYS_LARGEFILE_PROBE.
228m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize(
229 ["none needed"] dnl Most current systems
230 ["-D_FILE_OFFSET_BITS=64"] dnl X/Open LFS spec
231 ["-D_LARGE_FILES=1"] dnl AIX (which versions?)
232 ["-n32"] dnl Irix 6.2 w/ SGI compiler
233))
234
235# _AC_SYS_LARGEFILE_PROBE
236# -----------------------
237# Subroutine of AC_SYS_LARGEFILE. Probe for large file support and set
238# the cache variable ac_cv_sys_largefile_opts to one of the values in
239# the _AC_SYS_LARGEFILE_OPTIONS list, or to "support not detected" if
240# none of the options in that list worked. Then, set compilation
241# options and #defines as necessary to enable large file support.
242#
243# If large file support is not detected, the behavior depends on which of
244# the top-level AC_SYS_LARGEFILE macros was used (see below).
245#
246# If you change this macro you may also need to change
247# _AC_SYS_LARGEFILE_OPTIONS.
248AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
249[AC_CACHE_CHECK([for $CC option to enable large file support],
250 [ac_cv_sys_largefile_opts],
251 [ac_save_CC="$CC"
252 ac_opt_found=no
253 for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do
254 AS_IF([test x"$ac_opt" != x"none needed"],
255 [CC="$ac_save_CC $ac_opt"])
256 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])],
257 [ac_cv_sys_largefile_opts="$ac_opt"
258 ac_opt_found=yes])
259 test $ac_opt_found = no || break
260 done
261 CC="$ac_save_CC"
262 test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
263
264ac_have_largefile=yes
265AS_CASE([$ac_cv_sys_largefile_opts],
266 ["none needed"], [],
267 ["support not detected"],
268 [ac_have_largefile=no],
269
270 ["-D_FILE_OFFSET_BITS=64"],
271 [AC_DEFINE([_FILE_OFFSET_BITS], [64],
272 [Number of bits in a file offset, on hosts where this is settable.])],
273
274 ["-D_LARGE_FILES=1"],
275 [AC_DEFINE([_LARGE_FILES], [1],
276 [Define to 1 on platforms where this makes off_t a 64-bit type.])],
277
278 ["-n32"],
279 [CC="$CC -n32"],
280
281 [AC_MSG_ERROR(
282 [internal error: bad value for \$ac_cv_sys_largefile_opts])])
283
284_AC_SYS_YEAR2038_OPT_IN
285])
76 286
287# _AC_SYS_LARGEFILE_ENABLE
288# ------------------------
289# Subroutine of AC_SYS_LARGEFILE. Note that this
290# is expanded very late and therefore there cannot be any code in the
291# AC_ARG_ENABLE. The default value for enable_largefile is emitted
292# unconditionally because the generated shell code always looks at
293# this variable.
294m4_define([_AC_SYS_LARGEFILE_ENABLE],
295[m4_divert_text([DEFAULTS],
296 enable_largefile=yes)]dnl
297[AC_ARG_ENABLE([largefile],
298 [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])
77 299
78# AC_SYS_LARGEFILE 300# AC_SYS_LARGEFILE
79# ---------------- 301# ----------------
@@ -84,44 +306,13 @@ rm -rf conftest*[]dnl
84# Additionally, on Linux file systems with 64-bit inodes a file that happens 306# Additionally, on Linux file systems with 64-bit inodes a file that happens
85# to have a 64-bit inode number cannot be accessed by 32-bit applications on 307# to have a 64-bit inode number cannot be accessed by 32-bit applications on
86# Linux x86/x86_64. This can occur with file systems such as XFS and NFS. 308# Linux x86/x86_64. This can occur with file systems such as XFS and NFS.
309# This macro allows configuration to continue if the system doesn't support
310# large files.
87AC_DEFUN([AC_SYS_LARGEFILE], 311AC_DEFUN([AC_SYS_LARGEFILE],
88[AC_ARG_ENABLE(largefile, 312[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
89 [ --disable-largefile omit support for large files]) 313 AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE])
90AS_IF([test "$enable_largefile" != no], 314 AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
91 [AC_CACHE_CHECK([for special C compiler options needed for large files], 315])])
92 ac_cv_sys_largefile_CC,
93 [ac_cv_sys_largefile_CC=no
94 if test "$GCC" != yes; then
95 ac_save_CC=$CC
96 while :; do
97 # IRIX 6.2 and later do not support large files by default,
98 # so use the C compiler's -n32 option if that helps.
99 AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
100 AC_COMPILE_IFELSE([], [break])
101 CC="$CC -n32"
102 AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
103 break
104 done
105 CC=$ac_save_CC
106 rm -f conftest.$ac_ext
107 fi])
108 if test "$ac_cv_sys_largefile_CC" != no; then
109 CC=$CC$ac_cv_sys_largefile_CC
110 fi
111
112 _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
113 ac_cv_sys_file_offset_bits,
114 [Number of bits in a file offset, on hosts where this is settable.],
115 [_AC_SYS_LARGEFILE_TEST_INCLUDES])
116 AS_CASE([$ac_cv_sys_file_offset_bits],
117 [unknown],
118 [_AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1],
119 [ac_cv_sys_large_files],
120 [Define for large files, on AIX-style hosts.],
121 [_AC_SYS_LARGEFILE_TEST_INCLUDES])],
122 [64],
123 [gl_YEAR2038_BODY([])])])
124])# AC_SYS_LARGEFILE
125])# m4_ifndef AC_SYS_YEAR2038 316])# m4_ifndef AC_SYS_YEAR2038
126 317
127# Enable large files on systems where this is implemented by Gnulib, not by the 318# Enable large files on systems where this is implemented by Gnulib, not by the
diff --git a/m4/mempcpy.m4 b/m4/mempcpy.m4
index 3ac8a305bde..55bee2ab7a2 100644
--- a/m4/mempcpy.m4
+++ b/m4/mempcpy.m4
@@ -1,6 +1,6 @@
1# mempcpy.m4 serial 12 1# mempcpy.m4 serial 12
2dnl Copyright (C) 2003-2004, 2006-2007, 2009-2023 Free Software 2dnl Copyright (C) 2003-2004, 2006-2007, 2009-2023 Free Software Foundation,
3dnl Foundation, Inc. 3dnl Inc.
4dnl This file is free software; the Free Software Foundation 4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 6dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/memrchr.m4 b/m4/memrchr.m4
index ed750b7bdf1..7611ac7e3ac 100644
--- a/m4/memrchr.m4
+++ b/m4/memrchr.m4
@@ -1,6 +1,6 @@
1# memrchr.m4 serial 11 1# memrchr.m4 serial 11
2dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software 2dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software Foundation,
3dnl Foundation, Inc. 3dnl Inc.
4dnl This file is free software; the Free Software Foundation 4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 6dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/memset_explicit.m4 b/m4/memset_explicit.m4
index 3d4dcb30955..9dcd89a758a 100644
--- a/m4/memset_explicit.m4
+++ b/m4/memset_explicit.m4
@@ -1,4 +1,4 @@
1dnl Copyright 2022 Free Software Foundation, Inc. 1dnl Copyright 2022-2023 Free Software Foundation, Inc.
2dnl This file is free software; the Free Software Foundation 2dnl This file is free software; the Free Software Foundation
3dnl gives unlimited permission to copy and/or distribute it, 3dnl gives unlimited permission to copy and/or distribute it,
4dnl with or without modifications, as long as this notice is preserved. 4dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/mktime.m4 b/m4/mktime.m4
index 604dd766f5d..e9d31f35a46 100644
--- a/m4/mktime.m4
+++ b/m4/mktime.m4
@@ -1,6 +1,6 @@
1# serial 37 1# serial 37
2dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software 2dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software Foundation,
3dnl Foundation, Inc. 3dnl Inc.
4dnl This file is free software; the Free Software Foundation 4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 6dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/nstrftime.m4 b/m4/nstrftime.m4
index 45b89f752a5..04c0b63fbd0 100644
--- a/m4/nstrftime.m4
+++ b/m4/nstrftime.m4
@@ -1,7 +1,6 @@
1# serial 37 1# serial 37
2 2
3# Copyright (C) 1996-1997, 1999-2007, 2009-2023 Free Software 3# Copyright (C) 1996-1997, 1999-2007, 2009-2023 Free Software Foundation, Inc.
4# Foundation, Inc.
5# 4#
6# This file is free software; the Free Software Foundation 5# This file is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it, 6# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/pathmax.m4 b/m4/pathmax.m4
index 5b7fa4242bc..6d47d2c026e 100644
--- a/m4/pathmax.m4
+++ b/m4/pathmax.m4
@@ -1,6 +1,6 @@
1# pathmax.m4 serial 11 1# pathmax.m4 serial 11
2dnl Copyright (C) 2002-2003, 2005-2006, 2009-2023 Free Software 2dnl Copyright (C) 2002-2003, 2005-2006, 2009-2023 Free Software Foundation,
3dnl Foundation, Inc. 3dnl Inc.
4dnl This file is free software; the Free Software Foundation 4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 6dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/sig2str.m4 b/m4/sig2str.m4
index 7aad94a9616..aee18efeefd 100644
--- a/m4/sig2str.m4
+++ b/m4/sig2str.m4
@@ -1,6 +1,5 @@
1# serial 7 1# serial 7
2dnl Copyright (C) 2002, 2005-2006, 2009-2023 Free Software Foundation, 2dnl Copyright (C) 2002, 2005-2006, 2009-2023 Free Software Foundation, Inc.
3dnl Inc.
4dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/ssize_t.m4 b/m4/ssize_t.m4
index 1b45e9557cc..1c12c33ea09 100644
--- a/m4/ssize_t.m4
+++ b/m4/ssize_t.m4
@@ -1,6 +1,5 @@
1# ssize_t.m4 serial 5 (gettext-0.18.2) 1# ssize_t.m4 serial 5 (gettext-0.18.2)
2dnl Copyright (C) 2001-2003, 2006, 2010-2023 Free Software Foundation, 2dnl Copyright (C) 2001-2003, 2006, 2010-2023 Free Software Foundation, Inc.
3dnl Inc.
4dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/stat-time.m4 b/m4/stat-time.m4
index 5b6b8101098..40993d5731c 100644
--- a/m4/stat-time.m4
+++ b/m4/stat-time.m4
@@ -1,7 +1,7 @@
1# Checks for stat-related time functions. 1# Checks for stat-related time functions.
2 2
3# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2023 Free 3# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2023 Free Software
4# Software Foundation, Inc. 4# Foundation, Inc.
5 5
6# This file is free software; the Free Software Foundation 6# This file is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it, 7# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
index 94271e11e78..07569961f8b 100644
--- a/m4/stdio_h.m4
+++ b/m4/stdio_h.m4
@@ -1,4 +1,4 @@
1# stdio_h.m4 serial 59 1# stdio_h.m4 serial 61
2dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. 2dnl Copyright (C) 2007-2023 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -82,6 +82,16 @@ AC_DEFUN_ONCE([gl_STDIO_H],
82 if test $ac_cv_have_decl_fcloseall = no; then 82 if test $ac_cv_have_decl_fcloseall = no; then
83 HAVE_DECL_FCLOSEALL=0 83 HAVE_DECL_FCLOSEALL=0
84 fi 84 fi
85
86 AC_CHECK_DECLS_ONCE([getw])
87 if test $ac_cv_have_decl_getw = no; then
88 HAVE_DECL_GETW=0
89 fi
90
91 AC_CHECK_DECLS_ONCE([putw])
92 if test $ac_cv_have_decl_putw = no; then
93 HAVE_DECL_PUTW=0
94 fi
85]) 95])
86 96
87# gl_STDIO_MODULE_INDICATOR([modulename]) 97# gl_STDIO_MODULE_INDICATOR([modulename])
@@ -178,7 +188,9 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
178 HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) 188 HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO])
179 HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) 189 HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM])
180 HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) 190 HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE])
191 HAVE_DECL_GETW=1; AC_SUBST([HAVE_DECL_GETW])
181 HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) 192 HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
193 HAVE_DECL_PUTW=1; AC_SUBST([HAVE_DECL_PUTW])
182 HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) 194 HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF])
183 HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) 195 HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF])
184 HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) 196 HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF])
diff --git a/m4/strnlen.m4 b/m4/strnlen.m4
index 60e8d81bf3b..d2cac59b6f2 100644
--- a/m4/strnlen.m4
+++ b/m4/strnlen.m4
@@ -1,6 +1,6 @@
1# strnlen.m4 serial 14 1# strnlen.m4 serial 14
2dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software 2dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software Foundation,
3dnl Foundation, Inc. 3dnl Inc.
4dnl This file is free software; the Free Software Foundation 4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 6dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/strtoimax.m4 b/m4/strtoimax.m4
index 1c6ddd386a5..db5cfb7aa9d 100644
--- a/m4/strtoimax.m4
+++ b/m4/strtoimax.m4
@@ -1,6 +1,5 @@
1# strtoimax.m4 serial 16 1# strtoimax.m4 serial 16
2dnl Copyright (C) 2002-2004, 2006, 2009-2023 Free Software Foundation, 2dnl Copyright (C) 2002-2004, 2006, 2009-2023 Free Software Foundation, Inc.
3dnl Inc.
4dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/strtoll.m4 b/m4/strtoll.m4
index 1e042175b18..ede630c6061 100644
--- a/m4/strtoll.m4
+++ b/m4/strtoll.m4
@@ -1,6 +1,5 @@
1# strtoll.m4 serial 9 1# strtoll.m4 serial 9
2dnl Copyright (C) 2002, 2004, 2006, 2008-2023 Free Software Foundation, 2dnl Copyright (C) 2002, 2004, 2006, 2008-2023 Free Software Foundation, Inc.
3dnl Inc.
4dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/time_h.m4 b/m4/time_h.m4
index fd4a469d192..f6bf3a4f30e 100644
--- a/m4/time_h.m4
+++ b/m4/time_h.m4
@@ -1,7 +1,6 @@
1# Configure a more-standard replacement for <time.h>. 1# Configure a more-standard replacement for <time.h>.
2 2
3# Copyright (C) 2000-2001, 2003-2007, 2009-2023 Free Software 3# Copyright (C) 2000-2001, 2003-2007, 2009-2023 Free Software Foundation, Inc.
4# Foundation, Inc.
5 4
6# serial 20 5# serial 20
7 6
diff --git a/m4/timespec.m4 b/m4/timespec.m4
index 354530319fe..95f475f2cc5 100644
--- a/m4/timespec.m4
+++ b/m4/timespec.m4
@@ -1,7 +1,6 @@
1#serial 15 1#serial 15
2 2
3# Copyright (C) 2000-2001, 2003-2007, 2009-2023 Free Software 3# Copyright (C) 2000-2001, 2003-2007, 2009-2023 Free Software Foundation, Inc.
4# Foundation, Inc.
5 4
6# This file is free software; the Free Software Foundation 5# This file is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it, 6# gives unlimited permission to copy and/or distribute it,