about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-08-30 08:37:50 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-08-30 08:37:50 +0000
commite55cf16d1232b54efb80a7861c28cf094eaeedff (patch)
tree3f43c39088708c2ceb2184e8927df0ecaeefbed0
parent0b826cc4e146a2b2b518f23818613a5472a77ccd (diff)
downloadzsh-e55cf16d1232b54efb80a7861c28cf094eaeedff.tar.gz
zsh-e55cf16d1232b54efb80a7861c28cf094eaeedff.tar.xz
zsh-e55cf16d1232b54efb80a7861c28cf094eaeedff.zip
zsh-workers/7532
-rw-r--r--Src/Zle/zle_tricky.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index c28ea04aa..3a500e5b1 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -1592,7 +1592,7 @@ get_comp_string(void)
 		else if (*p == Snull)
 		    *p = '\'';
 	}
-	if (*s == Snull || *s == Dnull) {
+	if ((*s == Snull || *s == Dnull) && !has_token(s + 1)) {
 	    char *q = (*s == Snull ? "'" : "\""), *n = tricat(qipre, q, "");
 	    int sl = strlen(s);
 
@@ -2299,7 +2299,7 @@ match_str(char *l, char *w, int *bp, int *rwlp, int sfx, int test)
 		t = 1;
 		if ((lm && lm == mp) ||
 		    ((oll == ll || olw == lw) &&
-		     (test == 1 || (!mp->left && !mp->right)) &&
+		     (test == 1 || (test && !mp->left && !mp->right)) &&
 		     mp->wlen < 0))
 		    /* If we were called recursively, don't use `*' patterns
 		     * at the beginning (avoiding infinite recursion). */