From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lennart Borgman Newsgroups: gmane.emacs.devel Subject: Re: arrow keys vs. C-f/b/n/p Date: Sat, 12 Jun 2010 22:07:36 +0200 Message-ID: References: <87d3w2ncqs.fsf_-_@lola.goethe.zz> <87iq5py7xk.fsf@stupidchicken.com> <83fx0slhxn.fsf@gnu.org> <83pqzwjkn9.fsf@gnu.org> <83mxv0je2b.fsf@gnu.org> <83fx0sjaab.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1276373288 2721 80.91.229.12 (12 Jun 2010 20:08:08 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 12 Jun 2010 20:08:08 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 12 22:08:07 2010 connect(): No such file or directory Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ONWzu-0002eo-Gd for ged-emacs-devel@m.gmane.org; Sat, 12 Jun 2010 22:08:06 +0200 Original-Received: from localhost ([127.0.0.1]:58337 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ONWzt-00077x-3F for ged-emacs-devel@m.gmane.org; Sat, 12 Jun 2010 16:08:05 -0400 Original-Received: from [140.186.70.92] (port=37946 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ONWzm-00077o-Lz for emacs-devel@gnu.org; Sat, 12 Jun 2010 16:07:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1ONWzl-0000lb-GE for emacs-devel@gnu.org; Sat, 12 Jun 2010 16:07:58 -0400 Original-Received: from mail-gy0-f169.google.com ([209.85.160.169]:54026) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1ONWzl-0000lR-D6; Sat, 12 Jun 2010 16:07:57 -0400 Original-Received: by gyg4 with SMTP id 4so1949311gyg.0 for ; Sat, 12 Jun 2010 13:07:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=JZbNAmOZP4RPVit2UqR8kUbdsXq4jek5JSBqHhls5ss=; b=RIMzLjEQj0IVmy4THrI6LYRP0GTxSXAzsRp8/cmxtM83Yf0yEwNJoMBAPl4IzgPNJe sIDN9Z36WkoEr8IwWFpwMc4MgKaHGb0V3OD02G+aA+vk5evda6l5Ng8NNp3sUMT3eMSz eUOXmOvM/XSJ+wOswmRXnKrE9UfTPG8Vio0b4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=Bjb6RrbDwxfvrbyQpilElifkYW0IEgpz+WxmrkFKw7ppRI+spN62DegH4rGXDk18gn q/aeMr4oBTUKKfKq8mKEWoJPJ6PFWe7FLYZN3VIygf3t/bnnR4qNq66Crjbagbhpvdpi olR6i3Jl5WToZCrIrYY418TSwnGOpbNJYvwJA= Original-Received: by 10.101.132.14 with SMTP id j14mr3045223ann.143.1276373276566; Sat, 12 Jun 2010 13:07:56 -0700 (PDT) Original-Received: by 10.100.154.15 with HTTP; Sat, 12 Jun 2010 13:07:36 -0700 (PDT) In-Reply-To: <83fx0sjaab.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:125846 Archived-At: On Sat, Jun 12, 2010 at 9:55 PM, Eli Zaretskii wrote: >> From: Lennart Borgman >> Date: Sat, 12 Jun 2010 20:58:18 +0200 >> Cc: emacs-devel@gnu.org >> >> > For users of R2L scripts, what you suggest is a disaster. =C2=A0If cur= sor >> > motion is visual by default, one cannot even mark text by holding >> > Shift and moving point with the arrow keys. >> >> >> I see no reason for this. The arrow keys will with visual motion move >> just as they do if all the text where just L2R. So the visual part >> will work as before (on the user side, implementation may have to >> change). > > It's not just an implementation issue. =C2=A0Here's an example. =C2=A0A t= ext in > the buffer is > > =C2=A0abcde ABCDE xyz > > It will be displayed as > > =C2=A0abcde EDCBA xyz > > Now, suppose I move cursor in visual order, as you suggest, holding > the Shift key, starting at the first character `a' and ending at `C'. > The underline below shows which characters I traversed: > > =C2=A0abcde EDCBA xyz > =C2=A0--------- > > Now, what characters do you think should be displayed with the region > face? As I said in another message it would be "abcde CBA", i.e. exactly the visual region that you now get when moving with the arrow keys so that you get to C. It has nothing to do with HOW you moved to C. > Now I type "M-w". =C2=A0What text will that copy to the kill ring? See above. >> Converting the visual region you visually see on the screen to a >> logical range is a bit difficult, but not impossible. > > It's impossible. =C2=A0There's no general algorithm to reverse the > logical-to-visual reordering of text, i.e. produce the original > logical-order text from its visual-order replica on the screen. =C2=A0Onl= y > relatively simple cases, without embeddings that push the > bidirectional level beyond 2 or 3 (UAX#9 allows up to 60 levels) can > be reversed. You mean bidirectional in bidirectional in bidirectional ...? Yes, you are right. It would be impossible to find a continuous range for t= hat. But this still has nothing to do with the visual movement of the arrow keys= .