diff options
| author | Paul Eggert | 2023-07-09 13:05:01 -0700 |
|---|---|---|
| committer | Paul Eggert | 2023-07-09 13:45:13 -0700 |
| commit | c3cfada3c075991d7a38fafbdcf5daba06794d7a (patch) | |
| tree | 651fdeb7a99e6d26936bf119abc37c1f45f260b3 | |
| parent | 9c282faf26eb517532508d466270b7b97d436c70 (diff) | |
| download | emacs-c3cfada3c075991d7a38fafbdcf5daba06794d7a.tar.gz emacs-c3cfada3c075991d7a38fafbdcf5daba06794d7a.zip | |
Update from Gnulib by running admin/merge-gnulib
| -rwxr-xr-x | build-aux/config.guess | 16 | ||||
| -rwxr-xr-x | build-aux/config.sub | 31 | ||||
| -rwxr-xr-x | build-aux/gitlog-to-changelog | 4 | ||||
| -rwxr-xr-x | build-aux/update-copyright | 20 | ||||
| -rw-r--r-- | doc/misc/texinfo.tex | 214 | ||||
| -rw-r--r-- | lib/gnulib.mk.in | 4 | ||||
| -rw-r--r-- | lib/limits.in.h | 2 | ||||
| -rw-r--r-- | lib/regcomp.c | 2 | ||||
| -rw-r--r-- | m4/fsusage.m4 | 2 | ||||
| -rw-r--r-- | m4/largefile.m4 | 21 | ||||
| -rw-r--r-- | m4/locale-fr.m4 | 131 | ||||
| -rw-r--r-- | m4/warnings.m4 | 22 |
12 files changed, 278 insertions, 191 deletions
diff --git a/build-aux/config.guess b/build-aux/config.guess index 69188da73d7..354a8ccde42 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | # shellcheck disable=SC2006,SC2268 # see below for rationale | 5 | # shellcheck disable=SC2006,SC2268 # see below for rationale |
| 6 | 6 | ||
| 7 | timestamp='2023-01-01' | 7 | timestamp='2023-06-23' |
| 8 | 8 | ||
| 9 | # This file is free software; you can redistribute it and/or modify it | 9 | # This file is free software; you can redistribute it and/or modify it |
| 10 | # under the terms of the GNU General Public License as published by | 10 | # under the terms of the GNU General Public License as published by |
| @@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'` | |||
| 47 | usage="\ | 47 | usage="\ |
| 48 | Usage: $0 [OPTION] | 48 | Usage: $0 [OPTION] |
| 49 | 49 | ||
| 50 | Output the configuration name of the system \`$me' is run on. | 50 | Output the configuration name of the system '$me' is run on. |
| 51 | 51 | ||
| 52 | Options: | 52 | Options: |
| 53 | -h, --help print this help, then exit | 53 | -h, --help print this help, then exit |
| @@ -66,7 +66,7 @@ This is free software; see the source for copying conditions. There is NO | |||
| 66 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 66 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
| 67 | 67 | ||
| 68 | help=" | 68 | help=" |
| 69 | Try \`$me --help' for more information." | 69 | Try '$me --help' for more information." |
| 70 | 70 | ||
| 71 | # Parse command line | 71 | # Parse command line |
| 72 | while test $# -gt 0 ; do | 72 | while test $# -gt 0 ; do |
| @@ -102,8 +102,8 @@ GUESS= | |||
| 102 | # temporary files to be created and, as you can see below, it is a | 102 | # temporary files to be created and, as you can see below, it is a |
| 103 | # headache to deal with in a portable fashion. | 103 | # headache to deal with in a portable fashion. |
| 104 | 104 | ||
| 105 | # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still | 105 | # Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still |
| 106 | # use `HOST_CC' if defined, but it is deprecated. | 106 | # use 'HOST_CC' if defined, but it is deprecated. |
| 107 | 107 | ||
| 108 | # Portable tmp directory creation inspired by the Autoconf team. | 108 | # Portable tmp directory creation inspired by the Autoconf team. |
| 109 | 109 | ||
| @@ -459,7 +459,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in | |||
| 459 | UNAME_RELEASE=`uname -v` | 459 | UNAME_RELEASE=`uname -v` |
| 460 | ;; | 460 | ;; |
| 461 | esac | 461 | esac |
| 462 | # Japanese Language versions have a version number like `4.1.3-JL'. | 462 | # Japanese Language versions have a version number like '4.1.3-JL'. |
| 463 | SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` | 463 | SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` |
| 464 | GUESS=sparc-sun-sunos$SUN_REL | 464 | GUESS=sparc-sun-sunos$SUN_REL |
| 465 | ;; | 465 | ;; |
| @@ -1197,7 +1197,7 @@ EOF | |||
| 1197 | GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION | 1197 | GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION |
| 1198 | ;; | 1198 | ;; |
| 1199 | i*86:OS/2:*:*) | 1199 | i*86:OS/2:*:*) |
| 1200 | # If we were able to find `uname', then EMX Unix compatibility | 1200 | # If we were able to find 'uname', then EMX Unix compatibility |
| 1201 | # is probably installed. | 1201 | # is probably installed. |
| 1202 | GUESS=$UNAME_MACHINE-pc-os2-emx | 1202 | GUESS=$UNAME_MACHINE-pc-os2-emx |
| 1203 | ;; | 1203 | ;; |
| @@ -1338,7 +1338,7 @@ EOF | |||
| 1338 | GUESS=ns32k-sni-sysv | 1338 | GUESS=ns32k-sni-sysv |
| 1339 | fi | 1339 | fi |
| 1340 | ;; | 1340 | ;; |
| 1341 | PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort | 1341 | PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort |
| 1342 | # says <Richard.M.Bartel@ccMail.Census.GOV> | 1342 | # says <Richard.M.Bartel@ccMail.Census.GOV> |
| 1343 | GUESS=i586-unisys-sysv4 | 1343 | GUESS=i586-unisys-sysv4 |
| 1344 | ;; | 1344 | ;; |
diff --git a/build-aux/config.sub b/build-aux/config.sub index de4259e4047..9865d6ea4d1 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | # shellcheck disable=SC2006,SC2268 # see below for rationale | 5 | # shellcheck disable=SC2006,SC2268 # see below for rationale |
| 6 | 6 | ||
| 7 | timestamp='2023-01-21' | 7 | timestamp='2023-06-26' |
| 8 | 8 | ||
| 9 | # This file is free software; you can redistribute it and/or modify it | 9 | # This file is free software; you can redistribute it and/or modify it |
| 10 | # under the terms of the GNU General Public License as published by | 10 | # under the terms of the GNU General Public License as published by |
| @@ -82,7 +82,7 @@ This is free software; see the source for copying conditions. There is NO | |||
| 82 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 82 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
| 83 | 83 | ||
| 84 | help=" | 84 | help=" |
| 85 | Try \`$me --help' for more information." | 85 | Try '$me --help' for more information." |
| 86 | 86 | ||
| 87 | # Parse command line | 87 | # Parse command line |
| 88 | while test $# -gt 0 ; do | 88 | while test $# -gt 0 ; do |
| @@ -130,7 +130,7 @@ IFS=$saved_IFS | |||
| 130 | # Separate into logical components for further validation | 130 | # Separate into logical components for further validation |
| 131 | case $1 in | 131 | case $1 in |
| 132 | *-*-*-*-*) | 132 | *-*-*-*-*) |
| 133 | echo Invalid configuration \`"$1"\': more than four components >&2 | 133 | echo "Invalid configuration '$1': more than four components" >&2 |
| 134 | exit 1 | 134 | exit 1 |
| 135 | ;; | 135 | ;; |
| 136 | *-*-*-*) | 136 | *-*-*-*) |
| @@ -145,7 +145,8 @@ case $1 in | |||
| 145 | nto-qnx* | linux-* | uclinux-uclibc* \ | 145 | nto-qnx* | linux-* | uclinux-uclibc* \ |
| 146 | | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | 146 | | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ |
| 147 | | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ | 147 | | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ |
| 148 | | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*) | 148 | | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \ |
| 149 | | windows-* ) | ||
| 149 | basic_machine=$field1 | 150 | basic_machine=$field1 |
| 150 | basic_os=$maybe_os | 151 | basic_os=$maybe_os |
| 151 | ;; | 152 | ;; |
| @@ -943,7 +944,7 @@ $basic_machine | |||
| 943 | EOF | 944 | EOF |
| 944 | IFS=$saved_IFS | 945 | IFS=$saved_IFS |
| 945 | ;; | 946 | ;; |
| 946 | # We use `pc' rather than `unknown' | 947 | # We use 'pc' rather than 'unknown' |
| 947 | # because (1) that's what they normally are, and | 948 | # because (1) that's what they normally are, and |
| 948 | # (2) the word "unknown" tends to confuse beginning users. | 949 | # (2) the word "unknown" tends to confuse beginning users. |
| 949 | i*86 | x86_64) | 950 | i*86 | x86_64) |
| @@ -1285,7 +1286,7 @@ case $cpu-$vendor in | |||
| 1285 | ;; | 1286 | ;; |
| 1286 | 1287 | ||
| 1287 | *) | 1288 | *) |
| 1288 | echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 | 1289 | echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 |
| 1289 | exit 1 | 1290 | exit 1 |
| 1290 | ;; | 1291 | ;; |
| 1291 | esac | 1292 | esac |
| @@ -1766,11 +1767,11 @@ case $os in | |||
| 1766 | ;; | 1767 | ;; |
| 1767 | none) | 1768 | none) |
| 1768 | ;; | 1769 | ;; |
| 1769 | kernel* ) | 1770 | kernel* | msvc* ) |
| 1770 | # Restricted further below | 1771 | # Restricted further below |
| 1771 | ;; | 1772 | ;; |
| 1772 | *) | 1773 | *) |
| 1773 | echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 | 1774 | echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 |
| 1774 | exit 1 | 1775 | exit 1 |
| 1775 | ;; | 1776 | ;; |
| 1776 | esac | 1777 | esac |
| @@ -1785,18 +1786,24 @@ case $kernel-$os in | |||
| 1785 | ;; | 1786 | ;; |
| 1786 | managarm-mlibc* | managarm-kernel* ) | 1787 | managarm-mlibc* | managarm-kernel* ) |
| 1787 | ;; | 1788 | ;; |
| 1789 | windows*-gnu* | windows*-msvc*) | ||
| 1790 | ;; | ||
| 1788 | -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* ) | 1791 | -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* ) |
| 1789 | # These are just libc implementations, not actual OSes, and thus | 1792 | # These are just libc implementations, not actual OSes, and thus |
| 1790 | # require a kernel. | 1793 | # require a kernel. |
| 1791 | echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 | 1794 | echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 |
| 1792 | exit 1 | 1795 | exit 1 |
| 1793 | ;; | 1796 | ;; |
| 1794 | -kernel* ) | 1797 | -kernel* ) |
| 1795 | echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2 | 1798 | echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 |
| 1796 | exit 1 | 1799 | exit 1 |
| 1797 | ;; | 1800 | ;; |
| 1798 | *-kernel* ) | 1801 | *-kernel* ) |
| 1799 | echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2 | 1802 | echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 |
| 1803 | exit 1 | ||
| 1804 | ;; | ||
| 1805 | *-msvc* ) | ||
| 1806 | echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 | ||
| 1800 | exit 1 | 1807 | exit 1 |
| 1801 | ;; | 1808 | ;; |
| 1802 | kfreebsd*-gnu* | kopensolaris*-gnu*) | 1809 | kfreebsd*-gnu* | kopensolaris*-gnu*) |
| @@ -1813,7 +1820,7 @@ case $kernel-$os in | |||
| 1813 | # Blank kernel with real OS is always fine. | 1820 | # Blank kernel with real OS is always fine. |
| 1814 | ;; | 1821 | ;; |
| 1815 | *-*) | 1822 | *-*) |
| 1816 | echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 | 1823 | echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 |
| 1817 | exit 1 | 1824 | exit 1 |
| 1818 | ;; | 1825 | ;; |
| 1819 | esac | 1826 | esac |
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog index 4678bad1050..43e4a37adf4 100755 --- a/build-aux/gitlog-to-changelog +++ b/build-aux/gitlog-to-changelog | |||
| @@ -35,7 +35,7 @@ | |||
| 35 | eval 'exec perl -wSx "$0" "$@"' | 35 | eval 'exec perl -wSx "$0" "$@"' |
| 36 | if 0; | 36 | if 0; |
| 37 | 37 | ||
| 38 | my $VERSION = '2022-01-27 18:49'; # UTC | 38 | my $VERSION = '2023-06-24 21:59'; # UTC |
| 39 | # The definition above must lie within the first 8 lines in order | 39 | # The definition above must lie within the first 8 lines in order |
| 40 | # for the Emacs time-stamp write hook (at end) to update it. | 40 | # for the Emacs time-stamp write hook (at end) to update it. |
| 41 | # If you change this file with Emacs, please let the write hook | 41 | # If you change this file with Emacs, please let the write hook |
| @@ -355,7 +355,7 @@ sub git_dir_option($) | |||
| 355 | . "(expected date/author/email):\n$author_line\n"; | 355 | . "(expected date/author/email):\n$author_line\n"; |
| 356 | 356 | ||
| 357 | # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog | 357 | # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog |
| 358 | # `(tiny change)' annotation. | 358 | # '(tiny change)' annotation. |
| 359 | my $tiny = (grep (/^(?:Copyright-paperwork-exempt|Tiny-change):\s+[Yy]es$/, @line) | 359 | my $tiny = (grep (/^(?:Copyright-paperwork-exempt|Tiny-change):\s+[Yy]es$/, @line) |
| 360 | ? ' (tiny change)' : ''); | 360 | ? ' (tiny change)' : ''); |
| 361 | 361 | ||
diff --git a/build-aux/update-copyright b/build-aux/update-copyright index 99196fceef6..0343eaa72c1 100755 --- a/build-aux/update-copyright +++ b/build-aux/update-copyright | |||
| @@ -98,7 +98,8 @@ | |||
| 98 | # 6. Blank lines, even if preceded by the prefix, do not appear | 98 | # 6. Blank lines, even if preceded by the prefix, do not appear |
| 99 | # within the FSF copyright statement. | 99 | # within the FSF copyright statement. |
| 100 | # 7. Each copyright year is 2 or 4 digits, and years are separated by | 100 | # 7. Each copyright year is 2 or 4 digits, and years are separated by |
| 101 | # commas, "-", or "--". Whitespace may appear after commas. | 101 | # commas, "-", "--", or "\(en" (for troff). Whitespace may appear |
| 102 | # after commas. | ||
| 102 | # | 103 | # |
| 103 | # Environment variables: | 104 | # Environment variables: |
| 104 | # | 105 | # |
| @@ -137,7 +138,7 @@ | |||
| 137 | eval 'exec perl -wSx -0777 -pi "$0" "$@"' | 138 | eval 'exec perl -wSx -0777 -pi "$0" "$@"' |
| 138 | if 0; | 139 | if 0; |
| 139 | 140 | ||
| 140 | my $VERSION = '2023-01-11.04:24'; # UTC | 141 | my $VERSION = '2023-06-18.01:14'; # UTC |
| 141 | # The definition above must lie within the first 8 lines in order | 142 | # The definition above must lie within the first 8 lines in order |
| 142 | # for the Emacs time-stamp write hook (at end) to update it. | 143 | # for the Emacs time-stamp write hook (at end) to update it. |
| 143 | # If you change this file with Emacs, please let the write hook | 144 | # If you change this file with Emacs, please let the write hook |
| @@ -148,6 +149,7 @@ use warnings; | |||
| 148 | 149 | ||
| 149 | my $copyright_re = 'Copyright'; | 150 | my $copyright_re = 'Copyright'; |
| 150 | my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©|©)'; | 151 | my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©|©)'; |
| 152 | my $ndash_re = '(?:--?|\\\\\(en)'; | ||
| 151 | my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; | 153 | my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; |
| 152 | $holder ||= 'Free Software Foundation, Inc.'; | 154 | $holder ||= 'Free Software Foundation, Inc.'; |
| 153 | my $prefix_max = 5; | 155 | my $prefix_max = 5; |
| @@ -192,7 +194,7 @@ while (/(^|\n)(.{0,$prefix_max})$copyright_re/g) | |||
| 192 | $holder_re =~ s/\s/$ws_re/g; | 194 | $holder_re =~ s/\s/$ws_re/g; |
| 193 | my $stmt_remainder_re = | 195 | my $stmt_remainder_re = |
| 194 | "(?:$ws_re$circle_c_re)?" | 196 | "(?:$ws_re$circle_c_re)?" |
| 195 | . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|--?))*" | 197 | . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|$ndash_re))*" |
| 196 | . "((?:\\d\\d)?\\d\\d)$ws_re$holder_re"; | 198 | . "((?:\\d\\d)?\\d\\d)$ws_re$holder_re"; |
| 197 | if (/\G$stmt_remainder_re/) | 199 | if (/\G$stmt_remainder_re/) |
| 198 | { | 200 | { |
| @@ -215,7 +217,7 @@ if (defined $stmt_re) | |||
| 215 | if ($final_year != $this_year) | 217 | if ($final_year != $this_year) |
| 216 | { | 218 | { |
| 217 | # Update the year. | 219 | # Update the year. |
| 218 | $stmt =~ s/\b$final_year_orig\b/$final_year, $this_year/; | 220 | $stmt =~ s/(^|[^\d])$final_year_orig\b/$1$final_year, $this_year/; |
| 219 | } | 221 | } |
| 220 | if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'}) | 222 | if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'}) |
| 221 | { | 223 | { |
| @@ -231,17 +233,19 @@ if (defined $stmt_re) | |||
| 231 | # Make the use of intervals consistent. | 233 | # Make the use of intervals consistent. |
| 232 | if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS}) | 234 | if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS}) |
| 233 | { | 235 | { |
| 234 | $stmt =~ s/(\d{4})--?(\d{4})/join(', ', $1..$2)/eg; | 236 | $stmt =~ s/(\d{4})$ndash_re(\d{4})/join(', ', $1..$2)/eg; |
| 235 | } | 237 | } |
| 236 | else | 238 | else |
| 237 | { | 239 | { |
| 238 | my $ndash = $ARGV =~ /\.tex(i(nfo)?)?$/ ? "--" : "-"; | 240 | my $ndash = ($ARGV =~ /\.tex(i(nfo)?)?$/ ? "--" |
| 241 | : $ARGV =~ /\.(\d[a-z]*|man)$/ ? "\\(en" | ||
| 242 | : "-"); | ||
| 239 | 243 | ||
| 240 | $stmt =~ | 244 | $stmt =~ |
| 241 | s/ | 245 | s/ |
| 242 | (\d{4}) | 246 | (\d{4}) |
| 243 | (?: | 247 | (?: |
| 244 | (,\ |--?) | 248 | (,\ |$ndash_re) |
| 245 | ((??{ | 249 | ((??{ |
| 246 | if ($2 ne ', ') { '\d{4}'; } | 250 | if ($2 ne ', ') { '\d{4}'; } |
| 247 | elsif (!$3) { $1 + 1; } | 251 | elsif (!$3) { $1 + 1; } |
| @@ -252,7 +256,7 @@ if (defined $stmt_re) | |||
| 252 | 256 | ||
| 253 | # When it's 2, emit a single range encompassing all year numbers. | 257 | # When it's 2, emit a single range encompassing all year numbers. |
| 254 | $ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2 | 258 | $ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2 |
| 255 | and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1$ndash$2/; | 259 | and $stmt =~ s/(^|[^\d])(\d{4})\b.*(?:[^\d])(\d{4})\b/$1$2$ndash$3/; |
| 256 | } | 260 | } |
| 257 | 261 | ||
| 258 | # Format within margin. | 262 | # Format within margin. |
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index a32c84197ae..b1d2999e5d7 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-03-27.21} | 6 | \def\texinfoversion{2023-07-02.10} |
| 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 | % |
| @@ -275,8 +275,7 @@ | |||
| 275 | % \topmark doesn't work for the very first chapter (after the title | 275 | % \topmark doesn't work for the very first chapter (after the title |
| 276 | % page or the contents), so we use \firstmark there -- this gets us | 276 | % page or the contents), so we use \firstmark there -- this gets us |
| 277 | % the mark with the chapter defs, unless the user sneaks in, e.g., | 277 | % the mark with the chapter defs, unless the user sneaks in, e.g., |
| 278 | % @setcolor (or @url, or @link, etc.) between @contents and the very | 278 | % @setcolor (or @url etc.) between @contents and the very first @chapter. |
| 279 | % first @chapter. | ||
| 280 | \def\gettopheadingmarks{% | 279 | \def\gettopheadingmarks{% |
| 281 | \ifcase0\the\savedtopmark\fi | 280 | \ifcase0\the\savedtopmark\fi |
| 282 | \ifx\thischapter\empty \ifcase0\firstmark\fi \fi | 281 | \ifx\thischapter\empty \ifcase0\firstmark\fi \fi |
| @@ -4950,6 +4949,7 @@ $$% | |||
| 4950 | \commondummyword\inforef {}% | 4949 | \commondummyword\inforef {}% |
| 4951 | \commondummyword\kbd {}% | 4950 | \commondummyword\kbd {}% |
| 4952 | \commondummyword\key {}% | 4951 | \commondummyword\key {}% |
| 4952 | \commondummyword\link {}% | ||
| 4953 | \commondummyword\math {}% | 4953 | \commondummyword\math {}% |
| 4954 | \commondummyword\option {}% | 4954 | \commondummyword\option {}% |
| 4955 | \commondummyword\pxref {}% | 4955 | \commondummyword\pxref {}% |
| @@ -5783,7 +5783,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 5783 | % below is chosen so that the gutter has the same value (well, +-<1pt) | 5783 | % below is chosen so that the gutter has the same value (well, +-<1pt) |
| 5784 | % as it did when we hard-coded it. | 5784 | % as it did when we hard-coded it. |
| 5785 | % | 5785 | % |
| 5786 | % We put the result in a separate register, \doublecolumhsize, so we | 5786 | % We put the result in a separate register, \doublecolumnhsize, so we |
| 5787 | % can restore it in \pagesofar, after \hsize itself has (potentially) | 5787 | % can restore it in \pagesofar, after \hsize itself has (potentially) |
| 5788 | % been clobbered. | 5788 | % been clobbered. |
| 5789 | % | 5789 | % |
| @@ -8180,7 +8180,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8180 | % Read recursive and nonrecursive macro bodies. (They're different since | 8180 | % Read recursive and nonrecursive macro bodies. (They're different since |
| 8181 | % rec and nonrec macros end differently.) | 8181 | % rec and nonrec macros end differently.) |
| 8182 | % | 8182 | % |
| 8183 | % We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro | 8183 | % We are in \macrobodyctxt, and the \xdef causes backslashes in the macro |
| 8184 | % body to be transformed. | 8184 | % body to be transformed. |
| 8185 | % Set \macrobody to the body of the macro, and call \macrodef. | 8185 | % Set \macrobody to the body of the macro, and call \macrodef. |
| 8186 | % | 8186 | % |
| @@ -8808,109 +8808,11 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8808 | \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup | 8808 | \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup |
| 8809 | \unsepspaces | 8809 | \unsepspaces |
| 8810 | % | 8810 | % |
| 8811 | % Get args without leading/trailing spaces. | 8811 | \getprintedrefname{#1}{#3}{#5}% |
| 8812 | \def\printedrefname{\ignorespaces #3}% | ||
| 8813 | \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% | ||
| 8814 | % | ||
| 8815 | \def\infofilename{\ignorespaces #4}% | 8812 | \def\infofilename{\ignorespaces #4}% |
| 8816 | \setbox\infofilenamebox = \hbox{\infofilename\unskip}% | 8813 | \setbox\infofilenamebox = \hbox{\infofilename\unskip}% |
| 8817 | % | 8814 | % |
| 8818 | \def\printedmanual{\ignorespaces #5}% | 8815 | \startxreflink{#1}{#4}% |
| 8819 | \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% | ||
| 8820 | % | ||
| 8821 | % If the printed reference name (arg #3) was not explicitly given in | ||
| 8822 | % the @xref, figure out what we want to use. | ||
| 8823 | \ifdim \wd\printedrefnamebox = 0pt | ||
| 8824 | % No printed node name was explicitly given. | ||
| 8825 | \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax | ||
| 8826 | % Not auto section-title: use node name inside the square brackets. | ||
| 8827 | \def\printedrefname{\ignorespaces #1}% | ||
| 8828 | \else | ||
| 8829 | % Auto section-title: use chapter/section title inside | ||
| 8830 | % the square brackets if we have it. | ||
| 8831 | \ifdim \wd\printedmanualbox > 0pt | ||
| 8832 | % It is in another manual, so we don't have it; use node name. | ||
| 8833 | \def\printedrefname{\ignorespaces #1}% | ||
| 8834 | \else | ||
| 8835 | \ifhavexrefs | ||
| 8836 | % We (should) know the real title if we have the xref values. | ||
| 8837 | \def\printedrefname{\refx{#1-title}}% | ||
| 8838 | \else | ||
| 8839 | % Otherwise just copy the Info node name. | ||
| 8840 | \def\printedrefname{\ignorespaces #1}% | ||
| 8841 | \fi% | ||
| 8842 | \fi | ||
| 8843 | \fi | ||
| 8844 | \fi | ||
| 8845 | % | ||
| 8846 | % Make link in pdf output. | ||
| 8847 | \ifpdf | ||
| 8848 | % For pdfTeX and LuaTeX | ||
| 8849 | {\indexnofonts | ||
| 8850 | \makevalueexpandable | ||
| 8851 | \turnoffactive | ||
| 8852 | % This expands tokens, so do it after making catcode changes, so _ | ||
| 8853 | % etc. don't get their TeX definitions. This ignores all spaces in | ||
| 8854 | % #4, including (wrongly) those in the middle of the filename. | ||
| 8855 | \getfilename{#4}% | ||
| 8856 | % | ||
| 8857 | % This (wrongly) does not take account of leading or trailing | ||
| 8858 | % spaces in #1, which should be ignored. | ||
| 8859 | \setpdfdestname{#1}% | ||
| 8860 | % | ||
| 8861 | \ifx\pdfdestname\empty | ||
| 8862 | \def\pdfdestname{Top}% no empty targets | ||
| 8863 | \fi | ||
| 8864 | % | ||
| 8865 | \leavevmode | ||
| 8866 | \startlink attr{/Border [0 0 0]}% | ||
| 8867 | \ifnum\filenamelength>0 | ||
| 8868 | goto file{\the\filename.pdf} name{\pdfdestname}% | ||
| 8869 | \else | ||
| 8870 | goto name{\pdfmkpgn{\pdfdestname}}% | ||
| 8871 | \fi | ||
| 8872 | }% | ||
| 8873 | \setcolor{\linkcolor}% | ||
| 8874 | \else | ||
| 8875 | \ifx\XeTeXrevision\thisisundefined | ||
| 8876 | \else | ||
| 8877 | % For XeTeX | ||
| 8878 | {\indexnofonts | ||
| 8879 | \makevalueexpandable | ||
| 8880 | \turnoffactive | ||
| 8881 | % This expands tokens, so do it after making catcode changes, so _ | ||
| 8882 | % etc. don't get their TeX definitions. This ignores all spaces in | ||
| 8883 | % #4, including (wrongly) those in the middle of the filename. | ||
| 8884 | \getfilename{#4}% | ||
| 8885 | % | ||
| 8886 | % This (wrongly) does not take account of leading or trailing | ||
| 8887 | % spaces in #1, which should be ignored. | ||
| 8888 | \setpdfdestname{#1}% | ||
| 8889 | % | ||
| 8890 | \ifx\pdfdestname\empty | ||
| 8891 | \def\pdfdestname{Top}% no empty targets | ||
| 8892 | \fi | ||
| 8893 | % | ||
| 8894 | \leavevmode | ||
| 8895 | \ifnum\filenamelength>0 | ||
| 8896 | % With default settings, | ||
| 8897 | % XeTeX (xdvipdfmx) replaces link destination names with integers. | ||
| 8898 | % In this case, the replaced destination names of | ||
| 8899 | % remote PDFs are no longer known. In order to avoid a replacement, | ||
| 8900 | % you can use xdvipdfmx's command line option `-C 0x0010'. | ||
| 8901 | % If you use XeTeX 0.99996+ (TeX Live 2016+), | ||
| 8902 | % this command line option is no longer necessary | ||
| 8903 | % because we can use the `dvipdfmx:config' special. | ||
| 8904 | \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A | ||
| 8905 | << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}% | ||
| 8906 | \else | ||
| 8907 | \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A | ||
| 8908 | << /S /GoTo /D (\pdfdestname) >> >>}% | ||
| 8909 | \fi | ||
| 8910 | }% | ||
| 8911 | \setcolor{\linkcolor}% | ||
| 8912 | \fi | ||
| 8913 | \fi | ||
| 8914 | {% | 8816 | {% |
| 8915 | % Have to otherify everything special to allow the \csname to | 8817 | % Have to otherify everything special to allow the \csname to |
| 8916 | % include an _ in the xref name, etc. | 8818 | % include an _ in the xref name, etc. |
| @@ -8991,6 +8893,93 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8991 | \endlink | 8893 | \endlink |
| 8992 | \endgroup} | 8894 | \endgroup} |
| 8993 | 8895 | ||
| 8896 | % \getprintedrefname{NODE}{LABEL}{MANUAL} | ||
| 8897 | % - set \printedrefname and \printedmanual | ||
| 8898 | % | ||
| 8899 | \def\getprintedrefname#1#2#3{% | ||
| 8900 | % Get args without leading/trailing spaces. | ||
| 8901 | \def\printedrefname{\ignorespaces #2}% | ||
| 8902 | \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% | ||
| 8903 | % | ||
| 8904 | \def\printedmanual{\ignorespaces #3}% | ||
| 8905 | \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% | ||
| 8906 | % | ||
| 8907 | % If the printed reference name (arg #2) was not explicitly given in | ||
| 8908 | % the @xref, figure out what we want to use. | ||
| 8909 | \ifdim \wd\printedrefnamebox = 0pt | ||
| 8910 | % No printed node name was explicitly given. | ||
| 8911 | \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax | ||
| 8912 | % Not auto section-title: use node name inside the square brackets. | ||
| 8913 | \def\printedrefname{\ignorespaces #1}% | ||
| 8914 | \else | ||
| 8915 | % Auto section-title: use chapter/section title inside | ||
| 8916 | % the square brackets if we have it. | ||
| 8917 | \ifdim \wd\printedmanualbox > 0pt | ||
| 8918 | % It is in another manual, so we don't have it; use node name. | ||
| 8919 | \def\printedrefname{\ignorespaces #1}% | ||
| 8920 | \else | ||
| 8921 | \ifhavexrefs | ||
| 8922 | % We (should) know the real title if we have the xref values. | ||
| 8923 | \def\printedrefname{\refx{#1-title}}% | ||
| 8924 | \else | ||
| 8925 | % Otherwise just copy the Info node name. | ||
| 8926 | \def\printedrefname{\ignorespaces #1}% | ||
| 8927 | \fi% | ||
| 8928 | \fi | ||
| 8929 | \fi | ||
| 8930 | \fi | ||
| 8931 | } | ||
| 8932 | |||
| 8933 | % \startxreflink{NODE}{FILE} - start link in pdf output. | ||
| 8934 | \def\startxreflink#1#2{% | ||
| 8935 | \ifpdforxetex | ||
| 8936 | % For pdfTeX and LuaTeX | ||
| 8937 | {\indexnofonts | ||
| 8938 | \makevalueexpandable | ||
| 8939 | \turnoffactive | ||
| 8940 | % This expands tokens, so do it after making catcode changes, so _ | ||
| 8941 | % etc. don't get their TeX definitions. This ignores all spaces in | ||
| 8942 | % #2, including (wrongly) those in the middle of the filename. | ||
| 8943 | \getfilename{#2}% | ||
| 8944 | % | ||
| 8945 | % This (wrongly) does not take account of leading or trailing | ||
| 8946 | % spaces in #1, which should be ignored. | ||
| 8947 | \setpdfdestname{#1}% | ||
| 8948 | % | ||
| 8949 | \ifx\pdfdestname\empty | ||
| 8950 | \def\pdfdestname{Top}% no empty targets | ||
| 8951 | \fi | ||
| 8952 | % | ||
| 8953 | \leavevmode | ||
| 8954 | \ifpdf | ||
| 8955 | \startlink attr{/Border [0 0 0]}% | ||
| 8956 | \ifnum\filenamelength>0 | ||
| 8957 | goto file{\the\filename.pdf} name{\pdfdestname}% | ||
| 8958 | \else | ||
| 8959 | goto name{\pdfmkpgn{\pdfdestname}}% | ||
| 8960 | \fi | ||
| 8961 | \else % XeTeX | ||
| 8962 | \ifnum\filenamelength>0 | ||
| 8963 | % With default settings, | ||
| 8964 | % XeTeX (xdvipdfmx) replaces link destination names with integers. | ||
| 8965 | % In this case, the replaced destination names of | ||
| 8966 | % remote PDFs are no longer known. In order to avoid a replacement, | ||
| 8967 | % you can use xdvipdfmx's command line option `-C 0x0010'. | ||
| 8968 | % If you use XeTeX 0.99996+ (TeX Live 2016+), | ||
| 8969 | % this command line option is no longer necessary | ||
| 8970 | % because we can use the `dvipdfmx:config' special. | ||
| 8971 | \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A | ||
| 8972 | << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}% | ||
| 8973 | \else | ||
| 8974 | \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A | ||
| 8975 | << /S /GoTo /D (\pdfdestname) >> >>}% | ||
| 8976 | \fi | ||
| 8977 | \fi | ||
| 8978 | }% | ||
| 8979 | \setcolor{\linkcolor}% | ||
| 8980 | \fi | ||
| 8981 | } | ||
| 8982 | |||
| 8994 | % can be overridden in translation files | 8983 | % can be overridden in translation files |
| 8995 | \def\putpageref#1{% | 8984 | \def\putpageref#1{% |
| 8996 | \space\putwordpage\tie\refx{#1-pg}} | 8985 | \space\putwordpage\tie\refx{#1-pg}} |
| @@ -9028,6 +9017,21 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 9028 | % | 9017 | % |
| 9029 | \def\xrefprintnodename#1{[#1]} | 9018 | \def\xrefprintnodename#1{[#1]} |
| 9030 | 9019 | ||
| 9020 | % @link{NODENAME, LABEL, MANUAL} - create a "plain" link, with no | ||
| 9021 | % page number. Not useful if printed on paper. | ||
| 9022 | % | ||
| 9023 | \def\link#1{\linkX[#1,,,]} | ||
| 9024 | \def\linkX[#1,#2,#3,#4]{% | ||
| 9025 | \begingroup | ||
| 9026 | \unsepspaces | ||
| 9027 | \getprintedrefname{#1}{#2}{#3}% | ||
| 9028 | \startxreflink{#1}{#3}% | ||
| 9029 | \printedrefname | ||
| 9030 | \endlink | ||
| 9031 | \endgroup | ||
| 9032 | } | ||
| 9033 | |||
| 9034 | |||
| 9031 | % Things referred to by \setref. | 9035 | % Things referred to by \setref. |
| 9032 | % | 9036 | % |
| 9033 | \def\Ynothing{} | 9037 | \def\Ynothing{} |
diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in index a25bee25aae..0812dc80135 100644 --- a/lib/gnulib.mk.in +++ b/lib/gnulib.mk.in | |||
| @@ -901,6 +901,10 @@ KRB4LIB = @KRB4LIB@ | |||
| 901 | KRB5LIB = @KRB5LIB@ | 901 | KRB5LIB = @KRB5LIB@ |
| 902 | LCMS2_CFLAGS = @LCMS2_CFLAGS@ | 902 | LCMS2_CFLAGS = @LCMS2_CFLAGS@ |
| 903 | LCMS2_LIBS = @LCMS2_LIBS@ | 903 | LCMS2_LIBS = @LCMS2_LIBS@ |
| 904 | LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@ | ||
| 905 | LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@ | ||
| 906 | LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@ | ||
| 907 | LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@ | ||
| 904 | LDFLAGS = @LDFLAGS@ | 908 | LDFLAGS = @LDFLAGS@ |
| 905 | LD_SWITCH_SYSTEM = @LD_SWITCH_SYSTEM@ | 909 | LD_SWITCH_SYSTEM = @LD_SWITCH_SYSTEM@ |
| 906 | LD_SWITCH_SYSTEM_TEMACS = @LD_SWITCH_SYSTEM_TEMACS@ | 910 | LD_SWITCH_SYSTEM_TEMACS = @LD_SWITCH_SYSTEM_TEMACS@ |
diff --git a/lib/limits.in.h b/lib/limits.in.h index 1d479c3d192..e2e173eb2de 100644 --- a/lib/limits.in.h +++ b/lib/limits.in.h | |||
| @@ -136,7 +136,7 @@ | |||
| 136 | 136 | ||
| 137 | /* Macro specified by POSIX. */ | 137 | /* Macro specified by POSIX. */ |
| 138 | 138 | ||
| 139 | /* The maximal size_t value. Although it might not be of ssize_t type | 139 | /* The maximum ssize_t value. Although it might not be of ssize_t type |
| 140 | as it should be, it's too much trouble to fix this minor detail. */ | 140 | as it should be, it's too much trouble to fix this minor detail. */ |
| 141 | #ifndef SSIZE_MAX | 141 | #ifndef SSIZE_MAX |
| 142 | # ifdef _WIN64 | 142 | # ifdef _WIN64 |
diff --git a/lib/regcomp.c b/lib/regcomp.c index 89478396855..1f6a131107b 100644 --- a/lib/regcomp.c +++ b/lib/regcomp.c | |||
| @@ -905,7 +905,7 @@ init_word_char (re_dfa_t *dfa) | |||
| 905 | bitset_word_t bits3 = 0x07fffffe; | 905 | bitset_word_t bits3 = 0x07fffffe; |
| 906 | if (BITSET_WORD_BITS == 64) | 906 | if (BITSET_WORD_BITS == 64) |
| 907 | { | 907 | { |
| 908 | /* Pacify gcc -Woverflow on 32-bit platformns. */ | 908 | /* Pacify gcc -Woverflow on 32-bit platforms. */ |
| 909 | dfa->word_char[0] = bits1 << 31 << 1 | bits0; | 909 | dfa->word_char[0] = bits1 << 31 << 1 | bits0; |
| 910 | dfa->word_char[1] = bits3 << 31 << 1 | bits2; | 910 | dfa->word_char[1] = bits3 << 31 << 1 | bits2; |
| 911 | i = 2; | 911 | i = 2; |
diff --git a/m4/fsusage.m4 b/m4/fsusage.m4 index 88f3ca817cb..724a863ac30 100644 --- a/m4/fsusage.m4 +++ b/m4/fsusage.m4 | |||
| @@ -269,7 +269,7 @@ int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1]; | |||
| 269 | 269 | ||
| 270 | # Check for SunOS statfs brokenness wrt partitions 2GB and larger. | 270 | # Check for SunOS statfs brokenness wrt partitions 2GB and larger. |
| 271 | # If <sys/vfs.h> exists and struct statfs has a member named f_spare, | 271 | # If <sys/vfs.h> exists and struct statfs has a member named f_spare, |
| 272 | # enable the work-around code in fsusage.c. | 272 | # enable the workaround code in fsusage.c. |
| 273 | AC_DEFUN([gl_STATFS_TRUNCATES], | 273 | AC_DEFUN([gl_STATFS_TRUNCATES], |
| 274 | [ | 274 | [ |
| 275 | AC_CACHE_CHECK([for statfs that truncates block counts], | 275 | AC_CACHE_CHECK([for statfs that truncates block counts], |
diff --git a/m4/largefile.m4 b/m4/largefile.m4 index a2adb533ae6..8b051c0042b 100644 --- a/m4/largefile.m4 +++ b/m4/largefile.m4 | |||
| @@ -181,13 +181,16 @@ AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no], | |||
| 181 | # C code used to probe for large file support. | 181 | # C code used to probe for large file support. |
| 182 | m4_define([_AC_SYS_LARGEFILE_TEST_CODE], | 182 | m4_define([_AC_SYS_LARGEFILE_TEST_CODE], |
| 183 | [@%:@include <sys/types.h> | 183 | [@%:@include <sys/types.h> |
| 184 | /* Check that off_t can represent 2**63 - 1 correctly. | 184 | @%:@ifndef FTYPE |
| 185 | We can't simply define LARGE_OFF_T to be 9223372036854775807, | 185 | @%:@ define FTYPE off_t |
| 186 | @%:@endif | ||
| 187 | /* Check that FTYPE can represent 2**63 - 1 correctly. | ||
| 188 | We can't simply define LARGE_FTYPE to be 9223372036854775807, | ||
| 186 | since some C++ compilers masquerading as C compilers | 189 | since some C++ compilers masquerading as C compilers |
| 187 | incorrectly reject 9223372036854775807. */ | 190 | incorrectly reject 9223372036854775807. */ |
| 188 | @%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) | 191 | @%:@define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) |
| 189 | int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 | 192 | int FTYPE_is_large[[(LARGE_FTYPE % 2147483629 == 721 |
| 190 | && LARGE_OFF_T % 2147483647 == 1) | 193 | && LARGE_FTYPE % 2147483647 == 1) |
| 191 | ? 1 : -1]];[]dnl | 194 | ? 1 : -1]];[]dnl |
| 192 | ]) | 195 | ]) |
| 193 | # Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it. | 196 | # Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it. |
| @@ -227,7 +230,13 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE], | |||
| 227 | AS_IF([test x"$ac_opt" != x"none needed"], | 230 | AS_IF([test x"$ac_opt" != x"none needed"], |
| 228 | [CC="$ac_save_CC $ac_opt"]) | 231 | [CC="$ac_save_CC $ac_opt"]) |
| 229 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])], | 232 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])], |
| 230 | [ac_cv_sys_largefile_opts="$ac_opt" | 233 | [AS_IF([test x"$ac_opt" = x"none needed"], |
| 234 | [# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. | ||
| 235 | CC="$CC -DFTYPE=ino_t" | ||
| 236 | AC_COMPILE_IFELSE([], [], | ||
| 237 | [CC="$CC -D_FILE_OFFSET_BITS=64" | ||
| 238 | AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])]) | ||
| 239 | ac_cv_sys_largefile_opts=$ac_opt | ||
| 231 | ac_opt_found=yes]) | 240 | ac_opt_found=yes]) |
| 232 | test $ac_opt_found = no || break | 241 | test $ac_opt_found = no || break |
| 233 | done | 242 | done |
diff --git a/m4/locale-fr.m4 b/m4/locale-fr.m4 index 5e13f3945d2..40b13aeaa79 100644 --- a/m4/locale-fr.m4 +++ b/m4/locale-fr.m4 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # locale-fr.m4 serial 21 | 1 | # locale-fr.m4 serial 22 |
| 2 | dnl Copyright (C) 2003, 2005-2023 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-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, |
| @@ -133,15 +133,31 @@ int main () { | |||
| 133 | rm -fr conftest* | 133 | rm -fr conftest* |
| 134 | ]) | 134 | ]) |
| 135 | LOCALE_FR=$gt_cv_locale_fr | 135 | LOCALE_FR=$gt_cv_locale_fr |
| 136 | case $LOCALE_FR in #( | ||
| 137 | '' | *[[[:space:]\"\$\'*@<:@]]*) | ||
| 138 | dnl This locale name might cause trouble with sh or make. | ||
| 139 | AC_MSG_WARN([invalid locale "$LOCALE_FR"; assuming "none"]) | ||
| 140 | LOCALE_FR=none;; | ||
| 141 | esac | ||
| 136 | AC_SUBST([LOCALE_FR]) | 142 | AC_SUBST([LOCALE_FR]) |
| 137 | ]) | 143 | ]) |
| 138 | 144 | ||
| 139 | dnl Determine the name of a french locale with UTF-8 encoding. | 145 | dnl Determine the name of a french locale with UTF-8 encoding. |
| 140 | AC_DEFUN_ONCE([gt_LOCALE_FR_UTF8], | 146 | AC_DEFUN_ONCE([gt_LOCALE_FR_UTF8], |
| 141 | [ | 147 | [ |
| 148 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
| 142 | AC_REQUIRE([AM_LANGINFO_CODESET]) | 149 | AC_REQUIRE([AM_LANGINFO_CODESET]) |
| 143 | AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ | 150 | AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ |
| 144 | AC_LANG_CONFTEST([AC_LANG_SOURCE([[ | 151 | case "$host_os" in |
| 152 | *-musl* | midipix*) | ||
| 153 | dnl On musl libc, all kinds of ll_CC.UTF-8 locales exist, even without | ||
| 154 | dnl any locale file on disk. But they are effectively equivalent to the | ||
| 155 | dnl C.UTF-8 locale, except for locale categories (such as LC_MESSSAGES) | ||
| 156 | dnl for which localizations (.mo files) have been installed. | ||
| 157 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | ||
| 158 | ;; | ||
| 159 | *) | ||
| 160 | AC_LANG_CONFTEST([AC_LANG_SOURCE([[ | ||
| 145 | #include <locale.h> | 161 | #include <locale.h> |
| 146 | #include <time.h> | 162 | #include <time.h> |
| 147 | #if HAVE_LANGINFO_CODESET | 163 | #if HAVE_LANGINFO_CODESET |
| @@ -203,51 +219,82 @@ int main () { | |||
| 203 | #endif | 219 | #endif |
| 204 | return 0; | 220 | return 0; |
| 205 | } | 221 | } |
| 206 | ]])]) | 222 | ]])]) |
| 207 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | 223 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then |
| 208 | case "$host_os" in | 224 | case "$host_os" in |
| 209 | # Handle native Windows specially, because there setlocale() interprets | 225 | # Handle native Windows specially, because there setlocale() interprets |
| 210 | # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", | 226 | # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", |
| 211 | # "fr" or "fra" as "French" or "French_France.1252", | 227 | # "fr" or "fra" as "French" or "French_France.1252", |
| 212 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", | 228 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
| 213 | # "ja" as "Japanese" or "Japanese_Japan.932", | 229 | # "ja" as "Japanese" or "Japanese_Japan.932", |
| 214 | # and similar. | 230 | # and similar. |
| 215 | mingw*) | 231 | mingw*) |
| 216 | # Test for the hypothetical native Windows locale name. | 232 | # Test for the hypothetical native Windows locale name. |
| 217 | if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 233 | if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
| 218 | gt_cv_locale_fr_utf8=French_France.65001 | 234 | gt_cv_locale_fr_utf8=French_France.65001 |
| 219 | else | ||
| 220 | # None found. | ||
| 221 | gt_cv_locale_fr_utf8=none | ||
| 222 | fi | ||
| 223 | ;; | ||
| 224 | *) | ||
| 225 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
| 226 | # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the | ||
| 227 | # configure script would override the LC_ALL setting. Likewise for | ||
| 228 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
| 229 | # Test for the usual locale name. | ||
| 230 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
| 231 | gt_cv_locale_fr_utf8=fr_FR | ||
| 232 | else | ||
| 233 | # Test for the locale name with explicit encoding suffix. | ||
| 234 | if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
| 235 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | ||
| 236 | else | ||
| 237 | # Test for the Solaris 7 locale name. | ||
| 238 | if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
| 239 | gt_cv_locale_fr_utf8=fr.UTF-8 | ||
| 240 | else | 235 | else |
| 241 | # None found. | 236 | # None found. |
| 242 | gt_cv_locale_fr_utf8=none | 237 | gt_cv_locale_fr_utf8=none |
| 243 | fi | 238 | fi |
| 244 | fi | 239 | ;; |
| 245 | fi | 240 | *) |
| 246 | ;; | 241 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because |
| 247 | esac | 242 | # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the |
| 248 | fi | 243 | # configure script would override the LC_ALL setting. Likewise for |
| 249 | rm -fr conftest* | 244 | # LC_CTYPE, which is also set at the beginning of the configure script. |
| 245 | # Test for the usual locale name. | ||
| 246 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
| 247 | gt_cv_locale_fr_utf8=fr_FR | ||
| 248 | else | ||
| 249 | # Test for the locale name with explicit encoding suffix. | ||
| 250 | if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
| 251 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | ||
| 252 | else | ||
| 253 | # Test for the Solaris 7 locale name. | ||
| 254 | if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
| 255 | gt_cv_locale_fr_utf8=fr.UTF-8 | ||
| 256 | else | ||
| 257 | # None found. | ||
| 258 | gt_cv_locale_fr_utf8=none | ||
| 259 | fi | ||
| 260 | fi | ||
| 261 | fi | ||
| 262 | ;; | ||
| 263 | esac | ||
| 264 | fi | ||
| 265 | rm -fr conftest* | ||
| 266 | ;; | ||
| 267 | esac | ||
| 250 | ]) | 268 | ]) |
| 251 | LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 | 269 | LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 |
| 270 | case $LOCALE_FR_UTF8 in #( | ||
| 271 | '' | *[[[:space:]\"\$\'*@<:@]]*) | ||
| 272 | dnl This locale name might cause trouble with sh or make. | ||
| 273 | AC_MSG_WARN([invalid locale "$LOCALE_FR_UTF8"; assuming "none"]) | ||
| 274 | LOCALE_FR_UTF8=none;; | ||
| 275 | esac | ||
| 252 | AC_SUBST([LOCALE_FR_UTF8]) | 276 | AC_SUBST([LOCALE_FR_UTF8]) |
| 277 | |||
| 278 | dnl Users of $LOCALE_FR_UTF8 need to know which of the locale categories they | ||
| 279 | dnl can rely on. | ||
| 280 | case "$host_os" in | ||
| 281 | *-musl* | midipix*) | ||
| 282 | dnl On musl libc, locale categories other than LC_CTYPE and LC_MESSAGES | ||
| 283 | dnl are effectively unimplemented. | ||
| 284 | LC_COLLATE_IMPLEMENTED=false | ||
| 285 | LC_NUMERIC_IMPLEMENTED=false | ||
| 286 | LC_TIME_IMPLEMENTED=false | ||
| 287 | LC_MONETARY_IMPLEMENTED=false | ||
| 288 | ;; | ||
| 289 | *) | ||
| 290 | LC_COLLATE_IMPLEMENTED=true | ||
| 291 | LC_NUMERIC_IMPLEMENTED=true | ||
| 292 | LC_TIME_IMPLEMENTED=true | ||
| 293 | LC_MONETARY_IMPLEMENTED=true | ||
| 294 | ;; | ||
| 295 | esac | ||
| 296 | AC_SUBST([LC_COLLATE_IMPLEMENTED]) | ||
| 297 | AC_SUBST([LC_NUMERIC_IMPLEMENTED]) | ||
| 298 | AC_SUBST([LC_TIME_IMPLEMENTED]) | ||
| 299 | AC_SUBST([LC_MONETARY_IMPLEMENTED]) | ||
| 253 | ]) | 300 | ]) |
diff --git a/m4/warnings.m4 b/m4/warnings.m4 index 1a3107f846d..9433cb523bf 100644 --- a/m4/warnings.m4 +++ b/m4/warnings.m4 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # warnings.m4 serial 18 | 1 | # warnings.m4 serial 19 |
| 2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-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, |
| @@ -81,12 +81,14 @@ AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL], | |||
| 81 | # gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS/WARN_CXXFLAGS], | 81 | # gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS/WARN_CXXFLAGS], |
| 82 | # [PROGRAM = AC_LANG_PROGRAM()]) | 82 | # [PROGRAM = AC_LANG_PROGRAM()]) |
| 83 | # ----------------------------------------------------------- | 83 | # ----------------------------------------------------------- |
| 84 | # Adds parameter to WARN_CFLAGS/WARN_CXXFLAGS if the compiler supports it | 84 | # Adds OPTION to VARIABLE (which defaults to WARN_CFLAGS or WARN_CXXFLAGS) |
| 85 | # when compiling PROGRAM. For example, gl_WARN_ADD([-Wparentheses]). | 85 | # if the compiler supports it when compiling PROGRAM. |
| 86 | # | 86 | # |
| 87 | # If VARIABLE is a variable name, AC_SUBST it. | 87 | # If VARIABLE is a variable name, AC_SUBST it. |
| 88 | # | 88 | # |
| 89 | # The effects of this macro depend on the current language (_AC_LANG). | 89 | # The effects of this macro depend on the current language (_AC_LANG). |
| 90 | # | ||
| 91 | # Example: gl_WARN_ADD([-Wparentheses]). | ||
| 90 | AC_DEFUN([gl_WARN_ADD], | 92 | AC_DEFUN([gl_WARN_ADD], |
| 91 | [AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS(]_AC_LANG[)]) | 93 | [AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS(]_AC_LANG[)]) |
| 92 | gl_COMPILER_OPTION_IF([$1], | 94 | gl_COMPILER_OPTION_IF([$1], |
| @@ -123,7 +125,12 @@ AC_DEFUN([gl_CC_INHIBIT_WARNINGS], | |||
| 123 | ]) | 125 | ]) |
| 124 | case "$gl_cv_cc_winhibit" in | 126 | case "$gl_cv_cc_winhibit" in |
| 125 | none) GL_CFLAG_INHIBIT_WARNINGS='' ;; | 127 | none) GL_CFLAG_INHIBIT_WARNINGS='' ;; |
| 126 | *) GL_CFLAG_INHIBIT_WARNINGS="$gl_cv_cc_winhibit" ;; | 128 | *) |
| 129 | GL_CFLAG_INHIBIT_WARNINGS="$gl_cv_cc_winhibit" | ||
| 130 | dnl If all warnings are inhibited, there's no point in having the GCC | ||
| 131 | dnl analyzer enabled. This saves RAM requirements and CPU consumption. | ||
| 132 | gl_WARN_ADD([-fno-analyzer], [GL_CFLAG_INHIBIT_WARNINGS]) | ||
| 133 | ;; | ||
| 127 | esac | 134 | esac |
| 128 | AC_SUBST([GL_CFLAG_INHIBIT_WARNINGS]) | 135 | AC_SUBST([GL_CFLAG_INHIBIT_WARNINGS]) |
| 129 | ]) | 136 | ]) |
| @@ -150,7 +157,12 @@ AC_DEFUN([gl_CXX_INHIBIT_WARNINGS], | |||
| 150 | ]) | 157 | ]) |
| 151 | case "$gl_cv_cxx_winhibit" in | 158 | case "$gl_cv_cxx_winhibit" in |
| 152 | none) GL_CXXFLAG_INHIBIT_WARNINGS='' ;; | 159 | none) GL_CXXFLAG_INHIBIT_WARNINGS='' ;; |
| 153 | *) GL_CXXFLAG_INHIBIT_WARNINGS="$gl_cv_cxx_winhibit" ;; | 160 | *) |
| 161 | GL_CXXFLAG_INHIBIT_WARNINGS="$gl_cv_cxx_winhibit" | ||
| 162 | dnl If all warnings are inhibited, there's no point in having the GCC | ||
| 163 | dnl analyzer enabled. This saves RAM requirements and CPU consumption. | ||
| 164 | gl_WARN_ADD([-fno-analyzer], [GL_CXXFLAG_INHIBIT_WARNINGS]) | ||
| 165 | ;; | ||
| 154 | esac | 166 | esac |
| 155 | else | 167 | else |
| 156 | GL_CXXFLAG_INHIBIT_WARNINGS='' | 168 | GL_CXXFLAG_INHIBIT_WARNINGS='' |