summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/hist.c7
-rw-r--r--Src/lex.c2
3 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 0f438af11..41619f3b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-12  Sven Wischnowsky  <wischnow@zsh.org>
+
+	* 12228: Src/hist.c, Src/lex.c: fix for (z) flag, don't take # as
+ 	comment
+	
 2000-07-12  Peter Stephenson  <pws@cambridgesiliconradio.com>
 
 	* 12227: Completion/Core/compinstall: add select-prompt handling
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  *