about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--Src/loop.c2
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 8bb3c525f..ff1c9435b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-06-17  Bart Schaefer  <schaefer@zsh.org>
+
+	* 11956: Src/loop.c: Fix off-by-one error in wordcode pc executing
+	case statement fall-through.
+
 2000-06-16  Clint Adams  <schizo@debian.org>
 
 	* 11951: Completion/Debian/_dpkg: replaced _arguments -A
@@ -5,9 +10,10 @@
 
 2000-06-16  Sven Wischnowsky  <wischnow@zsh.org>
 
-	* 11939: Src/Zle/compmatch.c, Src/Zle/compresult.c, Src/Zle/zle_tricky.c:
- 	allow completion after `a{{b,c},'; fix for closing brace
- 	re-insertion when completing from both ends (CLF_MID)
+	* 11939: Src/Zle/compmatch.c, Src/Zle/compresult.c,
+	Src/Zle/zle_tricky.c: allow completion after `a{{b,c},'; fix for
+	closing brace re-insertion when completing from both ends
+	(CLF_MID)
 	
 	* 11938: Completion/Core/_description, Doc/Zsh/compsys.yo: enhance
  	ignore-line to ignore all/current/other word(s)
diff --git a/Src/loop.c b/Src/loop.c
index 591007b17..84ac39e9a 100644
--- a/Src/loop.c
+++ b/Src/loop.c
@@ -567,7 +567,7 @@ execcase(Estate state, int do_exec)
 		state->pc = next;
 		code = *state->pc;
 		state->pc += 3;
-		next = state->pc + WC_CASE_SKIP(code) - 1;
+		next = state->pc + WC_CASE_SKIP(code) - 2;
 		execlist(state, 1, ((WC_CASE_TYPE(code) == WC_CASE_OR) &&
 				    do_exec));
 	    }