diff options
| author | Paul Eggert | 2023-03-10 16:51:41 -0800 |
|---|---|---|
| committer | Paul Eggert | 2023-03-10 16:53:07 -0800 |
| commit | c6bfffa9fe1af7f4f806e5533ba5f3c33476cf9a (patch) | |
| tree | 444e6a5ada6a746274541ac6cda6b1cc2795a442 | |
| parent | d236ab09300070696f21ebfda49678b11c2327eb (diff) | |
| download | emacs-c6bfffa9fe1af7f4f806e5533ba5f3c33476cf9a.tar.gz emacs-c6bfffa9fe1af7f4f806e5533ba5f3c33476cf9a.zip | |
Update from Gnulib by running admin/merge-gnulib
Run admin/merge-gnulib along with the following change:
* admin/merge-gnulib (GNULIB_MODULES): Replace ‘time’ with
‘time-h’, adjusting to a recent renaming in Gnulib modules.
Emacs doesn’t appear to need the new Gnulib ‘time’ module.
| -rwxr-xr-x | admin/merge-gnulib | 2 | ||||
| -rw-r--r-- | doc/misc/texinfo.tex | 232 | ||||
| -rw-r--r-- | lib/gnulib.mk.in | 12 | ||||
| -rw-r--r-- | lib/stdio.in.h | 11 | ||||
| -rw-r--r-- | lib/time.in.h | 14 | ||||
| -rw-r--r-- | m4/gnulib-comp.m4 | 2 | ||||
| -rw-r--r-- | m4/time_h.m4 | 4 |
7 files changed, 198 insertions, 79 deletions
diff --git a/admin/merge-gnulib b/admin/merge-gnulib index 04e3e34b9f9..917ddda1fd5 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib | |||
| @@ -46,7 +46,7 @@ GNULIB_MODULES=' | |||
| 46 | qcopy-acl readlink readlinkat regex | 46 | qcopy-acl readlink readlinkat regex |
| 47 | sig2str sigdescr_np socklen stat-time std-gnu11 stdbool stddef stdio | 47 | sig2str sigdescr_np socklen stat-time std-gnu11 stdbool stddef stdio |
| 48 | stpcpy strnlen strtoimax symlink sys_stat sys_time | 48 | stpcpy strnlen strtoimax symlink sys_stat sys_time |
| 49 | tempname time time_r time_rz timegm timer-time timespec-add timespec-sub | 49 | tempname time-h time_r time_rz timegm timer-time timespec-add timespec-sub |
| 50 | update-copyright unlocked-io utimensat | 50 | update-copyright unlocked-io utimensat |
| 51 | vla warnings | 51 | vla warnings |
| 52 | ' | 52 | ' |
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 3cccf01d958..1ddfef4b878 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex | |||
| @@ -3,7 +3,7 @@ | |||
| 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{2023-01-02.21} | 6 | \def\texinfoversion{2023-03-04.12} |
| 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 | % |
| @@ -2683,25 +2683,21 @@ end | |||
| 2683 | } | 2683 | } |
| 2684 | \setregularquotes | 2684 | \setregularquotes |
| 2685 | 2685 | ||
| 2686 | % Allow an option to not use regular directed right quote/apostrophe | 2686 | % output for ' in @code |
| 2687 | % (char 0x27), but instead the undirected quote from cmtt (char 0x0d). | 2687 | % in tt font hex 0D (undirected) or 27 (curly right quote) |
| 2688 | % The undirected quote is ugly, so don't make it the default, but it | ||
| 2689 | % works for pasting with more pdf viewers (at least evince), the | ||
| 2690 | % lilypond developers report. xpdf does work with the regular 0x27. | ||
| 2691 | % | 2688 | % |
| 2692 | \def\codequoteright{% | 2689 | \def\codequoteright{% |
| 2693 | \ifusingtt | 2690 | \ifusingtt |
| 2694 | {\ifflagclear{txicodequoteundirected}% | 2691 | {\ifflagclear{txicodequoteundirected}% |
| 2695 | {\ifflagclear{codequoteundirected}% | 2692 | {\ifflagclear{codequoteundirected}% |
| 2696 | {'}% | 2693 | {'}% |
| 2697 | {\char'15 }}% | 2694 | {\char"0D }}% |
| 2698 | {\char'15 }}% | 2695 | {\char"0D }}% |
| 2699 | {'}% | 2696 | {'}% |
| 2700 | } | 2697 | } |
| 2701 | 2698 | ||
| 2702 | % and a similar option for the left quote char vs. a grave accent. | 2699 | % output for ` in @code |
| 2703 | % Modern fonts display ASCII 0x60 as a grave accent, so some people like | 2700 | % in tt font hex 12 (grave accent) or 60 (curly left quote) |
| 2704 | % the code environments to do likewise. | ||
| 2705 | % \relax disables Spanish ligatures ?` and !` of \tt font. | 2701 | % \relax disables Spanish ligatures ?` and !` of \tt font. |
| 2706 | % | 2702 | % |
| 2707 | \def\codequoteleft{% | 2703 | \def\codequoteleft{% |
| @@ -2709,8 +2705,8 @@ end | |||
| 2709 | {\ifflagclear{txicodequotebacktick}% | 2705 | {\ifflagclear{txicodequotebacktick}% |
| 2710 | {\ifflagclear{codequotebacktick}% | 2706 | {\ifflagclear{codequotebacktick}% |
| 2711 | {\relax`}% | 2707 | {\relax`}% |
| 2712 | {\char'22 }}% | 2708 | {\char"12 }}% |
| 2713 | {\char'22 }}% | 2709 | {\char"12 }}% |
| 2714 | {\relax`}% | 2710 | {\relax`}% |
| 2715 | } | 2711 | } |
| 2716 | 2712 | ||
| @@ -2729,7 +2725,7 @@ end | |||
| 2729 | \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}% | 2725 | \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}% |
| 2730 | \fi\fi | 2726 | \fi\fi |
| 2731 | } | 2727 | } |
| 2732 | % | 2728 | |
| 2733 | \parseargdef\codequotebacktick{% | 2729 | \parseargdef\codequotebacktick{% |
| 2734 | \def\temp{#1}% | 2730 | \def\temp{#1}% |
| 2735 | \ifx\temp\onword | 2731 | \ifx\temp\onword |
| @@ -2744,6 +2740,11 @@ end | |||
| 2744 | \fi\fi | 2740 | \fi\fi |
| 2745 | } | 2741 | } |
| 2746 | 2742 | ||
| 2743 | % Turn them on by default | ||
| 2744 | \let\SETtxicodequoteundirected = t | ||
| 2745 | \let\SETtxicodequotebacktick = t | ||
| 2746 | |||
| 2747 | |||
| 2747 | % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. | 2748 | % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. |
| 2748 | \def\noligaturesquoteleft{\relax\lq} | 2749 | \def\noligaturesquoteleft{\relax\lq} |
| 2749 | 2750 | ||
| @@ -2929,10 +2930,6 @@ end | |||
| 2929 | \let-\dashnobreak | 2930 | \let-\dashnobreak |
| 2930 | \let_\realunder | 2931 | \let_\realunder |
| 2931 | \fi | 2932 | \fi |
| 2932 | % Given -foo (with a single dash), we do not want to allow a break | ||
| 2933 | % after the hyphen. | ||
| 2934 | \global\let\codedashprev=\codedash | ||
| 2935 | % | ||
| 2936 | \codex | 2933 | \codex |
| 2937 | } | 2934 | } |
| 2938 | % | 2935 | % |
| @@ -2942,21 +2939,30 @@ end | |||
| 2942 | % | 2939 | % |
| 2943 | % Now, output a discretionary to allow a line break, unless | 2940 | % Now, output a discretionary to allow a line break, unless |
| 2944 | % (a) the next character is a -, or | 2941 | % (a) the next character is a -, or |
| 2945 | % (b) the preceding character is a -. | 2942 | % (b) the preceding character is a -, or |
| 2943 | % (c) we are at the start of the string. | ||
| 2944 | % In both cases (b) and (c), \codedashnobreak should be set to \codedash. | ||
| 2945 | % | ||
| 2946 | % E.g., given --posix, we do not want to allow a break after either -. | 2946 | % E.g., given --posix, we do not want to allow a break after either -. |
| 2947 | % Given --foo-bar, we do want to allow a break between the - and the b. | 2947 | % Given --foo-bar, we do want to allow a break between the - and the b. |
| 2948 | \ifx\next\codedash \else | 2948 | \ifx\next\codedash \else |
| 2949 | \ifx\codedashprev\codedash | 2949 | \ifx\codedashnobreak\codedash |
| 2950 | \else \discretionary{}{}{}\fi | 2950 | \else \discretionary{}{}{}\fi |
| 2951 | \fi | 2951 | \fi |
| 2952 | % we need the space after the = for the case when \next itself is a | 2952 | % we need the space after the = for the case when \next itself is a |
| 2953 | % space token; it would get swallowed otherwise. As in @code{- a}. | 2953 | % space token; it would get swallowed otherwise. As in @code{- a}. |
| 2954 | \global\let\codedashprev= \next | 2954 | \global\let\codedashnobreak= \next |
| 2955 | } | 2955 | } |
| 2956 | } | 2956 | } |
| 2957 | \def\normaldash{-} | 2957 | \def\normaldash{-} |
| 2958 | % | 2958 | % |
| 2959 | \def\codex #1{\tclose{#1}\endgroup} | 2959 | \def\codex #1{\tclose{% |
| 2960 | % Given -foo (with a single dash), we do not want to allow a break | ||
| 2961 | % after the -. \codedashnobreak is set to the first character in | ||
| 2962 | % @code. | ||
| 2963 | \futurelet\codedashnobreak\relax | ||
| 2964 | #1% | ||
| 2965 | }\endgroup} | ||
| 2960 | 2966 | ||
| 2961 | \def\codeunder{% | 2967 | \def\codeunder{% |
| 2962 | % this is all so @math{@code{var_name}+1} can work. In math mode, _ | 2968 | % this is all so @math{@code{var_name}+1} can work. In math mode, _ |
| @@ -3950,33 +3956,23 @@ $$% | |||
| 3950 | 3956 | ||
| 3951 | \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting | 3957 | \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting |
| 3952 | 3958 | ||
| 3953 | % When we turn headings on, set the page number to 1. | 3959 | % Set the page number to 1. |
| 3954 | \def\pageone{ | 3960 | \def\pageone{ |
| 3955 | \global\pageno=1 | 3961 | \global\pageno=1 |
| 3956 | \global\arabiccount = \pagecount | 3962 | \global\arabiccount = \pagecount |
| 3957 | } | 3963 | } |
| 3958 | 3964 | ||
| 3959 | % For double-sided printing, put current file name in lower left corner, | ||
| 3960 | % chapter name on inside top of right hand pages, document | ||
| 3961 | % title on inside top of left hand pages, and page numbers on outside top | ||
| 3962 | % edge of all pages. | ||
| 3963 | \def\HEADINGSdouble{% | ||
| 3964 | \pageone | ||
| 3965 | \HEADINGSdoublex | ||
| 3966 | } | ||
| 3967 | \let\contentsalignmacro = \chappager | 3965 | \let\contentsalignmacro = \chappager |
| 3968 | 3966 | ||
| 3969 | % For single-sided printing, chapter title goes across top left of page, | ||
| 3970 | % page number on top right. | ||
| 3971 | \def\HEADINGSsingle{% | ||
| 3972 | \pageone | ||
| 3973 | \HEADINGSsinglex | ||
| 3974 | } | ||
| 3975 | % \def\HEADINGSon{\HEADINGSdouble} % defined by \CHAPPAGon | 3967 | % \def\HEADINGSon{\HEADINGSdouble} % defined by \CHAPPAGon |
| 3976 | 3968 | ||
| 3977 | \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} | 3969 | % For double-sided printing, put current file name in lower left corner, |
| 3970 | % chapter name on inside top of right hand pages, document | ||
| 3971 | % title on inside top of left hand pages, and page numbers on outside top | ||
| 3972 | % edge of all pages. | ||
| 3973 | \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdouble} | ||
| 3978 | \let\HEADINGSdoubleafter=\HEADINGSafter | 3974 | \let\HEADINGSdoubleafter=\HEADINGSafter |
| 3979 | \def\HEADINGSdoublex{% | 3975 | \def\HEADINGSdouble{% |
| 3980 | \global\evenfootline={\hfil} | 3976 | \global\evenfootline={\hfil} |
| 3981 | \global\oddfootline={\hfil} | 3977 | \global\oddfootline={\hfil} |
| 3982 | \global\evenheadline={\line{\folio\hfil\thistitle}} | 3978 | \global\evenheadline={\line{\folio\hfil\thistitle}} |
| @@ -3986,8 +3982,10 @@ $$% | |||
| 3986 | \global\let\contentsalignmacro = \chapoddpage | 3982 | \global\let\contentsalignmacro = \chapoddpage |
| 3987 | } | 3983 | } |
| 3988 | 3984 | ||
| 3989 | \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} | 3985 | % For single-sided printing, chapter title goes across top left of page, |
| 3990 | \def\HEADINGSsinglex{% | 3986 | % page number on top right. |
| 3987 | \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsingle} | ||
| 3988 | \def\HEADINGSsingle{% | ||
| 3991 | \global\evenfootline={\hfil} | 3989 | \global\evenfootline={\hfil} |
| 3992 | \global\oddfootline={\hfil} | 3990 | \global\oddfootline={\hfil} |
| 3993 | \global\evenheadline={\line{\thischapter\hfil\folio}} | 3991 | \global\evenheadline={\line{\thischapter\hfil\folio}} |
| @@ -3999,7 +3997,6 @@ $$% | |||
| 3999 | 3997 | ||
| 4000 | % for @setchapternewpage off | 3998 | % for @setchapternewpage off |
| 4001 | \def\HEADINGSsinglechapoff{% | 3999 | \def\HEADINGSsinglechapoff{% |
| 4002 | \pageone | ||
| 4003 | \global\evenfootline={\hfil} | 4000 | \global\evenfootline={\hfil} |
| 4004 | \global\oddfootline={\hfil} | 4001 | \global\oddfootline={\hfil} |
| 4005 | \global\evenheadline={\line{\thischapter\hfil\folio}} | 4002 | \global\evenheadline={\line{\thischapter\hfil\folio}} |
| @@ -4105,6 +4102,7 @@ $$% | |||
| 4105 | \nobreak\kern\dimen0 | 4102 | \nobreak\kern\dimen0 |
| 4106 | \endgroup | 4103 | \endgroup |
| 4107 | \itemxneedsnegativevskiptrue | 4104 | \itemxneedsnegativevskiptrue |
| 4105 | \penalty 10021 % for \indexpar | ||
| 4108 | \fi | 4106 | \fi |
| 4109 | } | 4107 | } |
| 4110 | 4108 | ||
| @@ -4221,6 +4219,7 @@ $$% | |||
| 4221 | % We can be in inner vertical mode in a footnote, although an | 4219 | % We can be in inner vertical mode in a footnote, although an |
| 4222 | % @itemize looks awful there. | 4220 | % @itemize looks awful there. |
| 4223 | }% | 4221 | }% |
| 4222 | \penalty 10021 % for \indexpar | ||
| 4224 | \flushcr | 4223 | \flushcr |
| 4225 | } | 4224 | } |
| 4226 | 4225 | ||
| @@ -4725,13 +4724,11 @@ $$% | |||
| 4725 | % except not \outer, so it can be used within macros and \if's. | 4724 | % except not \outer, so it can be used within macros and \if's. |
| 4726 | \edef\newwrite{\makecsname{ptexnewwrite}} | 4725 | \edef\newwrite{\makecsname{ptexnewwrite}} |
| 4727 | 4726 | ||
| 4728 | % \newindex {foo} defines an index named IX. | 4727 | % \newindex {IX} defines an index named IX. |
| 4729 | % It automatically defines \IXindex such that | 4728 | % It automatically defines \IXindex such that |
| 4730 | % \IXindex ...rest of line... puts an entry in the index IX. | 4729 | % \IXindex ...rest of line... puts an entry in the index IX. |
| 4731 | % It also defines \IXindfile to be the number of the output channel for | 4730 | % It also defines \IXindfile to be the number of the output channel for |
| 4732 | % the file that accumulates this index. The file's extension is IX. | 4731 | % the file that accumulates this index. The file's extension is IX. |
| 4733 | % The name of an index should be no more than 2 characters long | ||
| 4734 | % for the sake of vms. | ||
| 4735 | % | 4732 | % |
| 4736 | \def\newindex#1{% | 4733 | \def\newindex#1{% |
| 4737 | \expandafter\chardef\csname#1indfile\endcsname=0 | 4734 | \expandafter\chardef\csname#1indfile\endcsname=0 |
| @@ -4787,11 +4784,17 @@ $$% | |||
| 4787 | % and it is the two-letter name of the index. | 4784 | % and it is the two-letter name of the index. |
| 4788 | 4785 | ||
| 4789 | \def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx} | 4786 | \def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx} |
| 4790 | \def\doindexxxx #1{\doind{\indexname}{#1}} | 4787 | \def\doindexxxx #1{\indexpar\doind{\indexname}{#1}} |
| 4791 | 4788 | ||
| 4792 | % like the previous two, but they put @code around the argument. | 4789 | % like the previous two, but they put @code around the argument. |
| 4793 | \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} | 4790 | \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} |
| 4794 | \def\docodeindexxxx #1{\docind{\indexname}{#1}} | 4791 | \def\docodeindexxxx #1{\indexpar\docind{\indexname}{#1}} |
| 4792 | |||
| 4793 | % End any open paragraph, unless we are immediately after @item in | ||
| 4794 | % @itemize or @enumerate. | ||
| 4795 | \def\indexpar{% | ||
| 4796 | \ifnum\lastpenalty=10021 \else\endgraf\fi | ||
| 4797 | } | ||
| 4795 | 4798 | ||
| 4796 | 4799 | ||
| 4797 | % \definedummyword defines \#1 as \string\#1\space, thus effectively | 4800 | % \definedummyword defines \#1 as \string\#1\space, thus effectively |
| @@ -4989,7 +4992,7 @@ $$% | |||
| 4989 | \commondummyword\ampchar {\normalamp}% | 4992 | \commondummyword\ampchar {\normalamp}% |
| 4990 | \commondummyword\atchar {\@}% | 4993 | \commondummyword\atchar {\@}% |
| 4991 | \commondummyword\arrow {->}% | 4994 | \commondummyword\arrow {->}% |
| 4992 | \commondummyword\backslashchar {}% | 4995 | \commondummyword\backslashchar {\realbackslash}% |
| 4993 | \commondummyword\bullet {bullet}% | 4996 | \commondummyword\bullet {bullet}% |
| 4994 | \commondummyword\comma {,}% | 4997 | \commondummyword\comma {,}% |
| 4995 | \commondummyword\copyright {copyright}% | 4998 | \commondummyword\copyright {copyright}% |
| @@ -5089,9 +5092,6 @@ $$% | |||
| 5089 | % | 5092 | % |
| 5090 | % We need to get rid of all macros, leaving only the arguments (if present). | 5093 | % We need to get rid of all macros, leaving only the arguments (if present). |
| 5091 | % Of course this is not nearly correct, but it is the best we can do for now. | 5094 | % Of course this is not nearly correct, but it is the best we can do for now. |
| 5092 | % makeinfo does not expand macros in the argument to @deffn, which ends up | ||
| 5093 | % writing an index entry, and texindex isn't prepared for an index sort entry | ||
| 5094 | % that starts with \. | ||
| 5095 | % | 5095 | % |
| 5096 | % Since macro invocations are followed by braces, we can just redefine them | 5096 | % Since macro invocations are followed by braces, we can just redefine them |
| 5097 | % 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 |
| @@ -5351,7 +5351,9 @@ $$% | |||
| 5351 | % ..., ready, GO: | 5351 | % ..., ready, GO: |
| 5352 | % | 5352 | % |
| 5353 | \def\safewhatsit#1{\ifhmode | 5353 | \def\safewhatsit#1{\ifhmode |
| 5354 | \whatsitpenalty = \lastpenalty | ||
| 5354 | #1% | 5355 | #1% |
| 5356 | \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi | ||
| 5355 | \else | 5357 | \else |
| 5356 | % \lastskip and \lastpenalty cannot both be nonzero simultaneously. | 5358 | % \lastskip and \lastpenalty cannot both be nonzero simultaneously. |
| 5357 | \whatsitskip = \lastskip | 5359 | \whatsitskip = \lastskip |
| @@ -7387,6 +7389,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7387 | \def\setupverb{% | 7389 | \def\setupverb{% |
| 7388 | \tt | 7390 | \tt |
| 7389 | \def\par{\leavevmode\endgraf}% | 7391 | \def\par{\leavevmode\endgraf}% |
| 7392 | \parindent = 0pt | ||
| 7390 | \setcodequotes | 7393 | \setcodequotes |
| 7391 | \tabeightspaces | 7394 | \tabeightspaces |
| 7392 | % Respect line breaks, | 7395 | % Respect line breaks, |
| @@ -7562,11 +7565,6 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7562 | \exdentamount=\defbodyindent | 7565 | \exdentamount=\defbodyindent |
| 7563 | } | 7566 | } |
| 7564 | 7567 | ||
| 7565 | \newtoks\defidx | ||
| 7566 | \newtoks\deftext | ||
| 7567 | |||
| 7568 | \def\useindex#1{\defidx={#1}\ignorespaces} | ||
| 7569 | |||
| 7570 | % Called as \printdefunline \deffooheader{text} | 7568 | % Called as \printdefunline \deffooheader{text} |
| 7571 | % | 7569 | % |
| 7572 | \def\printdefunline#1#2{% | 7570 | \def\printdefunline#1#2{% |
| @@ -7574,10 +7572,6 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7574 | \plainfrenchspacing | 7572 | \plainfrenchspacing |
| 7575 | % call \deffooheader: | 7573 | % call \deffooheader: |
| 7576 | #1#2 \endheader | 7574 | #1#2 \endheader |
| 7577 | % create the index entry | ||
| 7578 | \defcharsdefault | ||
| 7579 | \edef\temp{\noexpand\doind{\the\defidx}{\the\deftext}}% | ||
| 7580 | \temp | ||
| 7581 | % common ending: | 7575 | % common ending: |
| 7582 | \interlinepenalty = 10000 | 7576 | \interlinepenalty = 10000 |
| 7583 | \advance\rightskip by 0pt plus 1fil\relax | 7577 | \advance\rightskip by 0pt plus 1fil\relax |
| @@ -7592,6 +7586,24 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7592 | 7586 | ||
| 7593 | \def\Edefun{\endgraf\medbreak} | 7587 | \def\Edefun{\endgraf\medbreak} |
| 7594 | 7588 | ||
| 7589 | % @defblock, @defline do not automatically create index entries | ||
| 7590 | \envdef\defblock{% | ||
| 7591 | \startdefun | ||
| 7592 | } | ||
| 7593 | \let\Edefblock\Edefun | ||
| 7594 | |||
| 7595 | \def\defline{% | ||
| 7596 | \doingtypefnfalse | ||
| 7597 | \parseargusing\activeparens{\printdefunline\deflineheader}% | ||
| 7598 | } | ||
| 7599 | \def\deflineheader#1 #2 #3\endheader{% | ||
| 7600 | \defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}% | ||
| 7601 | } | ||
| 7602 | \def\deftypeline{% | ||
| 7603 | \doingtypefntrue | ||
| 7604 | \parseargusing\activeparens{\printdefunline\deflineheader}% | ||
| 7605 | } | ||
| 7606 | |||
| 7595 | % \makedefun{deffoo} (\deffooheader parameters) { (\deffooheader expansion) } | 7607 | % \makedefun{deffoo} (\deffooheader parameters) { (\deffooheader expansion) } |
| 7596 | % | 7608 | % |
| 7597 | % Define \deffoo, \deffoox \Edeffoo and \deffooheader. | 7609 | % Define \deffoo, \deffoox \Edeffoo and \deffooheader. |
| @@ -7643,23 +7655,18 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7643 | \fi\fi | 7655 | \fi\fi |
| 7644 | } | 7656 | } |
| 7645 | 7657 | ||
| 7646 | \def\defind#1#2{ | ||
| 7647 | \defidx={#1}% | ||
| 7648 | \deftext={#2}% | ||
| 7649 | } | ||
| 7650 | |||
| 7651 | % Untyped functions: | 7658 | % Untyped functions: |
| 7652 | 7659 | ||
| 7653 | % @deffn category name args | 7660 | % @deffn category name args |
| 7654 | \makedefun{deffn}#1 #2 #3\endheader{% | 7661 | \makedefun{deffn}#1 #2 #3\endheader{% |
| 7655 | \defind{fn}{\code{#2}}% | 7662 | \doind{fn}{\code{#2}}% |
| 7656 | \defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}% | 7663 | \defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}% |
| 7657 | } | 7664 | } |
| 7658 | 7665 | ||
| 7659 | % @defop category class name args | 7666 | % @defop category class name args |
| 7660 | \makedefun{defop}#1 {\defopheaderx{#1\ \putwordon}} | 7667 | \makedefun{defop}#1 {\defopheaderx{#1\ \putwordon}} |
| 7661 | \def\defopheaderx#1#2 #3 #4\endheader{% | 7668 | \def\defopheaderx#1#2 #3 #4\endheader{% |
| 7662 | \defind{fn}{\code{#3}\space\putwordon\ \code{#2}}% | 7669 | \doind{fn}{\code{#3}\space\putwordon\ \code{#2}}% |
| 7663 | \defname{#1\ \code{#2}}{}{#3}\magicamp\defunargs{#4\unskip}% | 7670 | \defname{#1\ \code{#2}}{}{#3}\magicamp\defunargs{#4\unskip}% |
| 7664 | } | 7671 | } |
| 7665 | 7672 | ||
| @@ -7667,7 +7674,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7667 | 7674 | ||
| 7668 | % @deftypefn category type name args | 7675 | % @deftypefn category type name args |
| 7669 | \makedefun{deftypefn}#1 #2 #3 #4\endheader{% | 7676 | \makedefun{deftypefn}#1 #2 #3 #4\endheader{% |
| 7670 | \defind{fn}{\code{#3}}% | 7677 | \doind{fn}{\code{#3}}% |
| 7671 | \doingtypefntrue | 7678 | \doingtypefntrue |
| 7672 | \defname{#1}{#2}{#3}\defunargs{#4\unskip}% | 7679 | \defname{#1}{#2}{#3}\defunargs{#4\unskip}% |
| 7673 | } | 7680 | } |
| @@ -7675,7 +7682,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7675 | % @deftypeop category class type name args | 7682 | % @deftypeop category class type name args |
| 7676 | \makedefun{deftypeop}#1 {\deftypeopheaderx{#1\ \putwordon}} | 7683 | \makedefun{deftypeop}#1 {\deftypeopheaderx{#1\ \putwordon}} |
| 7677 | \def\deftypeopheaderx#1#2 #3 #4 #5\endheader{% | 7684 | \def\deftypeopheaderx#1#2 #3 #4 #5\endheader{% |
| 7678 | \defind{fn}{\code{#4}\space\putwordon\ \code{#1\ \code{#2}}}% | 7685 | \doind{fn}{\code{#4}\space\putwordon\ \code{#1\ \code{#2}}}% |
| 7679 | \doingtypefntrue | 7686 | \doingtypefntrue |
| 7680 | \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}% | 7687 | \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}% |
| 7681 | } | 7688 | } |
| @@ -7684,14 +7691,14 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7684 | 7691 | ||
| 7685 | % @deftypevr category type var args | 7692 | % @deftypevr category type var args |
| 7686 | \makedefun{deftypevr}#1 #2 #3 #4\endheader{% | 7693 | \makedefun{deftypevr}#1 #2 #3 #4\endheader{% |
| 7687 | \defind{vr}{\code{#3}}% | 7694 | \doind{vr}{\code{#3}}% |
| 7688 | \defname{#1}{#2}{#3}\defunargs{#4\unskip}% | 7695 | \defname{#1}{#2}{#3}\defunargs{#4\unskip}% |
| 7689 | } | 7696 | } |
| 7690 | 7697 | ||
| 7691 | % @deftypecv category class type var args | 7698 | % @deftypecv category class type var args |
| 7692 | \makedefun{deftypecv}#1 {\deftypecvheaderx{#1\ \putwordof}} | 7699 | \makedefun{deftypecv}#1 {\deftypecvheaderx{#1\ \putwordof}} |
| 7693 | \def\deftypecvheaderx#1#2 #3 #4 #5\endheader{% | 7700 | \def\deftypecvheaderx#1#2 #3 #4 #5\endheader{% |
| 7694 | \defind{vr}{\code{#4}\space\putwordof\ \code{#2}}% | 7701 | \doind{vr}{\code{#4}\space\putwordof\ \code{#2}}% |
| 7695 | \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}% | 7702 | \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}% |
| 7696 | } | 7703 | } |
| 7697 | 7704 | ||
| @@ -7708,7 +7715,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7708 | 7715 | ||
| 7709 | % @deftp category name args | 7716 | % @deftp category name args |
| 7710 | \makedefun{deftp}#1 #2 #3\endheader{% | 7717 | \makedefun{deftp}#1 #2 #3\endheader{% |
| 7711 | \defind{tp}{\code{#2}}% | 7718 | \doind{tp}{\code{#2}}% |
| 7712 | \defname{#1}{}{#2}\defunargs{#3\unskip}% | 7719 | \defname{#1}{}{#2}\defunargs{#3\unskip}% |
| 7713 | } | 7720 | } |
| 7714 | 7721 | ||
| @@ -8580,6 +8587,87 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8580 | \fi \macnamexxx} | 8587 | \fi \macnamexxx} |
| 8581 | 8588 | ||
| 8582 | 8589 | ||
| 8590 | % @linemacro | ||
| 8591 | |||
| 8592 | \parseargdef\linemacro{% | ||
| 8593 | \linegetargs#1 \linegetargs | ||
| 8594 | \expandafter\linegetparamlist\argl;% | ||
| 8595 | \begingroup \macrobodyctxt \usembodybackslash | ||
| 8596 | \parselinemacrobody | ||
| 8597 | } | ||
| 8598 | |||
| 8599 | % Parse the arguments to a @linemacro line. Set \macname to the name | ||
| 8600 | % of the macro and \argl to the list of arguments. | ||
| 8601 | \def\linegetargs#1 #2\linegetargs{% | ||
| 8602 | \macname={#1}% | ||
| 8603 | \def\argl{#2}% | ||
| 8604 | } | ||
| 8605 | |||
| 8606 | % Build up \paramlist which will be used as the parameter text for the macro. | ||
| 8607 | % At the end it will be like "#1 #2 #3\endlinemacro". | ||
| 8608 | \def\linegetparamlist#1;{% | ||
| 8609 | \paramno=0\def\paramlist{}% | ||
| 8610 | \let\hash\relax \let\xeatspaces\relax | ||
| 8611 | \linegetparamlistxxx#1; % | ||
| 8612 | } | ||
| 8613 | \def\linegetparamlistxxx#1 {% | ||
| 8614 | \if#1;\let\next=\linegetparamlistxxxx | ||
| 8615 | \else \let\next=\linegetparamlistxxx | ||
| 8616 | \advance\paramno by 1 | ||
| 8617 | \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname | ||
| 8618 | {\noexpand\xeatspaces{\hash\the\paramno}}% | ||
| 8619 | \edef\paramlist{\paramlist\hash\the\paramno\space}% | ||
| 8620 | \fi\next} | ||
| 8621 | \def\linegetparamlistxxxx{% | ||
| 8622 | \ifx\paramlist\empty | ||
| 8623 | \def\paramlist{\hash 1\endlinemacro}% | ||
| 8624 | \else | ||
| 8625 | \expandafter\fixparamlist\paramlist\fixparamlist | ||
| 8626 | \fi | ||
| 8627 | } | ||
| 8628 | % Replace final space token | ||
| 8629 | \def\fixparamlist#1 \fixparamlist{% | ||
| 8630 | \def\paramlist{#1\endlinemacro}% | ||
| 8631 | } | ||
| 8632 | |||
| 8633 | % Read the body of the macro, replacing backslash-surrounded variables | ||
| 8634 | % | ||
| 8635 | {\catcode`\ =\other\long\gdef\parselinemacrobody#1@end linemacro{% | ||
| 8636 | \let\xeatspaces\relax | ||
| 8637 | \xdef\macrobody{#1}% | ||
| 8638 | \endgroup | ||
| 8639 | \linemacrodef | ||
| 8640 | }} | ||
| 8641 | |||
| 8642 | % Make the definition | ||
| 8643 | \def\linemacrodef{% | ||
| 8644 | \let\hash=##% | ||
| 8645 | \let\xeatspaces\relax | ||
| 8646 | \expandafter\xdef\csname\the\macname\endcsname{% | ||
| 8647 | \bgroup | ||
| 8648 | \noexpand\scanctxt | ||
| 8649 | \noexpand\parsearg | ||
| 8650 | \expandafter\noexpand\csname\the\macname @@\endcsname | ||
| 8651 | } | ||
| 8652 | \expandafter\xdef\csname\the\macname @@\endcsname##1{% | ||
| 8653 | \egroup | ||
| 8654 | \expandafter\noexpand | ||
| 8655 | \csname\the\macname @@@\endcsname##1 \noexpand\endlinemacro | ||
| 8656 | % Note that we append a space to the macro line to terminate the last | ||
| 8657 | % argument in case the final argument is empty. @xeatspaces may be needed | ||
| 8658 | % to remove this space. | ||
| 8659 | } | ||
| 8660 | \expandafter\expandafter | ||
| 8661 | \expandafter\xdef | ||
| 8662 | \expandafter\expandafter\csname\the\macname @@@\endcsname\paramlist{% | ||
| 8663 | \newlinechar=13 % split \macrobody into lines | ||
| 8664 | \let\noexpand\xeatspaces\noexpand\eatspaces | ||
| 8665 | \noexpand\scantokens{\macrobody}% | ||
| 8666 | } | ||
| 8667 | } | ||
| 8668 | |||
| 8669 | |||
| 8670 | |||
| 8583 | % @alias. | 8671 | % @alias. |
| 8584 | % We need some trickery to remove the optional spaces around the equal | 8672 | % We need some trickery to remove the optional spaces around the equal |
| 8585 | % sign. Make them active and then expand them all to nothing. | 8673 | % sign. Make them active and then expand them all to nothing. |
diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in index 53a821b141e..47d08a5e27f 100644 --- a/lib/gnulib.mk.in +++ b/lib/gnulib.mk.in | |||
| @@ -156,7 +156,7 @@ | |||
| 156 | # sys_stat \ | 156 | # sys_stat \ |
| 157 | # sys_time \ | 157 | # sys_time \ |
| 158 | # tempname \ | 158 | # tempname \ |
| 159 | # time \ | 159 | # time-h \ |
| 160 | # time_r \ | 160 | # time_r \ |
| 161 | # time_rz \ | 161 | # time_rz \ |
| 162 | # timegm \ | 162 | # timegm \ |
| @@ -595,6 +595,7 @@ GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ | |||
| 595 | GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ | 595 | GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ |
| 596 | GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ | 596 | GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ |
| 597 | GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ | 597 | GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ |
| 598 | GL_GNULIB_TIME = @GL_GNULIB_TIME@ | ||
| 598 | GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ | 599 | GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ |
| 599 | GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ | 600 | GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ |
| 600 | GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ | 601 | GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ |
| @@ -1209,6 +1210,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ | |||
| 1209 | REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ | 1210 | REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ |
| 1210 | REPLACE_SYMLINK = @REPLACE_SYMLINK@ | 1211 | REPLACE_SYMLINK = @REPLACE_SYMLINK@ |
| 1211 | REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ | 1212 | REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ |
| 1213 | REPLACE_TIME = @REPLACE_TIME@ | ||
| 1212 | REPLACE_TIMEGM = @REPLACE_TIMEGM@ | 1214 | REPLACE_TIMEGM = @REPLACE_TIMEGM@ |
| 1213 | REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@ | 1215 | REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@ |
| 1214 | REPLACE_TMPFILE = @REPLACE_TMPFILE@ | 1216 | REPLACE_TMPFILE = @REPLACE_TMPFILE@ |
| @@ -3723,8 +3725,8 @@ EXTRA_DIST += tempname.h | |||
| 3723 | endif | 3725 | endif |
| 3724 | ## end gnulib module tempname | 3726 | ## end gnulib module tempname |
| 3725 | 3727 | ||
| 3726 | ## begin gnulib module time | 3728 | ## begin gnulib module time-h |
| 3727 | ifeq (,$(OMIT_GNULIB_MODULE_time)) | 3729 | ifeq (,$(OMIT_GNULIB_MODULE_time-h)) |
| 3728 | 3730 | ||
| 3729 | BUILT_SOURCES += time.h | 3731 | BUILT_SOURCES += time.h |
| 3730 | 3732 | ||
| @@ -3743,6 +3745,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( | |||
| 3743 | -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ | 3745 | -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ |
| 3744 | -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ | 3746 | -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ |
| 3745 | -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ | 3747 | -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ |
| 3748 | -e 's/@''GNULIB_TIME''@/$(GL_GNULIB_TIME)/g' \ | ||
| 3746 | -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ | 3749 | -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ |
| 3747 | -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ | 3750 | -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ |
| 3748 | -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \ | 3751 | -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \ |
| @@ -3764,6 +3767,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( | |||
| 3764 | -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ | 3767 | -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ |
| 3765 | -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ | 3768 | -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ |
| 3766 | -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \ | 3769 | -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \ |
| 3770 | -e 's|@''REPLACE_TIME''@|$(REPLACE_TIME)|g' \ | ||
| 3767 | -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ | 3771 | -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ |
| 3768 | -e 's|@''REPLACE_TIMESPEC_GET''@|$(REPLACE_TIMESPEC_GET)|g' \ | 3772 | -e 's|@''REPLACE_TIMESPEC_GET''@|$(REPLACE_TIMESPEC_GET)|g' \ |
| 3769 | -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \ | 3773 | -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \ |
| @@ -3782,7 +3786,7 @@ MOSTLYCLEANFILES += time.h time.h-t | |||
| 3782 | EXTRA_DIST += time.in.h | 3786 | EXTRA_DIST += time.in.h |
| 3783 | 3787 | ||
| 3784 | endif | 3788 | endif |
| 3785 | ## end gnulib module time | 3789 | ## end gnulib module time-h |
| 3786 | 3790 | ||
| 3787 | ## begin gnulib module time_r | 3791 | ## begin gnulib module time_r |
| 3788 | ifeq (,$(OMIT_GNULIB_MODULE_time_r)) | 3792 | ifeq (,$(OMIT_GNULIB_MODULE_time_r)) |
diff --git a/lib/stdio.in.h b/lib/stdio.in.h index 3f8ea985335..098f841738c 100644 --- a/lib/stdio.in.h +++ b/lib/stdio.in.h | |||
| @@ -36,6 +36,12 @@ | |||
| 36 | 36 | ||
| 37 | #ifndef _@GUARD_PREFIX@_STDIO_H | 37 | #ifndef _@GUARD_PREFIX@_STDIO_H |
| 38 | 38 | ||
| 39 | /* Suppress macOS deprecation warnings for sprintf and vsprintf. */ | ||
| 40 | #if (defined __APPLE__ && defined __MACH__) && !defined _POSIX_C_SOURCE | ||
| 41 | # define _POSIX_C_SOURCE 200809L | ||
| 42 | # define _GL_DEFINED__POSIX_C_SOURCE | ||
| 43 | #endif | ||
| 44 | |||
| 39 | #define _GL_ALREADY_INCLUDING_STDIO_H | 45 | #define _GL_ALREADY_INCLUDING_STDIO_H |
| 40 | 46 | ||
| 41 | /* The include_next requires a split double-inclusion guard. */ | 47 | /* The include_next requires a split double-inclusion guard. */ |
| @@ -43,6 +49,11 @@ | |||
| 43 | 49 | ||
| 44 | #undef _GL_ALREADY_INCLUDING_STDIO_H | 50 | #undef _GL_ALREADY_INCLUDING_STDIO_H |
| 45 | 51 | ||
| 52 | #ifdef _GL_DEFINED__POSIX_C_SOURCE | ||
| 53 | # undef _GL_DEFINED__POSIX_C_SOURCE | ||
| 54 | # undef _POSIX_C_SOURCE | ||
| 55 | #endif | ||
| 56 | |||
| 46 | #ifndef _@GUARD_PREFIX@_STDIO_H | 57 | #ifndef _@GUARD_PREFIX@_STDIO_H |
| 47 | #define _@GUARD_PREFIX@_STDIO_H | 58 | #define _@GUARD_PREFIX@_STDIO_H |
| 48 | 59 | ||
diff --git a/lib/time.in.h b/lib/time.in.h index 87cda21413b..3f9af920e34 100644 --- a/lib/time.in.h +++ b/lib/time.in.h | |||
| @@ -143,6 +143,20 @@ _GL_CXXALIAS_SYS (timespec_getres, int, (struct timespec *ts, int base)); | |||
| 143 | _GL_CXXALIASWARN (timespec_getres); | 143 | _GL_CXXALIASWARN (timespec_getres); |
| 144 | # endif | 144 | # endif |
| 145 | 145 | ||
| 146 | /* Return the number of seconds that have elapsed since the Epoch. */ | ||
| 147 | # if @GNULIB_TIME@ | ||
| 148 | # if @REPLACE_TIME@ | ||
| 149 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
| 150 | # define time rpl_time | ||
| 151 | # endif | ||
| 152 | _GL_FUNCDECL_RPL (time, time_t, (time_t *__tp)); | ||
| 153 | _GL_CXXALIAS_RPL (time, time_t, (time_t *__tp)); | ||
| 154 | # else | ||
| 155 | _GL_CXXALIAS_SYS (time, time_t, (time_t *__tp)); | ||
| 156 | # endif | ||
| 157 | _GL_CXXALIASWARN (time); | ||
| 158 | # endif | ||
| 159 | |||
| 146 | /* Sleep for at least RQTP seconds unless interrupted, If interrupted, | 160 | /* Sleep for at least RQTP seconds unless interrupted, If interrupted, |
| 147 | return -1 and store the remaining time into RMTP. See | 161 | return -1 and store the remaining time into RMTP. See |
| 148 | <https://pubs.opengroup.org/onlinepubs/9699919799/functions/nanosleep.html>. */ | 162 | <https://pubs.opengroup.org/onlinepubs/9699919799/functions/nanosleep.html>. */ |
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 0658652a99e..1bd16a779eb 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 | |||
| @@ -189,7 +189,7 @@ AC_DEFUN([gl_EARLY], | |||
| 189 | # Code from module sys_time: | 189 | # Code from module sys_time: |
| 190 | # Code from module sys_types: | 190 | # Code from module sys_types: |
| 191 | # Code from module tempname: | 191 | # Code from module tempname: |
| 192 | # Code from module time: | 192 | # Code from module time-h: |
| 193 | # Code from module time_r: | 193 | # Code from module time_r: |
| 194 | # Code from module time_rz: | 194 | # Code from module time_rz: |
| 195 | # Code from module timegm: | 195 | # Code from module timegm: |
diff --git a/m4/time_h.m4 b/m4/time_h.m4 index b74870c3d0e..51d553a2f1a 100644 --- a/m4/time_h.m4 +++ b/m4/time_h.m4 | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | # Copyright (C) 2000-2001, 2003-2007, 2009-2023 Free Software Foundation, Inc. | 3 | # Copyright (C) 2000-2001, 2003-2007, 2009-2023 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | # serial 21 | 5 | # serial 22 |
| 6 | 6 | ||
| 7 | # This file is free software; the Free Software Foundation | 7 | # This file is free software; the Free Software Foundation |
| 8 | # gives unlimited permission to copy and/or distribute it, | 8 | # gives unlimited permission to copy and/or distribute it, |
| @@ -137,6 +137,7 @@ AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS], | |||
| 137 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) | 137 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) |
| 138 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) | 138 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) |
| 139 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) | 139 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) |
| 140 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME]) | ||
| 140 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) | 141 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) |
| 141 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) | 142 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) |
| 142 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES]) | 143 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES]) |
| @@ -169,6 +170,7 @@ AC_DEFUN([gl_TIME_H_DEFAULTS], | |||
| 169 | REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME]) | 170 | REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME]) |
| 170 | REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) | 171 | REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) |
| 171 | REPLACE_STRFTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRFTIME]) | 172 | REPLACE_STRFTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRFTIME]) |
| 173 | REPLACE_TIME=0; AC_SUBST([REPLACE_TIME]) | ||
| 172 | REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) | 174 | REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) |
| 173 | REPLACE_TIMESPEC_GET=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMESPEC_GET]) | 175 | REPLACE_TIMESPEC_GET=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMESPEC_GET]) |
| 174 | REPLACE_TZSET=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TZSET]) | 176 | REPLACE_TZSET=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TZSET]) |