diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-05-15 09:54:46 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-05-15 09:54:46 +0000 |
commit | db95186da5a7d0057fa69cfb9393210751ab2cb2 (patch) | |
tree | 07d1e4fdf43fe3dd950246f135bcfc109ee8c969 /Src/Zle | |
parent | 6d4bdb661daf0b677270ba4193fd22a99745851e (diff) | |
download | zsh-db95186da5a7d0057fa69cfb9393210751ab2cb2.tar.gz zsh-db95186da5a7d0057fa69cfb9393210751ab2cb2.tar.xz zsh-db95186da5a7d0057fa69cfb9393210751ab2cb2.zip |
fix for completion of string with single quote (11365)
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/zle_tricky.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c index 8accf52fb..f516fe211 100644 --- a/Src/Zle/zle_tricky.c +++ b/Src/Zle/zle_tricky.c @@ -1326,10 +1326,12 @@ get_comp_string(void) autoq = ztrdup(q); } /* While building the quoted form, we also clean up the command line. */ - for (p = s, tt = qword, i = wb; *p; p++, tt++, i++) + for (p = s, tt = qword, i = wb, j = 0; *p; p++, tt++, i++) if (INULL(*p)) { if (i < cs) offs--; + if (*p == Snull && isset(RCQUOTES)) + j = 1-j; if (p[1] || *p != Bnull) { if (*p == Bnull) { *tt = '\\'; @@ -1356,7 +1358,8 @@ get_comp_string(void) we--; } chuck(p--); - } + } else if (j && *p == '\'' && i < cs) + offs--; zsfree(origword); origword = ztrdup(s); |