emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: `C-b' is backward-char, `left' is left-char - why?


From: Eli Zaretskii
Subject: Re: `C-b' is backward-char, `left' is left-char - why?
Date: Thu, 02 Jun 2011 07:12:54 -0400

> From: Andy Moreton <address@hidden>
> Date: Thu, 02 Jun 2011 11:38:12 +0100
> 
> On Thu 02 Jun 2011, Eli Zaretskii wrote:
> 
> >> From: Andy Moreton <address@hidden>
> >> 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).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]