diff options
| author | Paul Eggert | 2023-01-06 17:53:54 -0800 |
|---|---|---|
| committer | Paul Eggert | 2023-01-06 18:05:57 -0800 |
| commit | 9e98ff562b4b8f2dae92bd4c64d15934c7d5877f (patch) | |
| tree | f37ce6d03a710f541fbbe72b9533a05d1a63103f | |
| parent | 2f05f48918ecf6e59b330709b09a36f81f7b6c48 (diff) | |
| download | emacs-9e98ff562b4b8f2dae92bd4c64d15934c7d5877f.tar.gz emacs-9e98ff562b4b8f2dae92bd4c64d15934c7d5877f.zip | |
Update from Gnulib by running admin/merge-gnulib
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@ | |||
| 240 | ERRNO_H = @ERRNO_H@ | 240 | ERRNO_H = @ERRNO_H@ |
| 241 | EXECINFO_H = @EXECINFO_H@ | 241 | EXECINFO_H = @EXECINFO_H@ |
| 242 | EXEEXT = @EXEEXT@ | 242 | EXEEXT = @EXEEXT@ |
| 243 | FILE_HAS_ACL_LIB = @FILE_HAS_ACL_LIB@ | ||
| 243 | FIND_DELETE = @FIND_DELETE@ | 244 | FIND_DELETE = @FIND_DELETE@ |
| 244 | FIRSTFILE_OBJ = @FIRSTFILE_OBJ@ | 245 | FIRSTFILE_OBJ = @FIRSTFILE_OBJ@ |
| 245 | FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ | 246 | FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ |
| @@ -675,6 +676,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ | |||
| 675 | HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ | 676 | HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ |
| 676 | HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ | 677 | HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ |
| 677 | HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ | 678 | HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ |
| 679 | HAVE_DECL_GETW = @HAVE_DECL_GETW@ | ||
| 678 | HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ | 680 | HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ |
| 679 | HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ | 681 | HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ |
| 680 | HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ | 682 | HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ |
| @@ -683,6 +685,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ | |||
| 683 | HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ | 685 | HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ |
| 684 | HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ | 686 | HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ |
| 685 | HAVE_DECL_POSIX_SPAWN_SETSID = @HAVE_DECL_POSIX_SPAWN_SETSID@ | 687 | HAVE_DECL_POSIX_SPAWN_SETSID = @HAVE_DECL_POSIX_SPAWN_SETSID@ |
| 688 | HAVE_DECL_PUTW = @HAVE_DECL_PUTW@ | ||
| 686 | HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ | 689 | HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ |
| 687 | HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ | 690 | HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ |
| 688 | HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ | 691 | HAVE_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 |
| @@ -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 |
| @@ -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 |
| @@ -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 |
| 2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2023 Free Software | 2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2023 Free Software Foundation, |
| 3 | dnl Foundation, Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl 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 | |||
| 5 | dnl Check whether struct dirent has a member named d_type. | 5 | dnl Check whether struct dirent has a member named d_type. |
| 6 | dnl | 6 | dnl |
| 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 |
| 2 | dnl Copyright (C) 2002, 2005, 2007, 2009-2023 Free Software Foundation, | 2 | dnl Copyright (C) 2002, 2005, 2007, 2009-2023 Free Software Foundation, Inc. |
| 3 | dnl Inc. | ||
| 4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl 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 | ||
| 34 | m4_version_prereq([2.70.1], [], [ | 34 | m4_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 |
| 2 | dnl Copyright (C) 2002, 2005-2006, 2009-2023 Free Software Foundation, | 2 | dnl Copyright (C) 2002, 2005-2006, 2009-2023 Free Software Foundation, Inc. |
| 3 | dnl Inc. | ||
| 4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl 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 @@ | |||
| 3 | dnl From Jim Meyering. | 3 | dnl From Jim Meyering. |
| 4 | dnl A wrapper around AC_FUNC_GETGROUPS. | 4 | dnl 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 |
| 2 | dnl Copyright 2020-2023 Free Software Foundation, Inc. | 2 | dnl Copyright 2020-2023 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| @@ -9,7 +9,13 @@ dnl Written by Paul Eggert. | |||
| 9 | AC_DEFUN([gl_FUNC_GETRANDOM], | 9 | AC_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 |
| 2 | dnl Copyright (C) 2002, 2004-2006, 2009-2023 Free Software Foundation, | 2 | dnl Copyright (C) 2002, 2004-2006, 2009-2023 Free Software Foundation, Inc. |
| 3 | dnl Inc. | ||
| 4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl 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 |
| 2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl 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 | ||
| 1026 | dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]]) | ||
| 1027 | dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem | ||
| 1028 | dnl on Android. | ||
| 1029 | dnl Namely, if func was added to Android API level, say, 28, then the libc.so | ||
| 1030 | dnl has the symbol func always, whereas the header file <foo.h> declares func | ||
| 1031 | dnl conditionally: | ||
| 1032 | dnl #if __ANDROID_API__ >= 28 | ||
| 1033 | dnl ... func (...) __INTRODUCED_IN(28); | ||
| 1034 | dnl #endif | ||
| 1035 | dnl Thus, when compiling with "clang -target armv7a-unknown-linux-android28", | ||
| 1036 | dnl the function func is declared and exists in libc. | ||
| 1037 | dnl Whereas when compiling with "clang -target armv7a-unknown-linux-android27", | ||
| 1038 | dnl the function func is not declared but exists in libc. We need to treat this | ||
| 1039 | dnl case like the case where func does not exist. | ||
| 1040 | AC_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 | |||
| 1019 | dnl Expands to some code for use in .c programs that, on native Windows, defines | 1050 | dnl Expands to some code for use in .c programs that, on native Windows, defines |
| 1020 | dnl the Microsoft deprecated alias function names to the underscore-prefixed | 1051 | dnl the Microsoft deprecated alias function names to the underscore-prefixed |
| 1021 | dnl actual function names. With this macro, these function names are available | 1052 | dnl 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. |
| 14 | AC_DEFUN([gl_SET_LARGEFILE_SOURCE], | 14 | AC_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. |
| 32 | m4_version_prereq([2.70], [], [ | 30 | m4_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. | ||
| 49 | m4_ifndef([AC_SYS_YEAR2038], [ | 49 | m4_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), |
| 56 | m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], | 56 | # hence the name. |
| 57 | [AC_CACHE_CHECK([for $1 value needed for large files], [$3], | 57 | AC_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 |
| 69 | done]) | 69 | # ------------------------ |
| 70 | case $$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. |
| 73 | esac | 73 | m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize( |
| 74 | rm -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. | ||
| 100 | AC_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 | |||
| 116 | ac_have_year2038=yes | ||
| 117 | AS_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. | ||
| 170 | m4_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. | ||
| 190 | AC_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. | ||
| 201 | AC_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. | ||
| 211 | m4_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. | ||
| 228 | m4_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. | ||
| 248 | AC_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 | |||
| 264 | ac_have_largefile=yes | ||
| 265 | AS_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. | ||
| 294 | m4_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. | ||
| 87 | AC_DEFUN([AC_SYS_LARGEFILE], | 311 | AC_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]) |
| 90 | AS_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 |
| 2 | dnl Copyright (C) 2003-2004, 2006-2007, 2009-2023 Free Software | 2 | dnl Copyright (C) 2003-2004, 2006-2007, 2009-2023 Free Software Foundation, |
| 3 | dnl Foundation, Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl 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 |
| 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software Foundation, |
| 3 | dnl Foundation, Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl 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 @@ | |||
| 1 | dnl Copyright 2022 Free Software Foundation, Inc. | 1 | dnl Copyright 2022-2023 Free Software Foundation, Inc. |
| 2 | dnl This file is free software; the Free Software Foundation | 2 | dnl This file is free software; the Free Software Foundation |
| 3 | dnl gives unlimited permission to copy and/or distribute it, | 3 | dnl gives unlimited permission to copy and/or distribute it, |
| 4 | dnl with or without modifications, as long as this notice is preserved. | 4 | dnl 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 |
| 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software Foundation, |
| 3 | dnl Foundation, Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl 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 |
| 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2023 Free Software | 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2023 Free Software Foundation, |
| 3 | dnl Foundation, Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl 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 |
| 2 | dnl Copyright (C) 2002, 2005-2006, 2009-2023 Free Software Foundation, | 2 | dnl Copyright (C) 2002, 2005-2006, 2009-2023 Free Software Foundation, Inc. |
| 3 | dnl Inc. | ||
| 4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl 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) |
| 2 | dnl Copyright (C) 2001-2003, 2006, 2010-2023 Free Software Foundation, | 2 | dnl Copyright (C) 2001-2003, 2006, 2010-2023 Free Software Foundation, Inc. |
| 3 | dnl Inc. | ||
| 4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl 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 |
| 2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl 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 |
| 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software Foundation, |
| 3 | dnl Foundation, Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl 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 |
| 2 | dnl Copyright (C) 2002-2004, 2006, 2009-2023 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2004, 2006, 2009-2023 Free Software Foundation, Inc. |
| 3 | dnl Inc. | ||
| 4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl 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 |
| 2 | dnl Copyright (C) 2002, 2004, 2006, 2008-2023 Free Software Foundation, | 2 | dnl Copyright (C) 2002, 2004, 2006, 2008-2023 Free Software Foundation, Inc. |
| 3 | dnl Inc. | ||
| 4 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl 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, |