diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2001-05-19 23:47:58 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2001-05-19 23:47:58 +0000 |
commit | 6ea2dab092feb373c13a4dda85bc0d399978975a (patch) | |
tree | ecfe95f3bb44e53849d3519f81b95ecaa80b13fc /Src/params.c | |
parent | fbe51d3ee974988aa1f2ffcba748918b1845fb65 (diff) | |
download | zsh-6ea2dab092feb373c13a4dda85bc0d399978975a.tar.gz zsh-6ea2dab092feb373c13a4dda85bc0d399978975a.tar.xz zsh-6ea2dab092feb373c13a4dda85bc0d399978975a.zip |
Fix, test and comment unsetting and resetting of special tied parameters
Diffstat (limited to 'Src/params.c')
-rw-r--r-- | Src/params.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/params.c b/Src/params.c index 28a8f1e85..63e1dc75c 100644 --- a/Src/params.c +++ b/Src/params.c @@ -669,6 +669,12 @@ createparam(char *name, int flags) if (oldpm && (oldpm->level == locallevel || !(flags & PM_LOCAL))) { if (!(oldpm->flags & PM_UNSET) || (oldpm->flags & PM_SPECIAL)) { oldpm->flags &= ~PM_UNSET; + if ((oldpm->flags & PM_SPECIAL) && oldpm->ename) { + Param altpm = + (Param) paramtab->getnode(paramtab, oldpm->ename); + if (altpm) + altpm->flags &= ~PM_UNSET; + } return NULL; } if ((oldpm->flags & PM_RESTRICTED) && isset(RESTRICTED)) { |