From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16197 invoked by alias); 12 Aug 2012 18:11:51 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 30603 Received: (qmail 27034 invoked from network); 12 Aug 2012 18:11:40 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS, UNPARSEABLE_RELAY autolearn=ham version=3.3.2 Received-SPF: pass (ns1.primenet.com.au: SPF record at schrab.com designates 209.177.157.228 as permitted sender) From: Aaron Schrab To: zsh-workers@zsh.org Subject: [PATCH 1/2] Fix vi-rev-repeat-find after vi-find-*-char-skip Date: Sun, 12 Aug 2012 14:00:06 -0400 Message-Id: <1344794407-28894-1-git-send-email-aaron@schrab.com> X-Mailer: git-send-email 1.7.10.4 When vi-rev-repeat-find (,) is used to repeat either vi-find-next-char-skip (t) or vi-find-prev-char-skip (T), the direction in which the final cursor location will be adjusted needs to be reversed along with the direction of the search. If this is not done, the reverse find will go past the desired character rather than stopping before it. Examples of behaviour ([] indicates cursor position): Previously: Completion/Un[i]x/Command/_ls t/ Completion/Uni[x]/Command/_ls , Completio[n]/Unix/Command/_ls Completion/Un[i]x/Command/_ls T/ Completion/[U]nix/Command/_ls , Completion/Unix/[C]ommand/_ls Now: Completion/Un[i]x/Command/_ls t/ Completion/Uni[x]/Command/_ls , Completion/[U]nix/Command/_ls Completion/Un[i]x/Command/_ls T/ Completion/[U]nix/Command/_ls , Completion/Uni[x]/Command/_ls --- Src/Zle/zle_move.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Src/Zle/zle_move.c b/Src/Zle/zle_move.c index 0e940bc..284a863 100644 --- a/Src/Zle/zle_move.c +++ b/Src/Zle/zle_move.c @@ -770,9 +770,11 @@ virevrepeatfind(char **args) zmult = -zmult; return ret; } + tailadd = -tailadd; vfinddir = -vfinddir; ret = virepeatfind(args); vfinddir = -vfinddir; + tailadd = -tailadd; return ret; } -- 1.7.10.4