diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/Modules/parameter.c | 4 | ||||
-rw-r--r-- | 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 <d.s@daniel.shahaf.name> + + * 40626: Src/Modules/parameter.c, Test/V06parameter.ztst: + Make $options re-settable. + 2017-02-23 Barton E. Schaefer <schaefer@zsh.org> * 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 |