diff options
author | Barton E. Schaefer <schaefer@zsh.org> | 2015-11-08 12:44:31 -0800 |
---|---|---|
committer | Barton E. Schaefer <schaefer@zsh.org> | 2015-11-08 12:44:31 -0800 |
commit | 30b90f166ef0ca0883985461d498c066e4f723da (patch) | |
tree | f495e122d814d9216d8cf49985240a5a7b685f34 /Src/builtin.c | |
parent | 7277cc1bedaa335b96ce609b4390618358198c32 (diff) | |
download | zsh-30b90f166ef0ca0883985461d498c066e4f723da.tar.gz zsh-30b90f166ef0ca0883985461d498c066e4f723da.tar.xz zsh-30b90f166ef0ca0883985461d498c066e4f723da.zip |
37080: use paramtab abstraction more consistently, add explanatory comments
Diffstat (limited to 'Src/builtin.c')
-rw-r--r-- | Src/builtin.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Src/builtin.c b/Src/builtin.c index 0be20a5d2..18dfdce05 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -2334,7 +2334,8 @@ typeset_single(char *cname, char *pname, Param pm, UNUSED(int func), } else if ((on & PM_LOCAL) && locallevel) { *subscript = 0; pm = (Param) (paramtab == realparamtab ? - gethashnode2(paramtab, pname) : + /* getnode2() to avoid autoloading */ + paramtab->getnode2(paramtab, pname) : paramtab->getnode(paramtab, pname)); *subscript = '['; if (!pm || pm->level != locallevel) { @@ -2825,11 +2826,12 @@ bin_typeset(char *name, char **argv, LinkList assigns, Options ops, int func) /* Take arguments literally. Don't glob */ while ((asg = getasg(&argv, assigns))) { HashNode hn = (paramtab == realparamtab ? - gethashnode2(paramtab, asg->name) : + /* getnode2() to avoid autoloading */ + paramtab->getnode2(paramtab, asg->name) : paramtab->getnode(paramtab, asg->name)); if (OPT_ISSET(ops,'p')) { if (hn) - printparamnode(hn, printflags); + paramtab->printnode(hn, printflags); else { zwarnnam(name, "no such variable: %s", asg->name); returnval = 1; @@ -3319,7 +3321,8 @@ bin_unset(char *name, char **argv, Options ops, int func) *ss = 0; } pm = (Param) (paramtab == realparamtab ? - gethashnode2(paramtab, s) : + /* getnode2() to avoid autoloading */ + paramtab->getnode2(paramtab, s) : paramtab->getnode(paramtab, s)); /* * Unsetting an unset variable is not an error. |