diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/params.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 8a17ffddd..51e205300 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-12-18 Oliver Kiddle <opk@zsh.org> + + * 16364: Src/params.c: further to 16351, except specials + from having their value set to null + 2001-12-17 Oliver Kiddle <opk@zsh.org> * 16351: Src/params.c: fix bug in parameter unset code diff --git a/Src/params.c b/Src/params.c index f71b8338d..bff3d25a2 100644 --- a/Src/params.c +++ b/Src/params.c @@ -2165,7 +2165,10 @@ stdunsetfn(Param pm, int exp) case PM_SCALAR: pm->sets.cfn(pm, NULL); break; case PM_ARRAY: pm->sets.afn(pm, NULL); break; case PM_HASHED: pm->sets.hfn(pm, NULL); break; - default: pm->u.str = NULL; break; + default: + if (!(pm->flags & PM_SPECIAL)) + pm->u.str = NULL; + break; } pm->flags |= PM_UNSET; } |