]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
bash-20121228 additional cleanup
authorChet Ramey <chet.ramey@case.edu>
Thu, 3 Jan 2013 16:11:26 +0000 (11:11 -0500)
committerChet Ramey <chet.ramey@case.edu>
Thu, 3 Jan 2013 16:11:26 +0000 (11:11 -0500)
CHANGES-4.2 [deleted file]
NEWS-4.2 [deleted file]
lib/glob/foo [deleted file]

diff --git a/CHANGES-4.2 b/CHANGES-4.2
deleted file mode 100644 (file)
index e283fb9..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-This document details the changes between this version, bash-4.2-release,
-and the previous version, bash-4.2-rc2.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused some variables to be clobbered by a longjmp,
-    resulting in stack corruption.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-rc2,
-and the previous version, bash-4.2-rc1.
-
-1.  Changes to Bash
-
-a.  Changes to bash_directory_completion_hook so that it's assigned to the
-    readline rl_directory_rewrite_hook variable, which modifies the directory
-    name passed to opendir without modifying the directory name the user
-    typed.
-
-b.  Fixed bug in select builtin that caused it to not terminate correctly if
-    the read timed out due to $TMOUT.
-
-c.  Fixed a problem that resulted in non-repeatable sequences of random
-    numbers when RANDOM=0.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-rc1,
-and the previous version, bash-4.2-beta.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused some redirection errors to leak file descriptors.
-
-b.  Fixed a bug that caused unary `+' and `-' arithmetic operators to have a
-    higher precedence than unary `!' and `~'.
-
-c.  Fixed a bug that caused simple commands in a pipeline to affect the exit
-    status ($?) seen by subsequent pipeline commands.
-
-d.  A number of cygwin-specific changes to avoid the use of text-mode files
-    and file access, and to make sure that \r is handled correctly.
-
-e.  Fixed a bug that caused the read builtin to not return failure if an
-    attempt is made to assign to a readonly variable.
-
-f.  Fixed a bug that caused some builtin usage messages to not be translated.
-
-g.  Fixed a bug that caused the getopts builtin to not return failure if an
-    attempt is made to assign to a readonly variable.  Now it returns 2.
-
-h.  Fixed the cd and pwd builtins to return failure if PWD is readonly and
-    cannot be assigned to.
-
-i.  Added code to check the return value of access(2) on Solaris systems,
-    since it returns success for executable tests (e.g., `test -x') when
-    run by root, even if the file permissions don't allow execution.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused directory names in words to be completed to not
-    be dequoted correctly.
-
-3.  New Features in Bash
-
-4.  New Features in Readline
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-beta,
-and the previous version, bash-4.2-alpha.
-
-1.  Changes to Bash
-
-a.  Fixed a bug that caused the \W prompt string escape to not add a closing
-    NULL.
-
-b.  Fixed a bug that caused partially-quoted words that were not subject to
-    word splitting to retained quoted NULLs.
-
-c.  Added considerable efficiency speedups when pattern matching in multibyte
-    locales by skipping multibyte character functions where possible.
-
-d.  Added considerable speedups to variable expansion when in multibyte locales.
-
-e.  Fixed a bug that caused the expansion of $* when there are no positional
-    parameters to cause the shell to dump core when used in a pattern
-    matching context.
-
-f.  Fixed a bug that caused variable expansions preceding regular builtins to
-    not change the shell environment during their execution.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that made an explicit argument of 0 to yank-last-arg behave
-    as if it were a negative argument.
-
-------------------------------------------------------------------------------
-This document details the changes between this version, bash-4.2-alpha,
-and the previous version, bash-4.1-release.
-
-1.  Changes to Bash
-
-a.  Fixed a bug in the parser when processing alias expansions containing
-    quoted newlines.
-
-b.  Fixed a memory leak in associative array expansion.
-
-c.  Fixed a bug that caused quoted here-strings to be requoted when printed.
-
-d.  Fixed a bug in arithmetic expansion that caused the index in an array
-    expansion to be evaluated twice under certain circumstances.
-
-e.  Fixed several bugs with the expansion and display of variables that have
-    been given attributes but not values and are technically unset.
-
-f.  Fixed a bug that caused core dumps when using filename completion that
-    expands to a filename containing a globbing character.
-
-g.  Fixed a bug that caused assignment statements preceding a special builtin
-    when running in Posix mode to not persist after the builtin completed
-    when the special builtin was executed in a shell function without any
-    local variables.
-
-h.  Fixed a bug that caused a command to remain in the hash table even after
-    `hash command' did not find anything if there was already an existing
-    hashed pathname.
-
-i.  Fixed several bugs caused by executing unsafe functions from a signal
-    handler in the cases where a signal handler is executed immediately
-    rather than setting a flag for later execution.
-
-j.  Fixed a bug that caused some internal flag variables to be set
-    incorrectly if `read -t' timed out.
-
-k.  Fixed a Posix compatibility issue by making sure that a backslash escaping
-    a `}' within a double-quoted ${...} parameter expansion is removed as part
-    of the parameter expansion.
-
-l.  Fixed a bug that caused execution of a trap to overwrite PIPESTATUS.
-
-m.  Fixed a bug that caused here documents to not be displayed correctly
-    when attached to commands inside compound commands.
-
-n.  Fixed a bug that caused the printf builtin to use the wrong precision
-    when using the `*' modifier.
-
-o.  Fixed a bug that caused an arriving SIGCHLD to interrupt output functions
-    like those invoked by echo or printf.
-
-p.  Changed to use a more robust mechanism than eaccess(2) when test is
-    checking filenames for execution permission.
-
-q.  Fixed a bug that caused spurious semicolons to be added into the command
-    history in certain cases.
-
-r.  Fixed a bug that caused the shell to free non-allocated memory when
-    unsetting element 0 of an associative array after it was assigned
-    implicitly.
-
-s.  Fixed a bug that could cause the shell to dump core if using the `v'
-    vi editing command on a multi-line command.
-
-t.  Fixed a bug that left FIFOs opened by process substitutions open long
-    enough to potentially cause file descriptor exhaustion when running a
-    shell function or shell builtin.
-
-u.  Fixed a bug that caused the history expansion functions to not recognize
-    process substitution or extended glob patterns as single words.
-
-v.  Fixed a bug that caused restricted shells to set a restricted command's
-    exit status incorrectly.
-
-w.  Fixed a bug that caused bash to ignore the wrong set of filenames when
-    completing a command using the `complete-filename' readline command.
-
-x.  Fixed a bug that caused a -PID argument following a -s sig or -n sig to
-    not be interpreted as a signal specification.
-
-y.  Changed posix-mode behavior of a parse error in a `.' script or `eval'
-    command to exit the shell under Posix-specified conditions.  Previous
-    versions printed a warning.
-
-z.  Fixed a bug in \W prompt expansion that resulted in incorrect expansion
-    in the event of overlapping strings.
-
-aa. Fixed a bug that caused the := parameter expansion operator to return the
-    wrong value as the result of the expansion.
-
-bb. When in Posix mode, a single quote is not treated specially in a
-    double-quoted ${...} expansion, unless the expansion operator is
-    # or % or the non-Posix `//', `^', and `,'.  In particular, it does
-    not define a new quoting context.  This is from Posix interpretation 221.
-
-cc. Fixed a bug that inadvertently allowed program names containing slashes
-    to be entered into the command hash table.
-
-dd. Fixed a bug that caused the select builtin to incorrectly compute the
-    display width of the arguments in the presence of multibyte characters.
-
-ee. Fixed a bug that caused bash to not change the xtrace file descriptor if
-    BASH_XTRACEFD was found in the shell environment at startup.
-
-ff. Fixed a memory leak in the pattern removal parameter expansion.
-
-gg. Fixed a bug that caused SIGINT to fail to interrupt a nested loop if the
-    loop was in a pipeline.
-
-hh. Fixed a problem in $(...) parsing that caused the parser to add an extra
-    space to a here-document delimiter if the first word contained a `/'.
-
-ii. Fixed a bug that caused functions defined with the `function' reserved
-    word to require braces around the function body.
-
-jj. Fixed a bug that caused bash to dump core when a variable expansion being
-    used as an array subscript failed.
-
-kk. Fixed a bug that caused bash to dump core if the case-modification
-    expansions were used on a variable with a null value.
-
-ll. Fixed a bug that caused partially-quoted strings to be split incorrectly
-    if a variable with a null value was expanded within double quotes.
-
-mm. The pattern substitution word expansion has been sped up dramatically
-    when running in a locale with multibyte characters.
-
-nn. Fixed a bug that caused history -a to not write the correct lines to
-    the history file if all the new lines in the history list were added
-    since the last time the history file was read or written.
-
-oo. Fixed a bug that caused completion of a word with an unclosed `` command
-    substitution to set the prompt incorrectly.
-
-pp. Fixed a bug that caused extended globbing patterns in $HISTIGNORE or
-    $GLOBIGNORE to be incorrectly scanned.
-
-qq. Fixed a bug caused by closing file descriptors 3-20 on shell startup.  The
-    shell now sets them to close-on-exec.
-
-rr. Fixed a bug that caused the exit status of `exec file' to be set incorrectly
-    if `file' was a directory.
-
-ss. Fixed a bug in the `.' builtin to make a non-interactive posix-mode shell
-    exit if the file argument to `.' is not found.  Prefixing exec with 
-    `command' makes the shell not exit. Posix requires this behavior.
-
-tt. Fixed a bug that caused `sh -c 'command exec; exit 1' to hang.
-
-uu. Fixed a bug in $(...) command substitution parsing that caused the shell
-    to treat backslash-newline incorrectly when parsing a comment.
-
-vv. Fixed bug that caused brace expansion sequence generation to misbehave
-    when supplied integers greater than 2**31 - 1.
-
-ww. Fixed a bug that caused failure to save file descriptors for redirections
-    to corrupt shell file descriptors.
-
-xx. Fixed a bug that caused bash-forward-shellword to not correctly handle
-    quoted strings.
-
-2.  Changes to Readline
-
-a.  Fixed a bug that caused the unconverted filename to be added to the list of
-    completions when the application specified filename conversion functions.
-
-b.  Fixed a bug that caused the wrong filename to be passed to opendir when the
-    application has specified a filename dequoting function.
-
-c.  Fixed a bug when repeating a character search in vi mode in the case where
-    there was no search to repeat.
-
-d.  When show-all-if-ambiguous is set, the completion routines no longer insert
-    a common match prefix that is shorter than the text being completed.
-
-e.  The full set of vi editing commands may now be used in callback mode.
-
-f.  Fixed a bug that caused readline to not update its idea of the terminal
-    dimensions while running in `no-echo' mode.
-
-h.  Fixed a bug that caused readline to dump core if an application called
-    rl_prep_terminal without setting rl_instream.
-
-i.  Fixed a bug that caused meta-prefixed characters bound to incremental
-    search forward or backward to not be recognized if they were typed
-    subsequently.
-
-j.  The incremental search code treats key sequences that map to the same
-    functions as (default) ^G, ^W, and ^Y as equivalent to those characters.
-
-k.  Fixed a bug in menu-complete that caused it to misbehave with large
-    negative argument.
-
-l.  Fixed a bug that caused vi-mode yank-last-arg to ring the bell when invoked
-    at the end of the line.
-
-3.  New Features in Bash
-
-a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
-    leading #!.
-
-b.  Subshells begun to execute command substitutions or run shell functions or
-    builtins in subshells do not reset trap strings until a new trap is
-    specified.  This allows $(trap) to display the caller's traps and the
-    trap strings to persist until a new trap is set.
-
-c.  `trap -p' will now show signals ignored at shell startup, though their
-    disposition still cannot be modified.
-
-d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
-
-e.  declare/typeset has a new `-g' option, which creates variables in the
-    global scope even when run in a shell function.
-
-f.  test/[/[[ have a new -v variable unary operator, which returns success if
-    `variable' has been set.
-
-g.  Posix parsing changes to allow `! time command' and multiple consecutive
-    instances of `!' (which toggle) and `time' (which have no cumulative
-    effect).
-
-h.  Posix change to allow `time' as a command by itself to print the elapsed
-    user, system, and real times for the shell and its children.
-
-j.  $((...)) is always parsed as an arithmetic expansion first, instead of as
-    a potential nested command substitution, as Posix requires.
-
-k.  A new FUNCNEST variable to allow the user to control the maximum shell
-    function nesting (recursive execution) level.
-
-l.  The mapfile builtin now supplies a third argument to the callback command:
-    the line about to be assigned to the supplied array index.
-
-m.  The printf builtin has a new %(fmt)T specifier, which allows time values
-    to use strftime-like formatting.
-
-n.  There is a new `compat41' shell option.
-
-o.  The cd builtin has a new Posix-mandated `-e' option.
-
-p.  Negative subscripts to indexed arrays, previously errors, now are treated
-    as offsets from the maximum assigned index + 1.
-
-q.  Negative length specifications in the ${var:offset:length} expansion,
-    previously errors, are now treated as offsets from the end of the variable.
-
-r.  Parsing change to allow `time -p --'.
-
-s.  Posix-mode parsing change to not recognize `time' as a keyword if the
-    following token begins with a `-'.  This means no more Posix-mode
-    `time -p'.  Posix interpretation 267.
-
-t.  There is a new `lastpipe' shell option that runs the last command of a
-    pipeline in the current shell context.  The lastpipe option has no
-    effect if job control is enabled.
-
-u.  History expansion no longer expands the `$!' variable expansion.
-
-v.  Posix mode shells no longer exit if a variable assignment error occurs
-    with an assignment preceding a command that is not a special builtin.
-
-w.  Non-interactive mode shells exit if -u is enabled and an attempt is made
-    to use an unset variable with the % or # expansions, the `//', `^', or
-    `,' expansions, or the parameter length expansion.
-
-x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH search
-    fails, effectively searching the current directory.  Posix-2008 change.
-
-4.  New Features in Readline
-
-a.  The history library does not try to write the history filename in the
-    current directory if $HOME is unset.  This closes a potential security
-    problem if the application does not specify a history filename.
-
-b.  New bindable variable `completion-display-width' to set the number of
-    columns used when displaying completions.
-
-c.  New bindable variable `completion-case-map' to cause case-insensitive
-    completion to treat `-' and `_' as identical.
-
-d.  There are new bindable vi-mode command names to avoid readline's case-
-    insensitive matching not allowing them to be bound separately.
-
-e.  New bindable variable `menu-complete-display-prefix' causes the menu
-    completion code to display the common prefix of the possible completions
-    before cycling through the list, instead of after.
diff --git a/NEWS-4.2 b/NEWS-4.2
deleted file mode 100644 (file)
index e704a65..0000000
--- a/NEWS-4.2
+++ /dev/null
@@ -1,91 +0,0 @@
-
-1.  New Features in Bash
-
-a.  `exec -a foo' now sets $0 to `foo' in an executable shell script without a
-    leading #!.
-
-b.  Subshells begun to execute command substitutions or run shell functions or
-    builtins in subshells do not reset trap strings until a new trap is
-    specified.  This allows $(trap) to display the caller's traps and the
-    trap strings to persist until a new trap is set.
-
-c.  `trap -p' will now show signals ignored at shell startup, though their
-    disposition still cannot be modified.
-
-d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
-
-e.  declare/typeset has a new `-g' option, which creates variables in the
-    global scope even when run in a shell function.
-
-f.  test/[/[[ have a new -v variable unary operator, which returns success if
-    `variable' has been set.
-
-g.  Posix parsing changes to allow `! time command' and multiple consecutive
-    instances of `!' (which toggle) and `time' (which have no cumulative
-    effect).
-
-h.  Posix change to allow `time' as a command by itself to print the elapsed
-    user, system, and real times for the shell and its children.
-
-j.  $((...)) is always parsed as an arithmetic expansion first, instead of as
-    a potential nested command substitution, as Posix requires.
-
-k.  A new FUNCNEST variable to allow the user to control the maximum shell
-    function nesting (recursive execution) level.
-
-l.  The mapfile builtin now supplies a third argument to the callback command:
-    the line about to be assigned to the supplied array index.
-
-m.  The printf builtin has a new %(fmt)T specifier, which allows time values
-    to use strftime-like formatting.
-
-n.  There is a new `compat41' shell option.
-
-o.  The cd builtin has a new Posix-mandated `-e' option.
-
-p.  Negative subscripts to indexed arrays, previously errors, now are treated
-    as offsets from the maximum assigned index + 1.
-
-q.  Negative length specifications in the ${var:offset:length} expansion,
-    previously errors, are now treated as offsets from the end of the variable.
-
-r.  Parsing change to allow `time -p --'.
-
-s.  Posix-mode parsing change to not recognize `time' as a keyword if the
-    following token begins with a `-'.  This means no more Posix-mode
-    `time -p'.  Posix interpretation 267.
-
-t.  There is a new `lastpipe' shell option that runs the last command of a
-    pipeline in the current shell context.  The lastpipe option has no
-    effect if job control is enabled.
-
-u.  History expansion no longer expands the `$!' variable expansion.
-
-v.  Posix mode shells no longer exit if a variable assignment error occurs
-    with an assignment preceding a command that is not a special builtin.
-
-w.  Non-interactive mode shells exit if -u is enabled and an attempt is made
-    to use an unset variable with the % or # expansions, the `//', `^', or
-    `,' expansions, or the parameter length expansion.
-
-x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH search
-    fails, effectively searching the current directory.  Posix-2008 change.
-
-2.  New Features in Readline
-
-a.  The history library does not try to write the history filename in the
-    current directory if $HOME is unset.  This closes a potential security
-    problem if the application does not specify a history filename.
-
-b.  New bindable variable `completion-display-width' to set the number of
-    columns used when displaying completions.
-
-c.  New bindable variable `completion-case-map' to cause case-insensitive
-    completion to treat `-' and `_' as identical.
-
-d.  There are new bindable vi-mode command names to avoid readline's case-
-    insensitive matching not allowing them to be bound separately.
-
-e.  New bindable variable `menu-complete-display-prefix' causes the menu
-    completion code to display the common prefix of the possible completions
-    before cycling through the list, instead of after.
diff --git a/lib/glob/foo b/lib/glob/foo
deleted file mode 100644 (file)
index 48a4b49..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-             /* If we're expanding **, we don't need to glue the directory
-                name to the results; we've already done it in glob_vector */
-             if ((dflags & GX_ALLDIRS) && filename[0] == '*' && filename[1] == '*' && (filename[2] == '\0' || filename[2] == '/'))
-               {
-                 /* When do we remove null elements from temp_results?  And
-                    how to avoid duplicate elements in the final result? */
-                 /* If (dflags & GX_NULLDIR) glob_filename potentially left a
-                    NULL placeholder in the temp results just in case
-                    glob_vector/glob_dir_to_array did something with it, but
-                    if it didn't, and we're not supposed to be passing them
-                    through for some reason ((flags & GX_NULLDIR) == 0) we
-                    need to remove all the NULL elements from the beginning
-                    of TEMP_RESULTS. */
-                 /* If we have a null directory name and ** as the filename,
-                    we have just searched for everything from the current
-                    directory on down. Break now (shouldbreak = 1) to avoid
-                    duplicate entries in the final result. */
-#define NULL_PLACEHOLDER(x)    ((x) && *(x) && **(x) == 0)
-                 if ((dflags & GX_NULLDIR) && /* (flags & GX_NULLDIR) == 0 && */
-                       NULL_PLACEHOLDER (temp_results))
-#undef NULL_PLACEHOLDER
-                   {
-                     register int i, n;
-                     for (n = 0; temp_results[n] && *temp_results[n] == 0; n++)
-                       ;
-                     i = n;
-                     do
-                       temp_results[i - n] = temp_results[i];
-                     while (temp_results[i++] != 0);
-                     array = temp_results;
-                     shouldbreak = 1;
-                   }
-                 else
-                   array = temp_results;
-               }