about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2015-01-25 12:27:51 -0800
committerBarton E. Schaefer <schaefer@zsh.org>2015-01-25 13:15:34 -0800
commit2546c86244ec2bb458580a90a0a5e0648220ad9a (patch)
tree2542fed5f69d4a2b8a3f7ce0955aca5170172c2a
parent4688de16772beffc315bbf765475a2932cbd8628 (diff)
downloadzsh-2546c86244ec2bb458580a90a0a5e0648220ad9a.tar.gz
zsh-2546c86244ec2bb458580a90a0a5e0648220ad9a.tar.xz
zsh-2546c86244ec2bb458580a90a0a5e0648220ad9a.zip
34389: fix parsing of ">!" when read from histfile with HIST_LEX_WORDS
-rw-r--r--ChangeLog5
-rw-r--r--Src/hist.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 96268c795..abc381f91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-25  Barton E. Schaefer  <schaefer@zsh.org>
+
+	* 34389: Src/hist.c: fix parsing of ">!" when read from histfile
+	with HIST_LEX_WORDS in effect
+
 2015-01-25  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* 34369: Daniel Shahaf: document error / warning codes.
diff --git a/Src/hist.c b/Src/hist.c
index 303c1dd4a..381c7e2e5 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -3473,7 +3473,8 @@ histsplitwords(char *lineptr, short **wordsp, int *nwordsp, int *nwordposp,
 			if (*lptr == *wptr ||
 			    (*lptr == '!' && *wptr == '|')) {
 			    lptr++;
-			    wptr++;
+			    if (!*++wptr)
+				break;
 			} else if (lptr[0] == '\\' &&
 				   lptr[1] == '\n') {
 			    /*