internal fixes for declare; additional tests for broken wcwidth()

This commit is contained in:
Chet Ramey
2024-02-27 14:40:31 -05:00
parent 43ecbeb31e
commit 9b2a8c6d65
13 changed files with 539 additions and 504 deletions
+196 -194
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, 2 February 2024).
Bash shell (version 5.3, 19 February 2024).
This is Edition 5.3, last updated 2 February 2024, of The GNU Bash
This is Edition 5.3, last updated 19 February 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Copyright © 1988-2023 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, 2 February 2024). The Bash home page is
Bash shell (version 5.3, 19 February 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 2 February 2024, of The GNU Bash
This is Edition 5.3, last updated 19 February 2024, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -5793,17 +5793,19 @@ Variables::).
HISTIGNORE
A colon-separated list of patterns used to decide which command
lines should be saved on the history list. Each pattern is
anchored at the beginning of the line and must match the complete
line (Bash will not implicitly append a *). Each pattern is
tested against the line after the checks specified by HISTCONTROL
are applied. In addition to the normal shell pattern matching
characters, & matches the previous history line. & may be
escaped using a backslash; the backslash is removed before
attempting a match. The second and subsequent lines of a
multi-line compound command are not tested, and are added to the
history regardless of the value of HISTIGNORE. The pattern
matching honors the setting of the extglob shell option.
lines should be saved on the history list. If a command line
matches one of the patterns in the value of HISTIGNORE, it is not
saved on the history list. Each pattern is anchored at the
beginning of the line and must match the complete line (Bash will
not implicitly append a *). Each pattern is tested against the
line after the checks specified by HISTCONTROL are applied. In
addition to the normal shell pattern matching characters, &
matches the previous history line. & may be escaped using a
backslash; the backslash is removed before attempting a match. The
second and subsequent lines of a multi-line compound command are
not tested, and are added to the history regardless of the value of
HISTIGNORE. The pattern matching honors the setting of the
extglob shell option.
HISTIGNORE subsumes the function of HISTCONTROL. A pattern of
& is identical to ignoredups, and a pattern of [ ]* is
@@ -12424,46 +12426,46 @@ D.3 Parameter and Variable Index
(line 214)
* history-size: Readline Init File Syntax.
(line 220)
* HISTSIZE: Bash Variables. (line 478)
* HISTTIMEFORMAT: Bash Variables. (line 485)
* HISTSIZE: Bash Variables. (line 480)
* HISTTIMEFORMAT: Bash Variables. (line 487)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 229)
* HOSTFILE: Bash Variables. (line 494)
* HOSTNAME: Bash Variables. (line 505)
* HOSTTYPE: Bash Variables. (line 508)
* HOSTFILE: Bash Variables. (line 496)
* HOSTNAME: Bash Variables. (line 507)
* HOSTTYPE: Bash Variables. (line 510)
* IFS: Bourne Shell Variables.
(line 18)
* IGNOREEOF: Bash Variables. (line 511)
* IGNOREEOF: Bash Variables. (line 513)
* input-meta: Readline Init File Syntax.
(line 238)
* INPUTRC: Bash Variables. (line 521)
* INSIDE_EMACS: Bash Variables. (line 525)
* INPUTRC: Bash Variables. (line 523)
* INSIDE_EMACS: Bash Variables. (line 527)
* isearch-terminators: Readline Init File Syntax.
(line 248)
* keymap: Readline Init File Syntax.
(line 255)
* LANG: Creating Internationalized Scripts.
(line 51)
* LANG <1>: Bash Variables. (line 531)
* LC_ALL: Bash Variables. (line 535)
* LC_COLLATE: Bash Variables. (line 539)
* LC_CTYPE: Bash Variables. (line 546)
* LANG <1>: Bash Variables. (line 533)
* LC_ALL: Bash Variables. (line 537)
* LC_COLLATE: Bash Variables. (line 541)
* LC_CTYPE: Bash Variables. (line 548)
* LC_MESSAGES: Creating Internationalized Scripts.
(line 51)
* LC_MESSAGES <1>: Bash Variables. (line 551)
* LC_NUMERIC: Bash Variables. (line 555)
* LC_TIME: Bash Variables. (line 559)
* LINENO: Bash Variables. (line 563)
* LINES: Bash Variables. (line 568)
* MACHTYPE: Bash Variables. (line 574)
* LC_MESSAGES <1>: Bash Variables. (line 553)
* LC_NUMERIC: Bash Variables. (line 557)
* LC_TIME: Bash Variables. (line 561)
* LINENO: Bash Variables. (line 565)
* LINES: Bash Variables. (line 570)
* MACHTYPE: Bash Variables. (line 576)
* MAIL: Bourne Shell Variables.
(line 22)
* MAILCHECK: Bash Variables. (line 578)
* MAILCHECK: Bash Variables. (line 580)
* MAILPATH: Bourne Shell Variables.
(line 27)
* MAPFILE: Bash Variables. (line 586)
* MAPFILE: Bash Variables. (line 588)
* mark-modified-lines: Readline Init File Syntax.
(line 285)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -12474,46 +12476,46 @@ D.3 Parameter and Variable Index
(line 302)
* meta-flag: Readline Init File Syntax.
(line 238)
* OLDPWD: Bash Variables. (line 590)
* OLDPWD: Bash Variables. (line 592)
* OPTARG: Bourne Shell Variables.
(line 34)
* OPTERR: Bash Variables. (line 593)
* OPTERR: Bash Variables. (line 595)
* OPTIND: Bourne Shell Variables.
(line 38)
* OSTYPE: Bash Variables. (line 597)
* OSTYPE: Bash Variables. (line 599)
* output-meta: Readline Init File Syntax.
(line 307)
* page-completions: Readline Init File Syntax.
(line 315)
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 600)
* POSIXLY_CORRECT: Bash Variables. (line 605)
* PPID: Bash Variables. (line 615)
* PROMPT_COMMAND: Bash Variables. (line 619)
* PROMPT_DIRTRIM: Bash Variables. (line 625)
* PS0: Bash Variables. (line 631)
* PIPESTATUS: Bash Variables. (line 602)
* POSIXLY_CORRECT: Bash Variables. (line 607)
* PPID: Bash Variables. (line 617)
* PROMPT_COMMAND: Bash Variables. (line 621)
* PROMPT_DIRTRIM: Bash Variables. (line 627)
* PS0: Bash Variables. (line 633)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 636)
* PS4: Bash Variables. (line 641)
* PWD: Bash Variables. (line 649)
* RANDOM: Bash Variables. (line 652)
* READLINE_ARGUMENT: Bash Variables. (line 658)
* READLINE_LINE: Bash Variables. (line 662)
* READLINE_MARK: Bash Variables. (line 666)
* READLINE_POINT: Bash Variables. (line 672)
* REPLY: Bash Variables. (line 676)
* PS3: Bash Variables. (line 638)
* PS4: Bash Variables. (line 643)
* PWD: Bash Variables. (line 651)
* RANDOM: Bash Variables. (line 654)
* READLINE_ARGUMENT: Bash Variables. (line 660)
* READLINE_LINE: Bash Variables. (line 664)
* READLINE_MARK: Bash Variables. (line 668)
* READLINE_POINT: Bash Variables. (line 674)
* REPLY: Bash Variables. (line 678)
* revert-all-at-newline: Readline Init File Syntax.
(line 325)
* search-ignore-case: Readline Init File Syntax.
(line 332)
* SECONDS: Bash Variables. (line 679)
* SHELL: Bash Variables. (line 688)
* SHELLOPTS: Bash Variables. (line 693)
* SHLVL: Bash Variables. (line 702)
* SECONDS: Bash Variables. (line 681)
* SHELL: Bash Variables. (line 690)
* SHELLOPTS: Bash Variables. (line 695)
* SHLVL: Bash Variables. (line 704)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 337)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -12522,15 +12524,15 @@ D.3 Parameter and Variable Index
(line 352)
* skip-completed-text: Readline Init File Syntax.
(line 358)
* SRANDOM: Bash Variables. (line 707)
* SRANDOM: Bash Variables. (line 709)
* TEXTDOMAIN: Creating Internationalized Scripts.
(line 51)
* TEXTDOMAINDIR: Creating Internationalized Scripts.
(line 51)
* TIMEFORMAT: Bash Variables. (line 716)
* TMOUT: Bash Variables. (line 754)
* TMPDIR: Bash Variables. (line 766)
* UID: Bash Variables. (line 770)
* TIMEFORMAT: Bash Variables. (line 718)
* TMOUT: Bash Variables. (line 756)
* TMPDIR: Bash Variables. (line 768)
* UID: Bash Variables. (line 772)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 371)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -12922,138 +12924,138 @@ D.5 Concept Index

Tag Table:
Node: Top902
Node: Introduction2844
Node: What is Bash?3060
Node: What is a shell?4204
Node: Definitions6786
Node: Basic Shell Features9965
Node: Shell Syntax11188
Node: Shell Operation12218
Node: Quoting13519
Node: Escape Character14835
Node: Single Quotes15336
Node: Double Quotes15688
Node: ANSI-C Quoting17034
Node: Locale Translation18422
Node: Creating Internationalized Scripts19769
Node: Comments23970
Node: Shell Commands24608
Node: Reserved Words25550
Node: Simple Commands26418
Node: Pipelines27080
Node: Lists30146
Node: Compound Commands32021
Node: Looping Constructs33033
Node: Conditional Constructs35580
Node: Command Grouping50487
Node: Coprocesses51977
Node: GNU Parallel54676
Node: Shell Functions55597
Node: Shell Parameters63706
Node: Positional Parameters68242
Node: Special Parameters69180
Node: Shell Expansions72490
Node: Brace Expansion74682
Node: Tilde Expansion77348
Node: Shell Parameter Expansion80117
Node: Command Substitution99144
Node: Arithmetic Expansion102680
Node: Process Substitution103648
Node: Word Splitting104788
Node: Filename Expansion106932
Node: Pattern Matching110031
Node: Quote Removal115267
Node: Redirections115574
Node: Executing Commands125386
Node: Simple Command Expansion126056
Node: Command Search and Execution128170
Node: Command Execution Environment130581
Node: Environment133893
Node: Exit Status135600
Node: Signals137388
Node: Shell Scripts141005
Node: Shell Builtin Commands144100
Node: Bourne Shell Builtins146214
Node: Bash Builtins170621
Node: Modifying Shell Behavior205229
Node: The Set Builtin205574
Node: The Shopt Builtin217092
Node: Special Builtins233831
Node: Shell Variables234823
Node: Bourne Shell Variables235260
Node: Bash Variables237456
Node: Bash Features273881
Node: Invoking Bash274898
Node: Bash Startup Files281300
Node: Interactive Shells286615
Node: What is an Interactive Shell?287026
Node: Is this Shell Interactive?287695
Node: Interactive Shell Behavior288522
Node: Bash Conditional Expressions292279
Node: Shell Arithmetic297456
Node: Aliases300541
Node: Arrays303499
Node: The Directory Stack310301
Node: Directory Stack Builtins311101
Node: Controlling the Prompt315553
Node: The Restricted Shell318694
Node: Bash POSIX Mode321484
Node: Shell Compatibility Mode338968
Node: Job Control347457
Node: Job Control Basics347917
Node: Job Control Builtins353094
Node: Job Control Variables359057
Node: Command Line Editing360237
Node: Introduction and Notation361944
Node: Readline Interaction363591
Node: Readline Bare Essentials364782
Node: Readline Movement Commands366603
Node: Readline Killing Commands367603
Node: Readline Arguments369584
Node: Searching370644
Node: Readline Init File372876
Node: Readline Init File Syntax374161
Node: Conditional Init Constructs399102
Node: Sample Init File403470
Node: Bindable Readline Commands406594
Node: Commands For Moving407822
Node: Commands For History409925
Node: Commands For Text415011
Node: Commands For Killing419089
Node: Numeric Arguments421893
Node: Commands For Completion423048
Node: Keyboard Macros427367
Node: Miscellaneous Commands428071
Node: Readline vi Mode434728
Node: Programmable Completion435683
Node: Programmable Completion Builtins443643
Node: A Programmable Completion Example455212
Node: Using History Interactively460560
Node: Bash History Facilities461244
Node: Bash History Builtins464359
Node: History Interaction469605
Node: Event Designators473933
Node: Word Designators475519
Node: Modifiers477508
Node: Installing Bash479420
Node: Basic Installation480557
Node: Compilers and Options484439
Node: Compiling For Multiple Architectures485192
Node: Installation Names486944
Node: Specifying the System Type489181
Node: Sharing Defaults489930
Node: Operation Controls490647
Node: Optional Features491669
Node: Reporting Bugs503474
Node: Major Differences From The Bourne Shell504826
Node: GNU Free Documentation License522638
Node: Indexes547818
Node: Builtin Index548272
Node: Reserved Word Index555373
Node: Variable Index557821
Node: Function Index574955
Node: Concept Index588814
Node: Top904
Node: Introduction2848
Node: What is Bash?3064
Node: What is a shell?4208
Node: Definitions6790
Node: Basic Shell Features9969
Node: Shell Syntax11192
Node: Shell Operation12222
Node: Quoting13523
Node: Escape Character14839
Node: Single Quotes15340
Node: Double Quotes15692
Node: ANSI-C Quoting17038
Node: Locale Translation18426
Node: Creating Internationalized Scripts19773
Node: Comments23974
Node: Shell Commands24612
Node: Reserved Words25554
Node: Simple Commands26422
Node: Pipelines27084
Node: Lists30150
Node: Compound Commands32025
Node: Looping Constructs33037
Node: Conditional Constructs35584
Node: Command Grouping50491
Node: Coprocesses51981
Node: GNU Parallel54680
Node: Shell Functions55601
Node: Shell Parameters63710
Node: Positional Parameters68246
Node: Special Parameters69184
Node: Shell Expansions72494
Node: Brace Expansion74686
Node: Tilde Expansion77352
Node: Shell Parameter Expansion80121
Node: Command Substitution99148
Node: Arithmetic Expansion102684
Node: Process Substitution103652
Node: Word Splitting104792
Node: Filename Expansion106936
Node: Pattern Matching110035
Node: Quote Removal115271
Node: Redirections115578
Node: Executing Commands125390
Node: Simple Command Expansion126060
Node: Command Search and Execution128174
Node: Command Execution Environment130585
Node: Environment133897
Node: Exit Status135604
Node: Signals137392
Node: Shell Scripts141009
Node: Shell Builtin Commands144104
Node: Bourne Shell Builtins146218
Node: Bash Builtins170625
Node: Modifying Shell Behavior205233
Node: The Set Builtin205578
Node: The Shopt Builtin217096
Node: Special Builtins233835
Node: Shell Variables234827
Node: Bourne Shell Variables235264
Node: Bash Variables237460
Node: Bash Features274013
Node: Invoking Bash275030
Node: Bash Startup Files281432
Node: Interactive Shells286747
Node: What is an Interactive Shell?287158
Node: Is this Shell Interactive?287827
Node: Interactive Shell Behavior288654
Node: Bash Conditional Expressions292411
Node: Shell Arithmetic297588
Node: Aliases300673
Node: Arrays303631
Node: The Directory Stack310433
Node: Directory Stack Builtins311233
Node: Controlling the Prompt315685
Node: The Restricted Shell318826
Node: Bash POSIX Mode321616
Node: Shell Compatibility Mode339100
Node: Job Control347589
Node: Job Control Basics348049
Node: Job Control Builtins353226
Node: Job Control Variables359189
Node: Command Line Editing360369
Node: Introduction and Notation362076
Node: Readline Interaction363723
Node: Readline Bare Essentials364914
Node: Readline Movement Commands366735
Node: Readline Killing Commands367735
Node: Readline Arguments369716
Node: Searching370776
Node: Readline Init File373008
Node: Readline Init File Syntax374293
Node: Conditional Init Constructs399234
Node: Sample Init File403602
Node: Bindable Readline Commands406726
Node: Commands For Moving407954
Node: Commands For History410057
Node: Commands For Text415143
Node: Commands For Killing419221
Node: Numeric Arguments422025
Node: Commands For Completion423180
Node: Keyboard Macros427499
Node: Miscellaneous Commands428203
Node: Readline vi Mode434860
Node: Programmable Completion435815
Node: Programmable Completion Builtins443775
Node: A Programmable Completion Example455344
Node: Using History Interactively460692
Node: Bash History Facilities461376
Node: Bash History Builtins464491
Node: History Interaction469737
Node: Event Designators474065
Node: Word Designators475651
Node: Modifiers477640
Node: Installing Bash479552
Node: Basic Installation480689
Node: Compilers and Options484571
Node: Compiling For Multiple Architectures485324
Node: Installation Names487076
Node: Specifying the System Type489313
Node: Sharing Defaults490062
Node: Operation Controls490779
Node: Optional Features491801
Node: Reporting Bugs503606
Node: Major Differences From The Bourne Shell504958
Node: GNU Free Documentation License522770
Node: Indexes547950
Node: Builtin Index548404
Node: Reserved Word Index555505
Node: Variable Index557953
Node: Function Index575087
Node: Concept Index588946

End Tag Table