about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2000-07-12 10:31:29 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2000-07-12 10:31:29 +0000
commitd861bb98059da21d90b966c6bd24bf60a91fdec8 (patch)
tree416009865da5fa27077c83dba60c8e0b7bfe0c3c /Src
parentcc2213b340690590cdd1f7094cfaaf83a90a7cda (diff)
downloadzsh-d861bb98059da21d90b966c6bd24bf60a91fdec8.tar.gz
zsh-d861bb98059da21d90b966c6bd24bf60a91fdec8.tar.xz
zsh-d861bb98059da21d90b966c6bd24bf60a91fdec8.zip
fix for (z) flag, don't take # as comment (12228)
Diffstat (limited to 'Src')
-rw-r--r--Src/hist.c7
-rw-r--r--Src/lex.c2
2 files changed, 5 insertions, 4 deletions
diff --git a/Src/hist.c b/Src/hist.c
index beecfbe4a..35ab2b1fd 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -2058,15 +2058,15 @@ mod_export LinkList
 bufferwords(LinkList list, char *buf, int *index)
 {
     int num = 0, cur = -1, got = 0, ne = noerrs, ocs = cs;
-    int owb = wb, owe = we, oadx = addedx, ozp = zleparse;
+    int owb = wb, owe = we, oadx = addedx, ozp = zleparse, oexp = expanding;
     char *p;
 
     if (!list)
 	list = newlinklist();
 
-    zleparse = 1;
+    zleparse = 3;
     addedx = 0;
-    noerrs = 1;
+    noerrs = expanding = 1;
     lexsave();
     if (buf) {
 	int l = strlen(buf);
@@ -2133,6 +2133,7 @@ bufferwords(LinkList list, char *buf, int *index)
     inpop();
     errflag = 0;
     zleparse = ozp;
+    expanding = oexp;
     noerrs = ne;
     lexrestore();
     cs = ocs;
diff --git a/Src/lex.c b/Src/lex.c
index 644f8cf2b..5aa63ece5 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -673,7 +673,7 @@ gettok(void)
     /* chars in initial position in word */
 
     if (c == hashchar &&
-	(isset(INTERACTIVECOMMENTS) ||
+	((zleparse != 3 && isset(INTERACTIVECOMMENTS)) ||
 	 (!zleparse && !expanding &&
 	  (!interact || unset(SHINSTDIN) || strin)))) {
 	/* History is handled here to prevent extra  *