diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/Zle/compcore.c | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index d435533dd..bdca139e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2002-05-21 Sven Wischnowsky <wischnow@zsh.org> + * 17192: Src/Zle/compcore.c: fix for completion in nested + quotes where the sub-word ends in a backslash + * 17191: Completion/Base/Utility/_arguments, Completion/Unix/Command/_rsync: fix removal of automatically added specs (from the -- option) for which a user-defined one diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c index f618bfd31..851ef0ef5 100644 --- a/Src/Zle/compcore.c +++ b/Src/Zle/compcore.c @@ -1428,8 +1428,8 @@ set_comp_sep(void) for (p = ns, i = swb; *p; p++, i++) { if (INULL(*p)) { if (i < scs) { - if (*p == Bnull && p[1]) { - if (remq) + if (*p == Bnull) { + if (p[1] && remq) swb -= 2; if (odq) { swb--; @@ -1526,6 +1526,10 @@ set_comp_sep(void) untokenize(ss); compsuffix = ztrdup(ss); } + if ((i = strlen(compprefix)) && + compprefix[i - 1] == '\\' && compprefix[i - 2] != '\\') + compprefix[i - 1] = '\0'; + tmp = tricat(compqiprefix, compiprefix, multiquote(qp, 1)); zsfree(compqiprefix); compqiprefix = tmp; |