about summary refs log tree commit diff
path: root/Src/Zle/zle_utils.c
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2014-11-05 22:50:48 +0100
committerOliver Kiddle <opk@zsh.org>2014-11-05 22:50:48 +0100
commitc7ff843ecf60ab74ce98929e45029b1aef5014e1 (patch)
treea8fdeed6b399dd36c055e7030ccad10df1b1528a /Src/Zle/zle_utils.c
parent4b66ec003ff0631e39240576920dda971d555f6d (diff)
downloadzsh-c7ff843ecf60ab74ce98929e45029b1aef5014e1.tar.gz
zsh-c7ff843ecf60ab74ce98929e45029b1aef5014e1.tar.xz
zsh-c7ff843ecf60ab74ce98929e45029b1aef5014e1.zip
33604: fix change merging for vi mode where a change has just been undone
Diffstat (limited to 'Src/Zle/zle_utils.c')
-rw-r--r--Src/Zle/zle_utils.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Src/Zle/zle_utils.c b/Src/Zle/zle_utils.c
index 741f119d2..e95a34b95 100644
--- a/Src/Zle/zle_utils.c
+++ b/Src/Zle/zle_utils.c
@@ -1395,7 +1395,8 @@ static struct change *nextchanges, *endnextchanges;
 
 /* incremented to provide a unique change number */
 
-static zlong undo_changeno;
+/**/
+zlong undo_changeno;
 
 /* If non-zero, the last increment to undo_changeno was for the variable */
 
@@ -1668,8 +1669,7 @@ splitundo(char **args)
 {
     if (vistartchange >= 0) {
 	mergeundo();
-	vistartchange = (curchange && curchange->prev) ?
-	    curchange->prev->changeno : 0;
+	vistartchange = undo_changeno;
     }
     handleundo();
     return 0;