more documentation updates; fix two issues when displaying readline completions; fix another use-after-free error with readline undo lists

This commit is contained in:
Chet Ramey
2024-12-13 09:51:46 -05:00
parent 5b239ebbd2
commit bb56d620e0
31 changed files with 38385 additions and 2136 deletions
+12
View File
@@ -82,6 +82,9 @@ aa. Fixes for the Makefiles to simplify, remove some unused variables, and
bb. Fix for the `exec' builtin to avoid duplicate error messages.
cc. `printf' now warns if there are no valid characters at all in an integer
argument.
2. Changes to Readline
a. Make sure the bracketed-paste input buffer is null-terminated when read
@@ -105,6 +108,12 @@ g. Fix off-by-one error when tokenizing words like $((expr)) while performing
h. Fixes for incremental searches and redisplay in the C locale.
i. Fixes for some use-after-free of the undo list errors when stacking multiple
commands that use rl_maybe_replace_line to save changes to a history entry.
j. Fixes to ensure that completion-prefix-display-length and
colored-completion-prefix are mutually exclusive.
3. New Features in Bash
a. MULTIPLE_COPROCS is now enabled by default.
@@ -168,6 +177,9 @@ b. New `force-meta-prefix' bindable variable, which forces the use of ESC as
c. The default value for `readline-colored-completion-prefix' no longer has a
leading `.'; the original report was based on a misunderstanding.
d. There is a new bindable command, `export-completions', which writes the
possible completions for a word to the standard output in a defined format.
------------------------------------------------------------------------------
This document details the changes between this version, bash-5.3-alpha, and
the previous version, bash-5.2-release.
+12
View File
@@ -82,6 +82,9 @@ aa. Fixes for the Makefiles to simplify, remove some unused variables, and
bb. Fix for the `exec' builtin to avoid duplicate error messages.
cc. `printf' now warns if there are no valid characters at all in an integer
argument.
2. Changes to Readline
a. Make sure the bracketed-paste input buffer is null-terminated when read
@@ -105,6 +108,12 @@ g. Fix off-by-one error when tokenizing words like $((expr)) while performing
h. Fixes for incremental searches and redisplay in the C locale.
i. Fixes for some use-after-free of the undo list errors when stacking multiple
commands that use rl_maybe_replace_line to save changes to a history entry.
j. Fixes to ensure that completion-prefix-display-length and
colored-completion-prefix are mutually exclusive.
3. New Features in Bash
a. MULTIPLE_COPROCS is now enabled by default.
@@ -168,6 +177,9 @@ b. New `force-meta-prefix' bindable variable, which forces the use of ESC as
c. The default value for `readline-colored-completion-prefix' no longer has a
leading `.'; the original report was based on a misunderstanding.
d. There is a new bindable command, `export-completions', which writes the
possible completions for a word to the standard output in a defined format.
------------------------------------------------------------------------------
This document details the changes between this version, bash-5.3-alpha, and
the previous version, bash-5.2-release.
+31
View File
@@ -10741,3 +10741,34 @@ lib/readline/doc/rluser.texi
- updates for active voice, future tense, formatting and fonts, edits
to Programmable Completion
Suggestions from G. Branden Robinson <g.branden.robinson@gmail.com>
12/10
-----
lib/readline/complete.c
- fnprint: make sure _rl_completion_prefix_display_length and
_rl_colored_completion_prefix are mutually exclusive, since the
callers assume they are.
bashline.c
- bash_default_completion: if we're trying to complete a glob pattern,
and rl_completion_type is '?', tell readline not to append a slash
if the pattern ends in one.
doc/bash.1,lib/readline/doc/readline.3,lib/readline/doc/rluser.texi
- completion-prefix-display-length: note that readline uses `___'
instead of an ellipsis if the filename begins with a period
All reported by Frederick Abell <fkabell3@hotmail.com>
doc/bash.1,doc/bashref.texi
- PIPESTATUS: enumerate the commands that set PIPESTATUS
From a report by Ulrich Müller <ulm@gentoo.org>
lib/readline/isearch.c
- _rl_isearch_init: change to call _rl_maybe_replace_line with arg
of 1 so rl_undo_list gets cleared (see change from 12/1)
Report from Grisha Levit <grishalevit@gmail.com>
12/13
-----
CHANGES,NEWS
- updated for bash-5.3-beta
+3
View File
@@ -184,6 +184,9 @@ k. New `force-meta-prefix' bindable variable, which forces the use of ESC as
l. The default value for `readline-colored-completion-prefix' no longer has a
leading `.'; the original report was based on a misunderstanding.
m. There is a new bindable command, `export-completions', which writes the
possible completions for a word to the standard output in a defined format.
-------------------------------------------------------------------------------
This is a terse description of the new features added to bash-5.2 since
the release of bash-5.1. As always, the manual page (doc/bash.1) is
+3
View File
@@ -183,3 +183,6 @@ k. New `force-meta-prefix' bindable variable, which forces the use of ESC as
l. The default value for `readline-colored-completion-prefix' no longer has a
leading `.'; the original report was based on a misunderstanding.
m. There is a new bindable command, `export-completions', which writes the
possible completions for a word to the standard output in a defined format.
+1 -1
View File
@@ -16,7 +16,7 @@ from the POSIX spec and a description of the Bash `posix mode'.
There are some user-visible incompatibilities between this version
of Bash and previous widely-distributed versions, bash-5.0, bash-5.1,
and bash-5.2. For details, see the file COMPAT. The NEWS file tersely
and bash-5.2. The COMPAT file has the details. The NEWS file tersely
lists features that are new in this release.
Bash is free software, distributed under the terms of the [GNU] General
+11 -1
View File
@@ -1933,11 +1933,21 @@ bash_default_completion (const char *text, int start, int end, int qc, int compf
strvec_dispose (matches);
matches = (char **)0;
}
else if (matches && matches[1] && rl_completion_type == '!')
else if (matches && matches[1] && (rl_completion_type == '!' || rl_completion_type == '@'))
{
rl_completion_suppress_append = 1;
rl_filename_completion_desired = 0;
}
else if (matches && matches[1] && rl_completion_type == '?')
{
size_t ind;
ind = (end > start) ? end - start - 1 : 0;
if (text[ind] == '/')
{
rl_completion_suppress_append = 1;
rl_filename_completion_desired = 0;
}
}
}
return (matches);
+1601 -1595
View File
File diff suppressed because it is too large Load Diff
+20 -3
View File
@@ -5,7 +5,7 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Fri Nov 29 18:17:43 EST 2024
.\" Last Change: Thu Dec 12 13:37:07 EST 2024
.\"
.\" bash_builtins, strip all but Builtins section
.\"
@@ -17,7 +17,7 @@
.ds zY \" empty
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2024 November 29" "GNU Bash 5.3"
.TH BASH 1 "2024 December 12" "GNU Bash 5.3"
.\"
.ie \n(.g \{\
.ds ' \(aq
@@ -2116,13 +2116,27 @@ The default is system-dependent.
.B PIPESTATUS
An array variable (see
.B Arrays
below) containing a list of exit status values from the processes
below) containing a list of exit status values from the commands
in the most-recently-executed foreground pipeline, which may
consist of only a simple command
(see
.SM
.B "SHELL GRAMMAR"
above).
\fBBash\fP sets
.SM
.B PIPESTATUS
after executing multi-element pipelines,
timed and negated pipelines,
simple commands,
subshells created with the ( operator,
the
.B [[
and
.B ((
compound commands, and
after error conditions that result in the
shell aborting command execution.
.TP
.B PPID
The process ID of the shell's parent.
@@ -6803,6 +6817,9 @@ completions that is displayed without modification.
When set to a value greater than zero, \fBreadline\fP
replaces common prefixes longer than this value
with an ellipsis when displaying possible completions.
If a completion begins with a period,
and \fBeadline\fP is completing filenames,
it uses three underscores instead of an ellipsis.
.TP
.B completion\-query\-items (100)
This determines when the user is queried about viewing
+25 -5
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 November 29<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 December 12<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -2679,7 +2679,7 @@ The default is system-dependent.
An array variable (see
<B>Arrays</B>
below) containing a list of exit status values from the processes
below) containing a list of exit status values from the commands
in the most-recently-executed foreground pipeline, which may
consist of only a simple command
(see
@@ -2687,6 +2687,23 @@ consist of only a simple command
</FONT>
above).
<B>Bash</B> sets
<FONT SIZE=-1><B>PIPESTATUS</B>
</FONT>
after executing multi-element pipelines,
timed and negated pipelines,
simple commands,
subshells created with the ( operator,
the
<B>[[</B>
and
<B>((</B>
compound commands, and
after error conditions that result in the
shell aborting command execution.
<DT><B>PPID</B>
<DD>
@@ -8625,6 +8642,9 @@ completions that is displayed without modification.
When set to a value greater than zero, <B>readline</B>
replaces common prefixes longer than this value
with an ellipsis when displaying possible completions.
If a completion begins with a period,
and <B>eadline</B> is completing filenames,
it uses three underscores instead of an ellipsis.
<DT><B>completion-query-items (100)</B>
<DD>
@@ -16566,7 +16586,7 @@ Array variables may not (yet) be exported.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 November 29<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 December 12<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -16675,7 +16695,7 @@ Array variables may not (yet) be exported.
<DT><A HREF="#lbDJ">BUGS</A><DD>
</DL>
<HR>
This document was created by man2html from /usr/local/src/bash/bash-20241126/doc/bash.1.<BR>
Time: 07 December 2024 09:58:26 PST
This document was created by man2html from /usr/local/src/bash/bash-20241207/doc/bash.1.<BR>
Time: 12 December 2024 13:38:21 EST
</BODY>
</HTML>
+141 -135
View File
@@ -1,9 +1,9 @@
This is bash.info, produced by makeinfo version 7.1 from bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 29 November 2024).
Bash shell (version 5.3, 12 December 2024).
This is Edition 5.3, last updated 29 November 2024, of The GNU Bash
This is Edition 5.3, last updated 12 December 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Copyright © 1988-2024 Free Software Foundation, Inc.
@@ -26,10 +26,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 29 November 2024). The Bash home page is
Bash shell (version 5.3, 12 December 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 29 November 2024, of The GNU Bash
This is Edition 5.3, last updated 12 December 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -6200,9 +6200,13 @@ Variables::).
PIPESTATUS
An array variable (*note Arrays::) containing a list of exit status
values from the processes in the most-recently-executed foreground
values from the commands in the most-recently-executed foreground
pipeline, which may consist of only a simple command (*note Shell
Commands::).
Commands::). Bash sets PIPESTATUS after executing multi-element
pipelines, timed and negated pipelines, simple commands, subshells
created with the ( operator, the [[ and (( compound commands,
and after error conditions that result in the shell aborting
command execution.
POSIXLY_CORRECT
If this variable is in the environment when Bash starts, the shell
@@ -8825,7 +8829,9 @@ Variable Settings
list of possible completions that is displayed without
modification. When set to a value greater than zero, Readline
replaces common prefixes longer than this value with an
ellipsis when displaying possible completions.
ellipsis when displaying possible completions. If a
completion begins with a period, and Readline is completing
filenames, it uses three underscores instead of an ellipsis.
completion-query-items
The number of possible completions that determines when the
@@ -12953,40 +12959,40 @@ D.3 Parameter and Variable Index
* completion-prefix-display-length: Readline Init File Syntax.
(line 122)
* completion-query-items: Readline Init File Syntax.
(line 129)
(line 131)
* COMPREPLY: Bash Variables. (line 277)
* convert-meta: Readline Init File Syntax.
(line 140)
(line 142)
* COPROC: Bash Variables. (line 283)
* DIRSTACK: Bash Variables. (line 287)
* disable-completion: Readline Init File Syntax.
(line 152)
(line 154)
* echo-control-characters: Readline Init File Syntax.
(line 157)
(line 159)
* editing-mode: Readline Init File Syntax.
(line 162)
(line 164)
* EMACS: Bash Variables. (line 297)
* emacs-mode-string: Readline Init File Syntax.
(line 168)
(line 170)
* enable-active-region The: Readline Init File Syntax.
(line 178)
(line 180)
* enable-bracketed-paste: Readline Init File Syntax.
(line 191)
(line 193)
* enable-keypad: Readline Init File Syntax.
(line 200)
(line 202)
* enable-meta-key: Readline Init File Syntax.
(line 205)
(line 207)
* ENV: Bash Variables. (line 302)
* EPOCHREALTIME: Bash Variables. (line 307)
* EPOCHSECONDS: Bash Variables. (line 315)
* EUID: Bash Variables. (line 322)
* EXECIGNORE: Bash Variables. (line 326)
* expand-tilde: Readline Init File Syntax.
(line 215)
(line 217)
* FCEDIT: Bash Variables. (line 338)
* FIGNORE: Bash Variables. (line 341)
* force-meta-prefix: Readline Init File Syntax.
(line 219)
(line 221)
* FUNCNAME: Bash Variables. (line 347)
* FUNCNEST: Bash Variables. (line 364)
* GLOBIGNORE: Bash Variables. (line 369)
@@ -12999,15 +13005,15 @@ D.3 Parameter and Variable Index
* HISTFILESIZE: Bash Variables. (line 465)
* HISTIGNORE: Bash Variables. (line 476)
* history-preserve-point: Readline Init File Syntax.
(line 232)
(line 234)
* history-size: Readline Init File Syntax.
(line 238)
(line 240)
* HISTSIZE: Bash Variables. (line 500)
* HISTTIMEFORMAT: Bash Variables. (line 507)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 248)
(line 250)
* HOSTFILE: Bash Variables. (line 516)
* HOSTNAME: Bash Variables. (line 527)
* HOSTTYPE: Bash Variables. (line 530)
@@ -13015,13 +13021,13 @@ D.3 Parameter and Variable Index
(line 18)
* IGNOREEOF: Bash Variables. (line 533)
* input-meta: Readline Init File Syntax.
(line 256)
(line 258)
* INPUTRC: Bash Variables. (line 542)
* INSIDE_EMACS: Bash Variables. (line 546)
* isearch-terminators: Readline Init File Syntax.
(line 267)
(line 269)
* keymap: Readline Init File Syntax.
(line 274)
(line 276)
* LANG: Creating Internationalized Scripts.
(line 51)
* LANG <1>: Bash Variables. (line 552)
@@ -13043,15 +13049,15 @@ D.3 Parameter and Variable Index
(line 29)
* MAPFILE: Bash Variables. (line 609)
* mark-modified-lines: Readline Init File Syntax.
(line 304)
(line 306)
* mark-symlinked-directories: Readline Init File Syntax.
(line 309)
(line 311)
* match-hidden-files: Readline Init File Syntax.
(line 314)
(line 316)
* menu-complete-display-prefix: Readline Init File Syntax.
(line 321)
(line 323)
* meta-flag: Readline Init File Syntax.
(line 256)
(line 258)
* OLDPWD: Bash Variables. (line 613)
* OPTARG: Bourne Shell Variables.
(line 36)
@@ -13060,61 +13066,61 @@ D.3 Parameter and Variable Index
(line 40)
* OSTYPE: Bash Variables. (line 621)
* output-meta: Readline Init File Syntax.
(line 326)
(line 328)
* page-completions: Readline Init File Syntax.
(line 335)
(line 337)
* PATH: Bourne Shell Variables.
(line 44)
* PIPESTATUS: Bash Variables. (line 624)
* POSIXLY_CORRECT: Bash Variables. (line 630)
* PPID: Bash Variables. (line 640)
* PROMPT_COMMAND: Bash Variables. (line 644)
* PROMPT_DIRTRIM: Bash Variables. (line 650)
* PS0: Bash Variables. (line 656)
* POSIXLY_CORRECT: Bash Variables. (line 634)
* PPID: Bash Variables. (line 644)
* PROMPT_COMMAND: Bash Variables. (line 648)
* PROMPT_DIRTRIM: Bash Variables. (line 654)
* PS0: Bash Variables. (line 660)
* PS1: Bourne Shell Variables.
(line 53)
* PS2: Bourne Shell Variables.
(line 58)
* PS3: Bash Variables. (line 661)
* PS4: Bash Variables. (line 666)
* PWD: Bash Variables. (line 674)
* RANDOM: Bash Variables. (line 677)
* READLINE_ARGUMENT: Bash Variables. (line 685)
* READLINE_LINE: Bash Variables. (line 689)
* READLINE_MARK: Bash Variables. (line 693)
* READLINE_POINT: Bash Variables. (line 699)
* REPLY: Bash Variables. (line 703)
* PS3: Bash Variables. (line 665)
* PS4: Bash Variables. (line 670)
* PWD: Bash Variables. (line 678)
* RANDOM: Bash Variables. (line 681)
* READLINE_ARGUMENT: Bash Variables. (line 689)
* READLINE_LINE: Bash Variables. (line 693)
* READLINE_MARK: Bash Variables. (line 697)
* READLINE_POINT: Bash Variables. (line 703)
* REPLY: Bash Variables. (line 707)
* revert-all-at-newline: Readline Init File Syntax.
(line 348)
(line 350)
* search-ignore-case: Readline Init File Syntax.
(line 355)
* SECONDS: Bash Variables. (line 707)
* SHELL: Bash Variables. (line 717)
* SHELLOPTS: Bash Variables. (line 722)
* SHLVL: Bash Variables. (line 731)
(line 357)
* SECONDS: Bash Variables. (line 711)
* SHELL: Bash Variables. (line 721)
* SHELLOPTS: Bash Variables. (line 726)
* SHLVL: Bash Variables. (line 735)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 360)
(line 362)
* show-all-if-unmodified: Readline Init File Syntax.
(line 366)
(line 368)
* show-mode-in-prompt: Readline Init File Syntax.
(line 375)
(line 377)
* skip-completed-text: Readline Init File Syntax.
(line 381)
* SRANDOM: Bash Variables. (line 736)
(line 383)
* SRANDOM: Bash Variables. (line 740)
* TEXTDOMAIN: Creating Internationalized Scripts.
(line 51)
* TEXTDOMAINDIR: Creating Internationalized Scripts.
(line 51)
* TIMEFORMAT: Bash Variables. (line 745)
* TMOUT: Bash Variables. (line 784)
* TMPDIR: Bash Variables. (line 796)
* UID: Bash Variables. (line 800)
* TIMEFORMAT: Bash Variables. (line 749)
* TMOUT: Bash Variables. (line 788)
* TMPDIR: Bash Variables. (line 800)
* UID: Bash Variables. (line 804)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 394)
(line 396)
* vi-ins-mode-string: Readline Init File Syntax.
(line 405)
(line 407)
* visible-stats: Readline Init File Syntax.
(line 416)
(line 418)

File: bash.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
@@ -13564,77 +13570,77 @@ Node: Special Builtins244422
Node: Shell Variables245411
Node: Bourne Shell Variables245845
Node: Bash Variables248353
Node: Bash Features286744
Node: Invoking Bash287758
Node: Bash Startup Files294184
Node: Interactive Shells299426
Node: What is an Interactive Shell?299834
Node: Is this Shell Interactive?300496
Node: Interactive Shell Behavior301320
Node: Bash Conditional Expressions305081
Node: Shell Arithmetic310292
Node: Aliases313621
Node: Arrays316755
Node: The Directory Stack323839
Node: Directory Stack Builtins324636
Node: Controlling the Prompt329081
Node: The Restricted Shell331966
Node: Bash POSIX Mode334848
Node: Shell Compatibility Mode352910
Node: Job Control361917
Node: Job Control Basics362374
Node: Job Control Builtins368652
Node: Job Control Variables375334
Node: Command Line Editing376565
Node: Introduction and Notation378268
Node: Readline Interaction380620
Node: Readline Bare Essentials381808
Node: Readline Movement Commands383616
Node: Readline Killing Commands384612
Node: Readline Arguments386635
Node: Searching387692
Node: Readline Init File389935
Node: Readline Init File Syntax391238
Node: Conditional Init Constructs417921
Node: Sample Init File422306
Node: Bindable Readline Commands425427
Node: Commands For Moving426965
Node: Commands For History429333
Node: Commands For Text434723
Node: Commands For Killing438848
Node: Numeric Arguments441636
Node: Commands For Completion442788
Node: Keyboard Macros448484
Node: Miscellaneous Commands449185
Node: Readline vi Mode455745
Node: Programmable Completion456722
Node: Programmable Completion Builtins465459
Node: A Programmable Completion Example477196
Node: Using History Interactively482541
Node: Bash History Facilities483222
Node: Bash History Builtins486957
Node: History Interaction493428
Node: Event Designators498378
Node: Word Designators499956
Node: Modifiers502260
Node: Installing Bash504197
Node: Basic Installation505313
Node: Compilers and Options509189
Node: Compiling For Multiple Architectures509939
Node: Installation Names511692
Node: Specifying the System Type513926
Node: Sharing Defaults514672
Node: Operation Controls515386
Node: Optional Features516405
Node: Reporting Bugs528785
Node: Major Differences From The Bourne Shell530143
Node: GNU Free Documentation License551563
Node: Indexes576740
Node: Builtin Index577191
Node: Reserved Word Index584289
Node: Variable Index586734
Node: Function Index604147
Node: Concept Index618142
Node: Bash Features287048
Node: Invoking Bash288062
Node: Bash Startup Files294488
Node: Interactive Shells299730
Node: What is an Interactive Shell?300138
Node: Is this Shell Interactive?300800
Node: Interactive Shell Behavior301624
Node: Bash Conditional Expressions305385
Node: Shell Arithmetic310596
Node: Aliases313925
Node: Arrays317059
Node: The Directory Stack324143
Node: Directory Stack Builtins324940
Node: Controlling the Prompt329385
Node: The Restricted Shell332270
Node: Bash POSIX Mode335152
Node: Shell Compatibility Mode353214
Node: Job Control362221
Node: Job Control Basics362678
Node: Job Control Builtins368956
Node: Job Control Variables375638
Node: Command Line Editing376869
Node: Introduction and Notation378572
Node: Readline Interaction380924
Node: Readline Bare Essentials382112
Node: Readline Movement Commands383920
Node: Readline Killing Commands384916
Node: Readline Arguments386939
Node: Searching387996
Node: Readline Init File390239
Node: Readline Init File Syntax391542
Node: Conditional Init Constructs418372
Node: Sample Init File422757
Node: Bindable Readline Commands425878
Node: Commands For Moving427416
Node: Commands For History429784
Node: Commands For Text435174
Node: Commands For Killing439299
Node: Numeric Arguments442087
Node: Commands For Completion443239
Node: Keyboard Macros448935
Node: Miscellaneous Commands449636
Node: Readline vi Mode456196
Node: Programmable Completion457173
Node: Programmable Completion Builtins465910
Node: A Programmable Completion Example477647
Node: Using History Interactively482992
Node: Bash History Facilities483673
Node: Bash History Builtins487408
Node: History Interaction493879
Node: Event Designators498829
Node: Word Designators500407
Node: Modifiers502711
Node: Installing Bash504648
Node: Basic Installation505764
Node: Compilers and Options509640
Node: Compiling For Multiple Architectures510390
Node: Installation Names512143
Node: Specifying the System Type514377
Node: Sharing Defaults515123
Node: Operation Controls515837
Node: Optional Features516856
Node: Reporting Bugs529236
Node: Major Differences From The Bourne Shell530594
Node: GNU Free Documentation License552014
Node: Indexes577191
Node: Builtin Index577642
Node: Reserved Word Index584740
Node: Variable Index587185
Node: Function Index604598
Node: Concept Index618593

End Tag Table
BIN
View File
Binary file not shown.
+11678
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+21 -5
View File
@@ -4,9 +4,9 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This text is a brief description of the features that are present in
the Bash shell (version 5.3, 29 November 2024).
the Bash shell (version 5.3, 12 December 2024).
This is Edition 5.3, last updated 29 November 2024,
This is Edition 5.3, last updated 12 December 2024,
of The GNU Bash Reference Manual,
for Bash, Version 5.3.
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<h1 class="top" id="Bash-Features-1"><span>Bash Features<a class="copiable-link" href="#Bash-Features-1"> &para;</a></span></h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 5.3, 29 November 2024).
the Bash shell (version 5.3, 12 December 2024).
The Bash home page is <a class="url" href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 5.3, last updated 29 November 2024,
<p>This is Edition 5.3, last updated 12 December 2024,
of <cite class="cite">The GNU Bash Reference Manual</cite>,
for <code class="code">Bash</code>, Version 5.3.
</p>
@@ -8180,10 +8180,23 @@ is initialized to 1 each time the shell is invoked.
</dd>
<dt><a id="index-PIPESTATUS"></a><span><code class="code">PIPESTATUS</code><a class="copiable-link" href="#index-PIPESTATUS"> &para;</a></span></dt>
<dd><p>An array variable (see <a class="pxref" href="#Arrays">Arrays</a>)
containing a list of exit status values from the processes
containing a list of exit status values from the commands
in the most-recently-executed foreground pipeline, which may
consist of only a simple command
(see <a class="pxref" href="#Shell-Commands">Shell Commands</a>).
Bash sets
<code class="code">PIPESTATUS</code>
after executing multi-element pipelines,
timed and negated pipelines,
simple commands,
subshells created with the &lsquo;<samp class="samp">(</samp>&rsquo; operator,
the
<code class="code">[[</code>
and
<code class="code">((</code>
compound commands, and
after error conditions that result in the
shell aborting command execution.
</p>
</dd>
<dt><a id="index-POSIXLY_005fCORRECT"></a><span><code class="code">POSIXLY_CORRECT</code><a class="copiable-link" href="#index-POSIXLY_005fCORRECT"> &para;</a></span></dt>
@@ -11549,6 +11562,9 @@ completions that is displayed without modification.
When set to a value greater than zero, Readline
replaces common prefixes longer than this value
with an ellipsis when displaying possible completions.
If a completion begins with a period,
and Readline is completing filenames,
it uses three underscores instead of an ellipsis.
</p>
</dd>
<dt><a id="index-completion_002dquery_002ditems"></a><span><code class="code">completion-query-items</code><a class="copiable-link" href="#index-completion_002dquery_002ditems"> &para;</a></span></dt>
+141 -135
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 7.1 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 29 November 2024).
Bash shell (version 5.3, 12 December 2024).
This is Edition 5.3, last updated 29 November 2024, of The GNU Bash
This is Edition 5.3, last updated 12 December 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Copyright © 1988-2024 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 29 November 2024). The Bash home page is
Bash shell (version 5.3, 12 December 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 29 November 2024, of The GNU Bash
This is Edition 5.3, last updated 12 December 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -6201,9 +6201,13 @@ Variables::).
PIPESTATUS
An array variable (*note Arrays::) containing a list of exit status
values from the processes in the most-recently-executed foreground
values from the commands in the most-recently-executed foreground
pipeline, which may consist of only a simple command (*note Shell
Commands::).
Commands::). Bash sets PIPESTATUS after executing multi-element
pipelines, timed and negated pipelines, simple commands, subshells
created with the ( operator, the [[ and (( compound commands,
and after error conditions that result in the shell aborting
command execution.
POSIXLY_CORRECT
If this variable is in the environment when Bash starts, the shell
@@ -8826,7 +8830,9 @@ Variable Settings
list of possible completions that is displayed without
modification. When set to a value greater than zero, Readline
replaces common prefixes longer than this value with an
ellipsis when displaying possible completions.
ellipsis when displaying possible completions. If a
completion begins with a period, and Readline is completing
filenames, it uses three underscores instead of an ellipsis.
completion-query-items
The number of possible completions that determines when the
@@ -12954,40 +12960,40 @@ D.3 Parameter and Variable Index
* completion-prefix-display-length: Readline Init File Syntax.
(line 122)
* completion-query-items: Readline Init File Syntax.
(line 129)
(line 131)
* COMPREPLY: Bash Variables. (line 277)
* convert-meta: Readline Init File Syntax.
(line 140)
(line 142)
* COPROC: Bash Variables. (line 283)
* DIRSTACK: Bash Variables. (line 287)
* disable-completion: Readline Init File Syntax.
(line 152)
(line 154)
* echo-control-characters: Readline Init File Syntax.
(line 157)
(line 159)
* editing-mode: Readline Init File Syntax.
(line 162)
(line 164)
* EMACS: Bash Variables. (line 297)
* emacs-mode-string: Readline Init File Syntax.
(line 168)
(line 170)
* enable-active-region The: Readline Init File Syntax.
(line 178)
(line 180)
* enable-bracketed-paste: Readline Init File Syntax.
(line 191)
(line 193)
* enable-keypad: Readline Init File Syntax.
(line 200)
(line 202)
* enable-meta-key: Readline Init File Syntax.
(line 205)
(line 207)
* ENV: Bash Variables. (line 302)
* EPOCHREALTIME: Bash Variables. (line 307)
* EPOCHSECONDS: Bash Variables. (line 315)
* EUID: Bash Variables. (line 322)
* EXECIGNORE: Bash Variables. (line 326)
* expand-tilde: Readline Init File Syntax.
(line 215)
(line 217)
* FCEDIT: Bash Variables. (line 338)
* FIGNORE: Bash Variables. (line 341)
* force-meta-prefix: Readline Init File Syntax.
(line 219)
(line 221)
* FUNCNAME: Bash Variables. (line 347)
* FUNCNEST: Bash Variables. (line 364)
* GLOBIGNORE: Bash Variables. (line 369)
@@ -13000,15 +13006,15 @@ D.3 Parameter and Variable Index
* HISTFILESIZE: Bash Variables. (line 465)
* HISTIGNORE: Bash Variables. (line 476)
* history-preserve-point: Readline Init File Syntax.
(line 232)
(line 234)
* history-size: Readline Init File Syntax.
(line 238)
(line 240)
* HISTSIZE: Bash Variables. (line 500)
* HISTTIMEFORMAT: Bash Variables. (line 507)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 248)
(line 250)
* HOSTFILE: Bash Variables. (line 516)
* HOSTNAME: Bash Variables. (line 527)
* HOSTTYPE: Bash Variables. (line 530)
@@ -13016,13 +13022,13 @@ D.3 Parameter and Variable Index
(line 18)
* IGNOREEOF: Bash Variables. (line 533)
* input-meta: Readline Init File Syntax.
(line 256)
(line 258)
* INPUTRC: Bash Variables. (line 542)
* INSIDE_EMACS: Bash Variables. (line 546)
* isearch-terminators: Readline Init File Syntax.
(line 267)
(line 269)
* keymap: Readline Init File Syntax.
(line 274)
(line 276)
* LANG: Creating Internationalized Scripts.
(line 51)
* LANG <1>: Bash Variables. (line 552)
@@ -13044,15 +13050,15 @@ D.3 Parameter and Variable Index
(line 29)
* MAPFILE: Bash Variables. (line 609)
* mark-modified-lines: Readline Init File Syntax.
(line 304)
(line 306)
* mark-symlinked-directories: Readline Init File Syntax.
(line 309)
(line 311)
* match-hidden-files: Readline Init File Syntax.
(line 314)
(line 316)
* menu-complete-display-prefix: Readline Init File Syntax.
(line 321)
(line 323)
* meta-flag: Readline Init File Syntax.
(line 256)
(line 258)
* OLDPWD: Bash Variables. (line 613)
* OPTARG: Bourne Shell Variables.
(line 36)
@@ -13061,61 +13067,61 @@ D.3 Parameter and Variable Index
(line 40)
* OSTYPE: Bash Variables. (line 621)
* output-meta: Readline Init File Syntax.
(line 326)
(line 328)
* page-completions: Readline Init File Syntax.
(line 335)
(line 337)
* PATH: Bourne Shell Variables.
(line 44)
* PIPESTATUS: Bash Variables. (line 624)
* POSIXLY_CORRECT: Bash Variables. (line 630)
* PPID: Bash Variables. (line 640)
* PROMPT_COMMAND: Bash Variables. (line 644)
* PROMPT_DIRTRIM: Bash Variables. (line 650)
* PS0: Bash Variables. (line 656)
* POSIXLY_CORRECT: Bash Variables. (line 634)
* PPID: Bash Variables. (line 644)
* PROMPT_COMMAND: Bash Variables. (line 648)
* PROMPT_DIRTRIM: Bash Variables. (line 654)
* PS0: Bash Variables. (line 660)
* PS1: Bourne Shell Variables.
(line 53)
* PS2: Bourne Shell Variables.
(line 58)
* PS3: Bash Variables. (line 661)
* PS4: Bash Variables. (line 666)
* PWD: Bash Variables. (line 674)
* RANDOM: Bash Variables. (line 677)
* READLINE_ARGUMENT: Bash Variables. (line 685)
* READLINE_LINE: Bash Variables. (line 689)
* READLINE_MARK: Bash Variables. (line 693)
* READLINE_POINT: Bash Variables. (line 699)
* REPLY: Bash Variables. (line 703)
* PS3: Bash Variables. (line 665)
* PS4: Bash Variables. (line 670)
* PWD: Bash Variables. (line 678)
* RANDOM: Bash Variables. (line 681)
* READLINE_ARGUMENT: Bash Variables. (line 689)
* READLINE_LINE: Bash Variables. (line 693)
* READLINE_MARK: Bash Variables. (line 697)
* READLINE_POINT: Bash Variables. (line 703)
* REPLY: Bash Variables. (line 707)
* revert-all-at-newline: Readline Init File Syntax.
(line 348)
(line 350)
* search-ignore-case: Readline Init File Syntax.
(line 355)
* SECONDS: Bash Variables. (line 707)
* SHELL: Bash Variables. (line 717)
* SHELLOPTS: Bash Variables. (line 722)
* SHLVL: Bash Variables. (line 731)
(line 357)
* SECONDS: Bash Variables. (line 711)
* SHELL: Bash Variables. (line 721)
* SHELLOPTS: Bash Variables. (line 726)
* SHLVL: Bash Variables. (line 735)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 360)
(line 362)
* show-all-if-unmodified: Readline Init File Syntax.
(line 366)
(line 368)
* show-mode-in-prompt: Readline Init File Syntax.
(line 375)
(line 377)
* skip-completed-text: Readline Init File Syntax.
(line 381)
* SRANDOM: Bash Variables. (line 736)
(line 383)
* SRANDOM: Bash Variables. (line 740)
* TEXTDOMAIN: Creating Internationalized Scripts.
(line 51)
* TEXTDOMAINDIR: Creating Internationalized Scripts.
(line 51)
* TIMEFORMAT: Bash Variables. (line 745)
* TMOUT: Bash Variables. (line 784)
* TMPDIR: Bash Variables. (line 796)
* UID: Bash Variables. (line 800)
* TIMEFORMAT: Bash Variables. (line 749)
* TMOUT: Bash Variables. (line 788)
* TMPDIR: Bash Variables. (line 800)
* UID: Bash Variables. (line 804)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 394)
(line 396)
* vi-ins-mode-string: Readline Init File Syntax.
(line 405)
(line 407)
* visible-stats: Readline Init File Syntax.
(line 416)
(line 418)

File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
@@ -13565,77 +13571,77 @@ Node: Special Builtins244596
Node: Shell Variables245588
Node: Bourne Shell Variables246025
Node: Bash Variables248536
Node: Bash Features286930
Node: Invoking Bash287947
Node: Bash Startup Files294376
Node: Interactive Shells299621
Node: What is an Interactive Shell?300032
Node: Is this Shell Interactive?300697
Node: Interactive Shell Behavior301524
Node: Bash Conditional Expressions305288
Node: Shell Arithmetic310502
Node: Aliases313834
Node: Arrays316971
Node: The Directory Stack324058
Node: Directory Stack Builtins324858
Node: Controlling the Prompt329306
Node: The Restricted Shell332194
Node: Bash POSIX Mode335079
Node: Shell Compatibility Mode353144
Node: Job Control362154
Node: Job Control Basics362614
Node: Job Control Builtins368895
Node: Job Control Variables375580
Node: Command Line Editing376814
Node: Introduction and Notation378520
Node: Readline Interaction380875
Node: Readline Bare Essentials382066
Node: Readline Movement Commands383877
Node: Readline Killing Commands384876
Node: Readline Arguments386902
Node: Searching387962
Node: Readline Init File390208
Node: Readline Init File Syntax391514
Node: Conditional Init Constructs418200
Node: Sample Init File422588
Node: Bindable Readline Commands425712
Node: Commands For Moving427253
Node: Commands For History429624
Node: Commands For Text435017
Node: Commands For Killing439145
Node: Numeric Arguments441936
Node: Commands For Completion443091
Node: Keyboard Macros448790
Node: Miscellaneous Commands449494
Node: Readline vi Mode456057
Node: Programmable Completion457037
Node: Programmable Completion Builtins465777
Node: A Programmable Completion Example477517
Node: Using History Interactively482865
Node: Bash History Facilities483549
Node: Bash History Builtins487287
Node: History Interaction493761
Node: Event Designators498714
Node: Word Designators500295
Node: Modifiers502602
Node: Installing Bash504542
Node: Basic Installation505661
Node: Compilers and Options509540
Node: Compiling For Multiple Architectures510293
Node: Installation Names512049
Node: Specifying the System Type514286
Node: Sharing Defaults515035
Node: Operation Controls515752
Node: Optional Features516774
Node: Reporting Bugs529157
Node: Major Differences From The Bourne Shell530518
Node: GNU Free Documentation License551941
Node: Indexes577121
Node: Builtin Index577575
Node: Reserved Word Index584676
Node: Variable Index587124
Node: Function Index604540
Node: Concept Index618538
Node: Bash Features287234
Node: Invoking Bash288251
Node: Bash Startup Files294680
Node: Interactive Shells299925
Node: What is an Interactive Shell?300336
Node: Is this Shell Interactive?301001
Node: Interactive Shell Behavior301828
Node: Bash Conditional Expressions305592
Node: Shell Arithmetic310806
Node: Aliases314138
Node: Arrays317275
Node: The Directory Stack324362
Node: Directory Stack Builtins325162
Node: Controlling the Prompt329610
Node: The Restricted Shell332498
Node: Bash POSIX Mode335383
Node: Shell Compatibility Mode353448
Node: Job Control362458
Node: Job Control Basics362918
Node: Job Control Builtins369199
Node: Job Control Variables375884
Node: Command Line Editing377118
Node: Introduction and Notation378824
Node: Readline Interaction381179
Node: Readline Bare Essentials382370
Node: Readline Movement Commands384181
Node: Readline Killing Commands385180
Node: Readline Arguments387206
Node: Searching388266
Node: Readline Init File390512
Node: Readline Init File Syntax391818
Node: Conditional Init Constructs418651
Node: Sample Init File423039
Node: Bindable Readline Commands426163
Node: Commands For Moving427704
Node: Commands For History430075
Node: Commands For Text435468
Node: Commands For Killing439596
Node: Numeric Arguments442387
Node: Commands For Completion443542
Node: Keyboard Macros449241
Node: Miscellaneous Commands449945
Node: Readline vi Mode456508
Node: Programmable Completion457488
Node: Programmable Completion Builtins466228
Node: A Programmable Completion Example477968
Node: Using History Interactively483316
Node: Bash History Facilities484000
Node: Bash History Builtins487738
Node: History Interaction494212
Node: Event Designators499165
Node: Word Designators500746
Node: Modifiers503053
Node: Installing Bash504993
Node: Basic Installation506112
Node: Compilers and Options509991
Node: Compiling For Multiple Architectures510744
Node: Installation Names512500
Node: Specifying the System Type514737
Node: Sharing Defaults515486
Node: Operation Controls516203
Node: Optional Features517225
Node: Reporting Bugs529608
Node: Major Differences From The Bourne Shell530969
Node: GNU Free Documentation License552392
Node: Indexes577572
Node: Builtin Index578026
Node: Reserved Word Index585127
Node: Variable Index587575
Node: Function Index604991
Node: Concept Index618989

End Tag Table
+32 -57
View File
@@ -1,12 +1,12 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=pdfetex 2024.4.9) 7 DEC 2024 09:58
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=etex 2024.4.9) 13 DEC 2024 09:15
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**\input /usr/local/src/bash/bash-20241126/doc/bashref.texi \input /usr/local/s
rc/bash/bash-20241126/doc/bashref.texi
(/usr/local/src/bash/bash-20241126/doc/bashref.texi
(/usr/local/src/bash/bash-20241126/doc/texinfo.tex
**\nonstopmode \input /usr/local/src/bash/bash-20241207/doc/bashref.texi \input
/usr/local/src/bash/bash-20241207/doc/bashref.texi
(/usr/local/src/bash/bash-20241207/doc/bashref.texi
(/usr/local/src/bash/bash-20241207/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
@@ -162,23 +162,20 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
texinfo.tex: doing @include of version.texi
(/usr/local/src/bash/bash-20241126/doc/version.texi) [1{/opt/local/var/db/texmf
/fonts/map/pdftex/updmap/pdftex.map}] [2]
(/usr/local/build/bash/bash-20241126/doc/bashref.toc [-1] [-2] [-3]) [-4]
(/usr/local/build/bash/bash-20241126/doc/bashref.toc)
(/usr/local/build/bash/bash-20241126/doc/bashref.toc) Chapter 1
(/usr/local/src/bash/bash-20241207/doc/version.texi) [1] [2]
(/usr/local/build/bash/bash-20241207/doc/bashref.toc [-1] [-2] [-3]) [-4]
Chapter 1
\openout0 = `bashref.toc'.
(/usr/local/build/bash/bash-20241126/doc/bashref.aux)
(/usr/local/build/bash/bash-20241207/doc/bashref.aux)
\openout1 = `bashref.aux'.
[1] Chapter 2 [2]
[1] Chapter 2
[2]
@cpindfile=@write2
\openout2 = `bashref.cp'.
[3] Chapter 3 [4] [5] [6] [7]
[3] Chapter 3 [4] [5] [6] [7]
@vrindfile=@write3
\openout3 = `bashref.vr'.
@@ -222,16 +219,15 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 744--745
@rwindfile=@write4
\openout4 = `bashref.rw'.
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19{/opt/local/share/texmf-texliv
e/fonts/enc/dvips/cm-super/cm-super-t1.enc}] [20] [21] [22] [23] [24]
[25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39]
[40] [41] [42] [43] [44] [45] [46] [47] [48] [49] Chapter 4 [50]
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]
[24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38]
[39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] Chapter 4 [50]
@btindfile=@write5
\openout5 = `bashref.bt'.
[51] [52]
[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67]
[68] [69] [70] [71]
[51]
[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
[67] [68] [69] [70] [71]
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5773--5773
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -265,9 +261,9 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5774--5774
texinfo.tex: doing @include of rluser.texi
(/usr/local/src/bash/bash-20241126/lib/readline/doc/rluser.texi Chapter 8
(/usr/local/src/bash/bash-20241207/lib/readline/doc/rluser.texi Chapter 8
[127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138]
Underfull \hbox (badness 7540) in paragraph at lines 960--966
Underfull \hbox (badness 7540) in paragraph at lines 963--969
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
-tion
@@ -280,7 +276,7 @@ Underfull \hbox (badness 7540) in paragraph at lines 960--966
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 960--966
Underfull \hbox (badness 10000) in paragraph at lines 963--969
@texttt universal-argument[]@textrm , @textttsl M-DEL[] @textrm is bound to th
e func-tion
@@ -293,7 +289,7 @@ e func-tion
.etc.
[139] [140] [141] [142]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1206--1206
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1209--1209
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
@@ -314,10 +310,10 @@ gnored[]
texinfo.tex: doing @include of hsuser.texi
(/usr/local/src/bash/bash-20241126/lib/readline/doc/hsuser.texi Chapter 9
(/usr/local/src/bash/bash-20241207/lib/readline/doc/hsuser.texi Chapter 9
[165] [166] [167] [168] [169] [170] [171]) Chapter 10 [172] [173] [174]
[175] [176]
Underfull \hbox (badness 10000) in paragraph at lines 10451--10460
Underfull \hbox (badness 10000) in paragraph at lines 10464--10473
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
@@ -330,7 +326,7 @@ entation[]@textrm '[],
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 10451--10460
Underfull \hbox (badness 10000) in paragraph at lines 10464--10473
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
@@ -347,37 +343,16 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
texinfo.tex: doing @include of fdl.texi
(/usr/local/src/bash/bash-20241126/doc/fdl.texi [190] [191] [192] [193]
(/usr/local/src/bash/bash-20241207/doc/fdl.texi [190] [191] [192] [193]
[194] [195] [196]) Appendix D [197] [198] [199] [200] [201] [202] [203]
[204] [205] [206] )
Here is how much of TeX's memory you used:
4114 strings out of 495840
47656 string characters out of 6171739
145030 words of memory out of 5000000
5048 multiletter control sequences out of 15000+600000
3531 strings out of 495850
40273 string characters out of 6172145
88583 words of memory out of 5000000
4879 multiletter control sequences out of 15000+600000
34315 words of font info for 116 fonts, out of 8000000 for 9000
701 hyphenation exceptions out of 8191
16i,6n,16p,389b,983s stack positions out of 10000i,1000n,20000p,200000b,200000s
</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
csc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10
.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb>
</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/
local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/
share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/t
exmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-
texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-tex
live/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/
fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type
1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
/sfrm1440.pfb>
Output written on bashref.pdf (212 pages, 848660 bytes).
PDF statistics:
2933 PDF objects out of 2984 (max. 8388607)
2673 compressed objects within 27 object streams
340 named destinations out of 1000 (max. 500000)
1157 words of extra memory for PDF output out of 10000 (max. 10000000)
16i,6n,16p,402b,942s stack positions out of 10000i,1000n,20000p,200000b,200000s
Output written on bashref.dvi (212 pages, 889260 bytes).
BIN
View File
Binary file not shown.
+23978
View File
File diff suppressed because it is too large Load Diff
+14 -1
View File
@@ -7349,10 +7349,23 @@ A string describing the operating system Bash is running on.
@item PIPESTATUS
An array variable (@pxref{Arrays})
containing a list of exit status values from the processes
containing a list of exit status values from the commands
in the most-recently-executed foreground pipeline, which may
consist of only a simple command
(@pxref{Shell Commands}).
Bash sets
@code{PIPESTATUS}
after executing multi-element pipelines,
timed and negated pipelines,
simple commands,
subshells created with the @samp{(} operator,
the
@code{[[}
and
@code{((}
compound commands, and
after error conditions that result in the
shell aborting command execution.
@item POSIXLY_CORRECT
If this variable is in the environment when Bash starts, the shell
+2 -2
View File
@@ -119,8 +119,8 @@
\entry{READLINE_ARGUMENT}{96}{\code {READLINE_ARGUMENT}}
\entry{READLINE_LINE}{96}{\code {READLINE_LINE}}
\entry{READLINE_MARK}{96}{\code {READLINE_MARK}}
\entry{READLINE_POINT}{96}{\code {READLINE_POINT}}
\entry{REPLY}{96}{\code {REPLY}}
\entry{READLINE_POINT}{97}{\code {READLINE_POINT}}
\entry{REPLY}{97}{\code {REPLY}}
\entry{SECONDS}{97}{\code {SECONDS}}
\entry{SHELL}{97}{\code {SHELL}}
\entry{SHELLOPTS}{97}{\code {SHELLOPTS}}
+2 -2
View File
@@ -177,8 +177,8 @@
\entry{\code {READLINE_ARGUMENT}}{96}
\entry{\code {READLINE_LINE}}{96}
\entry{\code {READLINE_MARK}}{96}
\entry{\code {READLINE_POINT}}{96}
\entry{\code {REPLY}}{96}
\entry{\code {READLINE_POINT}}{97}
\entry{\code {REPLY}}{97}
\entry{\code {revert-all-at-newline}}{138}
\initial {S}
\entry{\code {search-ignore-case}}{138}
BIN
View File
Binary file not shown.
+3 -3
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2024 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Fri Nov 29 18:18:39 EST 2024
@set LASTCHANGE Thu Dec 12 13:37:30 EST 2024
@set EDITION 5.3
@set VERSION 5.3
@set UPDATED 29 November 2024
@set UPDATED-MONTH November 2024
@set UPDATED 12 December 2024
@set UPDATED-MONTH December 2024
+7 -3
View File
@@ -881,7 +881,8 @@ fnprint (const char *to_print, int prefix_bytes, const char *real_pathname)
possible completions. Only cut off prefix_bytes if we're going to be
printing the ellipsis, which takes precedence over coloring the
completion prefix (see print_filename() below). */
if (_rl_completion_prefix_display_length > 0 && prefix_bytes >= print_len)
if (_rl_completion_prefix_display_length > 0 && prefix_bytes >= print_len &&
prefix_bytes > _rl_completion_prefix_display_length)
prefix_bytes = 0;
#if defined (COLOR_SUPPORT)
@@ -900,13 +901,16 @@ fnprint (const char *to_print, int prefix_bytes, const char *real_pathname)
printed_len = ELLIPSIS_LEN;
}
#if defined (COLOR_SUPPORT)
else if (prefix_bytes && _rl_colored_completion_prefix > 0)
else if (prefix_bytes && _rl_completion_prefix_display_length <= 0 &&
_rl_colored_completion_prefix > 0)
{
common_prefix_len = prefix_bytes;
prefix_bytes = 0;
/* XXX - print color indicator start here */
colored_prefix_start ();
}
else
common_prefix_len = prefix_bytes = 0; /* no ellipsis or color */
#endif
s = to_print + prefix_bytes;
@@ -1602,7 +1606,7 @@ rl_display_match_list (char **matches, int len, int max)
/* check again in case of /usr/src/ */
temp = rl_filename_completion_desired ? strrchr (t, '/') : 0;
common_length = temp ? fnwidth (temp) : fnwidth (t);
sind = temp ? strlen (temp) : strlen (t);
sind = temp ? RL_STRLEN (temp) : RL_STRLEN (t);
if (common_length > max || sind > max)
common_length = sind = 0;
+3
View File
@@ -533,6 +533,9 @@ completions that is displayed without modification.
When set to a value greater than zero, \fBreadline\fP
replaces common prefixes longer than this value
with an ellipsis when displaying possible completions.
If a completion begins with a period,
and \fBeadline\fP is completing filenames,
it uses three underscores instead of an ellipsis.
.TP
.B completion\-query\-items (100)
This determines when the user is queried about viewing
+3
View File
@@ -556,6 +556,9 @@ completions that is displayed without modification.
When set to a value greater than zero, Readline
replaces common prefixes longer than this value
with an ellipsis when displaying possible completions.
If a completion begins with a period,
and Readline is completing filenames,
it uses three underscores instead of an ellipsis.
@item completion-query-items
@vindex completion-query-items
+1 -1
View File
@@ -218,7 +218,7 @@ _rl_isearch_init (int direction)
/* Create an array of pointers to the lines that we want to search. */
hlist = history_list ();
rl_maybe_replace_line ();
_rl_maybe_replace_line (1);
i = 0;
if (hlist)
for (i = 0; hlist[i]; i++);
+7 -4
View File
@@ -4,7 +4,7 @@
# shellcheck disable=SC2006,SC2268 # see below for rationale
timestamp='2024-01-01'
timestamp='2024-07-27'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -123,7 +123,7 @@ set_cc_for_build() {
dummy=$tmp/dummy
case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
,,) echo "int x;" > "$dummy.c"
for driver in cc gcc c89 c99 ; do
for driver in cc gcc c17 c99 c89 ; do
if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
CC_FOR_BUILD=$driver
break
@@ -634,7 +634,8 @@ EOF
sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
main()
int
main ()
{
if (!__power_pc())
exit(1);
@@ -718,7 +719,8 @@ EOF
#include <stdlib.h>
#include <unistd.h>
int main ()
int
main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
@@ -1621,6 +1623,7 @@ cat > "$dummy.c" <<EOF
#endif
#endif
#endif
int
main ()
{
#if defined (sony)
+77 -10
View File
@@ -1,6 +1,7 @@
#! /bin/sh
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
# run time search path of shared libraries in a binary (executable or
# shared library).
#
# Copyright 1996-2024 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
@@ -9,15 +10,6 @@
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.
# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
@@ -25,6 +17,81 @@
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# func_usage
# outputs to stdout the --help usage message.
func_usage ()
{
echo "\
Usage: config.rpath [OPTION] HOST
Prints shell variable assignments that describe how to hardcode a directory
for the lookup of shared libraries into a binary (executable or shared library).
The first argument passed to this file is the canonical host specification,
CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
or
CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
should be set by the caller.
The set of defined variables is at the end of this script.
Options:
--help print this help and exit
--version print version information and exit
Send patches and bug reports to <bug-gnulib@gnu.org>."
}
# func_version
# outputs to stdout the --version message.
func_version ()
{
echo "config.rpath (GNU gnulib, module havelib)"
echo "Copyright (C) 2024 Free Software Foundation, Inc.
License: All-Permissive.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
echo
printf 'Written by %s.\n' "Bruno Haible"
}
# func_fatal_error message
# outputs to stderr a fatal error message, and terminates the program.
func_fatal_error ()
{
echo "config.rpath: *** $1" 1>&2
echo "config.rpath: *** Stop." 1>&2
exit 1
}
# Command-line option processing.
while test $# -gt 0; do
case "$1" in
--help | --hel | --he | --h )
func_usage
exit 0 ;;
--version | --versio | --versi | --vers | --ver | --ve | --v )
func_version
exit 0 ;;
-- ) # Stop option processing
shift; break ;;
-* )
func_fatal_error "unrecognized option: $1"
;;
* )
break ;;
esac
done
if test $# -gt 1; then
func_fatal_error "too many arguments"
fi
if test $# -lt 1; then
func_fatal_error "too few arguments"
fi
# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
+556 -173
View File
@@ -2,9 +2,9 @@
# Configuration validation subroutine script.
# Copyright 1992-2024 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
# shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale
timestamp='2024-01-01'
timestamp='2024-05-27'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -120,7 +120,6 @@ case $# in
esac
# Split fields of configuration type
# shellcheck disable=SC2162
saved_IFS=$IFS
IFS="-" read field1 field2 field3 field4 <<EOF
$1
@@ -142,10 +141,20 @@ case $1 in
# parts
maybe_os=$field2-$field3
case $maybe_os in
nto-qnx* | linux-* | uclinux-uclibc* \
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
| storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
cloudabi*-eabi* \
| kfreebsd*-gnu* \
| knetbsd*-gnu* \
| kopensolaris*-gnu* \
| linux-* \
| managarm-* \
| netbsd*-eabi* \
| netbsd*-gnu* \
| nto-qnx* \
| os2-emx* \
| rtmk-nova* \
| storm-chaos* \
| uclinux-gnu* \
| uclinux-uclibc* \
| windows-* )
basic_machine=$field1
basic_os=$maybe_os
@@ -161,8 +170,12 @@ case $1 in
esac
;;
*-*)
# A lone config we happen to match not fitting any pattern
case $field1-$field2 in
# Shorthands that happen to contain a single dash
convex-c[12] | convex-c3[248])
basic_machine=$field2-convex
basic_os=
;;
decstation-3100)
basic_machine=mips-dec
basic_os=
@@ -170,28 +183,88 @@ case $1 in
*-*)
# Second component is usually, but not always the OS
case $field2 in
# Prevent following clause from handling this valid os
# Do not treat sunos as a manufacturer
sun*os*)
basic_machine=$field1
basic_os=$field2
;;
# Manufacturers
3100* \
| 32* \
| 3300* \
| 3600* \
| 7300* \
| acorn \
| altos* \
| apollo \
| apple \
| atari \
| att* \
| axis \
| be \
| bull \
| cbm \
| ccur \
| cisco \
| commodore \
| convergent* \
| convex* \
| cray \
| crds \
| dec* \
| delta* \
| dg \
| digital \
| dolphin \
| encore* \
| gould \
| harris \
| highlevel \
| hitachi* \
| hp \
| ibm* \
| intergraph \
| isi* \
| knuth \
| masscomp \
| microblaze* \
| mips* \
| motorola* \
| ncr* \
| news \
| next \
| ns \
| oki \
| omron* \
| pc533* \
| rebel \
| rom68k \
| rombug \
| semi \
| sequent* \
| siemens \
| sgi* \
| siemens \
| sim \
| sni \
| sony* \
| stratus \
| sun \
| sun[234]* \
| tektronix \
| tti* \
| ultra \
| unicom* \
| wec \
| winbond \
| wrs)
basic_machine=$field1-$field2
basic_os=
;;
zephyr*)
basic_machine=$field1-unknown
basic_os=$field2
;;
# Manufacturers
dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
| unicom* | ibm* | next | hp | isi* | apollo | altos* \
| convergent* | ncr* | news | 32* | 3600* | 3100* \
| hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
| ultra | tti* | harris | dolphin | highlevel | gould \
| cbm | ns | masscomp | apple | axis | knuth | cray \
| microblaze* | sim | cisco \
| oki | wec | wrs | winbond)
basic_machine=$field1-$field2
basic_os=
;;
*)
basic_machine=$field1
basic_os=$field2
@@ -272,26 +345,6 @@ case $1 in
basic_machine=arm-unknown
basic_os=cegcc
;;
convex-c1)
basic_machine=c1-convex
basic_os=bsd
;;
convex-c2)
basic_machine=c2-convex
basic_os=bsd
;;
convex-c32)
basic_machine=c32-convex
basic_os=bsd
;;
convex-c34)
basic_machine=c34-convex
basic_os=bsd
;;
convex-c38)
basic_machine=c38-convex
basic_os=bsd
;;
cray)
basic_machine=j90-cray
basic_os=unicos
@@ -714,15 +767,26 @@ case $basic_machine in
vendor=dec
basic_os=tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
delta | 3300 | delta-motorola | 3300-motorola | motorola-delta | motorola-3300)
cpu=m68k
vendor=motorola
;;
dpx2*)
# This used to be dpx2*, but that gets the RS6000-based
# DPX/20 and the x86-based DPX/2-100 wrong. See
# https://oldskool.silicium.org/stations/bull_dpx20.htm
# https://www.feb-patrimoine.com/english/bull_dpx2.htm
# https://www.feb-patrimoine.com/english/unix_and_bull.htm
dpx2 | dpx2[23]00 | dpx2[23]xx)
cpu=m68k
vendor=bull
basic_os=sysv3
;;
dpx2100 | dpx21xx)
cpu=i386
vendor=bull
;;
dpx20)
cpu=rs6000
vendor=bull
;;
encore | umax | mmax)
cpu=ns32k
@@ -837,18 +901,6 @@ case $basic_machine in
next | m*-next)
cpu=m68k
vendor=next
case $basic_os in
openstep*)
;;
nextstep*)
;;
ns2*)
basic_os=nextstep2
;;
*)
basic_os=nextstep3
;;
esac
;;
np1)
cpu=np1
@@ -937,7 +989,6 @@ case $basic_machine in
;;
*-*)
# shellcheck disable=SC2162
saved_IFS=$IFS
IFS="-" read cpu vendor <<EOF
$basic_machine
@@ -972,15 +1023,19 @@ unset -v basic_machine
# Decode basic machines in the full and proper CPU-Company form.
case $cpu-$vendor in
# Here we handle the default manufacturer of certain CPU types in canonical form. It is in
# some cases the only manufacturer, in others, it is the most popular.
# Here we handle the default manufacturer of certain CPU types in canonical form.
# It is in some cases the only manufacturer, in others, it is the most popular.
c[12]-convex | c[12]-unknown | c3[248]-convex | c3[248]-unknown)
vendor=convex
basic_os=${basic_os:-bsd}
;;
craynv-unknown)
vendor=cray
basic_os=${basic_os:-unicosmp}
;;
c90-unknown | c90-cray)
vendor=cray
basic_os=${Basic_os:-unicos}
basic_os=${basic_os:-unicos}
;;
fx80-unknown)
vendor=alliant
@@ -1026,11 +1081,29 @@ case $cpu-$vendor in
vendor=alt
basic_os=${basic_os:-linux-gnueabihf}
;;
dpx20-unknown | dpx20-bull)
cpu=rs6000
vendor=bull
# Normalized CPU+vendor pairs that imply an OS, if not otherwise specified
m68k-isi)
basic_os=${basic_os:-sysv}
;;
m68k-sony)
basic_os=${basic_os:-newsos}
;;
m68k-tektronix)
basic_os=${basic_os:-bsd}
;;
m88k-harris)
basic_os=${basic_os:-sysv3}
;;
i386-bull | m68k-bull)
basic_os=${basic_os:-sysv3}
;;
rs6000-bull)
basic_os=${basic_os:-bosx}
;;
mips-sni)
basic_os=${basic_os:-sysv4}
;;
# Here we normalize CPU types irrespective of the vendor
amd64-*)
@@ -1038,7 +1111,7 @@ case $cpu-$vendor in
;;
blackfin-*)
cpu=bfin
basic_os=linux
basic_os=${basic_os:-linux}
;;
c54x-*)
cpu=tic54x
@@ -1061,7 +1134,7 @@ case $cpu-$vendor in
;;
m68knommu-*)
cpu=m68k
basic_os=linux
basic_os=${basic_os:-linux}
;;
m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
cpu=s12z
@@ -1071,7 +1144,7 @@ case $cpu-$vendor in
;;
parisc-*)
cpu=hppa
basic_os=linux
basic_os=${basic_os:-linux}
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
cpu=i586
@@ -1085,9 +1158,6 @@ case $cpu-$vendor in
pentium4-*)
cpu=i786
;;
pc98-*)
cpu=i386
;;
ppc-* | ppcbe-*)
cpu=powerpc
;;
@@ -1121,9 +1191,6 @@ case $cpu-$vendor in
tx39el-*)
cpu=mipstx39el
;;
x64-*)
cpu=x86_64
;;
xscale-* | xscalee[bl]-*)
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
;;
@@ -1179,90 +1246,227 @@ case $cpu-$vendor in
# Recognize the canonical CPU types that are allowed with any
# company name.
case $cpu in
1750a | 580 \
1750a \
| 580 \
| [cjt]90 \
| a29k \
| aarch64 | aarch64_be | aarch64c | arm64ec \
| aarch64 \
| aarch64_be \
| aarch64c \
| abacus \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
| alphapca5[67] | alpha64pca5[67] \
| alpha \
| alpha64 \
| alpha64ev56 \
| alpha64ev6[78] \
| alpha64ev[4-8] \
| alpha64pca5[67] \
| alphaev56 \
| alphaev6[78] \
| alphaev[4-8] \
| alphapca5[67] \
| am33_2.0 \
| amdgcn \
| arc | arceb | arc32 | arc64 \
| arm | arm[lb]e | arme[lb] | armv* \
| avr | avr32 \
| arc \
| arc32 \
| arc64 \
| arceb \
| arm \
| arm64e \
| arm64ec \
| arm[lb]e \
| arme[lb] \
| armv* \
| asmjs \
| avr \
| avr32 \
| ba \
| be32 | be64 \
| bfin | bpf | bs2000 \
| c[123]* | c30 | [cjt]90 | c4x \
| c8051 | clipper | craynv | csky | cydra \
| d10v | d30v | dlx | dsp16xx \
| e2k | elxsi | epiphany \
| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
| javascript \
| h8300 | h8500 \
| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| be32 \
| be64 \
| bfin \
| bpf \
| bs2000 \
| c30 \
| c4x \
| c8051 \
| c[123]* \
| clipper \
| craynv \
| csky \
| cydra \
| d10v \
| d30v \
| dlx \
| dsp16xx \
| e2k \
| elxsi \
| epiphany \
| f30[01] \
| f700 \
| fido \
| fr30 \
| frv \
| ft32 \
| fx80 \
| h8300 \
| h8500 \
| hexagon \
| i370 | i*86 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| hppa \
| hppa1.[01] \
| hppa2.0 \
| hppa2.0[nw] \
| hppa64 \
| i*86 \
| i370 \
| i860 \
| i960 \
| ia16 \
| ia64 \
| ip2k \
| iq2000 \
| javascript \
| k1om \
| kvx \
| le32 | le64 \
| le32 \
| le64 \
| lm32 \
| loongarch32 | loongarch64 \
| m32c | m32r | m32rle \
| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
| m88110 | m88k | maxq | mb | mcore | mep | metag \
| microblaze | microblazeel \
| loongarch32 \
| loongarch64 \
| m32c \
| m32r \
| m32rle \
| m5200 \
| m68000 \
| m680[012346]0 \
| m6811 \
| m6812 \
| m68360 \
| m683?2 \
| m68hc11 \
| m68hc12 \
| m68hcs12x \
| m68k \
| m88110 \
| m88k \
| maxq \
| mb \
| mcore \
| mep \
| metag \
| microblaze \
| microblazeel \
| mips* \
| mmix \
| mn10200 | mn10300 \
| mn10200 \
| mn10300 \
| moxie \
| mt \
| msp430 \
| mt \
| nanomips* \
| nds32 | nds32le | nds32be \
| nds32 \
| nds32be \
| nds32le \
| nfp \
| nios | nios2 | nios2eb | nios2el \
| none | np1 | ns16k | ns32k | nvptx \
| nios \
| nios2 \
| nios2eb \
| nios2el \
| none \
| np1 \
| ns16k \
| ns32k \
| nvptx \
| open8 \
| or1k* \
| or32 \
| orion \
| pdp10 \
| pdp11 \
| picochip \
| pdp10 | pdp11 | pj | pjl | pn | power \
| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
| pj \
| pjl \
| pn \
| power \
| powerpc \
| powerpc64 \
| powerpc64le \
| powerpcle \
| powerpcspe \
| pru \
| pyramid \
| riscv | riscv32 | riscv32be | riscv64 | riscv64be \
| rl78 | romp | rs6000 | rx \
| s390 | s390x \
| riscv \
| riscv32 \
| riscv32be \
| riscv64 \
| riscv64be \
| rl78 \
| romp \
| rs6000 \
| rx \
| s390 \
| s390x \
| score \
| sh | shl \
| sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
| sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
| sh \
| sh64 \
| sh64le \
| sh[12345][lb]e \
| sh[1234] \
| sh[1234]e[lb] \
| sh[23]e \
| sh[23]ele \
| sh[24]a \
| sh[24]ae[lb] \
| sh[lb]e \
| she[lb] \
| shl \
| sparc \
| sparc64 \
| sparc64b \
| sparc64v \
| sparc86x \
| sparclet \
| sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
| sparcv8 \
| sparcv9 \
| sparcv9b \
| sparcv9v \
| spu \
| sv1 \
| sx* \
| tahoe \
| thumbv7* \
| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
| tic30 \
| tic4x \
| tic54x \
| tic55x \
| tic6x \
| tic80 \
| tron \
| ubicom32 \
| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
| v70 \
| v810 \
| v850 \
| v850e \
| v850e1 \
| v850e2 \
| v850e2v3 \
| v850es \
| vax \
| vc4 \
| visium \
| w65 \
| wasm32 | wasm64 \
| wasm32 \
| wasm64 \
| we32k \
| x86 | x86_64 | xc16x | xgate | xps100 \
| xstormy16 | xtensa* \
| x86 \
| x86_64 \
| xc16x \
| xgate \
| xps100 \
| xstormy16 \
| xtensa* \
| ymp \
| z8k | z80)
| z80 \
| z8k)
;;
*)
@@ -1307,7 +1511,6 @@ case $basic_os in
os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
;;
*-*)
# shellcheck disable=SC2162
saved_IFS=$IFS
IFS="-" read kernel os <<EOF
$basic_os
@@ -1354,6 +1557,23 @@ case $os in
unixware*)
os=sysv4.2uw
;;
# The marketing names for NeXT's operating systems were
# NeXTSTEP, NeXTSTEP 2, OpenSTEP 3, OpenSTEP 4. 'openstep' is
# mapped to 'openstep3', but 'openstep1' and 'openstep2' are
# mapped to 'nextstep' and 'nextstep2', consistent with the
# treatment of SunOS/Solaris.
ns | ns1 | nextstep | nextstep1 | openstep1)
os=nextstep
;;
ns2 | nextstep2 | openstep2)
os=nextstep2
;;
ns3 | nextstep3 | openstep | openstep3)
os=openstep3
;;
ns4 | nextstep4 | openstep4)
os=openstep4
;;
# es1800 is here to avoid being matched by es* (a different OS)
es1800*)
os=ose
@@ -1424,6 +1644,7 @@ case $os in
;;
utek*)
os=bsd
vendor=`echo "$vendor" | sed -e 's|^unknown$|tektronix|'`
;;
dynix*)
os=bsd
@@ -1440,21 +1661,25 @@ case $os in
386bsd)
os=bsd
;;
ctix* | uts*)
ctix*)
os=sysv
vendor=`echo "$vendor" | sed -e 's|^unknown$|convergent|'`
;;
uts*)
os=sysv
;;
nova*)
os=rtmk-nova
;;
ns2)
os=nextstep2
kernel=rtmk
os=nova
;;
# Preserve the version number of sinix5.
sinix5.*)
os=`echo "$os" | sed -e 's|sinix|sysv|'`
vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'`
;;
sinix*)
os=sysv4
vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'`
;;
tpf*)
os=tpf
@@ -1595,6 +1820,14 @@ case $cpu-$vendor in
os=
obj=elf
;;
# The -sgi and -siemens entries must be before the mips- entry
# or we get the wrong os.
*-sgi)
os=irix
;;
*-siemens)
os=sysv4
;;
mips*-cisco)
os=
obj=elf
@@ -1607,7 +1840,8 @@ case $cpu-$vendor in
os=
obj=coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
# This must be before the sparc-* entry or we get the wrong os.
*-tti)
os=sysv3
;;
sparc-* | *-sun)
@@ -1639,7 +1873,7 @@ case $cpu-$vendor in
os=hpux
;;
*-hitachi)
os=hiux
os=hiuxwe2
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=sysv
@@ -1683,12 +1917,6 @@ case $cpu-$vendor in
*-encore)
os=bsd
;;
*-sgi)
os=irix
;;
*-siemens)
os=sysv4
;;
*-masscomp)
os=rtu
;;
@@ -1735,40 +1963,193 @@ case $os in
ghcjs)
;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
| *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
| hiux* | abug | nacl* | netware* | windows* \
| os9* | macos* | osx* | ios* | tvos* | watchos* \
| mpw* | magic* | mmixware* | mon960* | lnews* \
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
| aos* | aros* | cloudabi* | sortix* | twizzler* \
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
| clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
| mirbsd* | netbsd* | dicos* | openedition* | ose* \
| bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
| bosx* | nextstep* | cxux* | oabi* \
| ptx* | ecoff* | winnt* | domain* | vsta* \
| udi* | lites* | ieee* | go32* | aux* | hcos* \
| chorusrdb* | cegcc* | glidix* | serenity* \
| cygwin* | msys* | moss* | proelf* | rtems* \
| midipix* | mingw32* | mingw64* | mint* \
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
| interix* | uwin* | mks* | rhapsody* | darwin* \
| openstep* | oskit* | conix* | pw32* | nonstopux* \
| storm-chaos* | tops10* | tenex* | tops20* | its* \
| os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
| scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
| fiwix* | mlibc* | cos* | mbr* | ironclad* )
abug \
| aix* \
| amdhsa* \
| amigados* \
| amigaos* \
| android* \
| aof* \
| aos* \
| aros* \
| atheos* \
| auroraux* \
| aux* \
| beos* \
| bitrig* \
| bme* \
| bosx* \
| bsd* \
| cegcc* \
| chorusos* \
| chorusrdb* \
| clix* \
| cloudabi* \
| cnk* \
| conix* \
| cos* \
| cxux* \
| cygwin* \
| darwin* \
| dgux* \
| dicos* \
| dnix* \
| domain* \
| dragonfly* \
| drops* \
| ebmon* \
| ecoff* \
| ekkobsd* \
| emscripten* \
| emx* \
| es* \
| fiwix* \
| freebsd* \
| fuchsia* \
| genix* \
| genode* \
| glidix* \
| gnu* \
| go32* \
| haiku* \
| hcos* \
| hiux* \
| hms* \
| hpux* \
| ieee* \
| interix* \
| ios* \
| iris* \
| irix* \
| ironclad* \
| isc* \
| its* \
| l4re* \
| libertybsd* \
| lites* \
| lnews* \
| luna* \
| lynxos* \
| mach* \
| macos* \
| magic* \
| mbr* \
| midipix* \
| midnightbsd* \
| mingw32* \
| mingw64* \
| minix* \
| mint* \
| mirbsd* \
| mks* \
| mlibc* \
| mmixware* \
| mon960* \
| morphos* \
| moss* \
| moxiebox* \
| mpeix* \
| mpw* \
| msdos* \
| msys* \
| mvs* \
| nacl* \
| netbsd* \
| netware* \
| newsos* \
| nextstep* \
| nindy* \
| nonstopux* \
| nova* \
| nsk* \
| nucleus* \
| nx6 \
| nx7 \
| oabi* \
| ohos* \
| onefs* \
| openbsd* \
| openedition* \
| openstep* \
| os108* \
| os2* \
| os400* \
| os68k* \
| os9* \
| ose* \
| osf* \
| oskit* \
| osx* \
| palmos* \
| phoenix* \
| plan9* \
| powermax* \
| powerunix* \
| proelf* \
| psos* \
| psp* \
| ptx* \
| pw32* \
| qnx* \
| rdos* \
| redox* \
| rhapsody* \
| riscix* \
| riscos* \
| rtems* \
| rtmk* \
| rtu* \
| scout* \
| secbsd* \
| sei* \
| serenity* \
| sim* \
| skyos* \
| solaris* \
| solidbsd* \
| sortix* \
| storm-chaos* \
| sunos \
| sunos[34]* \
| superux* \
| syllable* \
| sym* \
| sysv* \
| tenex* \
| tirtos* \
| toppers* \
| tops10* \
| tops20* \
| tpf* \
| tvos* \
| twizzler* \
| uclinux* \
| udi* \
| udk* \
| ultrix* \
| unicos* \
| uniplus* \
| unleashed* \
| unos* \
| uwin* \
| uxpv* \
| v88r* \
|*vms* \
| vos* \
| vsta* \
| vxsim* \
| vxworks* \
| wasi* \
| watchos* \
| wince* \
| windiss* \
| windows* \
| winnt* \
| xenix* \
| xray* \
| zephyr* \
| zvmoe* )
;;
# This one is extra strict with allowed versions
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
@@ -1829,9 +2210,9 @@ esac
case $kernel-$os-$obj in
linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
| linux-mlibc*- | linux-musl*- | linux-newlib*- \
| linux-relibc*- | linux-uclibc*- )
| linux-relibc*- | linux-uclibc*- | linux-ohos*- )
;;
uclinux-uclibc*- )
uclinux-uclibc*- | uclinux-gnu*- )
;;
managarm-mlibc*- | managarm-kernel*- )
;;
@@ -1856,7 +2237,7 @@ case $kernel-$os-$obj in
echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
exit 1
;;
kfreebsd*-gnu*- | kopensolaris*-gnu*-)
kfreebsd*-gnu*- | knetbsd*-gnu*- | netbsd*-gnu*- | kopensolaris*-gnu*-)
;;
vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
;;
@@ -1864,6 +2245,8 @@ case $kernel-$os-$obj in
;;
os2-emx-)
;;
rtmk-nova-)
;;
*-eabi*- | *-gnueabi*-)
;;
none--*)
@@ -1890,7 +2273,7 @@ case $vendor in
*-riscix*)
vendor=acorn
;;
*-sunos*)
*-sunos* | *-solaris*)
vendor=sun
;;
*-cnk* | *-aix*)