summary refs log tree commit diff
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2002-04-16 07:53:13 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2002-04-16 07:53:13 +0000
commite9a2060fe9b6f820df8deb30c2f113a3b7bcb46d (patch)
tree5dd7e9bdf0f57b97f2effa44f3b1356455808dcc
parent61f8a07bfc2348b14a7dc194968fcf62f723f36f (diff)
downloadzsh-e9a2060fe9b6f820df8deb30c2f113a3b7bcb46d.tar.gz
zsh-e9a2060fe9b6f820df8deb30c2f113a3b7bcb46d.tar.xz
zsh-e9a2060fe9b6f820df8deb30c2f113a3b7bcb46d.zip
treat backslashed bangs in double quotes specially in get_comp_string(), they are more like $s there (16990)
-rw-r--r--ChangeLog4
-rw-r--r--Src/Zle/zle_tricky.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index acaf1e095..f2abea2ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2002-04-16  Sven Wischnowsky  <wischnow@zsh.org>
 
+	* 16990: Src/Zle/zle_tricky.c: treat backslashed bangs in
+	double quotes specially in get_comp_string(), they are more
+	like $s there
+
 	* 16988: Completion/Base/Utility/_store_cache,
 	Completion/Debian/Type/_deb_packages,
 	Completion/Redhat/Command/_rpm, Completion/Unix/Command/_cvs,
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 083a0968b..58c7359d5 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -1404,6 +1404,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++)