From 6c476c22111122006dcacc767b2c2846ede881e8 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Fri, 24 Feb 2017 05:17:04 +0000 Subject: 40626: Make $options re-settable. Follow-up to 40508. Reported-by: James McGlashan --- ChangeLog | 5 +++++ Src/Modules/parameter.c | 4 ++-- Test/V06parameter.ztst | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8a069b209..fbedf0ae2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-02-25 Daniel Shahaf + + * 40626: Src/Modules/parameter.c, Test/V06parameter.ztst: + Make $options re-settable. + 2017-02-23 Barton E. Schaefer * unposted (cf. 40617): Doc/Zsh/expn.yo: clarify description of diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c index c251e4f97..c7aac88d1 100644 --- a/Src/Modules/parameter.c +++ b/Src/Modules/parameter.c @@ -937,7 +937,7 @@ unsetpmoption(Param pm, UNUSED(int exp)) /**/ static void -setpmoptions(UNUSED(Param pm), HashTable ht) +setpmoptions(Param pm, HashTable ht) { int i; HashNode hn; @@ -962,7 +962,7 @@ setpmoptions(UNUSED(Param pm), HashTable ht) (val && strcmp(val, "off")), 0, opts)) zwarn("can't change option: %s", hn->nam); } - deleteparamtable(ht); + hashsetfn(pm, ht); } static const struct gsu_scalar pmoption_gsu = diff --git a/Test/V06parameter.ztst b/Test/V06parameter.ztst index 27d587852..2b6671300 100644 --- a/Test/V06parameter.ztst +++ b/Test/V06parameter.ztst @@ -92,6 +92,9 @@ >foo >bar + options+=(); options+=() +0:$options can be appended to twice + %clean rm -f autofn functrace.zsh rocky3.zsh sourcedfile myfunc -- cgit 1.4.1