summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2023-04-01 22:16:32 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2023-04-01 22:16:32 +0200
commit1409432d072e62c3838ef2e86b0d97637201dbd5 (patch)
treed9c66bea948ac167f76034ae62879cefa3ddcf2f
parent00fc1368437f66c6e67ed45a17326e5f2573ea65 (diff)
downloadbusybox-1409432d072e62c3838ef2e86b0d97637201dbd5.tar.gz
hush: add TODO comment
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/hush.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/shell/hush.c b/shell/hush.c
index e6be70078..e42de8762 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -11276,6 +11276,9 @@ static int FAST_FUNC builtin_local(char **argv)
bb_error_msg("%s: not in a function", argv[0]);
return EXIT_FAILURE; /* bash compat */
}
+//TODO? ash and bash support "local -" special form,
+//which saves/restores $- around function call (including async returns, such as ^C)
+//(IOW: it makes "set +/-..." effects local)
argv++;
/* Since all builtins run in a nested variable level,
* need to use level - 1 here. Or else the variable will be removed at once