From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13773 invoked from network); 21 Nov 1998 21:35:29 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 21 Nov 1998 21:35:29 -0000 Received: (from list@localhost) by math.gatech.edu (8.9.1/8.9.1) id QAA12880; Sat, 21 Nov 1998 16:34:49 -0500 (EST) Resent-Date: Sat, 21 Nov 1998 16:34:49 -0500 (EST) From: Phil Pennock Message-Id: <199811212133.VAA00956@athenaeum.demon.co.uk> Subject: zle vi-mode tilde bug? To: zsh-workers@math.gatech.edu (Zsh Development Workers) Date: Sat, 21 Nov 1998 21:33:52 +0000 (GMT) X-Disclaimer-1: Any views expressed in this message, where not explicitly X-Disclaimer-2: attributed otherwise, are mine and mine alone. Such views X-Disclaimer-3: do not necessarily coincide with those of any organisation X-Disclaimer-4: or company with which I am or have been affiliated. X-Phase-of-Moon: The Moon is Waxing Crescent (6% of Full) X-Mailer: ELM [version 2.4ME+ PL37 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"GhNpg1.0.B93.v7pLs"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/4676 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu In many modern vi clones, there is an option 'tildeop', which makes the tilde-key act like a normal operator, taking movement. zsh has something similiar, in that you can do this: bindkey -a '~' vi-oper-swap-case which tries to do the same thing. Unfortunately, it also seems to reset the cursor to the start of the line (first non-blank) afterwards. Looking at Zle/zle_vi.c (vioperswapcase) there is an explicit call to vifirstnonblank() which explains the behaviour, but not the reasoning. Just before that call, cs is reset to a saved value. Am I missing something or is this a bug? It seems ... strange. As though someone's expecting only vertical movements (~j). -- --> Phil Pennock ; GAT d- s+:+ a22 C++(++++) UL++++/I+++/S+++/H+ P++@ L+++ E-@ W(+) N>++ o !K w--- O>+ M V !PS PE Y+ PGP+ t-- 5++ X+ R !tv b++>+++ DI+ D+ G+ e+ h* r y?