diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Src/params.c | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index d4a2d5cc7..622ad7767 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2000-06-28 Bart Schaefer <schaefer@zsh.org> + + * 12112: Src/params.c: Don't make namedirs out of hash elements. + 2000-06-28 Sven Wischnowsky <wischnow@zsh.org> * 12109: Completion/Core/_complete: make _complete return the diff --git a/Src/params.c b/Src/params.c index 2768c273d..e7f5011d1 100644 --- a/Src/params.c +++ b/Src/params.c @@ -2020,6 +2020,7 @@ unsetparam_pm(Param pm, int altflag, int exp) oldpm = pm->old; paramtab->addnode(paramtab, oldpm->nam, oldpm); if ((PM_TYPE(oldpm->flags) == PM_SCALAR) && + !(pm->flags & PM_HASHELEM) && oldpm->sets.cfn == strsetfn) adduserdir(oldpm->nam, oldpm->u.str, 0, 0); if (oldpm->flags & PM_EXPORTED) { @@ -2104,7 +2105,8 @@ strsetfn(Param pm, char *x) { zsfree(pm->u.str); pm->u.str = x; - adduserdir(pm->nam, x, 0, 0); + if (!(pm->flags & PM_HASHELEM)) + adduserdir(pm->nam, x, 0, 0); } /* Function to get value of an array parameter */ |