declare builtin changes to reject -i when used with -n; readline changes to make control characters visible in search strings; readline signal handling changes to avoid data corruption and UAF; documentation updates for more consistent quoting

This commit is contained in:
Chet Ramey
2025-09-04 12:29:57 -04:00
parent ab17ddb7af
commit a451bfc3f5
46 changed files with 36912 additions and 1499 deletions
+9 -9
View File
@@ -317,9 +317,9 @@ The Bourne shell is
the traditional Unix shell originally written by Stephen Bourne.
All of the Bourne shell builtin commands are available in Bash, and
the rules for evaluation and quoting are taken from the @sc{posix}
specification for the `standard' Unix shell.
specification for the ``standard'' Unix shell.
This chapter briefly summarizes the shell's `building blocks':
This chapter briefly summarizes the shell's ``building blocks'':
commands, control structures, shell functions, shell @i{parameters},
shell expansions,
@i{redirections}, which are a way to direct input and output from
@@ -3520,14 +3520,14 @@ and @samp{\} must be used to quote the characters
however, double quote characters have no special meaning.
If the redirection operator is @samp{<<-},
the shell strips leading tab characters are stripped from input lines
the shell strips leading tab characters from input lines
and the line containing @var{delimiter}.
This allows here-documents within shell scripts to be indented in a
natural fashion.
If the delimiter is not quoted, the
If the delimiter is not quoted, the shell treats the
@code{\<newline>}
sequence is treated as a line continuation: the two lines are joined
sequence as a line continuation: the two lines are joined
and the backslash-newline is removed.
This happens while reading the here-document, before the check for
the ending delimiter, so joined lines can form the end delimiter.
@@ -9304,11 +9304,11 @@ from a @env{$PATH} search.
@item
The message printed by the job control code and builtins when a job
exits with a non-zero status is `Done(status)'.
exits with a non-zero status is ``Done(status)''.
@item
The message printed by the job control code and builtins when a job
is stopped is `Stopped(@var{signame})', where @var{signame} is, for
is stopped is ``Stopped(@var{signame})'', where @var{signame} is, for
example, @code{SIGTSTP}.
@item
@@ -10923,7 +10923,7 @@ Once you have determined that a bug actually exists, use the
@code{bashbug} command to submit a bug report or use the form at the
@uref{https://savannah.gnu.org/projects/bash/,Bash project page}.
If you have a fix, you are encouraged to submit that as well!
Suggestions and `philosophical' bug reports may be mailed
Suggestions and ``philosophical'' bug reports may be mailed
to @email{bug-bash@@gnu.org} or @email{help-bash@@gnu.org}.
All bug reports should include:
@@ -10937,7 +10937,7 @@ The compiler used to compile Bash.
@item
A description of the bug behavior.
@item
A short script or `recipe' which exercises the bug and may be used
A short script or ``recipe'' which exercises the bug and may be used
to reproduce it.
@end itemize