From fcca6c721cde7780c91912aba0afbd44bd1818d5 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Mon, 17 Apr 2000 08:53:37 +0000 Subject: fix for exclusion lists for -+o specifications --- ChangeLog | 3 +++ 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 + * 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; -- cgit 1.4.1