emacs-devel
[Top][All Lists]
Advanced

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

Re: arrow keys vs. C-f/b/n/p


From: Eli Zaretskii
Subject: Re: arrow keys vs. C-f/b/n/p
Date: Sat, 12 Jun 2010 21:49:21 +0300

> From: "Drew Adams" <address@hidden>
> Date: Sat, 12 Jun 2010 10:12:04 -0700
> Cc: address@hidden
> 
> But I think you should also make it clear (clearer) that this "logical" order
> corresponds to buffer position

I did:

       Emacs stores right-to-left and bidirectional text in the so-called
    "logical" (or "reading") order: the buffer or string position of the
    first character you read precedes that of the next character.

> In fact, you might drop "logical" altogether - the word itself doesn't really
> help here.

This term is widely used in literature about editing bidirectional
text.

> And changing "character position" to "buffer position" would help.

See above: the text does talk about buffer positions.

> What I got from your mail yesterday, which I think is clear there, is that (a)
> the buffer text stays put, regardless of how it might be displayed (I already
> supposed that), and (b) cursor movement always follows buffer order: forward
> means toward eob; backward means toward bob.
> 
> It is (b) that is not so clear from the doc. That notion of "logical" movement
> (movement along the buffer-position gradient) is important to understand. 

The manual does touch on that:

       Because characters are reordered for display, Emacs commands that
    operate in the logical order or on stretches of buffer positions may
    produce unusual effects.  For example, `C-f' and `C-b' commands move
    point in the logical order, so the cursor will sometimes jump when
    point traverses reordered bidirectional text.  Similarly, a highlighted
    region covering a contiguous range of character positions may look
    discontinuous if the region spans reordered text.  This is normal and
    similar to behavior of other programs that support bidirectional text.

> Admittedly, it can be tricky to talk about these things. But I found your mail
> yesterday to be clearer than the current doc. In the doc you say things like
> "the buffer is reordered for display", which is correct but which could also 
> be
> misunderstood. The chars are not reordered in the buffer - the buffer itself 
> is
> not reordered. It is just that the displayed order differs from the buffer 
> order
> (which does not change).

I see no "buffer is reordered" in the manual.  I see these instead:

    Reordering of bidirectional text into the "visual" order happens at
    display time.

    [...]

       The buffer-local variable `bidi-display-reordering' controls whether
    text in the buffer is reordered for display.

    [...]

       Because characters are reordered for display,

> BTW, maybe the node should be called Bidirectional Text (or Editing
> Bidirectional Text) instead of Bidirectional Editing. We've all been doing
> bidirectional (multidirectional) editing forever.

I will rename the section, thanks.



reply via email to

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