about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2002-04-16 14:50:30 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2002-04-16 14:50:30 +0000
commita7cb54e7bb304a478cbef6e95bc5dee04b7aa9f1 (patch)
tree50c2fd63caa47995c6d11d351515b12023df46b9 /Src/Zle
parent0dadc69ad9a8a4ced8f331c0b784f3f8bc5ae07d (diff)
downloadzsh-a7cb54e7bb304a478cbef6e95bc5dee04b7aa9f1.tar.gz
zsh-a7cb54e7bb304a478cbef6e95bc5dee04b7aa9f1.tar.xz
zsh-a7cb54e7bb304a478cbef6e95bc5dee04b7aa9f1.zip
16990: treat backslashed bangs in double quotes specially in get_comp_string(), they are more like $s there
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/zle_tricky.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index e6b8cfff7..c98c8b526 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -1380,6 +1380,12 @@ get_comp_string(void)
 	    qisuf = n;
 	}
 	autoq = ztrdup(q);
+
+        if (instring == 2) {
+            for (q = s; *q; q++)
+                if (*q == '\\' && q[1] == '!')
+                    *q = Bnull;
+        }
     }
     /* While building the quoted form, we also clean up the command line. */
     for (p = s, tt = qword, i = wb, j = 0; *p; p++, tt++, i++)