diff options
Diffstat (limited to 'Src')
-rw-r--r-- | Src/Zle/comp.h | 2 | ||||
-rw-r--r-- | Src/Zle/compctl.h | 2 | ||||
-rw-r--r-- | Src/builtin.c | 2 | ||||
-rw-r--r-- | Src/module.c | 16 |
4 files changed, 14 insertions, 8 deletions
diff --git a/Src/Zle/comp.h b/Src/Zle/comp.h index 6097f256c..59701608e 100644 --- a/Src/Zle/comp.h +++ b/Src/Zle/comp.h @@ -1,5 +1,5 @@ /* - * complete.h - header file for completion + * comp.h - header file for completion * * This file is part of zsh, the Z shell. * diff --git a/Src/Zle/compctl.h b/Src/Zle/compctl.h index 9a8ba5692..4dbc4862e 100644 --- a/Src/Zle/compctl.h +++ b/Src/Zle/compctl.h @@ -1,5 +1,5 @@ /* - * comp.h - header file for completion + * compctl.h - header file for completion * * This file is part of zsh, the Z shell. * diff --git a/Src/builtin.c b/Src/builtin.c index 3df653dcc..6f9b1dd57 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -127,7 +127,7 @@ static struct builtin builtins[] = #ifdef DYNAMIC BUILTIN("zmodload", 0, bin_zmodload, 0, -1, 0, "ILabcfdipue", NULL), #else - BUILTIN("zmodload", 0, bin_zmodload, 0, -1, 0, "e", NULL), + BUILTIN("zmodload", 0, bin_zmodload, 0, -1, 0, "ei", NULL), #endif }; diff --git a/Src/module.c b/Src/module.c index e620073ce..9be11f195 100644 --- a/Src/module.c +++ b/Src/module.c @@ -1251,9 +1251,9 @@ bin_zmodload_load(char *nam, char **args, char *ops) int bin_zmodload(char *nam, char **args, char *ops, int func) { - /* We understand only the -e option. */ + /* We understand only the -e option (and ignore -i). */ - if (ops['e']) { + if (ops['e'] || *args) { LinkNode node; if (!*args) { @@ -1261,13 +1261,19 @@ bin_zmodload(char *nam, char **args, char *ops, int func) nicezputs((char *) getdata(node), stdout); putchar('\n'); } - return 0; } else { - for (; *args; args++) + for (; *args; args++) { for (node = firstnode(bltinmodules); node; incnode(node)) if (!strcmp(*args, (char *) getdata(node))) - return 0; + break; + if (!node) { + if (!ops['e']) + zerrnam(nam, "cannot load module: `%s'", *args, 0); + return 1; + } + } } + return 0; } /* Otherwise we return 1 -- different from the dynamic version. */ return 1; |