From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1082 invoked from network); 5 Oct 2000 08:18:23 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 5 Oct 2000 08:18:23 -0000 Received: (qmail 11330 invoked by alias); 5 Oct 2000 08:18:15 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12894 Received: (qmail 11323 invoked from network); 5 Oct 2000 08:18:15 -0000 Date: Thu, 5 Oct 2000 10:18:13 +0200 (MET DST) Message-Id: <200010050818.KAA12655@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: "Bart Schaefer"'s message of Sat, 9 Sep 2000 20:14:15 +0000 Subject: Re: ZLE and handling of MARK Bart Schaefer wrote: > If one sets the mark in zle and then delete characters to the left of it > by assigning to a slice of $BUFFER in a user-defined widget, the mark > remains in the same numeric position rather than the same logical position. > > If instead one deletes characters by using the builtin widgets, the mark > stays in the same logical position (its numeric position changes as the > line gets shorter). The two cases should be consistent, no? Yes, but how? The only `secure' change I can see is to update the position of the mark if it is in $RBUFFER and only $LBUFFER is changed. Otherwise we would need some, probably complicated, code to check how $(|L|R)BUFFER was changed (ok, for deletion/insertion of characters or short strings from/to the end/beginning of L/RBUFFER this seems doable). > One other observation: > > If one sets the mark and then moves around in the history, the mark stays > at the same numeric position in each recalled line, moving only if a line > is too short for it to stay in that position AND some reference to the mark > is made (such as invoking exchange-point-and-mark). I'm not sure whether > such behavior makes sense or not ... and if it changes, some functions in > Functions/Zle will have to change, too. It's a bit like emacs' line-movement, isn't it? (I always thought the mark should be either attached to a history line so that exchange-p-a-m would toggle between lines, or it should be per-line. Maybe.) Bye Sven -- Sven Wischnowsky wischnow@informatik.hu-berlin.de