From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3109 invoked by alias); 9 May 2011 22:13:34 -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: 29208 Received: (qmail 23854 invoked from network); 9 May 2011 22:13:33 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.220.171 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=vJahJku7qCyx29BnuXL1Op7TQjQNPgKmum7uljkkm98=; b=Mz3aGOQVB+L/10RBqxsD56kExplG25DEIYOQTzWDVrvFTxhF1+CLQ9f7mx8t8ro06O M8OJgfOpgrCVMlzQmv8GLlstRATmkCNbMYXmDx7cUbSf4Jsu9XGQOgequzqD+e7bSt12 Y27xgWHjU7BpkhbhDXyO16fe8WnIOkLUfk0lo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=BEVbZq1Ybrff/NoKJntzzv5hByPm+yNdZWbnMBY/xrzo1vSOJJK172MBocKtGBmfmX 2zD5luAuAWR1lInHzpNi/Qznx9DU1/xn1RbHHFcuGZ4mg1+CujPnDh0nCCHFB0FAXd1M tbipHuocSR5Yo6AcoTbfn6ooRhaQDkhKsuPsU= MIME-Version: 1.0 Date: Tue, 10 May 2011 00:13:30 +0200 Message-ID: Subject: PATCH: make vimatchbracket more useful in emacs mode From: Mikael Magnusson To: zsh workers Content-Type: text/plain; charset=UTF-8 When typing stuff in vi mode, then pressing esc%, vimatchbracket works because the cursor jumps back a step, but in emacs mode it stays "after" the character and nothing happens when you press ^X^B unless you go left first, which is annoying. I don't think this will break anything? --- a/Src/Zle/zle_move.c +++ b/Src/Zle/zle_move.c @@ -536,6 +536,9 @@ vimatchbracket(UNUSED(char **args)) int ocs = zlecs, dir, ct; unsigned char oth, me; + if ((zlecs == zlell || zleline[zlecs] == '\n') && zlecs > 0) + DECCS(); + otog: if (zlecs == zlell || zleline[zlecs] == '\n') { zlecs = ocs; -- Mikael Magnusson