diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/Zle/computil.c | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 2403cec48..a96996ad3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,9 @@ 2000-04-17 Sven Wischnowsky <wischnow@informatik.hu-berlin.de> + * 10782: Src/Zle/computil.c: fix for exclusion lists for -+o + specifications + * 10780: Completion/Base/_default, Completion/Base/_value, Completion/Builtins/_vars_eq, Completion/Builtins/_zstyle, Doc/Zsh/compsys.yo: better completion after `=', everywhere diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index 129119799..709e8f1ab 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -623,7 +623,7 @@ parse_cadef(char *nam, char **args) * stuff twice for such things. */ name = ++p; *p = (again ? '-' : '+'); - again = 1 - again; + again++; } else { name = p; /* If it's a long option skip over the first `-'. */ @@ -767,7 +767,7 @@ parse_cadef(char *nam, char **args) opt->descr = NULL; } else opt->descr = NULL; - opt->xor = xor; + opt->xor = (again == 1 ? zarrdup(xor) : xor); opt->type = otype; opt->args = oargs; opt->num = nopts++; @@ -783,7 +783,7 @@ parse_cadef(char *nam, char **args) if (single && name[1] && !name[2]) ret->single[STOUC(name[1])] = opt; - if (again) { + if (again == 1) { /* Do it all again for `*-...'. */ p = dupstring(*args); goto rec; |