From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: `C-b' is backward-char, `left' is left-char - why? Date: Thu, 02 Jun 2011 07:12:54 -0400 Message-ID: References: <6F4054004B154CFB8E2753172D316C13@us.oracle.com> <4DE4F8D0.7010800@lanl.gov> <82y61l16bg.fsf@gmail.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1307013203 3165 80.91.229.12 (2 Jun 2011 11:13:23 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 2 Jun 2011 11:13:23 +0000 (UTC) Cc: emacs-devel@gnu.org To: Andy Moreton Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 02 13:13:18 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QS5q1-0002Xy-Rh for ged-emacs-devel@m.gmane.org; Thu, 02 Jun 2011 13:13:17 +0200 Original-Received: from localhost ([::1]:52484 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QS5q0-0008El-G8 for ged-emacs-devel@m.gmane.org; Thu, 02 Jun 2011 07:13:16 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:49245) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QS5pg-0008EB-Ly for emacs-devel@gnu.org; Thu, 02 Jun 2011 07:12:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QS5pe-0000xy-SU for emacs-devel@gnu.org; Thu, 02 Jun 2011 07:12:56 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]:37730) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QS5pe-0000xg-Hm for emacs-devel@gnu.org; Thu, 02 Jun 2011 07:12:54 -0400 Original-Received: from eliz by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1QS5pe-0000ct-1y; Thu, 02 Jun 2011 07:12:54 -0400 In-reply-to: (message from Andy Moreton on Thu, 02 Jun 2011 11:38:12 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.10 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:140056 Archived-At: > From: Andy Moreton > Date: Thu, 02 Jun 2011 11:38:12 +0100 > > On Thu 02 Jun 2011, Eli Zaretskii wrote: > > >> From: Andy Moreton > >> Date: Thu, 02 Jun 2011 00:26:59 +0100 > > > >> - forward-char moves forward one character in the buffer, which in > >> right-to-left text moves backward one position on the screen. > > > > Not "backward", but to the left. "Forward" and "backward" are not > > well-defined on the screen in bidirectional context. For someone who > > reads the bidirectional text, C-f always moves forward, i.e. in the > > reading direction, the direction in which we scan characters while > > reading the text. > > Explaining motion in terms of buffer position (forward and backward), > reading direction (l2r/r2l) and screen position (left and right) may > help to disambiguate things as long as those terms are used consistently > and explained broefly in the doc string. Yes. We are in agreement. > So for forward-char, movement of point is always N characters forward in > the buffer. The effect on the screen position must be considered as a > sequence of single character movements in the buffer, each of which may > move the screen position left or right (depending on the bidirectional > context). > > Is that more accurate ? Yes, this is accurate, though vague (because "bidirectional context" is something left undefined). Maybe the following variant of the 2nd sentence sounds better: The effect on the screen is to place the cursor on the character N buffer positions forward, which could be to the left or to the right, depending on the bidirectional context. That's because Emacs doesn't really move point one character at a time (when N is more than 1).