summaryrefslogtreecommitdiff
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 *