diff options
author | wiz <wiz> | 2014-03-12 10:08:46 +0000 |
---|---|---|
committer | wiz <wiz> | 2014-03-12 10:08:46 +0000 |
commit | e0e85c9eaa84f491f2e124f059ecea5217a32aaf (patch) | |
tree | 29bf576899ced552a808aae055da2617fad2dbb4 /shells | |
parent | cf303b1cd240143cebea1ec9df671ba403b45939 (diff) | |
download | pkgsrc-e0e85c9eaa84f491f2e124f059ecea5217a32aaf.tar.gz |
Update to 4.3:
This is a terse description of the new features added to bash-4.3 since
the release of bash-4.2. As always, the manual page (doc/bash.1) is
the place to look for complete descriptions.
1. New Features in Bash
a. The `helptopic' completion action now maps to all the help topics, not just
the shell builtins.
b. The `help' builtin no longer does prefix substring matching first, so
`help read' does not match `readonly', but will do it if exact string
matching fails.
c. The shell can be compiled to not display a message about processes that
terminate due to SIGTERM.
d. Non-interactive shells now react to the setting of checkwinsize and set
LINES and COLUMNS after a foreground job exits.
e. There is a new shell option, `globasciiranges', which, when set to on,
forces globbing range comparisons to use character ordering as if they
were run in the C locale.
f. There is a new shell option, `direxpand', which makes filename completion
expand variables in directory names in the way bash-4.1 did.
g. In Posix mode, the `command' builtin does not change whether or not a
builtin it shadows is treated as an assignment builtin.
h. The `return' and `exit' builtins accept negative exit status arguments.
i. The word completion code checks whether or not a filename containing a
shell variable expands to a directory name and appends `/' to the word
as appropriate. The same code expands shell variables in command names
when performing command completion.
j. In Posix mode, it is now an error to attempt to define a shell function
with the same name as a Posix special builtin.
k. When compiled for strict Posix conformance, history expansion is disabled
by default.
l. The history expansion character (!) does not cause history expansion when
followed by the closing quote in a double-quoted string.
m. `complete' and its siblings compgen/compopt now takes a new `-o noquote'
option to inhibit quoting of the completions.
n. Setting HISTSIZE to a value less than zero causes the history list to be
unlimited (setting it 0 zero disables the history list).
o. Setting HISTFILESIZE to a value less than zero causes the history file size
to be unlimited (setting it to 0 causes the history file to be truncated
to zero size).
p. The `read' builtin now skips NUL bytes in the input.
q. There is a new `bind -X' option to print all key sequences bound to Unix
commands.
r. When in Posix mode, `read' is interruptible by a trapped signal. After
running the trap handler, read returns 128+signal and throws away any
partially-read input.
s. The command completion code skips whitespace and assignment statements
before looking for the command name word to be completed.
t. The build process has a new mechanism for constructing separate help files
that better reflects the current set of compilation options.
u. The -nt and -ot options to test now work with files with nanosecond
timestamp resolution.
v. The shell saves the command history in any shell for which history is
enabled and HISTFILE is set, not just interactive shells.
w. The shell has `nameref' variables and new -n(/+n) options to declare and
unset to use them, and a `test -R' option to test for them.
x. The shell now allows assigning, referencing, and unsetting elements of
indexed arrays using negative subscripts (a[-1]=2, echo ${a[-1]}) which
count back from the last element of the array.
y. The {x}<word redirection feature now allows words like {array[ind]} and
can use variables with special meanings to the shell (e.g., BASH_XTRACEFD).
z. There is a new CHILD_MAX special shell variable; its value controls the
number of exited child statues the shell remembers.
aa. There is a new configuration option (--enable-direxpand-default) that
causes the `direxpand' shell option to be enabled by default.
bb. Bash does not do anything special to ensure that the file descriptor
assigned to X in {x}<foo remains open after the block containing it
completes.
cc. The `wait' builtin has a new `-n' option to wait for the next child to
change status.
dd. The `printf' %(...)T format specifier now uses the current time if no
argument is supplied.
ee. There is a new variable, BASH_COMPAT, that controls the current shell
compatibility level.
ff. The `popd' builtin now treats additional arguments as errors.
gg. The brace expansion code now treats a failed sequence expansion as a
simple string and will continue to expand brace terms in the remainder
of the word.
hh. Shells started to run process substitutions now run any trap set on EXIT.
ii. The fc builtin now interprets -0 as the current command line.
jj. Completing directory names containing shell variables now adds a trailing
slash if the expanded result is a directory.
kk. `cd' has a new `-@' option to browse a file's extended attributes on
systems that support O_XATTR.
ll. The test/[/[[ `-v variable' binary operator now understands array
references.
2. New Features in Readline
a. Readline is now more responsive to SIGHUP and other fatal signals when
reading input from the terminal or performing word completion but no
longer attempts to run any not-allowable functions from a signal handler
context.
b. There are new bindable commands to search the history for the string of
characters between the beginning of the line and the point
(history-substring-search-forward, history-substring-search-backward)
c. Readline allows quoted strings as the values of variables when setting
them with `set'. As a side effect, trailing spaces and tabs are ignored
when setting a string variable's value.
d. The history library creates a backup of the history file when writing it
and restores the backup on a write error.
e. New application-settable variable: rl_filename_stat_hook: a function called
with a filename before using it in a call to stat(2). Bash uses it to
expand shell variables so things like $HOME/Downloads have a slash
appended.
f. New bindable function `print-last-kbd-macro', prints the most-recently-
defined keyboard macro in a reusable format.
g. New user-settable variable `colored-stats', enables use of colored text
to denote file types when displaying possible completions (colored analog
of visible-stats).
h. New user-settable variable `keyseq-timout', acts as an inter-character
timeout when reading input or incremental search strings.
i. New application-callable function: rl_clear_history. Clears the history list
and frees all readline-associated private data.
j. New user-settable variable, show-mode-in-prompt, adds a characters to the
beginning of the prompt indicating the current editing mode.
k. New application-settable variable: rl_input_available_hook; function to be
called when readline detects there is data available on its input file
descriptor.
l. Readline calls an application-set event hook (rl_event_hook) after it gets
a signal while reading input (read returns -1/EINTR but readline does not
handle the signal immediately) to allow the application to handle or
otherwise note it.
m. If the user-settable variable `history-size' is set to a value less than
0, the history list size is unlimited.
n. New application-settable variable: rl_signal_event_hook; function that is
called when readline is reading terminal input and read(2) is interrupted
by a signal. Currently not called for SIGHUP or SIGTERM.
o. rl_change_environment: new application-settable variable that controls
whether or not Readline modifies the environment (currently readline
modifies only LINES and COLUMNS).
Diffstat (limited to 'shells')
-rw-r--r-- | shells/bash/Makefile | 5 | ||||
-rw-r--r-- | shells/bash/PLIST | 19 | ||||
-rw-r--r-- | shells/bash/distinfo | 13 | ||||
-rw-r--r-- | shells/bash/patches/patch-ai | 15 | ||||
-rw-r--r-- | shells/bash/patches/patch-ak | 14 | ||||
-rw-r--r-- | shells/bash/patches/patch-execute_cmd.c | 31 | ||||
-rw-r--r-- | shells/bash/patches/patch-lib_readline_vi_mode.c | 79 | ||||
-rw-r--r-- | shells/bash/patches/patch-lib_sh_eaccess.c | 37 |
8 files changed, 24 insertions, 189 deletions
diff --git a/shells/bash/Makefile b/shells/bash/Makefile index 775729adb5e..ed624e7140b 100644 --- a/shells/bash/Makefile +++ b/shells/bash/Makefile @@ -1,10 +1,9 @@ -# $NetBSD: Makefile,v 1.60 2014/01/11 18:18:46 chopps Exp $ +# $NetBSD: Makefile,v 1.61 2014/03/12 10:08:46 wiz Exp $ -BASH_VERSION= 4.2 +BASH_VERSION= 4.3 DISTNAME= bash-${BASH_VERSION} #PKGNAME= bash-${BASH_VERSION}.${BASH_PATCHLEVEL} -PKGREVISION= 4 CATEGORIES= shells MASTER_SITES= ${MASTER_SITE_GNU:=bash/} \ ftp://ftp.cwru.edu/pub/bash/ diff --git a/shells/bash/PLIST b/shells/bash/PLIST index a05a471823d..cd78bcc008e 100644 --- a/shells/bash/PLIST +++ b/shells/bash/PLIST @@ -1,14 +1,26 @@ -@comment $NetBSD: PLIST,v 1.6 2011/03/12 15:55:22 wiz Exp $ +@comment $NetBSD: PLIST,v 1.7 2014/03/12 10:08:46 wiz Exp $ bin/bash bin/bashbug info/bash.info man/man1/bash.1 man/man1/bashbug.1 +share/doc/bash/CHANGES +share/doc/bash/COMPAT +share/doc/bash/FAQ +share/doc/bash/INTRO +share/doc/bash/NEWS +share/doc/bash/POSIX +share/doc/bash/RBASH +share/doc/bash/README +share/doc/bash/bash.html +share/doc/bash/bashref.html share/locale/af/LC_MESSAGES/bash.mo share/locale/bg/LC_MESSAGES/bash.mo share/locale/ca/LC_MESSAGES/bash.mo share/locale/cs/LC_MESSAGES/bash.mo +share/locale/da/LC_MESSAGES/bash.mo share/locale/de/LC_MESSAGES/bash.mo +share/locale/el/LC_MESSAGES/bash.mo share/locale/en@boldquot/LC_MESSAGES/bash.mo share/locale/en@quot/LC_MESSAGES/bash.mo share/locale/eo/LC_MESSAGES/bash.mo @@ -17,8 +29,11 @@ share/locale/et/LC_MESSAGES/bash.mo share/locale/fi/LC_MESSAGES/bash.mo share/locale/fr/LC_MESSAGES/bash.mo share/locale/ga/LC_MESSAGES/bash.mo +share/locale/gl/LC_MESSAGES/bash.mo +share/locale/hr/LC_MESSAGES/bash.mo share/locale/hu/LC_MESSAGES/bash.mo share/locale/id/LC_MESSAGES/bash.mo +share/locale/it/LC_MESSAGES/bash.mo share/locale/ja/LC_MESSAGES/bash.mo share/locale/lt/LC_MESSAGES/bash.mo share/locale/nl/LC_MESSAGES/bash.mo @@ -27,6 +42,8 @@ share/locale/pt_BR/LC_MESSAGES/bash.mo share/locale/ro/LC_MESSAGES/bash.mo share/locale/ru/LC_MESSAGES/bash.mo share/locale/sk/LC_MESSAGES/bash.mo +share/locale/sl/LC_MESSAGES/bash.mo +share/locale/sr/LC_MESSAGES/bash.mo share/locale/sv/LC_MESSAGES/bash.mo share/locale/tr/LC_MESSAGES/bash.mo share/locale/uk/LC_MESSAGES/bash.mo diff --git a/shells/bash/distinfo b/shells/bash/distinfo index df924add5c7..c8a415ee017 100644 --- a/shells/bash/distinfo +++ b/shells/bash/distinfo @@ -1,14 +1,9 @@ -$NetBSD: distinfo,v 1.28 2014/01/11 18:07:06 chopps Exp $ +$NetBSD: distinfo,v 1.29 2014/03/12 10:08:46 wiz Exp $ -SHA1 (bash-4.2.tar.gz) = 487840ab7134eb7901fbb2e49b0ee3d22de15cb8 -RMD160 (bash-4.2.tar.gz) = df7ae51783f039a1234d3b720ffcf4bfa5d09673 -Size (bash-4.2.tar.gz) = 7009201 bytes +SHA1 (bash-4.3.tar.gz) = 45ac3c5727e7262334f4dfadecdf601b39434e84 +RMD160 (bash-4.3.tar.gz) = cd21a9f51ea7780994d4e2c9c7d16d5eb000f845 +Size (bash-4.3.tar.gz) = 7955839 bytes SHA1 (patch-af) = dfd1d1be3d822cfc3ae0fd21bb2bbd3e35b11f0d SHA1 (patch-ag) = 4da0a43f6b890482affff46b18eef4be67770e48 -SHA1 (patch-ai) = 26825922898567841bed0bf62a8dee3bcc50cd75 SHA1 (patch-aj) = 8b3c52c2aee9cf53ee5a9ce64ead243d0970305e -SHA1 (patch-ak) = 6dfb7195f45f81064f687a4c9febb9dcae721aa7 SHA1 (patch-builtins_ulimit.def) = d4cb59bedc6a6199f9a99a3530c99374e428baeb -SHA1 (patch-execute_cmd.c) = ce9fe5820188aa218bac74316d45cbdabadb1785 -SHA1 (patch-lib_readline_vi_mode.c) = 104be6ec5f30e39a5ee442de078ff5dcb9380874 -SHA1 (patch-lib_sh_eaccess.c) = 484577f09efe67f604c3fb85afdb5a58b64f5b6c diff --git a/shells/bash/patches/patch-ai b/shells/bash/patches/patch-ai deleted file mode 100644 index fe6aeabddbe..00000000000 --- a/shells/bash/patches/patch-ai +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-ai,v 1.1 2011/02/20 14:22:15 wiz Exp $ - -Add MirBSD. - ---- support/shobj-conf.orig Wed Oct 28 13:19:57 2009 -+++ support/shobj-conf -@@ -197,7 +197,7 @@ darwin*|macosx*) - SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1 - ;; - --openbsd*|netbsd*) -+openbsd*|netbsd*|mirbsd*) - SHOBJ_CFLAGS=-fPIC - SHOBJ_LD='${CC}' - SHOBJ_LDFLAGS='-shared' diff --git a/shells/bash/patches/patch-ak b/shells/bash/patches/patch-ak deleted file mode 100644 index a2ebb1785da..00000000000 --- a/shells/bash/patches/patch-ak +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-ak,v 1.1 2011/02/20 14:22:16 wiz Exp $ - -Add MirBSD. - ---- configure.orig Tue Dec 29 13:34:27 2009 -+++ configure -@@ -2192,6 +2192,7 @@ sparc-linux*) opt_bash_malloc=no ;; # sp - #*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here - #*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree - *-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment -+*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment - *-aix*) opt_bash_malloc=no ;; # AIX machines - *-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep - *-macos*) opt_bash_malloc=no ;; # Apple MacOS X diff --git a/shells/bash/patches/patch-execute_cmd.c b/shells/bash/patches/patch-execute_cmd.c deleted file mode 100644 index d3c6271eaf4..00000000000 --- a/shells/bash/patches/patch-execute_cmd.c +++ /dev/null @@ -1,31 +0,0 @@ -$NetBSD: patch-execute_cmd.c,v 1.1 2013/02/12 23:31:41 tcort Exp $ - -Allow bash to compile with JOB_CONTROL disabled. - -http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-018 - ---- execute_cmd.c.orig Wed Feb 9 22:32:25 2011 -+++ execute_cmd.c Tue Feb 12 11:48:00 2013 -@@ -2196,6 +2196,7 @@ - if (ignore_return && cmd) - cmd->flags |= CMD_IGNORE_RETURN; - -+#if defined (JOB_CONTROL) - lastpipe_flag = 0; - begin_unwind_frame ("lastpipe-exec"); - lstdin = -1; -@@ -2219,11 +2220,14 @@ - } - if (prev >= 0) - add_unwind_protect (close, prev); -+#endif - - exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close); - -+#if defined (JOB_CONTROL) - if (lstdin > 0) - restore_stdin (lstdin); -+#endif - - if (prev >= 0) - close (prev); diff --git a/shells/bash/patches/patch-lib_readline_vi_mode.c b/shells/bash/patches/patch-lib_readline_vi_mode.c deleted file mode 100644 index 043ad3703b4..00000000000 --- a/shells/bash/patches/patch-lib_readline_vi_mode.c +++ /dev/null @@ -1,79 +0,0 @@ -$NetBSD: patch-lib_readline_vi_mode.c,v 1.1 2014/01/11 18:07:06 chopps Exp $ - -Pull in fix for 'cc', 'dd', commands 'yy' from readline git repository (pre-6.3 -release). Prior to this 'dd', et al. simply moved to position 0 but did not cut -the text from the line. - ---- lib/readline/vi_mode.c.orig 2010-11-21 00:51:39.000000000 +0000 -+++ lib/readline/vi_mode.c -@@ -1114,7 +1114,7 @@ rl_domove_read_callback (m) - rl_beg_of_line (1, c); - _rl_vi_last_motion = c; - RL_UNSETSTATE (RL_STATE_VIMOTION); -- return (0); -+ return (vidomove_dispatch (m)); - } - #if defined (READLINE_CALLBACKS) - /* XXX - these need to handle rl_universal_argument bindings */ -@@ -1234,11 +1234,19 @@ rl_vi_delete_to (count, key) - _rl_vimvcxt->motion = '$'; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -- else if (vi_redoing) -+ else if (vi_redoing && _rl_vi_last_motion != 'd') /* `dd' is special */ - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing) /* handle redoing `dd' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) - { -@@ -1316,11 +1324,19 @@ rl_vi_change_to (count, key) - _rl_vimvcxt->motion = '$'; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -- else if (vi_redoing) -+ else if (vi_redoing && _rl_vi_last_motion != 'c') /* `cc' is special */ - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing) /* handle redoing `cc' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) - { -@@ -1377,6 +1393,19 @@ rl_vi_yank_to (count, key) - _rl_vimvcxt->motion = '$'; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing && _rl_vi_last_motion != 'y') /* `yy' is special */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ r = rl_domove_motion_callback (_rl_vimvcxt); -+ } -+ else if (vi_redoing) /* handle redoing `yy' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) - { diff --git a/shells/bash/patches/patch-lib_sh_eaccess.c b/shells/bash/patches/patch-lib_sh_eaccess.c deleted file mode 100644 index f7bb5d94778..00000000000 --- a/shells/bash/patches/patch-lib_sh_eaccess.c +++ /dev/null @@ -1,37 +0,0 @@ -$NetBSD: patch-lib_sh_eaccess.c,v 1.1 2012/07/18 15:43:12 spz Exp $ - -from ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-033 - - Bash-Release: 4.2 - Patch-ID: bash42-033 - - Bug-Reported-by: David Leverton <levertond@googlemail.com> - Bug-Reference-ID: <4FCCE737.1060603@googlemail.com> - Bug-Reference-URL: - - Bug-Description: - - Bash uses a static buffer when expanding the /dev/fd prefix for the test - and conditional commands, among other uses, when it should use a dynamic - buffer to avoid buffer overflow. - ---- lib/sh/eaccess.c.orig 2011-01-09 01:50:10.000000000 +0000 -+++ lib/sh/eaccess.c -@@ -82,6 +82,8 @@ sh_stat (path, finfo) - const char *path; - struct stat *finfo; - { -+ static char *pbuf = 0; -+ - if (*path == '\0') - { - errno = ENOENT; -@@ -106,7 +108,7 @@ sh_stat (path, finfo) - trailing slash. Make sure /dev/fd/xx really uses DEV_FD_PREFIX/xx. - On most systems, with the notable exception of linux, this is - effectively a no-op. */ -- char pbuf[32]; -+ pbuf = xrealloc (pbuf, sizeof (DEV_FD_PREFIX) + strlen (path + 8)); - strcpy (pbuf, DEV_FD_PREFIX); - strcat (pbuf, path + 8); - return (stat (pbuf, finfo)); |