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
+43 -27
View File
@@ -10351,6 +10351,22 @@ of completions, one per line, to the standard output. Backslash will
escape a newline, if necessary. These are added to the set of possible
completions.
External commands that are invoked to generate completions ("external
completers") receive the word preceding the completion word as an
argument, as described above. This provides context that is sometimes
useful, but may include information that is considered sensitive or part
of a word expansion that will not appear in the command line after
expansion. That word may be visible in process listings or in audit
logs. This may be a concern to users and completion specification
authors if there is sensitive information on the command line before
expansion, since completion takes place before words are expanded. If
this is an issue, completion authors should use functions as wrappers
around external commands and pass context information to the external
command in a different way. External completers can infer context from
the COMP_LINE and COMP_POINT environment variables, but they need to
ensure they break words in the same way Readline does, using the
COMP_WORDBREAKS variable.
After generating all of the possible completions, Bash applies any
filter specified with the -X option to the completions in the list.
The filter is a pattern as used for pathname expansion; a & in the
@@ -13724,33 +13740,33 @@ Node: Keyboard Macros454096
Node: Miscellaneous Commands454797
Node: Readline vi Mode461364
Node: Programmable Completion462341
Node: Programmable Completion Builtins471078
Node: A Programmable Completion Example482815
Node: Using History Interactively488160
Node: Bash History Facilities488841
Node: Bash History Builtins492576
Node: History Interaction499047
Node: Event Designators503997
Node: Word Designators505575
Node: Modifiers507967
Node: Installing Bash509904
Node: Basic Installation511020
Node: Compilers and Options514896
Node: Compiling For Multiple Architectures515646
Node: Installation Names517399
Node: Specifying the System Type519633
Node: Sharing Defaults520379
Node: Operation Controls521093
Node: Optional Features522112
Node: Reporting Bugs534835
Node: Major Differences From The Bourne Shell536192
Node: GNU Free Documentation License557619
Node: Indexes582796
Node: Builtin Index583247
Node: Reserved Word Index590345
Node: Variable Index592790
Node: Function Index610203
Node: Concept Index624198
Node: Programmable Completion Builtins472077
Node: A Programmable Completion Example483814
Node: Using History Interactively489159
Node: Bash History Facilities489840
Node: Bash History Builtins493575
Node: History Interaction500046
Node: Event Designators504996
Node: Word Designators506574
Node: Modifiers508966
Node: Installing Bash510903
Node: Basic Installation512019
Node: Compilers and Options515895
Node: Compiling For Multiple Architectures516645
Node: Installation Names518398
Node: Specifying the System Type520632
Node: Sharing Defaults521378
Node: Operation Controls522092
Node: Optional Features523111
Node: Reporting Bugs535834
Node: Major Differences From The Bourne Shell537191
Node: GNU Free Documentation License558618
Node: Indexes583795
Node: Builtin Index584246
Node: Reserved Word Index591344
Node: Variable Index593789
Node: Function Index611202
Node: Concept Index625197

End Tag Table