mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-23 13:57:58 +02:00
allow FIGNORE suffixes to match entire pathnames; allow SIGINT received while a function is executing in a loop to break the loop
This commit is contained in:
@@ -315,119 +315,113 @@ above.
|
||||
string if there is not enough input. Previous versions discarded the
|
||||
characters read.
|
||||
|
||||
41. Beginning with bash-4.0, when one of the commands in a pipeline is killed
|
||||
by a SIGINT while executing a command list, the shell acts as if it
|
||||
received the interrupt. This can be disabled by setting the compat31 or
|
||||
compat32 shell options.
|
||||
|
||||
42. Bash-4.0 changes the handling of the set -e option so that the shell exits
|
||||
41. Bash-4.0 changes the handling of the set -e option so that the shell exits
|
||||
if a pipeline fails (and not just if the last command in the failing
|
||||
pipeline is a simple command). This is not as Posix specifies. There is
|
||||
work underway to update this portion of the standard; the bash-4.0
|
||||
behavior attempts to capture the consensus at the time of release.
|
||||
|
||||
43. Bash-4.0 fixes a Posix mode bug that caused the . (source) builtin to
|
||||
42. Bash-4.0 fixes a Posix mode bug that caused the . (source) builtin to
|
||||
search the current directory for its filename argument, even if "." is
|
||||
not in $PATH. Posix says that the shell shouldn't look in $PWD in this
|
||||
case.
|
||||
|
||||
44. Bash-4.1 uses the current locale when comparing strings using the < and
|
||||
43. Bash-4.1 uses the current locale when comparing strings using the < and
|
||||
> operators to the `[[' command. This can be reverted to the previous
|
||||
behavior (ASCII collating and strcmp(3)) by setting one of the
|
||||
`compatNN' shopt options, where NN is less than 41.
|
||||
|
||||
45. Bash-4.1 conforms to the current Posix specification for `set -u':
|
||||
44. Bash-4.1 conforms to the current Posix specification for `set -u':
|
||||
expansions of $@ and $* when there are no positional parameters do not
|
||||
cause the shell to exit.
|
||||
|
||||
46. Bash-4.1 implements the current Posix specification for `set -e' and
|
||||
45. Bash-4.1 implements the current Posix specification for `set -e' and
|
||||
exits when any command fails, not just a simple command or pipeline.
|
||||
|
||||
47. Command substitutions now remove the caller's trap strings when trap is
|
||||
46. Command substitutions now remove the caller's trap strings when trap is
|
||||
run to set a new trap in the subshell. Previous to bash-4.2, the old
|
||||
trap strings persisted even though the actual signal handlers were reset.
|
||||
|
||||
48. When in Posix mode, a single quote is not treated specially in a
|
||||
47. When in Posix mode, a single quote is not treated specially in a
|
||||
double-quoted ${...} expansion, unless the expansion operator is
|
||||
# or % or the new `//', `^', or `,' expansions. In particular, it
|
||||
does not define a new quoting context. This is from Posix interpretation
|
||||
221.
|
||||
|
||||
49. Posix mode shells no longer exit if a variable assignment error occurs
|
||||
48. Posix mode shells no longer exit if a variable assignment error occurs
|
||||
with an assignment preceding a command that is not a special builtin.
|
||||
|
||||
50. Bash-4.2 attempts to preserve what the user typed when performing word
|
||||
49. Bash-4.2 attempts to preserve what the user typed when performing word
|
||||
completion, instead of, for instance, expanding shell variable
|
||||
references to their value.
|
||||
|
||||
51. When in Posix mode, bash-4.2 exits if the filename supplied as an argument
|
||||
50. When in Posix mode, bash-4.2 exits if the filename supplied as an argument
|
||||
to `.' is not found and the shell is not interactive.
|
||||
|
||||
52. When compiled for strict Posix compatibility, bash-4.3 does not enable
|
||||
51. When compiled for strict Posix compatibility, bash-4.3 does not enable
|
||||
history expansion by default in interactive shells, since it results in
|
||||
a non-conforming environment.
|
||||
|
||||
53. Bash-4.3 runs the replacement string in the pattern substitution word
|
||||
52. Bash-4.3 runs the replacement string in the pattern substitution word
|
||||
expansion through quote removal. The code already treats quote
|
||||
characters in the replacement string as special; if it treats them as
|
||||
special, then quote removal should remove them.
|
||||
|
||||
54. Bash-4.4 no longer considers a reference to ${a[@]} or ${a[*]}, where `a'
|
||||
53. Bash-4.4 no longer considers a reference to ${a[@]} or ${a[*]}, where `a'
|
||||
is an array without any elements set, to be a reference to an unset
|
||||
variable. This means that such a reference will not cause the shell to
|
||||
exit when the `-u' option is enabled.
|
||||
|
||||
55. Bash-4.4 allows double quotes to quote the history expansion character (!)
|
||||
54. Bash-4.4 allows double quotes to quote the history expansion character (!)
|
||||
when in Posix mode, since Posix specifies the effects of double quotes.
|
||||
|
||||
56. Bash-4.4 does not inherit $PS4 from the environment if running as root.
|
||||
55. Bash-4.4 does not inherit $PS4 from the environment if running as root.
|
||||
|
||||
57. Bash-4.4 doesn't allow a `break' or `continue' in a function to affect
|
||||
56. Bash-4.4 doesn't allow a `break' or `continue' in a function to affect
|
||||
loop execution in the calling context.
|
||||
|
||||
58. Bash-4.4 no longer expands tildes in $PATH elements when in Posix mode.
|
||||
57. Bash-4.4 no longer expands tildes in $PATH elements when in Posix mode.
|
||||
|
||||
59. Bash-4.4 does not attempt to perform a compound array assignment if an
|
||||
58. Bash-4.4 does not attempt to perform a compound array assignment if an
|
||||
argument to `declare' or a similar builtin expands to a word that looks
|
||||
like a compound array assignment (e.g. declare w=$x where x='(foo)').
|
||||
|
||||
60. Bash-5.0 only sets up BASH_ARGV and BASH_ARGC at startup if extended
|
||||
59. Bash-5.0 only sets up BASH_ARGV and BASH_ARGC at startup if extended
|
||||
debugging mode is active. The old behavior of unconditionally setting
|
||||
BASH_ARGC and BASH_ARGV is available at compatibility levels less than
|
||||
or equal to 44.
|
||||
|
||||
61. Bash-5.0 doesn't allow a `break' or `continue' in a subshell to attempt
|
||||
60. Bash-5.0 doesn't allow a `break' or `continue' in a subshell to attempt
|
||||
to break or continue loop execution inherited from the calling context.
|
||||
|
||||
62. Bash-5.0 doesn't allow variable assignments preceding builtins like
|
||||
61. Bash-5.0 doesn't allow variable assignments preceding builtins like
|
||||
export and readonly to modify variables with the same name in preceding
|
||||
contexts (including the global context) unless the shell is in posix
|
||||
mode, since export and readonly are special builtins.
|
||||
|
||||
63. Bash-5.1 changes the way posix-mode shells handle assignment statements
|
||||
62. Bash-5.1 changes the way posix-mode shells handle assignment statements
|
||||
preceding shell function calls. Previous versions of POSIX specified that
|
||||
such assignments would persist after the function returned; subsequent
|
||||
versions of the standard removed that requirement (interpretation #654).
|
||||
Bash-5.1 posix mode assignment statements preceding shell function calls
|
||||
do not persist after the function returns.
|
||||
|
||||
64. Bash-5.1 reverts to the bash-4.4 treatment of pathname expansion of words
|
||||
63. Bash-5.1 reverts to the bash-4.4 treatment of pathname expansion of words
|
||||
containing backslashes but no other special globbing characters. This comes
|
||||
after a protracted discussion and a POSIX interpretation (#1234).
|
||||
|
||||
65. In bash-5.1, disabling posix mode attempts to restore the state of several
|
||||
64. In bash-5.1, disabling posix mode attempts to restore the state of several
|
||||
options that posix mode modifies to the state they had before enabling
|
||||
posix mode. Previous versions restored these options to default values.
|
||||
|
||||
66. Bash-5.2 attempts to prevent double-expansion of array subscripts under
|
||||
65. Bash-5.2 attempts to prevent double-expansion of array subscripts under
|
||||
certain circumstances, especially arithmetic evaluation, by acting as if
|
||||
the `assoc_expand_once' shell option were set.
|
||||
|
||||
67. The `unset' builtin in bash-5.2 treats array subscripts `@' and `*'
|
||||
66. The `unset' builtin in bash-5.2 treats array subscripts `@' and `*'
|
||||
differently than previous versions, and differently depending on whether
|
||||
the array is indexed or associative.
|
||||
|
||||
|
||||
Shell Compatibility Level
|
||||
=========================
|
||||
|
||||
@@ -485,10 +479,6 @@ compat31
|
||||
compat32
|
||||
- the < and > operators to the [[ command do not consider the current
|
||||
locale when comparing strings; they use ASCII ordering
|
||||
- interrupting a command list such as "a ; b ; c" causes the execution
|
||||
of the next command in the list (in bash-4.0 and later versions,
|
||||
the shell acts as if it received the interrupt, so interrupting
|
||||
one command in a list aborts the execution of the entire list)
|
||||
|
||||
compat40
|
||||
- the < and > operators to the [[ command do not consider the current
|
||||
|
||||
@@ -6087,3 +6087,19 @@ lib/readline/text.c
|
||||
unlikely event that a character in a non-multibyte locale is
|
||||
displayed using an octal representation.
|
||||
From a report by Grisha Levit <grishalevit@gmail.com>
|
||||
|
||||
execute_cmd.c,execute_cmd.h,builtins/evalstring.c
|
||||
- interrupt_execution: replaces `executing_list'
|
||||
- interrupt_execution: set while executing while, for, until, select,
|
||||
and arithmetic for loops
|
||||
|
||||
jobs.c
|
||||
- wait_for: if a process dies due to a SIGINT while the shell is
|
||||
executing a loop or a list, act as if the shell got SIGINT. This
|
||||
is no longer dependent on the compatibility level
|
||||
From a report by Grisha Levit <grishalevit@gmail.com>
|
||||
|
||||
bashline.c
|
||||
- name_is_acceptable: allow FIGNORE suffixes to match the entire
|
||||
pathname like tcsh does instead of requiring a non-empty prefix.
|
||||
From Emanuele Torre <torreemanuele6@gmail.com>
|
||||
|
||||
+1
-1
@@ -3074,7 +3074,7 @@ name_is_acceptable (const char *name)
|
||||
|
||||
for (nlen = strlen (name), p = fignore.ignores; p->val; p++)
|
||||
{
|
||||
if (nlen > p->len && p->len > 0 && STREQ (p->val, &name[nlen - p->len]))
|
||||
if (nlen >= p->len && p->len > 0 && STREQ (p->val, &name[nlen - p->len]))
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
@@ -238,7 +238,7 @@ parse_prologue (char *string, int flags, char *tag)
|
||||
unwind_protect_int (line_number);
|
||||
unwind_protect_int (line_number_for_err_trap);
|
||||
unwind_protect_int (loop_level);
|
||||
unwind_protect_int (executing_list);
|
||||
unwind_protect_int (interrupt_execution);
|
||||
unwind_protect_int (comsub_ignore_return);
|
||||
unwind_protect_int (builtin_ignoring_errexit);
|
||||
if (flags & (SEVAL_NONINT|SEVAL_INTERACT))
|
||||
|
||||
+58
-65
@@ -1,9 +1,9 @@
|
||||
This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.2, 17 April 2023).
|
||||
Bash shell (version 5.2, 20 April 2023).
|
||||
|
||||
This is Edition 5.2, last updated 17 April 2023, of 'The GNU Bash
|
||||
This is Edition 5.2, last updated 20 April 2023, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 5.2.
|
||||
|
||||
Copyright (C) 1988-2023 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.2, 17 April 2023). The Bash home page is
|
||||
Bash shell (version 5.2, 20 April 2023). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.2, last updated 17 April 2023, of 'The GNU Bash
|
||||
This is Edition 5.2, last updated 20 April 2023, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 5.2.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -7493,13 +7493,6 @@ required for bash-5.1 and later versions.
|
||||
* quoting the rhs of the '[[' command's regexp matching operator
|
||||
(=~) has no special effect
|
||||
|
||||
'compat32'
|
||||
* interrupting a command list such as "a ; b ; c" causes the
|
||||
execution of the next command in the list (in bash-4.0 and
|
||||
later versions, the shell acts as if it received the
|
||||
interrupt, so interrupting one command in a list aborts the
|
||||
execution of the entire list)
|
||||
|
||||
'compat40'
|
||||
* the '<' and '>' operators to the '[[' command do not consider
|
||||
the current locale when comparing strings; they use ASCII
|
||||
@@ -12787,60 +12780,60 @@ Node: Controlling the Prompt298007
|
||||
Node: The Restricted Shell300969
|
||||
Node: Bash POSIX Mode303576
|
||||
Node: Shell Compatibility Mode319366
|
||||
Node: Job Control327930
|
||||
Node: Job Control Basics328387
|
||||
Node: Job Control Builtins333386
|
||||
Node: Job Control Variables339178
|
||||
Node: Command Line Editing340331
|
||||
Node: Introduction and Notation341999
|
||||
Node: Readline Interaction343619
|
||||
Node: Readline Bare Essentials344807
|
||||
Node: Readline Movement Commands346593
|
||||
Node: Readline Killing Commands347550
|
||||
Node: Readline Arguments349468
|
||||
Node: Searching350509
|
||||
Node: Readline Init File352692
|
||||
Node: Readline Init File Syntax353950
|
||||
Node: Conditional Init Constructs377738
|
||||
Node: Sample Init File381931
|
||||
Node: Bindable Readline Commands385052
|
||||
Node: Commands For Moving386253
|
||||
Node: Commands For History388301
|
||||
Node: Commands For Text393292
|
||||
Node: Commands For Killing396938
|
||||
Node: Numeric Arguments399968
|
||||
Node: Commands For Completion401104
|
||||
Node: Keyboard Macros405292
|
||||
Node: Miscellaneous Commands405977
|
||||
Node: Readline vi Mode412012
|
||||
Node: Programmable Completion412916
|
||||
Node: Programmable Completion Builtins420693
|
||||
Node: A Programmable Completion Example431678
|
||||
Node: Using History Interactively436923
|
||||
Node: Bash History Facilities437604
|
||||
Node: Bash History Builtins440606
|
||||
Node: History Interaction445627
|
||||
Node: Event Designators449244
|
||||
Node: Word Designators450595
|
||||
Node: Modifiers452352
|
||||
Node: Installing Bash454157
|
||||
Node: Basic Installation455291
|
||||
Node: Compilers and Options459010
|
||||
Node: Compiling For Multiple Architectures459748
|
||||
Node: Installation Names461437
|
||||
Node: Specifying the System Type463543
|
||||
Node: Sharing Defaults464257
|
||||
Node: Operation Controls464927
|
||||
Node: Optional Features465882
|
||||
Node: Reporting Bugs477098
|
||||
Node: Major Differences From The Bourne Shell478429
|
||||
Node: GNU Free Documentation License495275
|
||||
Node: Indexes520449
|
||||
Node: Builtin Index520900
|
||||
Node: Reserved Word Index527724
|
||||
Node: Variable Index530169
|
||||
Node: Function Index547154
|
||||
Node: Concept Index560935
|
||||
Node: Job Control327607
|
||||
Node: Job Control Basics328064
|
||||
Node: Job Control Builtins333063
|
||||
Node: Job Control Variables338855
|
||||
Node: Command Line Editing340008
|
||||
Node: Introduction and Notation341676
|
||||
Node: Readline Interaction343296
|
||||
Node: Readline Bare Essentials344484
|
||||
Node: Readline Movement Commands346270
|
||||
Node: Readline Killing Commands347227
|
||||
Node: Readline Arguments349145
|
||||
Node: Searching350186
|
||||
Node: Readline Init File352369
|
||||
Node: Readline Init File Syntax353627
|
||||
Node: Conditional Init Constructs377415
|
||||
Node: Sample Init File381608
|
||||
Node: Bindable Readline Commands384729
|
||||
Node: Commands For Moving385930
|
||||
Node: Commands For History387978
|
||||
Node: Commands For Text392969
|
||||
Node: Commands For Killing396615
|
||||
Node: Numeric Arguments399645
|
||||
Node: Commands For Completion400781
|
||||
Node: Keyboard Macros404969
|
||||
Node: Miscellaneous Commands405654
|
||||
Node: Readline vi Mode411689
|
||||
Node: Programmable Completion412593
|
||||
Node: Programmable Completion Builtins420370
|
||||
Node: A Programmable Completion Example431355
|
||||
Node: Using History Interactively436600
|
||||
Node: Bash History Facilities437281
|
||||
Node: Bash History Builtins440283
|
||||
Node: History Interaction445304
|
||||
Node: Event Designators448921
|
||||
Node: Word Designators450272
|
||||
Node: Modifiers452029
|
||||
Node: Installing Bash453834
|
||||
Node: Basic Installation454968
|
||||
Node: Compilers and Options458687
|
||||
Node: Compiling For Multiple Architectures459425
|
||||
Node: Installation Names461114
|
||||
Node: Specifying the System Type463220
|
||||
Node: Sharing Defaults463934
|
||||
Node: Operation Controls464604
|
||||
Node: Optional Features465559
|
||||
Node: Reporting Bugs476775
|
||||
Node: Major Differences From The Bourne Shell478106
|
||||
Node: GNU Free Documentation License494952
|
||||
Node: Indexes520126
|
||||
Node: Builtin Index520577
|
||||
Node: Reserved Word Index527401
|
||||
Node: Variable Index529846
|
||||
Node: Function Index546831
|
||||
Node: Concept Index560612
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
+58
-65
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.8 from
|
||||
bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.2, 17 April 2023).
|
||||
Bash shell (version 5.2, 20 April 2023).
|
||||
|
||||
This is Edition 5.2, last updated 17 April 2023, of 'The GNU Bash
|
||||
This is Edition 5.2, last updated 20 April 2023, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 5.2.
|
||||
|
||||
Copyright (C) 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.2, 17 April 2023). The Bash home page is
|
||||
Bash shell (version 5.2, 20 April 2023). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.2, last updated 17 April 2023, of 'The GNU Bash
|
||||
This is Edition 5.2, last updated 20 April 2023, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 5.2.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -7494,13 +7494,6 @@ required for bash-5.1 and later versions.
|
||||
* quoting the rhs of the '[[' command's regexp matching operator
|
||||
(=~) has no special effect
|
||||
|
||||
'compat32'
|
||||
* interrupting a command list such as "a ; b ; c" causes the
|
||||
execution of the next command in the list (in bash-4.0 and
|
||||
later versions, the shell acts as if it received the
|
||||
interrupt, so interrupting one command in a list aborts the
|
||||
execution of the entire list)
|
||||
|
||||
'compat40'
|
||||
* the '<' and '>' operators to the '[[' command do not consider
|
||||
the current locale when comparing strings; they use ASCII
|
||||
@@ -12788,60 +12781,60 @@ Node: Controlling the Prompt298232
|
||||
Node: The Restricted Shell301197
|
||||
Node: Bash POSIX Mode303807
|
||||
Node: Shell Compatibility Mode319600
|
||||
Node: Job Control328167
|
||||
Node: Job Control Basics328627
|
||||
Node: Job Control Builtins333629
|
||||
Node: Job Control Variables339424
|
||||
Node: Command Line Editing340580
|
||||
Node: Introduction and Notation342251
|
||||
Node: Readline Interaction343874
|
||||
Node: Readline Bare Essentials345065
|
||||
Node: Readline Movement Commands346854
|
||||
Node: Readline Killing Commands347814
|
||||
Node: Readline Arguments349735
|
||||
Node: Searching350779
|
||||
Node: Readline Init File352965
|
||||
Node: Readline Init File Syntax354226
|
||||
Node: Conditional Init Constructs378017
|
||||
Node: Sample Init File382213
|
||||
Node: Bindable Readline Commands385337
|
||||
Node: Commands For Moving386541
|
||||
Node: Commands For History388592
|
||||
Node: Commands For Text393586
|
||||
Node: Commands For Killing397235
|
||||
Node: Numeric Arguments400268
|
||||
Node: Commands For Completion401407
|
||||
Node: Keyboard Macros405598
|
||||
Node: Miscellaneous Commands406286
|
||||
Node: Readline vi Mode412324
|
||||
Node: Programmable Completion413231
|
||||
Node: Programmable Completion Builtins421011
|
||||
Node: A Programmable Completion Example431999
|
||||
Node: Using History Interactively437247
|
||||
Node: Bash History Facilities437931
|
||||
Node: Bash History Builtins440936
|
||||
Node: History Interaction445960
|
||||
Node: Event Designators449580
|
||||
Node: Word Designators450934
|
||||
Node: Modifiers452694
|
||||
Node: Installing Bash454502
|
||||
Node: Basic Installation455639
|
||||
Node: Compilers and Options459361
|
||||
Node: Compiling For Multiple Architectures460102
|
||||
Node: Installation Names461794
|
||||
Node: Specifying the System Type463903
|
||||
Node: Sharing Defaults464620
|
||||
Node: Operation Controls465293
|
||||
Node: Optional Features466251
|
||||
Node: Reporting Bugs477470
|
||||
Node: Major Differences From The Bourne Shell478804
|
||||
Node: GNU Free Documentation License495653
|
||||
Node: Indexes520830
|
||||
Node: Builtin Index521284
|
||||
Node: Reserved Word Index528111
|
||||
Node: Variable Index530559
|
||||
Node: Function Index547547
|
||||
Node: Concept Index561331
|
||||
Node: Job Control327844
|
||||
Node: Job Control Basics328304
|
||||
Node: Job Control Builtins333306
|
||||
Node: Job Control Variables339101
|
||||
Node: Command Line Editing340257
|
||||
Node: Introduction and Notation341928
|
||||
Node: Readline Interaction343551
|
||||
Node: Readline Bare Essentials344742
|
||||
Node: Readline Movement Commands346531
|
||||
Node: Readline Killing Commands347491
|
||||
Node: Readline Arguments349412
|
||||
Node: Searching350456
|
||||
Node: Readline Init File352642
|
||||
Node: Readline Init File Syntax353903
|
||||
Node: Conditional Init Constructs377694
|
||||
Node: Sample Init File381890
|
||||
Node: Bindable Readline Commands385014
|
||||
Node: Commands For Moving386218
|
||||
Node: Commands For History388269
|
||||
Node: Commands For Text393263
|
||||
Node: Commands For Killing396912
|
||||
Node: Numeric Arguments399945
|
||||
Node: Commands For Completion401084
|
||||
Node: Keyboard Macros405275
|
||||
Node: Miscellaneous Commands405963
|
||||
Node: Readline vi Mode412001
|
||||
Node: Programmable Completion412908
|
||||
Node: Programmable Completion Builtins420688
|
||||
Node: A Programmable Completion Example431676
|
||||
Node: Using History Interactively436924
|
||||
Node: Bash History Facilities437608
|
||||
Node: Bash History Builtins440613
|
||||
Node: History Interaction445637
|
||||
Node: Event Designators449257
|
||||
Node: Word Designators450611
|
||||
Node: Modifiers452371
|
||||
Node: Installing Bash454179
|
||||
Node: Basic Installation455316
|
||||
Node: Compilers and Options459038
|
||||
Node: Compiling For Multiple Architectures459779
|
||||
Node: Installation Names461471
|
||||
Node: Specifying the System Type463580
|
||||
Node: Sharing Defaults464297
|
||||
Node: Operation Controls464970
|
||||
Node: Optional Features465928
|
||||
Node: Reporting Bugs477147
|
||||
Node: Major Differences From The Bourne Shell478481
|
||||
Node: GNU Free Documentation License495330
|
||||
Node: Indexes520507
|
||||
Node: Builtin Index520961
|
||||
Node: Reserved Word Index527788
|
||||
Node: Variable Index530236
|
||||
Node: Function Index547224
|
||||
Node: Concept Index561008
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
+50
-23
@@ -1,11 +1,12 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/MacPorts 2022.62882_0) (preloaded format=etex 2022.5.4) 18 APR 2023 10:26
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30) 20 APR 2023 15:09
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
%&-line parsing enabled.
|
||||
**\nonstopmode \input /usr/local/src/chet/src/bash/src/doc/bashref.texi
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.texi
|
||||
(/usr/local/src/chet/src/bash/src/doc/texinfo.tex
|
||||
**\input /usr/local/src/bash/bash-20230420/doc/bashref.texi \input /usr/local/s
|
||||
rc/bash/bash-20230420/doc/bashref.texi
|
||||
(/usr/local/src/bash/bash-20230420/doc/bashref.texi
|
||||
(/usr/local/src/bash/bash-20230420/doc/texinfo.tex
|
||||
Loading texinfo [version 2015-11-22.14]:
|
||||
\outerhsize=\dimen16
|
||||
\outervsize=\dimen17
|
||||
@@ -161,20 +162,23 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
|
||||
texinfo.tex: doing @include of version.texi
|
||||
|
||||
|
||||
(/usr/local/src/chet/src/bash/src/doc/version.texi) [1] [2]
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.toc [-1] [-2] [-3]) [-4]
|
||||
Chapter 1
|
||||
(/usr/local/src/bash/bash-20230420/doc/version.texi) [1{/opt/local/var/db/texmf
|
||||
/fonts/map/pdftex/updmap/pdftex.map}] [2]
|
||||
(/usr/local/build/bash/bash-20230420/doc/bashref.toc [-1] [-2] [-3]) [-4]
|
||||
(/usr/local/build/bash/bash-20230420/doc/bashref.toc)
|
||||
(/usr/local/build/bash/bash-20230420/doc/bashref.toc) Chapter 1
|
||||
\openout0 = `bashref.toc'.
|
||||
|
||||
(/usr/local/src/chet/src/bash/src/doc/bashref.aux)
|
||||
|
||||
(/usr/local/build/bash/bash-20230420/doc/bashref.aux)
|
||||
\openout1 = `bashref.aux'.
|
||||
|
||||
Chapter 2 [1]
|
||||
[2]
|
||||
Chapter 2 [1] [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'.
|
||||
|
||||
@@ -257,8 +261,9 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5280--5280
|
||||
[118]
|
||||
texinfo.tex: doing @include of rluser.texi
|
||||
|
||||
(/usr/local/src/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8
|
||||
[119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130]
|
||||
(/usr/local/src/bash/bash-20230420/lib/readline/doc/rluser.texi
|
||||
Chapter 8 [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129]
|
||||
[130]
|
||||
Underfull \hbox (badness 7540) in paragraph at lines 874--880
|
||||
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
|
||||
-tion
|
||||
@@ -306,10 +311,10 @@ gnored[]
|
||||
texinfo.tex: doing @include of hsuser.texi
|
||||
|
||||
|
||||
(/usr/local/src/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
|
||||
(/usr/local/src/bash/bash-20230420/lib/readline/doc/hsuser.texi Chapter 9
|
||||
[154] [155] [156] [157] [158] [159]) Chapter 10 [160] [161] [162] [163]
|
||||
[164]
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 9566--9575
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 9556--9565
|
||||
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
|
||||
entation[]@textrm '[],
|
||||
|
||||
@@ -322,7 +327,7 @@ entation[]@textrm '[],
|
||||
.etc.
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 9566--9575
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 9556--9565
|
||||
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
|
||||
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
|
||||
|
||||
@@ -338,16 +343,38 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
|
||||
[174] [175] Appendix C [176]
|
||||
texinfo.tex: doing @include of fdl.texi
|
||||
|
||||
(/usr/local/src/chet/src/bash/src/doc/fdl.texi
|
||||
(/usr/local/src/bash/bash-20230420/doc/fdl.texi
|
||||
[177] [178] [179] [180] [181] [182] [183]) Appendix D [184] [185] [186]
|
||||
[187] [188] [189] [190] [191] [192] [193] )
|
||||
Here is how much of TeX's memory you used:
|
||||
3530 strings out of 497084
|
||||
40207 string characters out of 6206695
|
||||
87715 words of memory out of 5000000
|
||||
4703 multiletter control sequences out of 15000+600000
|
||||
4100 strings out of 497086
|
||||
47602 string characters out of 6206517
|
||||
142025 words of memory out of 5000000
|
||||
4869 multiletter control sequences out of 15000+600000
|
||||
34315 words of font info for 116 fonts, out of 8000000 for 9000
|
||||
51 hyphenation exceptions out of 8191
|
||||
16i,6n,16p,343b,942s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
16i,6n,16p,389b,983s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
{/opt/local/share/texmf-texlive/font
|
||||
s/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type
|
||||
1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
|
||||
lic/amsfonts/cm/cmcsc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/
|
||||
amsfonts/cm/cmmi10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfo
|
||||
nts/cm/cmmi12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/c
|
||||
m/cmmi9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr1
|
||||
0.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb><
|
||||
/opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/
|
||||
local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/loc
|
||||
al/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/sh
|
||||
are/texmf-texlive/fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/t
|
||||
exmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-
|
||||
texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texli
|
||||
ve/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fon
|
||||
ts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/typ
|
||||
e1/public/cm-super/sfrm1440.pfb>
|
||||
Output written on bashref.pdf (199 pages, 804832 bytes).
|
||||
PDF statistics:
|
||||
2794 PDF objects out of 2984 (max. 8388607)
|
||||
2548 compressed objects within 26 object streams
|
||||
327 named destinations out of 1000 (max. 500000)
|
||||
1157 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
Output written on bashref.dvi (199 pages, 836976 bytes).
|
||||
|
||||
Binary file not shown.
@@ -8697,16 +8697,6 @@ quoting the rhs of the @code{[[} command's regexp matching operator (=~)
|
||||
has no special effect
|
||||
@end itemize
|
||||
|
||||
@item compat32
|
||||
@itemize @bullet
|
||||
@item
|
||||
interrupting a command list such as "a ; b ; c" causes the execution
|
||||
of the next command in the list (in bash-4.0 and later versions,
|
||||
the shell acts as if it received the interrupt, so
|
||||
interrupting one command in a list aborts the execution of the
|
||||
entire list)
|
||||
@end itemize
|
||||
|
||||
@item compat40
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
Copyright (C) 1988-2023 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Mon Apr 17 10:35:15 EDT 2023
|
||||
@set LASTCHANGE Thu Apr 20 15:08:33 EDT 2023
|
||||
|
||||
@set EDITION 5.2
|
||||
@set VERSION 5.2
|
||||
|
||||
@set UPDATED 17 April 2023
|
||||
@set UPDATED 20 April 2023
|
||||
@set UPDATED-MONTH April 2023
|
||||
|
||||
+18
-19
@@ -236,10 +236,9 @@ REDIRECT *exec_redirection_undo_list = (REDIRECT *)NULL;
|
||||
currently executing (e.g. `eval echo a' would have it set to 2). */
|
||||
int executing_builtin = 0;
|
||||
|
||||
/* Non-zero if we are executing a command list (a;b;c, etc.) */
|
||||
int executing_list = 0;
|
||||
|
||||
int executing_loop = 0;
|
||||
/* Non-zero if we are executing a command list (a;b;c, etc.) or a loop and we
|
||||
should break out of it on a SIGINT. */
|
||||
int interrupt_execution = 0;
|
||||
|
||||
/* Non-zero if we should defer closing process substitution FDs. */
|
||||
int retain_fifos = 0;
|
||||
@@ -2740,7 +2739,7 @@ execute_connection (COMMAND *command, int asynchronous, int pipe_in, int pipe_ou
|
||||
if (command->value.Connection->second)
|
||||
command->value.Connection->second->flags |= CMD_IGNORE_RETURN;
|
||||
}
|
||||
executing_list++; retain_fifos++;
|
||||
interrupt_execution++; retain_fifos++;
|
||||
QUIT;
|
||||
|
||||
#if 1
|
||||
@@ -2756,7 +2755,7 @@ execute_connection (COMMAND *command, int asynchronous, int pipe_in, int pipe_ou
|
||||
exec_result = execute_command_internal (command->value.Connection->second,
|
||||
asynchronous, pipe_in, pipe_out,
|
||||
fds_to_close);
|
||||
executing_list--; retain_fifos--;
|
||||
interrupt_execution--; retain_fifos--;
|
||||
break;
|
||||
|
||||
case '|':
|
||||
@@ -2810,7 +2809,7 @@ execute_connection (COMMAND *command, int asynchronous, int pipe_in, int pipe_ou
|
||||
and the connector is OR_OR, then execute the second command,
|
||||
otherwise return. */
|
||||
|
||||
executing_list++; retain_fifos++;
|
||||
interrupt_execution++; retain_fifos++;
|
||||
if (command->value.Connection->first)
|
||||
command->value.Connection->first->flags |= CMD_IGNORE_RETURN;
|
||||
|
||||
@@ -2833,7 +2832,7 @@ execute_connection (COMMAND *command, int asynchronous, int pipe_in, int pipe_ou
|
||||
|
||||
exec_result = execute_command (second);
|
||||
}
|
||||
executing_list--; retain_fifos--;
|
||||
interrupt_execution--; retain_fifos--;
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -2880,7 +2879,7 @@ execute_for_command (FOR_COM *for_command)
|
||||
return (EXECUTION_FAILURE);
|
||||
}
|
||||
|
||||
loop_level++; retain_fifos++;
|
||||
loop_level++; interrupt_execution++; retain_fifos++;
|
||||
identifier = for_command->name->word;
|
||||
|
||||
line_number = for_command->line; /* for expansion error messages */
|
||||
@@ -2960,7 +2959,7 @@ execute_for_command (FOR_COM *for_command)
|
||||
{
|
||||
dispose_words (releaser);
|
||||
discard_unwind_frame ("for");
|
||||
loop_level--; retain_fifos--;
|
||||
loop_level--; interrupt_execution--; retain_fifos--;
|
||||
return (EXECUTION_FAILURE);
|
||||
}
|
||||
}
|
||||
@@ -2988,7 +2987,7 @@ execute_for_command (FOR_COM *for_command)
|
||||
}
|
||||
}
|
||||
|
||||
loop_level--; retain_fifos--;
|
||||
loop_level--; interrupt_execution--; retain_fifos--;
|
||||
line_number = save_line_number;
|
||||
|
||||
#if 0
|
||||
@@ -3092,7 +3091,7 @@ execute_arith_for_command (ARITH_FOR_COM *arith_for_command)
|
||||
int expok, body_status, arith_lineno, save_lineno;
|
||||
|
||||
body_status = EXECUTION_SUCCESS;
|
||||
loop_level++;
|
||||
loop_level++; interrupt_execution++;
|
||||
save_lineno = line_number;
|
||||
|
||||
if (arith_for_command->flags & CMD_IGNORE_RETURN)
|
||||
@@ -3167,7 +3166,7 @@ execute_arith_for_command (ARITH_FOR_COM *arith_for_command)
|
||||
}
|
||||
}
|
||||
|
||||
loop_level--;
|
||||
loop_level--; interrupt_execution--;
|
||||
line_number = save_lineno;
|
||||
|
||||
return (body_status);
|
||||
@@ -3405,7 +3404,7 @@ execute_select_command (SELECT_COM *select_command)
|
||||
|
||||
this_command_name = (char *)0;
|
||||
|
||||
loop_level++;
|
||||
loop_level++; interrupt_execution++;
|
||||
identifier = select_command->name->word;
|
||||
|
||||
/* command and arithmetic substitution, parameter and variable expansion,
|
||||
@@ -3459,7 +3458,7 @@ execute_select_command (SELECT_COM *select_command)
|
||||
{
|
||||
dispose_words (releaser);
|
||||
discard_unwind_frame ("select");
|
||||
loop_level--;
|
||||
loop_level--; interrupt_execution--;
|
||||
line_number = save_line_number;
|
||||
return (EXECUTION_FAILURE);
|
||||
}
|
||||
@@ -3493,7 +3492,7 @@ execute_select_command (SELECT_COM *select_command)
|
||||
#endif
|
||||
}
|
||||
|
||||
loop_level--;
|
||||
loop_level--; interrupt_execution--;
|
||||
line_number = save_line_number;
|
||||
|
||||
dispose_words (releaser);
|
||||
@@ -3663,7 +3662,7 @@ execute_while_or_until (WHILE_COM *while_command, int type)
|
||||
int return_value, body_status;
|
||||
|
||||
body_status = EXECUTION_SUCCESS;
|
||||
loop_level++;
|
||||
loop_level++; interrupt_execution++;
|
||||
|
||||
while_command->test->flags |= CMD_IGNORE_RETURN;
|
||||
if (while_command->flags & CMD_IGNORE_RETURN)
|
||||
@@ -3714,7 +3713,7 @@ execute_while_or_until (WHILE_COM *while_command, int type)
|
||||
break;
|
||||
}
|
||||
}
|
||||
loop_level--;
|
||||
loop_level--; interrupt_execution--;
|
||||
|
||||
return (body_status);
|
||||
}
|
||||
@@ -5871,7 +5870,7 @@ initialize_subshell (void)
|
||||
/* We're no longer inside a shell function. */
|
||||
variable_context = return_catch_flag = funcnest = evalnest = sourcenest = 0;
|
||||
|
||||
executing_list = retain_fifos = 0; /* XXX */
|
||||
interrupt_execution = retain_fifos = 0; /* XXX */
|
||||
|
||||
/* If we're not interactive, close the file descriptor from which we're
|
||||
reading the current shell script. */
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ extern volatile int last_command_exit_value;
|
||||
extern int last_command_exit_signal;
|
||||
extern int builtin_ignoring_errexit;
|
||||
extern int executing_builtin;
|
||||
extern int executing_list;
|
||||
extern int interrupt_execution;
|
||||
extern int retain_fifos;
|
||||
extern int comsub_ignore_return;
|
||||
extern int subshell_level;
|
||||
|
||||
@@ -3089,10 +3089,11 @@ if (job == NO_JOB)
|
||||
WIFSIGNALED (s) && WTERMSIG (s) == SIGINT)
|
||||
{
|
||||
/* If SIGINT is not trapped and the shell is in a for, while,
|
||||
or until loop, act as if the shell received SIGINT as
|
||||
well, so the loop can be broken. This doesn't call the
|
||||
SIGINT signal handler; maybe it should. */
|
||||
if (signal_is_trapped (SIGINT) == 0 && (loop_level || (shell_compatibility_level > 32 && executing_list)))
|
||||
until, or arithmetic for loop, or is executing a compound list,
|
||||
act as if the shell received SIGINT as well, so the loop or
|
||||
list can be broken. This doesn't call the SIGINT signal
|
||||
handler; maybe it should. */
|
||||
if (signal_is_trapped (SIGINT) == 0 && interrupt_execution)
|
||||
ADDINTERRUPT;
|
||||
/* Call any SIGINT trap handler if the shell is running a loop, so
|
||||
the loop can be broken. This seems more useful and matches the
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Copyright (C) 2008 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the bash package.
|
||||
# Petr Pisar <petr.pisar@atlas.cz>, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
|
||||
# Petr Pisar <petr.pisar@atlas.cz>, 2015, 2016, 2018, 2019, 2020, 2022.
|
||||
# Petr Pisar <petr.pisar@atlas.cz>, 2015, 2016, 2018, 2019, 2020, 2022, 2023.
|
||||
#
|
||||
# alias → alias
|
||||
# subscript → podskript
|
||||
@@ -15,7 +15,7 @@ msgstr ""
|
||||
"Project-Id-Version: bash 5.2-rc1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-11 14:50-0500\n"
|
||||
"PO-Revision-Date: 2022-06-21 20:10+02:00\n"
|
||||
"PO-Revision-Date: 2023-04-20 19:31+02:00\n"
|
||||
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
|
||||
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
|
||||
"Language: cs\n"
|
||||
@@ -38,7 +38,7 @@ msgstr "%s: odstraňuje se atribut odkazu na název"
|
||||
#: arrayfunc.c:496 builtins/declare.def:868
|
||||
#, c-format
|
||||
msgid "%s: cannot convert indexed to associative array"
|
||||
msgstr "%s: číslované pole nezle převést na pole asociativní"
|
||||
msgstr "%s: číslované pole nelze převést na pole asociativní"
|
||||
|
||||
#: arrayfunc.c:777
|
||||
#, c-format
|
||||
@@ -365,7 +365,7 @@ msgstr "může být použito jen ve funkci"
|
||||
|
||||
#: builtins/declare.def:437
|
||||
msgid "cannot use `-f' to make functions"
|
||||
msgstr "„-f“ nezle použít na výrobu funkce"
|
||||
msgstr "„-f“ nelze použít na výrobu funkce"
|
||||
|
||||
#: builtins/declare.def:464 execute_cmd.c:6132
|
||||
#, c-format
|
||||
@@ -2233,7 +2233,7 @@ msgstr "%s: nelze alokovat %'lu bajtů (alokováno %'lu bajtů)"
|
||||
#: xmalloc.c:95
|
||||
#, c-format
|
||||
msgid "%s: cannot allocate %lu bytes"
|
||||
msgstr "%s: nezle alokovat %'lu bajtů"
|
||||
msgstr "%s: nelze alokovat %'lu bajtů"
|
||||
|
||||
#: xmalloc.c:165
|
||||
#, c-format
|
||||
|
||||
@@ -396,7 +396,7 @@ top_level_cleanup (void)
|
||||
|
||||
run_unwind_protects ();
|
||||
loop_level = continuing = breaking = funcnest = 0;
|
||||
executing_list = retain_fifos = 0;
|
||||
interrupt_execution = retain_fifos = 0;
|
||||
comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
|
||||
}
|
||||
|
||||
@@ -463,7 +463,7 @@ throw_to_top_level (void)
|
||||
|
||||
run_unwind_protects ();
|
||||
loop_level = continuing = breaking = funcnest = 0;
|
||||
executing_list = retain_fifos = 0;
|
||||
interrupt_execution = retain_fifos = 0;
|
||||
comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
|
||||
|
||||
if (interactive && print_newline)
|
||||
@@ -630,7 +630,7 @@ termsig_handler (int sig)
|
||||
|
||||
/* Reset execution context */
|
||||
loop_level = continuing = breaking = funcnest = 0;
|
||||
executing_list = retain_fifos = 0;
|
||||
interrupt_execution = retain_fifos = 0;
|
||||
comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
|
||||
|
||||
run_exit_trap (); /* XXX - run exit trap possibly in signal context? */
|
||||
|
||||
Reference in New Issue
Block a user