From e6f6d829403156797fabc4690d497fdf7cd6f7d1 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 27 May 2009 18:07:29 +0200 Subject: [PATCH] hush: more fixes from trunk; bump version to 1.14.1 Signed-off-by: Denys Vlasenko --- Makefile | 2 +- scripts/defconfig | 5 +++-- shell/Config.in | 7 +++++++ shell/hush.c | 8 +++++--- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 0d6e17d04..e87d18d2a 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION = 1 PATCHLEVEL = 14 -SUBLEVEL = 0 +SUBLEVEL = 1 EXTRAVERSION = NAME = Unnamed diff --git a/scripts/defconfig b/scripts/defconfig index a863ecad5..f991363cc 100644 --- a/scripts/defconfig +++ b/scripts/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.14.0 -# Wed Apr 15 04:12:17 2009 +# Busybox version: 1.14.1 +# Wed May 27 18:05:31 2009 # CONFIG_HAVE_DOT_CONFIG=y @@ -859,6 +859,7 @@ CONFIG_HUSH_IF=y CONFIG_HUSH_LOOPS=y CONFIG_HUSH_CASE=y CONFIG_HUSH_FUNCTIONS=y +CONFIG_HUSH_EXPORT_N=y # CONFIG_LASH is not set CONFIG_MSH=y diff --git a/shell/Config.in b/shell/Config.in index 6cc11ce80..57969f02c 100644 --- a/shell/Config.in +++ b/shell/Config.in @@ -232,6 +232,13 @@ config HUSH_FUNCTIONS help Enable support for shell functions in hush. +800 bytes. +config HUSH_EXPORT_N + bool "Support export '-n' option" + default n + depends on HUSH + help + Enable support for export '-n' option in hush. It is a bash extension. + config LASH bool "lash (deprecated: aliased to hush)" default n diff --git a/shell/hush.c b/shell/hush.c index 8c3e7c551..735cb4cee 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -50,7 +50,6 @@ * * TODOs: * grep for "TODO" and fix (some of them are easy) - * $var refs in function do not pick up values set by "var=val func" * builtins: ulimit * follow IFS rules more precisely, including update semantics * @@ -4110,8 +4109,11 @@ static int run_list(struct pipe *pi) } #endif #if ENABLE_HUSH_FUNCTIONS - if (G.flag_return_in_progress == 1) - goto check_jobs_and_break; + if (G.flag_return_in_progress == 1) { + /* same as "goto check_jobs_and_break" */ + checkjobs(NULL); + break; + } #endif } else if (pi->followup == PIPE_BG) { /* What does bash do with attempts to background builtins? */ -- 2.25.1