commit bash-20051005 snapshot

This commit is contained in:
Chet Ramey
2011-12-03 13:51:58 -05:00
parent 668f50077d
commit 1c72c0cd92
49 changed files with 25203 additions and 18913 deletions
+4 -1
View File
@@ -81,7 +81,10 @@ y. Changed the `-n' option to the `history' builtin to not reset the number of
was intended to solve.
z. Improved the error message displayed when a shell script fails to execute
because the environment and size of command line arguments is too large.
because the environment and size of command line arguments are too large.
aa. A small fix to make sure that $HISTCMD is evaluated whenever the shell is
saving commands to the history list, not just when HISTSIZE is defined.
2. Changes to Readline
+50
View File
@@ -12166,3 +12166,53 @@ bashhist.c
- make $HISTCMD available anytime remember_on_history is non-zero,
which indicates that we're saving commands to the history, and
let it evaluate to 1 if we're not
10/4
----
lib/sh/snprintf.c
- in floating(), make sure d != 0 before calling chkinfnan -- gcc on the
version of Solaris 9 I have translates 0 to -inf on the call
[bash-3.1-beta1 frozen]
10/6
----
jobs.c
- set the_pipeline to NULL right away in cleanup_the_pipeline, and
dispose a copy of the pointer so we don't mess with the_pipeline
while we're in the process of destroying it
- block and unblock SIGCHLD around manipulating the_pipeline in
cleanup_the_pipeline
10/7
----
[bash-3.1-beta1 released]
lib/readline/isearch.c
- when switching directions, make sure we turn off the SF_REVERSE
flag in the search context's flags word if we're going from reverse
to forward i-search
lib/readline/bind.c
- new function, rl_variable_value, returns a string representing a
bindable readline variable's value
- new auxiliary function, _rl_get_string_variable_value, encapsulates
everything needed to get a bindable string variable's value
- rewrote rl_variable_dumper to use _rl_get_string_variable_value
lib/readline/readline.h
- new extern declaration for rl_variable_value
lib/readline/doc/rltech.texi
- documented rl_variable_value
bashline.c
- in command_word_completion_function, if readline sets
rl_completion_found_quote, but doesn't set rl_completion_quote_character,
we have an embedded quoted string or backslash-escaped character in
the passed text. We need to dequote that before calling
filename_completion_function. So far, this is in place only for
absolute program names (those containing a `/')
- in command_word_completion_function, use rl_variable_value to decide
whether or not we should ignore case, and use strncasecmp instead of
strncmp where appropriate
+53
View File
@@ -12159,3 +12159,56 @@ execute_cmd.c
- in shell_execve, if the exec fails due to E2BIG or ENOMEM, just print
the appropriate error message instead of checking out any interpreter
specified with #!
9/30
----
bashhist.c
- make $HISTCMD available anytime remember_on_history is non-zero,
which indicates that we're saving commands to the history, and
let it evaluate to 1 if we're not
10/4
----
lib/sh/snprintf.c
- in floating(), make sure d != 0 before calling chkinfnan -- gcc on the
version of Solaris 9 I have translates 0 to -inf on the call
[bash-3.1-beta1 frozen]
10/6
----
jobs.c
- set the_pipeline to NULL right away in cleanup_the_pipeline, and
dispose a copy of the pointer so we don't mess with the_pipeline
while we're in the process of destroying it
- block and unblock SIGCHLD around manipulating the_pipeline in
cleanup_the_pipeline
10/7
----
[bash-3.1-beta1 released]
lib/readline/isearch.c
- when switching directions, make sure we turn off the SF_REVERSE
flag in the search context's flags word if we're going from reverse
to forward i-search
lib/readline/bind.c
- new function, rl_variable_value, returns a string representing a
bindable readline variable's value
- new auxiliary function, _rl_get_string_variable_value, encapsulates
everything needed to get a bindable string variable's value
- rewrote rl_variable_dumper to use _rl_get_string_variable_value
lib/readline/readline.h
- new extern declaration for rl_variable_value
lib/readline/doc/rltech.texi
- documented rl_variable_value
bashline.c
- in command_word_completion_function, if readline sets
rl_completion_found_quote, but doesn't set rl_completion_quote_character,
we have an embedded quoted string or backslash-escaped character in
the passed text. We need to dequote that before calling
filename_completion_function
+40 -7
View File
@@ -1224,23 +1224,30 @@ command_word_completion_function (hint_text, state)
static char *path = (char *)NULL;
static char *val = (char *)NULL;
static char *filename_hint = (char *)NULL;
static int path_index, hint_len, istate;
static char *dequoted_hint = (char *)NULL;
static int path_index, hint_len, dequoted_len, istate, igncase;
static int mapping_over, local_index;
static SHELL_VAR **varlist = (SHELL_VAR **)NULL;
#if defined (ALIAS)
static alias_t **alias_list = (alias_t **)NULL;
#endif /* ALIAS */
char *temp;
/* We have to map over the possibilities for command words. If we have
no state, then make one just for that purpose. */
if (!state)
{
if (dequoted_hint && dequoted_hint != hint)
free (dequoted_hint);
if (hint)
free (hint);
mapping_over = 0;
val = (char *)NULL;
temp = rl_variable_value ("completion-ignore-case");
igncase = strcmp (temp, "on") == 0;
/* If this is an absolute program name, do not check it against
aliases, reserved words, functions or builtins. We must check
whether or not it is unique, and, if so, whether that filename
@@ -1253,10 +1260,24 @@ command_word_completion_function (hint_text, state)
hint = bash_tilde_expand (hint_text, 0);
else
hint = savestring (hint_text);
hint_len = strlen (hint);
dequoted_hint = hint;
/* If readline's completer found a quote character somewhere, but
didn't set the quote character, there must have been a quote
character embedded in the filename. It can't be at the start of
the filename, so we need to dequote the filename before we look
in the file system for it. */
if (rl_completion_found_quote && rl_completion_quote_character == 0)
{
dequoted_hint = bash_dequote_filename (hint, 0);
free (hint);
hint = dequoted_hint;
}
dequoted_len = hint_len = strlen (hint);
if (filename_hint)
free (filename_hint);
filename_hint = savestring (hint);
mapping_over = 4;
@@ -1264,9 +1285,15 @@ command_word_completion_function (hint_text, state)
goto inner;
}
hint = savestring (hint_text);
hint_len = strlen (hint);
dequoted_hint = hint = savestring (hint_text);
dequoted_len = hint_len = strlen (hint);
if (rl_completion_found_quote && rl_completion_quote_character == 0)
{
dequoted_hint = bash_dequote_filename (hint, 0);
dequoted_len = strlen (dequoted_hint);
}
path = get_string_value ("PATH");
path_index = dot_in_path = 0;
@@ -1393,7 +1420,6 @@ command_word_completion_function (hint_text, state)
free (filename_hint);
filename_hint = sh_makepath (current_path, hint, 0);
free (current_path);
}
@@ -1417,7 +1443,11 @@ command_word_completion_function (hint_text, state)
if (absolute_program (hint))
{
match = strncmp (val, hint, hint_len) == 0;
if (igncase == 0)
match = strncmp (val, hint, hint_len) == 0;
else
match = strncasecmp (val, hint, hint_len) == 0;
/* If we performed tilde expansion, restore the original
filename. */
if (*hint_text == '~')
@@ -1450,7 +1480,10 @@ command_word_completion_function (hint_text, state)
if (temp)
{
temp++;
freetemp = match = strncmp (temp, hint, hint_len) == 0;
if (igncase == 0)
freetemp = match = strncmp (temp, hint, hint_len) == 0;
else
freetemp = match = strncasecmp (temp, hint, hint_len) == 0;
if (match)
temp = savestring (temp);
}
+3134
View File
File diff suppressed because it is too large Load Diff
+41 -7
View File
@@ -449,7 +449,11 @@ initialize_readline ()
#endif /* SPECIFIC_COMPLETION_FUNCTIONS */
rl_bind_key_if_unbound_in_map (TAB, dynamic_complete_history, emacs_meta_keymap);
kseq[0] = TAB;
kseq[1] = '\0';
func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL);
if (func == 0 || func == rl_tab_insert)
rl_bind_key_in_map (TAB, dynamic_complete_history, emacs_meta_keymap);
/* Tell the completer that we want a crack first. */
rl_attempted_completion_function = attempt_shell_completion;
@@ -798,6 +802,7 @@ operate_and_get_next (count, c)
#define VI_EDIT_COMMAND "fc -e \"${VISUAL:-${EDITOR:-vi}}\""
#define EMACS_EDIT_COMMAND "fc -e \"${VISUAL:-${EDITOR:-emacs}}\""
#define POSIX_VI_EDIT_COMMAND "fc -e vi"
static int
edit_and_execute_command (count, c, editing_mode, edit_command)
@@ -857,7 +862,10 @@ static int
vi_edit_and_execute_command (count, c)
int count, c;
{
return (edit_and_execute_command (count, c, VI_EDITING_MODE, VI_EDIT_COMMAND));
if (posixly_correct)
return (edit_and_execute_command (count, c, VI_EDITING_MODE, POSIX_VI_EDIT_COMMAND));
else
return (edit_and_execute_command (count, c, VI_EDITING_MODE, VI_EDIT_COMMAND));
}
#endif /* VI_MODE */
@@ -1216,23 +1224,30 @@ command_word_completion_function (hint_text, state)
static char *path = (char *)NULL;
static char *val = (char *)NULL;
static char *filename_hint = (char *)NULL;
static int path_index, hint_len, istate;
static char *dequoted_hint = (char *)NULL;
static int path_index, hint_len, dequoted_len, istate, igncase;
static int mapping_over, local_index;
static SHELL_VAR **varlist = (SHELL_VAR **)NULL;
#if defined (ALIAS)
static alias_t **alias_list = (alias_t **)NULL;
#endif /* ALIAS */
char *temp;
/* We have to map over the possibilities for command words. If we have
no state, then make one just for that purpose. */
if (!state)
{
if (dequoted_hint && dequoted_hint != hint)
free (dequoted_hint);
if (hint)
free (hint);
mapping_over = 0;
val = (char *)NULL;
temp = rl_variable_value ("completion-ignore-case");
igncase = strcmp (temp, "on") == 0;
/* If this is an absolute program name, do not check it against
aliases, reserved words, functions or builtins. We must check
whether or not it is unique, and, if so, whether that filename
@@ -1245,10 +1260,24 @@ command_word_completion_function (hint_text, state)
hint = bash_tilde_expand (hint_text, 0);
else
hint = savestring (hint_text);
hint_len = strlen (hint);
dequoted_hint = hint;
/* If readline's completer found a quote character somewhere, but
didn't set the quote character, there must have been a quote
character embedded in the filename. It can't be at the start of
the filename, so we need to dequote the filename before we look
in the file system for it. */
if (rl_completion_found_quote && rl_completion_quote_character == 0)
{
dequoted_hint = bash_dequote_filename (hint, 0);
free (hint);
hint = dequoted_hint;
}
dequoted_len = hint_len = strlen (hint);
if (filename_hint)
free (filename_hint);
filename_hint = savestring (hint);
mapping_over = 4;
@@ -1256,9 +1285,15 @@ command_word_completion_function (hint_text, state)
goto inner;
}
hint = savestring (hint_text);
hint_len = strlen (hint);
dequoted_hint = hint = savestring (hint_text);
dequoted_len = hint_len = strlen (hint);
if (rl_completion_found_quote && rl_completion_quote_character == 0)
{
dequoted_hint = bash_dequote_filename (hint, 0);
dequoted_len = strlen (dequoted_hint);
}
path = get_string_value ("PATH");
path_index = dot_in_path = 0;
@@ -1385,7 +1420,6 @@ command_word_completion_function (hint_text, state)
free (filename_hint);
filename_hint = sh_makepath (current_path, hint, 0);
free (current_path);
}
+1067 -1063
View File
File diff suppressed because it is too large Load Diff
+27 -11
View File
@@ -2,7 +2,7 @@
<TITLE>BASH(1) Manual Page</TITLE>
</HEAD>
<BODY><TABLE WIDTH=100%>
<TH ALIGN=LEFT>BASH(1)<TH ALIGN=CENTER>2005 Mar 15<TH ALIGN=RIGHT>BASH(1)
<TH ALIGN=LEFT>BASH(1)<TH ALIGN=CENTER>2005 Aug 27<TH ALIGN=RIGHT>BASH(1)
</TABLE>
<BR><A HREF="#index">Index</A>
<HR>
@@ -58,6 +58,9 @@ shells (<B>ksh</B> and <B>csh</B>).
is intended to be a conformant implementation of the IEEE
POSIX Shell and Tools specification (IEEE Working Group 1003.2).
<B>Bash</B>
can be configured to be POSIX-conformant by default.
<A NAME="lbAF">&nbsp;</A>
<H2>OPTIONS</H2>
@@ -2561,6 +2564,11 @@ number of seconds to wait for input after issuing the primary prompt.
terminates after waiting for that number of seconds if input does
not arrive.
<DT><B>TMPDIR</B>
<DD>
If set, <B>Bash</B> uses its value as the name of a directory in which
<B>Bash</B> creates temporary files for the shell's use.
<DT><B>auto_resume</B>
<DD>
@@ -2707,6 +2715,8 @@ The
builtin is used to destroy arrays. <B>unset</B> <I>name</I>[<I>subscript</I>]
destroys the array element at index <I>subscript</I>.
Care must be taken to avoid unwanted side effects caused by filename
generation.
<B>unset</B> <I>name</I>, where <I>name</I> is an array, or
<B>unset</B> <I>name</I>[<I>subscript</I>], where
<I>subscript</I> is <B>*</B> or <B>@</B>, removes the entire array.
@@ -5943,8 +5953,13 @@ Except where noted, readline variables can take the values
<B>On</B>
or
<B>Off</B>.
<B>Off</B>
(without regard to case).
Unrecognized variable names are ignored.
When a variable value is read, empty or null values, &quot;on&quot; (case-insensitive),
and &quot;1&quot; are equivalent to <B>On</B>. All other values are equivalent to
<B>Off</B>.
The variables and their default values are:
<P>
@@ -6030,7 +6045,7 @@ arrow keys.
<DD>
If set to <B>on</B>, tilde expansion is performed when readline
attempts word completion.
<DT><B>history-preserve-point</B>
<DT><B>history-preserve-point (Off)</B>
<DD>
If set to <B>on</B>, the history code attempts to place point at the
@@ -7664,6 +7679,8 @@ accepts
<B>--</B>
to signify the end of the options.
For example, the <B>:</B>, <B>true</B>, <B>false</B>, and <B>test</B> builtins
do not accept options.
<P>
<DL COMPACT>
@@ -7751,8 +7768,8 @@ If <I>jobspec</I> is not present, the shell's notion of the
<I>jobspec</I>
returns 0 unless run when job control is disabled or, when run with
job control enabled, if the last <I>jobspec</I> was not found or was
started without job control.
job control enabled, any specified <I>jobspec</I> was not found
or was started without job control.
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-lpsvPSV</B>]<DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-q</B> <I>function</I>] [<B>-u</B> <I>function</I>] [<B>-r</B> <I>keyseq</I>]<DD>
@@ -8505,10 +8522,7 @@ dynamically determine whether or not <B>echo</B> expands these
escape characters by default.
<B>echo</B>
does not interpret
<B>--</B>
to mean the end of options.
does not interpret <B>--</B> to mean the end of options.
<B>echo</B>
interprets the following escape sequences:
@@ -9576,7 +9590,7 @@ Cause <B>read</B> to time out and return failure if a complete line of
input is not read within <I>timeout</I> seconds.
This option has no effect if <B>read</B> is not reading input from the
terminal or a pipe.
<DT><B>-u </B><I>fdFP</I>
<DT><B>-u </B><I>fd</I>
<DD>
Read input from file descriptor <I>fd</I>.
@@ -10548,6 +10562,8 @@ Expressions are composed of the primaries described above under
<FONT SIZE=-1><B>CONDITIONAL EXPRESSIONS</B>.
</FONT>
<B>test</B> does not accept any options, nor does it accept and ignore
an argument of <B>--</B> as signifying the end of options.
<P>
@@ -11487,6 +11503,6 @@ Array variables may not (yet) be exported.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 15 March 2005 17:27:07 EST
Time: 03 October 2005 15:07:47 EDT
</BODY>
</HTML>
+4069 -4051
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -146,7 +146,7 @@
@xrdef{Bash Builtins-pg}{39}
@xrdef{Bash Builtins-snt}{Section@tie 4.2}
@xrdef{The Set Builtin-title}{The Set Builtin}
@xrdef{The Set Builtin-pg}{50}
@xrdef{The Set Builtin-pg}{51}
@xrdef{The Set Builtin-snt}{Section@tie 4.3}
@xrdef{Special Builtins-title}{Special Builtins}
@xrdef{Special Builtins-pg}{54}
+5 -5
View File
@@ -1,7 +1,7 @@
\entry{:}{33}{\code {:}}
\entry{.}{33}{\code {.}}
\entry{break}{33}{\code {break}}
\entry{cd}{33}{\code {cd}}
\entry{cd}{34}{\code {cd}}
\entry{continue}{34}{\code {continue}}
\entry{eval}{34}{\code {eval}}
\entry{exec}{34}{\code {exec}}
@@ -26,20 +26,20 @@
\entry{command}{41}{\code {command}}
\entry{declare}{41}{\code {declare}}
\entry{echo}{42}{\code {echo}}
\entry{enable}{42}{\code {enable}}
\entry{enable}{43}{\code {enable}}
\entry{help}{43}{\code {help}}
\entry{let}{43}{\code {let}}
\entry{local}{43}{\code {local}}
\entry{logout}{43}{\code {logout}}
\entry{logout}{44}{\code {logout}}
\entry{printf}{44}{\code {printf}}
\entry{read}{44}{\code {read}}
\entry{shopt}{45}{\code {shopt}}
\entry{source}{49}{\code {source}}
\entry{type}{49}{\code {type}}
\entry{typeset}{49}{\code {typeset}}
\entry{ulimit}{49}{\code {ulimit}}
\entry{ulimit}{50}{\code {ulimit}}
\entry{unalias}{50}{\code {unalias}}
\entry{set}{50}{\code {set}}
\entry{set}{51}{\code {set}}
\entry{dirs}{75}{\code {dirs}}
\entry{popd}{76}{\code {popd}}
\entry{pushd}{76}{\code {pushd}}
+5 -5
View File
@@ -13,7 +13,7 @@
\entry {\code {builtin}}{40}
\initial {C}
\entry {\code {caller}}{40}
\entry {\code {cd}}{33}
\entry {\code {cd}}{34}
\entry {\code {command}}{41}
\entry {\code {compgen}}{109}
\entry {\code {complete}}{109}
@@ -24,7 +24,7 @@
\entry {\code {disown}}{85}
\initial {E}
\entry {\code {echo}}{42}
\entry {\code {enable}}{42}
\entry {\code {enable}}{43}
\entry {\code {eval}}{34}
\entry {\code {exec}}{34}
\entry {\code {exit}}{34}
@@ -45,7 +45,7 @@
\initial {L}
\entry {\code {let}}{43}
\entry {\code {local}}{43}
\entry {\code {logout}}{43}
\entry {\code {logout}}{44}
\initial {P}
\entry {\code {popd}}{76}
\entry {\code {printf}}{44}
@@ -56,7 +56,7 @@
\entry {\code {readonly}}{36}
\entry {\code {return}}{36}
\initial {S}
\entry {\code {set}}{50}
\entry {\code {set}}{51}
\entry {\code {shift}}{36}
\entry {\code {shopt}}{45}
\entry {\code {source}}{49}
@@ -68,7 +68,7 @@
\entry {\code {type}}{49}
\entry {\code {typeset}}{49}
\initial {U}
\entry {\code {ulimit}}{49}
\entry {\code {ulimit}}{50}
\entry {\code {umask}}{38}
\entry {\code {unalias}}{50}
\entry {\code {unset}}{39}
BIN
View File
Binary file not shown.
+597 -656
View File
File diff suppressed because it is too large Load Diff
+294 -275
View File
@@ -2,10 +2,10 @@ This is bashref.info, produced by makeinfo version 4.7 from
/Users/chet/src/bash/src/doc/bashref.texi.
This text is a brief description of the features that are present in
the Bash shell (version 3.1-devel, 15 March 2005).
the Bash shell (version 3.1-beta1, 5 September 2005).
This is Edition 3.1-devel, last updated 15 March 2005, of `The GNU
Bash Reference Manual', for `Bash', Version 3.1-devel.
This is Edition 3.1-beta1, last updated 5 September 2005, of `The
GNU Bash Reference Manual', for `Bash', Version 3.1-beta1.
Copyright (C) 1988-2005 Free Software Foundation, Inc.
@@ -37,10 +37,10 @@ Bash Features
*************
This text is a brief description of the features that are present in
the Bash shell (version 3.1-devel, 15 March 2005)..
the Bash shell (version 3.1-beta1, 5 September 2005)..
This is Edition 3.1-devel, last updated 15 March 2005, of `The GNU
Bash Reference Manual', for `Bash', Version 3.1-devel.
This is Edition 3.1-beta1, last updated 5 September 2005, of `The
GNU Bash Reference Manual', for `Bash', Version 3.1-beta1.
Bash contains features that appear in other popular shells, and some
features that only appear in Bash. Some of the shells that Bash has
@@ -56,46 +56,28 @@ on shell behavior.
* Menu:
* Introduction:: An introduction to the shell.
* Definitions:: Some definitions used in the rest of this
manual.
* Basic Shell Features:: The shell "building blocks".
* Shell Builtin Commands:: Commands that are a part of the shell.
* Shell Variables:: Variables used or set by Bash.
* Bash Features:: Features found only in Bash.
* Job Control:: A chapter describing what job control is
and how Bash allows you to use it.
* Using History Interactively:: Chapter dealing with history expansion
rules.
* Job Control:: What job control is and how Bash allows you
to use it.
* Using History Interactively:: Command History Expansion
* Command Line Editing:: Chapter describing the command line
editing features.
* Installing Bash:: How to build and install Bash on your system.
* Reporting Bugs:: How to report bugs in Bash.
* Major Differences From The Bourne Shell:: A terse list of the differences
between Bash and historical
versions of /bin/sh.
* Copying This Manual:: Copying this manual.
* Builtin Index:: Index of Bash builtin commands.
* Reserved Word Index:: Index of Bash reserved words.
* Variable Index:: Quick reference helps you find the
variable you want.
* Function Index:: Index of bindable Readline functions.
* Concept Index:: General index for concepts described in
this manual.
@@ -108,7 +90,6 @@ File: bashref.info, Node: Introduction, Next: Definitions, Prev: Top, Up: To
* Menu:
* What is Bash?:: A short description of Bash.
* What is a shell?:: A brief introduction to shells.

@@ -313,9 +294,7 @@ File: bashref.info, Node: Shell Syntax, Next: Shell Commands, Up: Basic Shell
* Menu:
* Shell Operation:: The basic operation of the shell.
* Quoting:: How to remove the special meaning from characters.
* Comments:: How to specify comments.
When the shell reads input, it proceeds through a sequence of
@@ -382,7 +361,6 @@ File: bashref.info, Node: Quoting, Next: Comments, Prev: Shell Operation, Up
* Double Quotes:: How to suppress most of the interpretation of a
sequence of characters.
* ANSI-C Quoting:: How to expand ANSI-C sequences in quoted strings.
* Locale Translation:: How to translate strings into different languages.
Quoting is used to remove the special meaning of certain characters
@@ -1926,18 +1904,13 @@ File: bashref.info, Node: Executing Commands, Next: Shell Scripts, Prev: Redi
* Simple Command Expansion:: How Bash expands simple commands before
executing them.
* Command Search and Execution:: How Bash finds commands and runs them.
* Command Execution Environment:: The environment in which Bash
executes commands that are not
shell builtins.
* Environment:: The environment given to a command.
* Exit Status:: The status returned by commands and how Bash
interprets it.
* Signals:: What happens when Bash or a command it runs
receives a signal.
@@ -2295,6 +2268,8 @@ Completion Builtins::).
Unless otherwise noted, each builtin command documented as accepting
options preceded by `-' accepts `--' to signify the end of the options.
For example, the `:', `true', `false', and `test' builtins do not
accept options.

File: bashref.info, Node: Bourne Shell Builtins, Next: Bash Builtins, Up: Shell Builtin Commands
@@ -2511,6 +2486,8 @@ standard.
Evaluate a conditional expression EXPR. Each operator and operand
must be a separate argument. Expressions are composed of the
primaries described below in *Note Bash Conditional Expressions::.
`test' does not accept any options, nor does it accept and ignore
an argument of `--' as signifying the end of options.
When the `[' form is used, the last argument to the command must
be a `]'.
@@ -2843,7 +2820,10 @@ POSIX 1003.2 standard.
escape characters, even on systems where they are interpreted by
default. The `xpg_echo' shell option may be used to dynamically
determine whether or not `echo' expands these escape characters by
default. `echo' interprets the following escape sequences:
default. `echo' does not interpret `--' to mean the end of
options.
`echo' interprets the following escape sequences:
`\a'
alert (bell)
@@ -4199,6 +4179,10 @@ Variables::).
the shell is interactive. Bash terminates after that number of
seconds if input does not arrive.
`TMPDIR'
If set, Bash uses its value as the name of a directory in which
Bash creates temporary files for the shell's use.
`UID'
The numeric real user id of the current user. This variable is
readonly.
@@ -4951,9 +4935,10 @@ the array. Referencing an array variable without a subscript is
equivalent to referencing element zero.
The `unset' builtin is used to destroy arrays. `unset'
NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT. `unset'
NAME, where NAME is an array, removes the entire array. A subscript of
`*' or `@' also removes the entire array.
NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT. Care
must be taken to avoid unwanted side effects caused by filename
generation. `unset' NAME, where NAME is an array, removes the entire
array. A subscript of `*' or `@' also removes the entire array.
The `declare', `local', and `readonly' builtins each accept a `-a'
option to specify an array. The `read' builtin accepts a `-a' option
@@ -5256,149 +5241,160 @@ startup files.
is stopped is `Stopped(SIGNAME)', where SIGNAME is, for example,
`SIGTSTP'.
4. Reserved words appearing in a context where reserved words are
4. The `bg' builtin uses the required format to describe each job
placed in the background, which does not include an indication of
whether the job is the current or previous job.
5. Reserved words appearing in a context where reserved words are
recognized do not undergo alias expansion.
5. The POSIX 1003.2 `PS1' and `PS2' expansions of `!' to the history
6. The POSIX 1003.2 `PS1' and `PS2' expansions of `!' to the history
number and `!!' to `!' are enabled, and parameter expansion is
performed on the values of `PS1' and `PS2' regardless of the
setting of the `promptvars' option.
6. The POSIX 1003.2 startup files are executed (`$ENV') rather than
7. The POSIX 1003.2 startup files are executed (`$ENV') rather than
the normal Bash files.
7. Tilde expansion is only performed on assignments preceding a
8. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
8. The default history file is `~/.sh_history' (this is the default
9. The default history file is `~/.sh_history' (this is the default
value of `$HISTFILE').
9. The output of `kill -l' prints all the signal names on a single
10. The output of `kill -l' prints all the signal names on a single
line, separated by spaces, without the `SIG' prefix.
10. The `kill' builtin does not accept signal names with a `SIG'
11. The `kill' builtin does not accept signal names with a `SIG'
prefix.
11. Non-interactive shells exit if FILENAME in `.' FILENAME is not
12. Non-interactive shells exit if FILENAME in `.' FILENAME is not
found.
12. Non-interactive shells exit if a syntax error in an arithmetic
13. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
13. Redirection operators do not perform filename expansion on the word
14. Redirection operators do not perform filename expansion on the word
in the redirection unless the shell is interactive.
14. Redirection operators do not perform word splitting on the word in
15. Redirection operators do not perform word splitting on the word in
the redirection.
15. Function names must be valid shell `name's. That is, they may not
16. Function names must be valid shell `name's. That is, they may not
contain characters other than letters, digits, and underscores, and
may not start with a digit. Declaring a function with an invalid
name causes a fatal syntax error in non-interactive shells.
16. POSIX 1003.2 `special' builtins are found before shell functions
17. POSIX 1003.2 special builtins are found before shell functions
during command lookup.
17. If a POSIX 1003.2 special builtin returns an error status, a
18. If a POSIX 1003.2 special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX.2 standard, and include things like passing incorrect
options, redirection errors, variable assignment errors for
assignments preceding the command name, and so on.
18. If `CDPATH' is set, the `cd' builtin will not implicitly append
19. If `CDPATH' is set, the `cd' builtin will not implicitly append
the current directory to it. This means that `cd' will fail if no
valid directory name can be constructed from any of the entries in
`$CDPATH', even if the a directory with the same name as the name
given as an argument to `cd' exists in the current directory.
19. A non-interactive shell exits with an error status if a variable
20. A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements. A variable assignment error occurs, for example, when
trying to assign a value to a readonly variable.
20. A non-interactive shell exits with an error status if the iteration
21. A non-interactive shell exits with an error status if the iteration
variable in a `for' statement or the selection variable in a
`select' statement is a readonly variable.
21. Process substitution is not available.
22. Process substitution is not available.
22. Assignment statements preceding POSIX 1003.2 special builtins
23. Assignment statements preceding POSIX 1003.2 special builtins
persist in the shell environment after the builtin completes.
23. Assignment statements preceding shell function calls persist in the
24. Assignment statements preceding shell function calls persist in the
shell environment after the function returns, as if a POSIX
special builtin command had been executed.
24. The `export' and `readonly' builtin commands display their output
25. The `export' and `readonly' builtin commands display their output
in the format required by POSIX 1003.2.
25. The `trap' builtin displays signal names without the leading `SIG'.
26. The `trap' builtin displays signal names without the leading `SIG'.
26. The `trap' builtin doesn't check the first argument for a possible
27. The `trap' builtin doesn't check the first argument for a possible
signal specification and revert the signal handling to the original
disposition if it is, unless that argument consists solely of
digits and is a valid signal number. If users want to reset the
handler for a given signal to the original disposition, they
should use `-' as the first argument.
27. The `.' and `source' builtins do not search the current directory
28. The `.' and `source' builtins do not search the current directory
for the filename argument if it is not found by searching `PATH'.
28. Subshells spawned to execute command substitutions inherit the
29. Subshells spawned to execute command substitutions inherit the
value of the `-e' option from the parent shell. When not in POSIX
mode, Bash clears the `-e' option in such subshells.
29. Alias expansion is always enabled, even in non-interactive shells.
30. Alias expansion is always enabled, even in non-interactive shells.
30. When the `alias' builtin displays alias definitions, it does not
31. When the `alias' builtin displays alias definitions, it does not
display them with a leading `alias ' unless the `-p' option is
supplied.
31. When the `set' builtin is invoked without options, it does not
32. When the `set' builtin is invoked without options, it does not
display shell function names and definitions.
32. When the `set' builtin is invoked without options, it displays
33. When the `set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
33. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
34. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from `$PWD' and the directory name supplied as an
argument does not refer to an existing directory, `cd' will fail
instead of falling back to PHYSICAL mode.
34. When the `pwd' builtin is supplied the `-P' option, it resets
35. When the `pwd' builtin is supplied the `-P' option, it resets
`$PWD' to a pathname containing no symlinks.
35. When listing the history, the `fc' builtin does not include an
36. The `pwd' builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the `-P' option.
37. When listing the history, the `fc' builtin does not include an
indication of whether or not a history entry has been modified.
36. The default editor used by `fc' is `ed'.
38. The default editor used by `fc' is `ed'.
37. The `type' and `command' builtins will not report a non-executable
39. The `type' and `command' builtins will not report a non-executable
file as having been found, though the shell will attempt to
execute such a file if it is the only so-named file found in
`$PATH'.
38. When the `xpg_echo' option is enabled, Bash does not attempt to
40. The `vi' editing mode will invoke the `vi' editor directly when
the `v' command is run, instead of checking `$FCEDIT' and
`$EDITOR'.
41. When the `xpg_echo' option is enabled, Bash does not attempt to
interpret any arguments to `echo' as options. Each argument is
displayed, after escape characters are converted.
There is other POSIX 1003.2 behavior that Bash does not implement.
Specifically:
There is other POSIX 1003.2 behavior that Bash does not implement by
default even when in POSIX mode. Specifically:
1. Assignment statements affect the execution environment of all
builtins, not just special ones.
1. The `fc' builtin checks `$EDITOR' as a program to edit history
entries if `FCEDIT' is unset, rather than defaulting directly to
`ed'. `fc' uses `ed' if `EDITOR' is unset.
2. When a subshell is created to execute a shell script with execute
permission, but without a leading `#!', Bash sets `$0' to the full
pathname of the script as found by searching `$PATH', rather than
the command as typed by the user.
2. As noted above, Bash requires the `xpg_echo' option to be enabled
for the `echo' builtin to be fully conformant.
3. When using `.' to source a shell script found in `$PATH', bash
checks execute permission bits rather than read permission bits,
just as if it were searching for a command.
Bash can be configured to be POSIX-conformant by default, by
specifying the `--enable-strict-posix-default' to `configure' when
building (*note Optional Features::).

File: bashref.info, Node: Job Control, Next: Using History Interactively, Prev: Bash Features, Up: Top
@@ -5511,9 +5507,9 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables,
Resume each suspended job JOBSPEC in the background, as if it had
been started with `&'. If JOBSPEC is not supplied, the current
job is used. The return status is zero unless it is run when job
control is not enabled, or, when run with job control enabled, if
the last JOBSPEC was not found or the last JOBSPEC specifies a job
that was started without job control.
control is not enabled, or, when run with job control enabled, any
JOBSPEC was not found or specifies a job that was started without
job control.
`fg'
fg [JOBSPEC]
@@ -5961,7 +5957,11 @@ Variable Settings
set editing-mode vi
Variable names and values, where appropriate, are recognized
without regard to case.
without regard to case. Unrecognized variable names are ignored.
Boolean variables (those that can be set to on or off) are set to
on if the value is null or empty, ON (case-insensitive), or 1.
Any other value results in the variable being set to off.
The `bind -V' command lists the current Readline variable names
and values. *Note Bash Builtins::.
@@ -5998,7 +5998,8 @@ Variable Settings
than this value, Readline will ask the user whether or not he
wishes to view them; otherwise, they are simply listed. This
variable must be set to an integer value greater than or
equal to 0. The default limit is `100'.
equal to 0. A negative value means Readline should never ask.
The default limit is `100'.
`convert-meta'
If set to `on', Readline will convert characters with the
@@ -6026,9 +6027,10 @@ Variable Settings
If set to `on', tilde expansion is performed when Readline
attempts word completion. The default is `off'.
`history-preserve-point'
If set to `on', the history code attempts to place point at
the same location on each history line retrieved with
`previous-history' or `next-history'.
`previous-history' or `next-history'. The default is `off'.
`horizontal-scroll-mode'
This variable can be set to either `on' or `off'. Setting it
@@ -7663,23 +7665,16 @@ MS-DOS, OS/2, and Windows platforms.
* Menu:
* Basic Installation:: Installation instructions.
* Compilers and Options:: How to set special options for various
systems.
* Compiling For Multiple Architectures:: How to compile Bash for more
than one kind of system from
the same source tree.
* Installation Names:: How to set the various paths used by the installation.
* Specifying the System Type:: How to configure Bash for a particular system.
* Sharing Defaults:: How to share default configuration values among GNU
programs.
* Operation Controls:: Options recognized by the configuration program.
* Optional Features:: How to enable and disable optional features when
building Bash.
@@ -7902,13 +7897,14 @@ that the Bash `configure' recognizes.
Define if you are using the Andrew File System from Transarc.
`--with-bash-malloc'
Use the Bash version of `malloc' in `lib/malloc/malloc.c'. This
is not the same `malloc' that appears in GNU libc, but an older
version derived from the 4.2 BSD `malloc'. This `malloc' is very
fast, but wastes some space on each allocation. This option is
enabled by default. The `NOTES' file contains a list of systems
for which this should be turned off, and `configure' disables this
option automatically for a number of systems.
Use the Bash version of `malloc' in the directory `lib/malloc'.
This is not the same `malloc' that appears in GNU libc, but an
older version originally derived from the 4.2 BSD `malloc'. This
`malloc' is very fast, but wastes some space on each allocation.
This option is enabled by default. The `NOTES' file contains a
list of systems for which this should be turned off, and
`configure' disables this option automatically for a number of
systems.
`--with-curses'
Use the curses library instead of the termcap library. This should
@@ -8082,6 +8078,9 @@ does not provide the necessary support.
different languages. You may need to disable this if your
compiler cannot handle very long string literals.
`--enable-strict-posix-default'
Make Bash POSIX-conformant by default (*note Bash POSIX Mode::).
`--enable-usg-echo-default'
A synonym for `--enable-xpg-echo-default'.
@@ -8147,7 +8146,8 @@ be implemented. There are some differences between the traditional
Bourne shell and Bash; this section quickly details the differences of
significance. A number of these differences are explained in greater
depth in previous sections. This section uses the version of `sh'
included in SVR4.2 as the baseline reference.
included in SVR4.2 (the last version of the historical Bourne shell) as
the baseline reference.
* Bash is POSIX-conformant, even where the POSIX specification
differs from traditional `sh' behavior (*note Bash POSIX Mode::).
@@ -8187,7 +8187,9 @@ included in SVR4.2 as the baseline reference.
* Bash implements the `!' keyword to negate the return value of a
pipeline (*note Pipelines::). Very useful when an `if' statement
needs to act only if a test fails.
needs to act only if a test fails. The Bash `-o pipefail' option
to `set' will cause a pipeline to return a failure status if any
command fails.
* Bash has the `time' reserved word and command timing (*note
Pipelines::). The display of the timing statistics may be
@@ -8201,7 +8203,11 @@ included in SVR4.2 as the baseline reference.
generation of simple menus (*note Conditional Constructs::).
* Bash includes the `[[' compound command, which makes conditional
testing part of the shell grammar (*note Conditional Constructs::).
testing part of the shell grammar (*note Conditional
Constructs::), including optional regular expression matching.
* Bash provides optional case-insensitive matching for the `case' and
`[[' constructs.
* Bash includes brace expansion (*note Brace Expansion::) and tilde
expansion (*note Tilde Expansion::).
@@ -8218,6 +8224,9 @@ included in SVR4.2 as the baseline reference.
not normally do this unless the variables are explicitly marked
using the `export' command.
* Bash supports the `+=' assignment operator, which appends to the
value of the variable named on the left hand side.
* Bash includes the POSIX pattern removal `%', `#', `%%' and `##'
expansions to remove leading or trailing substrings from variable
values (*note Shell Parameter Expansion::).
@@ -8285,6 +8294,12 @@ included in SVR4.2 as the baseline reference.
operator, for directing standard output and standard error to the
same file (*note Redirections::).
* Bash includes the `<<<' redirection operator, allowing a string to
be used as the standard input to a command.
* Bash implements the `[n]<&WORD' and `[n]>&WORD' redirection
operators, which move one file descriptor to another.
* Bash treats a number of filenames specially when they are used in
redirection operators (*note Redirections::).
@@ -8423,6 +8438,9 @@ included in SVR4.2 as the baseline reference.
table (*note Job Control Builtins::) or suppress the sending of
`SIGHUP' to a job when the shell exits as the result of a `SIGHUP'.
* Bash includes a number of features to support a separate debugger
for shell scripts.
* The SVR4.2 shell has two privilege-related builtins (`mldmode' and
`priv') not present in Bash.
@@ -8960,7 +8978,7 @@ Index of Shell Builtin Commands
* disown: Job Control Builtins.
(line 83)
* echo: Bash Builtins. (line 191)
* enable: Bash Builtins. (line 244)
* enable: Bash Builtins. (line 247)
* eval: Bourne Shell Builtins.
(line 63)
* exec: Bourne Shell Builtins.
@@ -8977,24 +8995,24 @@ Index of Shell Builtin Commands
(line 103)
* hash: Bourne Shell Builtins.
(line 145)
* help: Bash Builtins. (line 272)
* help: Bash Builtins. (line 275)
* history: Bash History Builtins.
(line 39)
* jobs: Job Control Builtins.
(line 25)
* kill: Job Control Builtins.
(line 57)
* let: Bash Builtins. (line 281)
* local: Bash Builtins. (line 288)
* logout: Bash Builtins. (line 298)
* let: Bash Builtins. (line 284)
* local: Bash Builtins. (line 291)
* logout: Bash Builtins. (line 301)
* popd: Directory Stack Builtins.
(line 37)
* printf: Bash Builtins. (line 302)
* printf: Bash Builtins. (line 305)
* pushd: Directory Stack Builtins.
(line 58)
* pwd: Bourne Shell Builtins.
(line 163)
* read: Bash Builtins. (line 327)
* read: Bash Builtins. (line 330)
* readonly: Bourne Shell Builtins.
(line 172)
* return: Bourne Shell Builtins.
@@ -9002,24 +9020,24 @@ Index of Shell Builtin Commands
* set: The Set Builtin. (line 9)
* shift: Bourne Shell Builtins.
(line 200)
* shopt: Bash Builtins. (line 388)
* source: Bash Builtins. (line 619)
* shopt: Bash Builtins. (line 391)
* source: Bash Builtins. (line 622)
* suspend: Job Control Builtins.
(line 94)
* test: Bourne Shell Builtins.
(line 212)
* times: Bourne Shell Builtins.
(line 276)
(line 278)
* trap: Bourne Shell Builtins.
(line 281)
* type: Bash Builtins. (line 623)
* typeset: Bash Builtins. (line 654)
* ulimit: Bash Builtins. (line 660)
(line 283)
* type: Bash Builtins. (line 626)
* typeset: Bash Builtins. (line 657)
* ulimit: Bash Builtins. (line 663)
* umask: Bourne Shell Builtins.
(line 322)
* unalias: Bash Builtins. (line 722)
(line 324)
* unalias: Bash Builtins. (line 725)
* unset: Bourne Shell Builtins.
(line 339)
(line 341)
* wait: Job Control Builtins.
(line 73)
@@ -9098,35 +9116,35 @@ Parameter and Variable Index
* BASH_VERSINFO: Bash Variables. (line 74)
* BASH_VERSION: Bash Variables. (line 98)
* bell-style: Readline Init File Syntax.
(line 34)
(line 38)
* bind-tty-special-chars: Readline Init File Syntax.
(line 41)
(line 45)
* CDPATH: Bourne Shell Variables.
(line 9)
* COLUMNS: Bash Variables. (line 101)
* comment-begin: Readline Init File Syntax.
(line 46)
(line 50)
* COMP_CWORD: Bash Variables. (line 106)
* COMP_LINE: Bash Variables. (line 112)
* COMP_POINT: Bash Variables. (line 117)
* COMP_WORDBREAKS: Bash Variables. (line 125)
* COMP_WORDS: Bash Variables. (line 131)
* completion-query-items: Readline Init File Syntax.
(line 56)
(line 60)
* COMPREPLY: Bash Variables. (line 137)
* convert-meta: Readline Init File Syntax.
(line 65)
(line 70)
* DIRSTACK: Bash Variables. (line 142)
* disable-completion: Readline Init File Syntax.
(line 71)
* editing-mode: Readline Init File Syntax.
(line 76)
* editing-mode: Readline Init File Syntax.
(line 81)
* EMACS: Bash Variables. (line 152)
* enable-keypad: Readline Init File Syntax.
(line 82)
(line 87)
* EUID: Bash Variables. (line 157)
* expand-tilde: Readline Init File Syntax.
(line 87)
(line 92)
* FCEDIT: Bash Variables. (line 161)
* FIGNORE: Bash Variables. (line 165)
* FUNCNAME: Bash Variables. (line 171)
@@ -9139,13 +9157,13 @@ Parameter and Variable Index
* HISTFILESIZE: Bash Variables. (line 232)
* HISTIGNORE: Bash Variables. (line 239)
* history-preserve-point: Readline Init File Syntax.
(line 90)
(line 96)
* HISTSIZE: Bash Variables. (line 258)
* HISTTIMEFORMAT: Bash Variables. (line 262)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 95)
(line 101)
* HOSTFILE: Bash Variables. (line 269)
* HOSTNAME: Bash Variables. (line 280)
* HOSTTYPE: Bash Variables. (line 283)
@@ -9153,12 +9171,12 @@ Parameter and Variable Index
(line 18)
* IGNOREEOF: Bash Variables. (line 286)
* input-meta: Readline Init File Syntax.
(line 102)
(line 108)
* INPUTRC: Bash Variables. (line 296)
* isearch-terminators: Readline Init File Syntax.
(line 109)
(line 115)
* keymap: Readline Init File Syntax.
(line 116)
(line 122)
* LANG: Bash Variables. (line 300)
* LC_ALL: Bash Variables. (line 304)
* LC_COLLATE: Bash Variables. (line 308)
@@ -9175,13 +9193,13 @@ Parameter and Variable Index
* MAILPATH: Bourne Shell Variables.
(line 27)
* mark-modified-lines: Readline Init File Syntax.
(line 129)
(line 135)
* mark-symlinked-directories: Readline Init File Syntax.
(line 134)
(line 140)
* match-hidden-files: Readline Init File Syntax.
(line 139)
(line 145)
* meta-flag: Readline Init File Syntax.
(line 102)
(line 108)
* OLDPWD: Bash Variables. (line 349)
* OPTARG: Bourne Shell Variables.
(line 34)
@@ -9190,9 +9208,9 @@ Parameter and Variable Index
(line 38)
* OSTYPE: Bash Variables. (line 356)
* output-meta: Readline Init File Syntax.
(line 146)
(line 152)
* page-completions: Readline Init File Syntax.
(line 151)
(line 157)
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 359)
@@ -9213,16 +9231,17 @@ Parameter and Variable Index
* SHELLOPTS: Bash Variables. (line 414)
* SHLVL: Bash Variables. (line 423)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 161)
* show-all-if-unmodified: Readline Init File Syntax.
(line 167)
* show-all-if-unmodified: Readline Init File Syntax.
(line 173)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
* TIMEFORMAT: Bash Variables. (line 428)
* TMOUT: Bash Variables. (line 466)
* UID: Bash Variables. (line 478)
* TMPDIR: Bash Variables. (line 478)
* UID: Bash Variables. (line 482)
* visible-stats: Readline Init File Syntax.
(line 176)
(line 182)

File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Top
@@ -9479,7 +9498,7 @@ Concept Index
* translation, native languages: Locale Translation. (line 6)
* variable, shell: Shell Parameters. (line 6)
* variables, readline: Readline Init File Syntax.
(line 33)
(line 37)
* word: Definitions. (line 87)
* word splitting: Word Splitting. (line 6)
* yanking text: Readline Killing Commands.
@@ -9488,129 +9507,129 @@ Concept Index

Tag Table:
Node: Top1369
Node: Introduction3525
Node: What is Bash?3754
Node: What is a shell?4847
Node: Definitions7388
Node: Basic Shell Features10129
Node: Shell Syntax11348
Node: Shell Operation12380
Node: Quoting13674
Node: Escape Character14978
Node: Single Quotes15463
Node: Double Quotes15811
Node: ANSI-C Quoting16936
Node: Locale Translation17892
Node: Comments18788
Node: Shell Commands19402
Node: Simple Commands20168
Node: Pipelines20799
Node: Lists22674
Node: Compound Commands24305
Node: Looping Constructs25089
Node: Conditional Constructs27536
Node: Command Grouping34996
Node: Shell Functions36445
Node: Shell Parameters40735
Node: Positional Parameters43065
Node: Special Parameters43965
Node: Shell Expansions46929
Node: Brace Expansion48854
Node: Tilde Expansion51179
Node: Shell Parameter Expansion53530
Node: Command Substitution61039
Node: Arithmetic Expansion62372
Node: Process Substitution63222
Node: Word Splitting64272
Node: Filename Expansion65733
Node: Pattern Matching67869
Node: Quote Removal71194
Node: Redirections71489
Node: Executing Commands79219
Node: Simple Command Expansion79894
Node: Command Search and Execution81824
Node: Command Execution Environment83830
Node: Environment86601
Node: Exit Status88261
Node: Signals89465
Node: Shell Scripts91429
Node: Shell Builtin Commands93947
Node: Bourne Shell Builtins95526
Node: Bash Builtins112479
Node: The Set Builtin141452
Node: Special Builtins149859
Node: Shell Variables150836
Node: Bourne Shell Variables151276
Node: Bash Variables153257
Node: Bash Features173309
Node: Invoking Bash174192
Node: Bash Startup Files180013
Node: Interactive Shells184871
Node: What is an Interactive Shell?185281
Node: Is this Shell Interactive?185931
Node: Interactive Shell Behavior186746
Node: Bash Conditional Expressions190022
Node: Shell Arithmetic193601
Node: Aliases196347
Node: Arrays198915
Node: The Directory Stack202182
Node: Directory Stack Builtins202896
Node: Printing a Prompt205787
Node: The Restricted Shell208501
Node: Bash POSIX Mode210333
Node: Job Control217663
Node: Job Control Basics218130
Node: Job Control Builtins222506
Node: Job Control Variables226858
Node: Command Line Editing228016
Node: Introduction and Notation229015
Node: Readline Interaction230637
Node: Readline Bare Essentials231828
Node: Readline Movement Commands233617
Node: Readline Killing Commands234582
Node: Readline Arguments236502
Node: Searching237546
Node: Readline Init File239732
Node: Readline Init File Syntax240791
Node: Conditional Init Constructs252650
Node: Sample Init File255183
Node: Bindable Readline Commands258300
Node: Commands For Moving259507
Node: Commands For History260368
Node: Commands For Text263523
Node: Commands For Killing266196
Node: Numeric Arguments268338
Node: Commands For Completion269477
Node: Keyboard Macros273070
Node: Miscellaneous Commands273641
Node: Readline vi Mode278952
Node: Programmable Completion279866
Node: Programmable Completion Builtins285658
Node: Using History Interactively293254
Node: Bash History Facilities293934
Node: Bash History Builtins296629
Node: History Interaction300486
Node: Event Designators303042
Node: Word Designators304057
Node: Modifiers305696
Node: Installing Bash307102
Node: Basic Installation308239
Node: Compilers and Options310931
Node: Compiling For Multiple Architectures311672
Node: Installation Names313336
Node: Specifying the System Type314154
Node: Sharing Defaults314870
Node: Operation Controls315543
Node: Optional Features316501
Node: Reporting Bugs325310
Node: Major Differences From The Bourne Shell326504
Node: Copying This Manual342412
Node: GNU Free Documentation License342688
Node: Builtin Index365094
Node: Reserved Word Index371643
Node: Variable Index374079
Node: Function Index384939
Node: Concept Index391659
Node: Top1375
Node: Introduction3475
Node: What is Bash?3703
Node: What is a shell?4796
Node: Definitions7337
Node: Basic Shell Features10078
Node: Shell Syntax11297
Node: Shell Operation12327
Node: Quoting13621
Node: Escape Character14924
Node: Single Quotes15409
Node: Double Quotes15757
Node: ANSI-C Quoting16882
Node: Locale Translation17838
Node: Comments18734
Node: Shell Commands19348
Node: Simple Commands20114
Node: Pipelines20745
Node: Lists22620
Node: Compound Commands24251
Node: Looping Constructs25035
Node: Conditional Constructs27482
Node: Command Grouping34942
Node: Shell Functions36391
Node: Shell Parameters40681
Node: Positional Parameters43011
Node: Special Parameters43911
Node: Shell Expansions46875
Node: Brace Expansion48800
Node: Tilde Expansion51125
Node: Shell Parameter Expansion53476
Node: Command Substitution60985
Node: Arithmetic Expansion62318
Node: Process Substitution63168
Node: Word Splitting64218
Node: Filename Expansion65679
Node: Pattern Matching67815
Node: Quote Removal71140
Node: Redirections71435
Node: Executing Commands79165
Node: Simple Command Expansion79835
Node: Command Search and Execution81765
Node: Command Execution Environment83771
Node: Environment86542
Node: Exit Status88202
Node: Signals89406
Node: Shell Scripts91370
Node: Shell Builtin Commands93888
Node: Bourne Shell Builtins95549
Node: Bash Builtins112632
Node: The Set Builtin141675
Node: Special Builtins150082
Node: Shell Variables151059
Node: Bourne Shell Variables151499
Node: Bash Variables153480
Node: Bash Features173666
Node: Invoking Bash174549
Node: Bash Startup Files180370
Node: Interactive Shells185228
Node: What is an Interactive Shell?185638
Node: Is this Shell Interactive?186288
Node: Interactive Shell Behavior187103
Node: Bash Conditional Expressions190379
Node: Shell Arithmetic193958
Node: Aliases196704
Node: Arrays199272
Node: The Directory Stack202621
Node: Directory Stack Builtins203335
Node: Printing a Prompt206226
Node: The Restricted Shell208940
Node: Bash POSIX Mode210772
Node: Job Control218589
Node: Job Control Basics219056
Node: Job Control Builtins223432
Node: Job Control Variables227759
Node: Command Line Editing228917
Node: Introduction and Notation229916
Node: Readline Interaction231538
Node: Readline Bare Essentials232729
Node: Readline Movement Commands234518
Node: Readline Killing Commands235483
Node: Readline Arguments237403
Node: Searching238447
Node: Readline Init File240633
Node: Readline Init File Syntax241692
Node: Conditional Init Constructs253908
Node: Sample Init File256441
Node: Bindable Readline Commands259558
Node: Commands For Moving260765
Node: Commands For History261626
Node: Commands For Text264781
Node: Commands For Killing267454
Node: Numeric Arguments269596
Node: Commands For Completion270735
Node: Keyboard Macros274328
Node: Miscellaneous Commands274899
Node: Readline vi Mode280210
Node: Programmable Completion281124
Node: Programmable Completion Builtins286916
Node: Using History Interactively294512
Node: Bash History Facilities295192
Node: Bash History Builtins297887
Node: History Interaction301744
Node: Event Designators304300
Node: Word Designators305315
Node: Modifiers306954
Node: Installing Bash308360
Node: Basic Installation309490
Node: Compilers and Options312182
Node: Compiling For Multiple Architectures312923
Node: Installation Names314587
Node: Specifying the System Type315405
Node: Sharing Defaults316121
Node: Operation Controls316794
Node: Optional Features317752
Node: Reporting Bugs326683
Node: Major Differences From The Bourne Shell327877
Node: Copying This Manual344575
Node: GNU Free Documentation License344851
Node: Builtin Index367257
Node: Reserved Word Index373806
Node: Variable Index376242
Node: Function Index387175
Node: Concept Index393895

End Tag Table
+37 -24
View File
@@ -1,4 +1,4 @@
This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2003.12.31) 15 MAR 2005 17:26
This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22) 3 OCT 2005 15:07
**/Users/chet/src/bash/src/doc/bashref.texi
(/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
Loading texinfo [version 2003-02-03.16]: Basics,
@@ -158,7 +158,7 @@ and turning on texinfo input format.) (./bashref.aux)
[1] Chapter 2 [2] [3]
Chapter 3 [4] [5] [6] [7] [8] [9] [10]
Overfull \hbox (43.33539pt too wide) in paragraph at lines 865--865
Overfull \hbox (43.33539pt too wide) in paragraph at lines 843--843
[]@texttt case @textttsl word @texttt in [ [(] @textttsl pat-tern @texttt [| @
textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][]
@@ -172,7 +172,8 @@ textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][]
[11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25]
[26] [27] [28] [29] [30] [31] Chapter 4 [32] [33] [34] [35] [36] [37] [38]
Underfull \hbox (badness 5231) in paragraph at lines 3141--3154
[39]
Underfull \hbox (badness 5231) in paragraph at lines 3117--3130
@texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
@@ -184,8 +185,8 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
.@texttt c
.etc.
[39] [40] [41] [42] [43]
Overfull \hbox (43.33536pt too wide) in paragraph at lines 3482--3482
[40] [41] [42] [43]
Overfull \hbox (43.33536pt too wide) in paragraph at lines 3460--3460
[]@texttt read [-ers] [-a @textttsl aname@texttt ] [-d @textttsl de-lim@texttt
] [-n @textttsl nchars@texttt ] [-p @textttsl prompt@texttt ] [-t @textttsl ti
me-
@@ -198,8 +199,8 @@ me-
.@texttt a
.etc.
[44] [45]
Underfull \hbox (badness 2573) in paragraph at lines 3666--3670
[44] [45] [46]
Underfull \hbox (badness 2573) in paragraph at lines 3644--3648
[] []@textrm Error trac-ing is en-abled: com-mand sub-sti-tu-tion, shell
@hbox(7.60416+2.12917)x433.62, glue set 2.95305
@@ -214,8 +215,8 @@ Underfull \hbox (badness 2573) in paragraph at lines 3666--3670
.@textrm E
.etc.
[46] [47] [48] [49] [50] [51]
Underfull \hbox (badness 4036) in paragraph at lines 4113--4120
[47] [48] [49] [50] [51] [52]
Underfull \hbox (badness 4036) in paragraph at lines 4091--4098
@texttt -x[]@textrm Print a trace of sim-ple com-mands, @texttt \@textrm fB-fo
r@texttt \@textrm fP com-mands,
@@ -227,9 +228,9 @@ r@texttt \@textrm fP com-mands,
.@texttt x
.etc.
[52] [53] Chapter 5 [54] [55] [56] [57] [58] [59] [60] [61] [62] Chapter 6
[63] [64]
Overfull \hbox (51.96864pt too wide) in paragraph at lines 4840--4840
[53] Chapter 5 [54] [55] [56] [57] [58] [59] [60] [61] [62] Chapter 6 [63]
[64]
Overfull \hbox (51.96864pt too wide) in paragraph at lines 4822--4822
[]@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -242,7 +243,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
Overfull \hbox (76.23077pt too wide) in paragraph at lines 4841--4841
Overfull \hbox (76.23077pt too wide) in paragraph at lines 4823--4823
[]@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt
] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
-
@@ -256,7 +257,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 4841--4841
.etc.
Overfull \hbox (34.72258pt too wide) in paragraph at lines 4842--4842
Overfull \hbox (34.72258pt too wide) in paragraph at lines 4824--4824
[]@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -269,7 +270,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
[65] [66]
Underfull \hbox (badness 2245) in paragraph at lines 5016--5018
Underfull \hbox (badness 2245) in paragraph at lines 4998--5000
[]@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from
the file
@@ -282,10 +283,22 @@ the file
.etc.
[67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80]
Underfull \hbox (badness 2521) in paragraph at lines 6112--6115
@textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
e[] @textrm when build-ing (see Sec-tion 10.8
@hbox(8.2125+2.73749)x433.62, glue set 2.9335
.@textrm `
.@texttt -
.@texttt -
.@texttt e
.@texttt n
.etc.
Chapter 7 [81] [82] [83] [84] [85]
(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [86] [87]
[88] [89] [90] [91]
Underfull \hbox (badness 5231) in paragraph at lines 494--510
Underfull \hbox (badness 5231) in paragraph at lines 500--516
@texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
@@ -298,7 +311,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
.etc.
[92] [93] [94] [95] [96]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 807--807
Overfull \hbox (26.43913pt too wide) in paragraph at lines 813--813
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
@@ -311,7 +324,7 @@ gnored[]
.etc.
[97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108]
Overfull \hbox (17.80585pt too wide) in paragraph at lines 1656--1656
Overfull \hbox (17.80585pt too wide) in paragraph at lines 1662--1662
[]@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-A @tex
tttsl ac-tion@texttt ] [-G @textttsl glob-
@@ -324,7 +337,7 @@ tttsl ac-tion@texttt ] [-G @textttsl glob-
.etc.
[109] [110]
Underfull \hbox (badness 2753) in paragraph at lines 1758--1761
Underfull \hbox (badness 2753) in paragraph at lines 1764--1767
@texttt hostname[]@textrm Hostnames, as taken from the file spec-i-fied by
@hbox(7.60416+2.12917)x433.62, glue set 3.02202
@@ -337,7 +350,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1758--1761
[111]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
[112] [113] [114] [115] [116]) Chapter 10 [117] [118] [119] [120] [121]
Underfull \hbox (badness 2772) in paragraph at lines 6713--6717
Underfull \hbox (badness 2772) in paragraph at lines 6706--6710
[]@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
s/large_
@@ -350,7 +363,7 @@ s/large_
.etc.
[122] [123] [124] Appendix A [125] [126] Appendix B [127] [128] [129] [130]
[131] [132] Appendix C [133] [134] (./fdl.texi [135] [136] [137] [138] [139]
[131] [132] [133] Appendix C [134] (./fdl.texi [135] [136] [137] [138] [139]
[140]) (Index of Shell Builtin Commands) [141] [142] (./bashref.bts)
(Index of Shell Reserved Words)
Overfull \vbox (42.26959pt too high) has occurred while \output is active
@@ -375,11 +388,11 @@ Overfull \vbox (42.26959pt too high) has occurred while \output is active
(Concept Index) [150] (./bashref.cps [151]) [152] )
Here is how much of TeX's memory you used:
1726 strings out of 98002
23501 string characters out of 1221986
52380 words of memory out of 1000001
23501 string characters out of 1221987
52386 words of memory out of 1000001
2577 multiletter control sequences out of 10000+50000
31953 words of font info for 111 fonts, out of 500000 for 1000
19 hyphenation exceptions out of 1000
15i,8n,11p,269b,465s stack positions out of 1500i,500n,5000p,200000b,5000s
Output written on bashref.dvi (158 pages, 587404 bytes).
Output written on bashref.dvi (158 pages, 590560 bytes).
+2001 -1936
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -6847,7 +6847,7 @@ You may need to disable this if your compiler cannot handle very long string
literals.
@item --enable-strict-posix-default
Make Bash @sc{posix}-conformant by default (@pxref{Bash Posix Mode}).
Make Bash @sc{posix}-conformant by default (@pxref{Bash POSIX Mode}).
@item --enable-usg-echo-default
A synonym for @code{--enable-xpg-echo-default}.
+3 -2
View File
@@ -88,13 +88,14 @@
\entry{SHLVL}{62}{\code {SHLVL}}
\entry{TIMEFORMAT}{62}{\code {TIMEFORMAT}}
\entry{TMOUT}{62}{\code {TMOUT}}
\entry{TMPDIR}{63}{\code {TMPDIR}}
\entry{UID}{63}{\code {UID}}
\entry{auto_resume}{86}{\code {auto_resume}}
\entry{bell-style}{91}{\code {bell-style}}
\entry{bind-tty-special-chars}{91}{\code {bind-tty-special-chars}}
\entry{comment-begin}{91}{\code {comment-begin}}
\entry{completion-query-items}{91}{\code {completion-query-items}}
\entry{convert-meta}{91}{\code {convert-meta}}
\entry{convert-meta}{92}{\code {convert-meta}}
\entry{disable-completion}{92}{\code {disable-completion}}
\entry{editing-mode}{92}{\code {editing-mode}}
\entry{enable-keypad}{92}{\code {enable-keypad}}
@@ -112,4 +113,4 @@
\entry{page-completions}{93}{\code {page-completions}}
\entry{show-all-if-ambiguous}{93}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{93}{\code {show-all-if-unmodified}}
\entry{visible-stats}{93}{\code {visible-stats}}
\entry{visible-stats}{94}{\code {visible-stats}}
+3 -2
View File
@@ -44,7 +44,7 @@
\entry {\code {COMP_WORDS}}{57}
\entry {\code {completion-query-items}}{91}
\entry {\code {COMPREPLY}}{58}
\entry {\code {convert-meta}}{91}
\entry {\code {convert-meta}}{92}
\initial {D}
\entry {\code {DIRSTACK}}{58}
\entry {\code {disable-completion}}{92}
@@ -136,7 +136,8 @@
\entry {\code {TEXTDOMAINDIR}}{7}
\entry {\code {TIMEFORMAT}}{62}
\entry {\code {TMOUT}}{62}
\entry {\code {TMPDIR}}{63}
\initial {U}
\entry {\code {UID}}{63}
\initial {V}
\entry {\code {visible-stats}}{93}
\entry {\code {visible-stats}}{94}
+457 -454
View File
File diff suppressed because it is too large Load Diff
+1840 -1808
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -30,8 +30,8 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at
startup
+o redirecting output using the >, >|, <>, >&, &>, and >> redirec-
tion operators
+o redirecting output using the >, >|, <>, >&, &>, and >> redirect-
ion operators
+o using the eexxeecc builtin command to replace the shell with another
command
+22 -5
View File
@@ -1,15 +1,20 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.18.1
%%CreationDate: Tue Mar 15 17:26:56 2005
%%Creator: groff version 1.19.1
%%CreationDate: Mon Oct 3 15:05:28 2005
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.18 1
%%DocumentSuppliedResources: procset grops 1.19 1
%%Pages: 1
%%PageOrder: Ascend
%%DocumentMedia: Default 595 842 0 () ()
%%Orientation: Portrait
%%EndComments
%%BeginDefaults
%%PageMedia: Default
%%EndDefaults
%%BeginProlog
%%BeginResource: procset grops 1.18 1
%%BeginResource: procset grops 1.19 1
%!PS-Adobe-3.0 Resource-ProcSet
/setpacking where{
pop
currentpacking
@@ -110,16 +115,22 @@ TM setmatrix
/Fr{
setrgbcolor fill
}bind def
/setcmykcolor where{
pop
/Fk{
setcmykcolor fill
}bind def
}if
/Fg{
setgray fill
}bind def
/FL/fill load def
/LW/setlinewidth load def
/Cr/setrgbcolor load def
/setcmykcolor where{
pop
/Ck/setcmykcolor load def
}if
/Cg/setgray load def
/RE{
findfont
@@ -162,6 +173,7 @@ newpath
/CNT countdictstack def
userdict begin
/showpage{}def
/setpagedevice{}def
}bind def
/PEND{
clear
@@ -174,6 +186,11 @@ pop
setpacking
}if
%%EndResource
%%EndProlog
%%BeginSetup
%%BeginFeature: *PageSize Default
<< /PageSize [ 595 842 ] /ImagingBBox null >> setpagedevice
%%EndFeature
%%IncludeResource: font Times-Roman
%%IncludeResource: font Times-Bold
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
@@ -205,7 +222,7 @@ def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
%%EndProlog
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
BP
+2 -1
View File
@@ -63,8 +63,9 @@ int
reader_loop ()
{
int our_indirection_level;
COMMAND *current_command = (COMMAND *)NULL;
COMMAND * volatile current_command;
current_command = (COMMAND *)NULL;
USE_VAR(current_command);
our_indirection_level = ++indirection_level;
+11 -6
View File
@@ -418,11 +418,16 @@ stop_making_children ()
void
cleanup_the_pipeline ()
{
if (the_pipeline)
{
discard_pipeline (the_pipeline);
the_pipeline = (PROCESS *)NULL;
}
PROCESS *disposer;
sigset_t set, oset;
BLOCK_CHILD (set, oset);
disposer = the_pipeline;
the_pipeline = (PROCESS *)NULL;
UNBLOCK_CHILD (oset);
if (disposer)
discard_pipeline (disposer);
}
void
@@ -430,9 +435,9 @@ save_pipeline (clear)
int clear;
{
saved_pipeline = the_pipeline;
saved_already_making_children = already_making_children;
if (clear)
the_pipeline = (PROCESS *)NULL;
saved_already_making_children = already_making_children;
}
void
+4028
View File
File diff suppressed because it is too large Load Diff
+87 -56
View File
@@ -1,6 +1,6 @@
/* bind.c -- key binding and startup file support for the readline library. */
/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
This file is part of the GNU Readline Library, a library for
reading lines of text with interactive input and history editing.
@@ -77,6 +77,7 @@ static char *_rl_read_file PARAMS((char *, size_t *));
static void _rl_init_file_error PARAMS((const char *));
static int _rl_read_init_file PARAMS((const char *, int));
static int glean_key_from_name PARAMS((char *));
static char *_rl_get_string_variable_value PARAMS((const char *));
static int substring_member_of_array PARAMS((char *, const char **));
static int currently_reading_init_file;
@@ -341,7 +342,7 @@ rl_generic_bind (type, keyseq, data, map)
k.function = 0;
/* If no keys to bind to, exit right away. */
if (!keyseq || !*keyseq)
if (keyseq == 0 || *keyseq == 0)
{
if (type == ISMACR)
free (data);
@@ -1492,6 +1493,27 @@ bool_to_int (value)
(value[0] == '1' && value[1] == '\0'));
}
char *
rl_variable_value (name)
const char *name;
{
register int i;
int v;
char *ret;
/* Check for simple variables first. */
i = find_boolean_var (name);
if (i >= 0)
return (*boolean_varlist[i].value ? "on" : "off");
i = find_string_var (name);
if (i >= 0)
return (_rl_get_string_variable_value (string_varlist[i].name));
/* Unknown variable names return NULL. */
return 0;
}
int
rl_variable_bind (name, value)
const char *name, *value;
@@ -2134,12 +2156,68 @@ rl_dump_macros (count, key)
return (0);
}
static char *
_rl_get_string_variable_value (name)
const char *name;
{
static char numbuf[32];
char *ret;
int n;
if (_rl_stricmp (name, "bell-style") == 0)
{
switch (_rl_bell_preference)
{
case NO_BELL:
return "none";
case VISIBLE_BELL:
return "visible";
case AUDIBLE_BELL:
default:
return "audible";
}
}
else if (_rl_stricmp (name, "comment-begin") == 0)
return (_rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
else if (_rl_stricmp (name, "completion-query-items") == 0)
{
sprintf (numbuf, "%d", rl_completion_query_items);
return (numbuf);
}
else if (_rl_stricmp (name, "editing-mode") == 0)
return (rl_get_keymap_name_from_edit_mode ());
else if (_rl_stricmp (name, "isearch-terminators") == 0)
{
if (_rl_isearch_terminators == 0)
return 0;
ret = _rl_untranslate_macro_value (_rl_isearch_terminators);
if (ret)
{
strncpy (numbuf, ret, sizeof (numbuf) - 1);
free (ret);
numbuf[sizeof(numbuf) - 1] = '\0';
}
else
numbuf[0] = '\0';
return numbuf;
}
else if (_rl_stricmp (name, "keymap") == 0)
{
ret = rl_get_keymap_name (_rl_keymap);
if (ret == 0)
ret = rl_get_keymap_name_from_edit_mode ();
return (ret ? ret : "none");
}
else
return (0);
}
void
rl_variable_dumper (print_readably)
int print_readably;
{
int i;
const char *kname;
char *v;
for (i = 0; boolean_varlist[i].name; i++)
{
@@ -2151,63 +2229,16 @@ rl_variable_dumper (print_readably)
*boolean_varlist[i].value ? "on" : "off");
}
/* bell-style */
switch (_rl_bell_preference)
for (i = 0; string_varlist[i].name; i++)
{
case NO_BELL:
kname = "none"; break;
case VISIBLE_BELL:
kname = "visible"; break;
case AUDIBLE_BELL:
default:
kname = "audible"; break;
}
if (print_readably)
fprintf (rl_outstream, "set bell-style %s\n", kname);
else
fprintf (rl_outstream, "bell-style is set to `%s'\n", kname);
/* comment-begin */
if (print_readably)
fprintf (rl_outstream, "set comment-begin %s\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
else
fprintf (rl_outstream, "comment-begin is set to `%s'\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
/* completion-query-items */
if (print_readably)
fprintf (rl_outstream, "set completion-query-items %d\n", rl_completion_query_items);
else
fprintf (rl_outstream, "completion-query-items is set to `%d'\n", rl_completion_query_items);
/* editing-mode */
if (print_readably)
fprintf (rl_outstream, "set editing-mode %s\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
else
fprintf (rl_outstream, "editing-mode is set to `%s'\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
/* isearch-terminators */
if (_rl_isearch_terminators)
{
char *disp;
disp = _rl_untranslate_macro_value (_rl_isearch_terminators);
v = _rl_get_string_variable_value (string_varlist[i].name);
if (v == 0) /* _rl_isearch_terminators can be NULL */
continue;
if (print_readably)
fprintf (rl_outstream, "set isearch-terminators \"%s\"\n", disp);
fprintf (rl_outstream, "set %s %s\n", string_varlist[i].name, v);
else
fprintf (rl_outstream, "isearch-terminators is set to \"%s\"\n", disp);
free (disp);
fprintf (rl_outstream, "%s is set to `%s'\n", string_varlist[i].name, v);
}
/* keymap */
kname = rl_get_keymap_name (_rl_keymap);
if (kname == 0)
kname = rl_get_keymap_name_from_edit_mode ();
if (print_readably)
fprintf (rl_outstream, "set keymap %s\n", kname ? kname : "none");
else
fprintf (rl_outstream, "keymap is set to `%s'\n", kname ? kname : "none");
}
/* Print all of the current variables and their values to
File diff suppressed because it is too large Load Diff
+87 -54
View File
@@ -77,6 +77,7 @@ static char *_rl_read_file PARAMS((char *, size_t *));
static void _rl_init_file_error PARAMS((const char *));
static int _rl_read_init_file PARAMS((const char *, int));
static int glean_key_from_name PARAMS((char *));
static char *_rl_get_string_variable_value PARAMS((const char *));
static int substring_member_of_array PARAMS((char *, const char **));
static int currently_reading_init_file;
@@ -1209,6 +1210,7 @@ rl_parse_and_bind (string)
e = value + strlen (value) - 1;
while (e >= value && whitespace (*e))
e--;
e++; /* skip back to whitespace or EOS */
if (*e && e >= value)
*e = '\0';
@@ -1491,6 +1493,28 @@ bool_to_int (value)
(value[0] == '1' && value[1] == '\0'));
}
char *
rl_variable_value (name)
const char *name;
{
register int i;
int v;
char *ret;
/* Check for simple variables first. */
i = find_boolean_var (name);
if (i >= 0)
return (*boolean_varlist[i].value ? "on" : "off");
i = find_string_var (name);
/* Unknown variable names return NULL. */
if (i < 0)
return 0;
return (_rl_get_string_variable_value (string_varlist[i].name));
}
int
rl_variable_bind (name, value)
const char *name, *value;
@@ -2133,12 +2157,68 @@ rl_dump_macros (count, key)
return (0);
}
static char *
_rl_get_string_variable_value (name)
const char *name;
{
static char numbuf[32];
char *ret;
int n;
if (_rl_stricmp (name, "bell-style") == 0)
{
switch (_rl_bell_preference)
{
case NO_BELL:
return "none";
case VISIBLE_BELL:
return "visible";
case AUDIBLE_BELL:
default:
return "audible";
}
}
else if (_rl_stricmp (name, "comment-begin") == 0)
return (_rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
else if (_rl_stricmp (name, "completion-query-items") == 0)
{
sprintf (numbuf, "%d", rl_completion_query_items);
return (numbuf);
}
else if (_rl_stricmp (name, "editing-mode") == 0)
return (rl_get_keymap_name_from_edit_mode ());
else if (_rl_stricmp (name, "isearch-terminators") == 0)
{
if (_rl_isearch_terminators == 0)
return 0;
ret = _rl_untranslate_macro_value (_rl_isearch_terminators);
if (ret)
{
strncpy (numbuf, ret, sizeof (numbuf) - 1);
free (ret);
numbuf[sizeof(numbuf) - 1] = '\0';
}
else
numbuf[0] = '\0';
return numbuf;
}
else if (_rl_stricmp (name, "keymap") == 0)
{
ret = rl_get_keymap_name (_rl_keymap);
if (ret == 0)
ret = rl_get_keymap_name_from_edit_mode ();
return (ret ? ret : "none");
}
else
return (0);
}
void
rl_variable_dumper (print_readably)
int print_readably;
{
int i;
const char *kname;
char *v;
for (i = 0; boolean_varlist[i].name; i++)
{
@@ -2150,63 +2230,16 @@ rl_variable_dumper (print_readably)
*boolean_varlist[i].value ? "on" : "off");
}
/* bell-style */
switch (_rl_bell_preference)
for (i = 0; string_varlist[i].name; i++)
{
case NO_BELL:
kname = "none"; break;
case VISIBLE_BELL:
kname = "visible"; break;
case AUDIBLE_BELL:
default:
kname = "audible"; break;
}
if (print_readably)
fprintf (rl_outstream, "set bell-style %s\n", kname);
else
fprintf (rl_outstream, "bell-style is set to `%s'\n", kname);
/* comment-begin */
if (print_readably)
fprintf (rl_outstream, "set comment-begin %s\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
else
fprintf (rl_outstream, "comment-begin is set to `%s'\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
/* completion-query-items */
if (print_readably)
fprintf (rl_outstream, "set completion-query-items %d\n", rl_completion_query_items);
else
fprintf (rl_outstream, "completion-query-items is set to `%d'\n", rl_completion_query_items);
/* editing-mode */
if (print_readably)
fprintf (rl_outstream, "set editing-mode %s\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
else
fprintf (rl_outstream, "editing-mode is set to `%s'\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
/* isearch-terminators */
if (_rl_isearch_terminators)
{
char *disp;
disp = _rl_untranslate_macro_value (_rl_isearch_terminators);
v = _rl_get_string_variable_value (string_varlist[i].name);
if (v == 0) /* _rl_isearch_terminators can be NULL */
continue;
if (print_readably)
fprintf (rl_outstream, "set isearch-terminators \"%s\"\n", disp);
fprintf (rl_outstream, "set %s %s\n", string_varlist[i].name, v);
else
fprintf (rl_outstream, "isearch-terminators is set to \"%s\"\n", disp);
free (disp);
fprintf (rl_outstream, "%s is set to `%s'\n", string_varlist[i].name, v);
}
/* keymap */
kname = rl_get_keymap_name (_rl_keymap);
if (kname == 0)
kname = rl_get_keymap_name_from_edit_mode ();
if (print_readably)
fprintf (rl_outstream, "set keymap %s\n", kname ? kname : "none");
else
fprintf (rl_outstream, "keymap is set to `%s'\n", kname ? kname : "none");
}
/* Print all of the current variables and their values to
+1 -1
View File
@@ -1,6 +1,6 @@
/* complete.c -- filename completion for readline. */
/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
This file is part of the GNU Readline Library, a library for
reading lines of text with interactive input and history editing.
+27 -6
View File
@@ -48,7 +48,9 @@
extern int errno;
#endif /* !errno */
#if defined (HAVE_PWD_H)
#include <pwd.h>
#endif
#include "posixdir.h"
#include "posixstat.h"
@@ -79,9 +81,9 @@ typedef int QSFUNC ();
/* Most systems don't declare getpwent in <pwd.h> if _POSIX_SOURCE is
defined. */
#if !defined (HAVE_GETPW_DECLS) || defined (_POSIX_SOURCE)
#if defined (HAVE_GETPWENT) && (!defined (HAVE_GETPW_DECLS) || defined (_POSIX_SOURCE))
extern struct passwd *getpwent PARAMS((void));
#endif /* !HAVE_GETPW_DECLS || _POSIX_SOURCE */
#endif /* HAVE_GETPWENT && (!HAVE_GETPW_DECLS || _POSIX_SOURCE) */
/* If non-zero, then this is the address of a function to call when
completing a word would normally display the list of possible matches.
@@ -206,7 +208,8 @@ int rl_completion_type = 0;
/* Up to this many items will be displayed in response to a
possible-completions call. After that, we ask the user if
she is sure she wants to see them all. */
she is sure she wants to see them all. A negative value means
don't ask. */
int rl_completion_query_items = 100;
int _rl_page_completions = 1;
@@ -692,7 +695,7 @@ print_filename (to_print, full_pathname)
char *to_print, *full_pathname;
{
int printed_len, extension_char, slen, tlen;
char *s, c, *new_full_pathname;
char *s, c, *new_full_pathname, *dn;
extension_char = 0;
printed_len = fnprint (to_print);
@@ -717,7 +720,17 @@ print_filename (to_print, full_pathname)
files in the root directory. If we pass a null string to the
bash directory completion hook, for example, it will expand it
to the current directory. We just want the `/'. */
s = tilde_expand (full_pathname && *full_pathname ? full_pathname : "/");
if (full_pathname == 0 || *full_pathname == 0)
dn = "/";
else if (full_pathname[0] != '/')
dn = full_pathname;
else if (full_pathname[1] == 0)
dn = "//"; /* restore trailing slash to `//' */
else if (full_pathname[1] == '/' && full_pathname[2] == 0)
dn = "/"; /* don't turn /// into // */
else
dn = full_pathname;
s = tilde_expand (dn);
if (rl_directory_completion_hook)
(*rl_directory_completion_hook) (&s);
@@ -725,6 +738,10 @@ print_filename (to_print, full_pathname)
tlen = strlen (to_print);
new_full_pathname = (char *)xmalloc (slen + tlen + 2);
strcpy (new_full_pathname, s);
if (s[slen - 1] == '/')
slen--;
else
new_full_pathname[slen] = '/';
new_full_pathname[slen] = '/';
strcpy (new_full_pathname + slen + 1, to_print);
@@ -1395,7 +1412,7 @@ display_matches (matches)
/* If there are many items, then ask the user if she really wants to
see them all. */
if (len >= rl_completion_query_items)
if (rl_completion_query_items > 0 && len >= rl_completion_query_items)
{
rl_crlf ();
fprintf (rl_outstream, "Display all %d possibilities? (y or n)", len);
@@ -1846,16 +1863,20 @@ rl_username_completion_function (text, state)
setpwent ();
}
#if defined (HAVE_GETPWENT)
while (entry = getpwent ())
{
/* Null usernames should result in all users as possible completions. */
if (namelen == 0 || (STREQN (username, entry->pw_name, namelen)))
break;
}
#endif
if (entry == 0)
{
#if defined (HAVE_GETPWENT)
endpwent ();
#endif
return ((char *)NULL);
}
else
+5
View File
@@ -1158,6 +1158,11 @@ This behaves as if the readline command
file (@pxref{Readline Init File Syntax}).
@end deftypefun
@deftypefun {char *} rl_variable_value (const char *variable)
Return a string representing the value of the Readline variable @var{variable}.
For boolean variables, this string is either @samp{on} or @samp{off}.
@end deftypefun
@deftypefun void rl_variable_dumper (int readable)
Print the readline variable names and their current values
to @code{rl_outstream}.
+9 -4
View File
@@ -931,7 +931,7 @@ Restore the local Readline prompt display state saved by the most
recent call to @code{rl_save_prompt}.
if @code{rl_save_prompt} was called to save the prompt before a call
to @code{rl_message}, this function should be called before the
corresponding call to @coode{rl_clear_message}.
corresponding call to @code{rl_clear_message}.
@end deftypefun
@deftypefun int rl_expand_prompt (char *prompt)
@@ -1158,6 +1158,10 @@ This behaves as if the readline command
file (@pxref{Readline Init File Syntax}).
@end deftypefun
@deftypefun {char *} rl_variable_value (const char *variable)
Return a string representing the value of the Readline variable @var{variable}.
@end deftypefun
@deftypefun void rl_variable_dumper (int readable)
Print the readline variable names and their current values
to @code{rl_outstream}.
@@ -1716,8 +1720,9 @@ shell variables and hostnames.
@deftypevar int rl_completion_query_items
Up to this many items will be displayed in response to a
possible-completions call. After that, we ask the user if she is sure
she wants to see them all. The default value is 100.
possible-completions call. After that, readline asks the user if she is sure
she wants to see them all. The default value is 100. A negative value
indicates that Readline should never ask the user.
@end deftypevar
@deftypevar {int} rl_completion_append_character
@@ -2246,7 +2251,7 @@ too_dangerous (caller)
char *caller;
@{
fprintf (stderr,
"%s: Too dangerous for me to distribute.\n"
"%s: Too dangerous for me to distribute.\n",
caller);
fprintf (stderr, "Write it yourself.\n");
@}
+3 -3
View File
@@ -4,7 +4,7 @@ Copyright (C) 1988-2005 Free Software Foundation, Inc.
@set EDITION 5.1-beta1
@set VERSION 5.1-beta1
@set UPDATED 13 September 2005
@set UPDATED-MONTH September 2005
@set UPDATED 7 October 2005
@set UPDATED-MONTH October 2005
@set LASTCHANGE Tue Sep 13 12:07:16 EDT 2005
@set LASTCHANGE Fri Oct 7 20:28:03 EDT 2005
+5 -5
View File
@@ -2,9 +2,9 @@
Copyright (C) 1988-2005 Free Software Foundation, Inc.
@end ignore
@set EDITION 5.1-devel
@set VERSION 5.1-devel
@set UPDATED 4 January 2005
@set UPDATED-MONTH January 2005
@set EDITION 5.1-beta1
@set VERSION 5.1-beta1
@set UPDATED 13 September 2005
@set UPDATED-MONTH September 2005
@set LASTCHANGE Tue Jan 4 17:26:58 EST 2005
@set LASTCHANGE Tue Sep 13 12:07:16 EDT 2005
+3 -1
View File
@@ -148,7 +148,7 @@ rl_forward_search_history (sign, key)
/* Display the current state of the search in the echo-area.
SEARCH_STRING contains the string that is being searched for,
DIRECTION is zero for forward, or 1 for reverse,
DIRECTION is zero for forward, or non-zero for reverse,
WHERE is the history list number of the current line. If it is
-1, then this line is the starting one. */
static void
@@ -423,6 +423,8 @@ _rl_isearch_dispatch (cxt, c)
cxt->direction = -cxt->direction;
if (cxt->direction < 0)
cxt->sflags |= SF_REVERSE;
else
cxt->sflags &= ~SF_REVERSE;
break;
/* delete character from search string. */
+4 -2
View File
@@ -423,6 +423,8 @@ _rl_isearch_dispatch (cxt, c)
cxt->direction = -cxt->direction;
if (cxt->direction < 0)
cxt->sflags |= SF_REVERSE;
else
cxt->sflags &= ~SF_REVERSE;
break;
/* delete character from search string. */
@@ -457,7 +459,7 @@ _rl_isearch_dispatch (cxt, c)
/* if not in a word, move to one. */
cval = _rl_char_value (rl_line_buffer, wstart);
if (rl_walphabetic (cval) == 0)
if (_rl_walphabetic (cval) == 0)
{
rl_ding ();
break;
@@ -466,7 +468,7 @@ _rl_isearch_dispatch (cxt, c)
while (n < rl_end)
{
cval = _rl_char_value (rl_line_buffer, n);
if (rl_walphabetic (cval) == 0)
if (_rl_walphabetic (cval) == 0)
break;
n = MB_NEXTCHAR (rl_line_buffer, n, 1, MB_FIND_NONZERO);;
}
+2
View File
@@ -303,6 +303,8 @@ extern int rl_bind_keyseq_in_map PARAMS((const char *, rl_command_func_t *, Keym
extern int rl_bind_keyseq_if_unbound PARAMS((const char *, rl_command_func_t *));
extern int rl_bind_keyseq_if_unbound_in_map PARAMS((const char *, rl_command_func_t *, Keymap));
extern int rl_generic_bind PARAMS((int, const char *, char *, Keymap));
extern char *rl_variable_value PARAMS((const char *));
extern int rl_variable_bind PARAMS((const char *, const char *));
/* Backwards compatibility, use rl_bind_keyseq_in_map instead. */
+28 -24
View File
@@ -1,6 +1,6 @@
/* Readline.h -- the names of functions callable from within readline. */
/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
This file is part of the GNU Readline Library, a library for
reading lines of text with interactive input and history editing.
@@ -40,9 +40,9 @@ extern "C" {
#endif
/* Hex-encoded Readline version number. */
#define RL_READLINE_VERSION 0x0500 /* Readline 5.0 */
#define RL_READLINE_VERSION 0x0501 /* Readline 5.1 */
#define RL_VERSION_MAJOR 5
#define RL_VERSION_MINOR 0
#define RL_VERSION_MINOR 1
/* Readline data structures. */
@@ -241,6 +241,7 @@ extern int rl_vi_column PARAMS((int, int));
extern int rl_vi_delete_to PARAMS((int, int));
extern int rl_vi_change_to PARAMS((int, int));
extern int rl_vi_yank_to PARAMS((int, int));
extern int rl_vi_rubout PARAMS((int, int));
extern int rl_vi_delete PARAMS((int, int));
extern int rl_vi_back_to_indent PARAMS((int, int));
extern int rl_vi_first_print PARAMS((int, int));
@@ -759,29 +760,32 @@ extern int rl_inhibit_completion;
#define MULT_MATCH 2
/* Possible state values for rl_readline_state */
#define RL_STATE_NONE 0x00000 /* no state; before first call */
#define RL_STATE_NONE 0x000000 /* no state; before first call */
#define RL_STATE_INITIALIZING 0x00001 /* initializing */
#define RL_STATE_INITIALIZED 0x00002 /* initialization done */
#define RL_STATE_TERMPREPPED 0x00004 /* terminal is prepped */
#define RL_STATE_READCMD 0x00008 /* reading a command key */
#define RL_STATE_METANEXT 0x00010 /* reading input after ESC */
#define RL_STATE_DISPATCHING 0x00020 /* dispatching to a command */
#define RL_STATE_MOREINPUT 0x00040 /* reading more input in a command function */
#define RL_STATE_ISEARCH 0x00080 /* doing incremental search */
#define RL_STATE_NSEARCH 0x00100 /* doing non-inc search */
#define RL_STATE_SEARCH 0x00200 /* doing a history search */
#define RL_STATE_NUMERICARG 0x00400 /* reading numeric argument */
#define RL_STATE_MACROINPUT 0x00800 /* getting input from a macro */
#define RL_STATE_MACRODEF 0x01000 /* defining keyboard macro */
#define RL_STATE_OVERWRITE 0x02000 /* overwrite mode */
#define RL_STATE_COMPLETING 0x04000 /* doing completion */
#define RL_STATE_SIGHANDLER 0x08000 /* in readline sighandler */
#define RL_STATE_UNDOING 0x10000 /* doing an undo */
#define RL_STATE_INPUTPENDING 0x20000 /* rl_execute_next called */
#define RL_STATE_TTYCSAVED 0x40000 /* tty special chars saved */
#define RL_STATE_INITIALIZING 0x000001 /* initializing */
#define RL_STATE_INITIALIZED 0x000002 /* initialization done */
#define RL_STATE_TERMPREPPED 0x000004 /* terminal is prepped */
#define RL_STATE_READCMD 0x000008 /* reading a command key */
#define RL_STATE_METANEXT 0x000010 /* reading input after ESC */
#define RL_STATE_DISPATCHING 0x000020 /* dispatching to a command */
#define RL_STATE_MOREINPUT 0x000040 /* reading more input in a command function */
#define RL_STATE_ISEARCH 0x000080 /* doing incremental search */
#define RL_STATE_NSEARCH 0x000100 /* doing non-inc search */
#define RL_STATE_SEARCH 0x000200 /* doing a history search */
#define RL_STATE_NUMERICARG 0x000400 /* reading numeric argument */
#define RL_STATE_MACROINPUT 0x000800 /* getting input from a macro */
#define RL_STATE_MACRODEF 0x001000 /* defining keyboard macro */
#define RL_STATE_OVERWRITE 0x002000 /* overwrite mode */
#define RL_STATE_COMPLETING 0x004000 /* doing completion */
#define RL_STATE_SIGHANDLER 0x008000 /* in readline sighandler */
#define RL_STATE_UNDOING 0x010000 /* doing an undo */
#define RL_STATE_INPUTPENDING 0x020000 /* rl_execute_next called */
#define RL_STATE_TTYCSAVED 0x040000 /* tty special chars saved */
#define RL_STATE_CALLBACK 0x080000 /* using the callback interface */
#define RL_STATE_VIMOTION 0x100000 /* reading vi motion arg */
#define RL_STATE_MULTIKEY 0x200000 /* reading multiple-key command */
#define RL_STATE_DONE 0x80000 /* done; accepted line */
#define RL_STATE_DONE 0x800000 /* done; accepted line */
#define RL_SETSTATE(x) (rl_readline_state |= (x))
#define RL_UNSETSTATE(x) (rl_readline_state &= ~(x))
+1 -1
View File
@@ -932,7 +932,7 @@ floating(p, d)
char *tmp, *tmp2, *t;
int i;
if (chkinfnan(p, d, 1) || chkinfnan(p, d, 2))
if (d != 0 && (chkinfnan(p, d, 1) || chkinfnan(p, d, 2)))
return; /* already printed nan or inf */
GETLOCALEDATA(decpoint, thoussep, grouping);
+1 -2
View File
@@ -104,8 +104,7 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
--files-from=$(srcdir)/POTFILES.in \
--copyright-holder='$(COPYRIGHT_HOLDER)' \
--msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
--copyright-holder='$(COPYRIGHT_HOLDER)'
$(MAKE) $(MFLAGS) builtins.pot-update
test ! -f $(DOMAIN).po || { \
if test -f $(srcdir)/$(DOMAIN).pot; then \
+1044 -2671
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
+1906 -2883
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+1882 -2847
View File
File diff suppressed because it is too large Load Diff
+73 -29
View File
@@ -1,133 +1,177 @@
#: lib/readline/bind.c:878
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#: lib/readline/bind.c:2076 lib/readline/bind.c:2078 lib/readline/bind.c:2080
#: lib/readline/bind.c:2082 lib/readline/display.c:461
#: lib/readline/display.c:881 lib/readline/display.c:1921
#: lib/readline/histexpand.c:1267 lib/readline/histexpand.c:1275
#: lib/readline/nls.c:116
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2005-10-03 17:39-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: lib/readline/bind.c:890
#, c-format
msgid "readline: %s: line %d: %s\n"
msgstr ""
#: lib/readline/bind.c:881
#: lib/readline/bind.c:893
#, c-format
msgid "readline: %s\n"
msgstr ""
#: lib/readline/bind.c:994
#: lib/readline/bind.c:916
msgid "other"
msgstr ""
#: lib/readline/bind.c:1006
msgid "$else found without matching $if"
msgstr ""
#: lib/readline/bind.c:1024
#: lib/readline/bind.c:1036
msgid "$endif without matching $if"
msgstr ""
#: lib/readline/bind.c:1101
#: lib/readline/bind.c:1113
msgid "unknown parser directive"
msgstr ""
#: lib/readline/bind.c:1162
#: lib/readline/bind.c:1174
msgid "no closing `\"' in key binding"
msgstr ""
#: lib/readline/bind.c:1977
#: lib/readline/bind.c:1999
#, c-format
msgid "# %s (not bound)\n"
msgstr ""
#: lib/readline/bind.c:1995
#: lib/readline/bind.c:2017
#, c-format
msgid "%s is not bound to any keys\n"
msgstr ""
#: lib/readline/bind.c:2001
#: lib/readline/bind.c:2023
#, c-format
msgid "%s can be found on "
msgstr ""
#: lib/readline/bind.c:2128
#: lib/readline/bind.c:2080
#, c-format
msgid "%s%s outputs %s\n"
msgstr ""
#: lib/readline/bind.c:2150
#, c-format
msgid "%s is set to `%s'\n"
msgstr ""
#: lib/readline/bind.c:2146
#: lib/readline/bind.c:2168
#, c-format
msgid "bell-style is set to `%s'\n"
msgstr ""
#: lib/readline/bind.c:2152
#: lib/readline/bind.c:2174
#, c-format
msgid "comment-begin is set to `%s'\n"
msgstr ""
#: lib/readline/bind.c:2158
#: lib/readline/bind.c:2180
#, c-format
msgid "completion-query-items is set to `%d'\n"
msgstr ""
#: lib/readline/bind.c:2164
#: lib/readline/bind.c:2186
#, c-format
msgid "editing-mode is set to `%s'\n"
msgstr ""
#: lib/readline/bind.c:2176
#: lib/readline/bind.c:2198
#, c-format
msgid "isearch-terminators is set to \"%s\"\n"
msgstr ""
#: lib/readline/bind.c:2188
#: lib/readline/bind.c:2210
#, c-format
msgid "keymap is set to `%s'\n"
msgstr ""
#: lib/readline/callback.c:105
#: lib/readline/callback.c:113
msgid "readline: readline_callback_read_char() called with no handler!\r\n"
msgstr ""
#: lib/readline/complete.c:1342
#: lib/readline/complete.c:1418
#, c-format
msgid "Display all %d possibilities? (y or n)"
msgstr ""
#: lib/readline/complete.c:1681
#: lib/readline/complete.c:1756
#, c-format
msgid ""
"\r\n"
"readline: bad value %d for what_to_do in rl_complete\n"
msgstr ""
#: lib/readline/display.c:1924
#: lib/readline/display.c:2061
#, c-format
msgid "readline: debug: insert_some_chars: count (%d) != col (%d)\n"
msgstr ""
#: lib/readline/histexpand.c:377
#: lib/readline/histexpand.c:379
msgid "event not found"
msgstr ""
#: lib/readline/histexpand.c:381
#: lib/readline/histexpand.c:383
msgid "bad word specifier"
msgstr ""
#: lib/readline/histexpand.c:385
#: lib/readline/histexpand.c:387
msgid "substitution failed"
msgstr ""
#: lib/readline/histexpand.c:389
#: lib/readline/histexpand.c:391
msgid "unrecognized history modifier"
msgstr ""
#: lib/readline/histexpand.c:393
#: lib/readline/histexpand.c:395
msgid "no previous substitution"
msgstr ""
#: lib/readline/histexpand.c:397
#: lib/readline/histexpand.c:399
msgid "unknown expansion error"
msgstr ""
#: lib/readline/rltty.c:464
#: lib/readline/isearch.c:179
msgid "reverse-"
msgstr ""
#: lib/readline/isearch.c:183
msgid "i-search)`"
msgstr ""
#: lib/readline/rltty.c:467
#, c-format
msgid "readline: warning: %s\n"
msgstr ""
#: lib/readline/rltty.c:475
#: lib/readline/rltty.c:478
msgid "turning on OPOST for terminal\r"
msgstr ""
#: lib/readline/rltty.c:501
#: lib/readline/rltty.c:504
msgid "turning off output flushing"
msgstr ""
#: lib/readline/xmalloc.c:47
#, c-format
msgid "%s: out of virtual memory\n"
msgstr ""
+1 -1
View File
@@ -1,4 +1,4 @@
BUILD_DIR=/usr/local/build/chet/bash/bash-current
BUILD_DIR=/usr/local/build/bash/bash-current
THIS_SH=$BUILD_DIR/bash
PATH=$PATH:$BUILD_DIR