From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16112 invoked from network); 21 Apr 2008 16:11:07 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.2.4 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 21 Apr 2008 16:11:07 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 40581 invoked from network); 21 Apr 2008 16:11:02 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 21 Apr 2008 16:11:02 -0000 Received: (qmail 12192 invoked by alias); 21 Apr 2008 16:10:58 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 24858 Received: (qmail 12169 invoked from network); 21 Apr 2008 16:10:57 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 21 Apr 2008 16:10:57 -0000 Received: from rcpt-expgw.biglobe.ne.jp (rcpt-expgw.biglobe.ne.jp [133.205.19.67]) by bifrost.dotsrc.org (Postfix) with ESMTP id 3E5C4808A37A for ; Mon, 21 Apr 2008 18:10:43 +0200 (CEST) Received: from smtp-gw.biglobe.ne.jp by rcpt-expgw.biglobe.ne.jp (kbkr/0208160408) with ESMTP id m3LGAfjs003922 for ; Tue, 22 Apr 2008 01:10:41 +0900 X-Biglobe-Sender: Received: from [192.168.0.3] (60.238.70.56 [60.238.70.56]) by smtp-gw.biglobe.ne.jp id BGXHAC15AFDC; Tue, 22 Apr 2008 01:10:41 +0900 (JST) Message-Id: From: "Jun T." To: zsh-workers@sunsite.dk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v919.2) Subject: vi-backward-kill-word Date: Tue, 22 Apr 2008 01:10:40 +0900 X-Mailer: Apple Mail (2.919.2) X-Virus-Scanned: ClamAV 0.91.2/6865/Mon Apr 21 17:43:29 2008 on bifrost X-Virus-Status: Clean Since you wrote in your first post: >Known gaps at the moment: >- Word tests need improving (a whole smattering HEREs) >- Vi "r" needs some work (another HERE) I guess you already know that vi "r" and "R" do not work properly on combined character(s). Another minor problem is, when in vi-insert mode, ^W (vi-backward-kill-word) kills wrong part of the line if the word to be killed contains combined character. zsh -f bindkey -v echo =C3=A9<^W> ech=C3=B3 (Here =C3=A9 is in decomposed form: e + U+0301). The word "=C3=A9" must be killed, but what is actually killed is " e" (a space and "e"), leaving the combining character. It *seems* it can be fixed by replacing the line 44 of zle_word.c backkill(zlecs - x, CUT_FRONT); by backkill(zlecs - x, CUT_FRONT|CUT_RAW); In the present case, the comgining character(s) are already taken accout of by vibackwardkillword(), and 'zlecs - x' is the number of wchar_t to be killed. So I *guess* CUT_RAW should be used here. Am I right? # I guess you are busy working on many problems. # I fear I'm disturbing you...=