all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: "'Eli Zaretskii'" <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: RE: arrow keys vs. C-f/b/n/p
Date: Sat, 12 Jun 2010 12:19:05 -0700	[thread overview]
Message-ID: <B75ECEA0BA1D4DBB95F3CC2C7647CA8B@us.oracle.com> (raw)
In-Reply-To: <83k4q4jdce.fsf@gnu.org>

> > 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.

Good.  My point was to make clear also the behavior of movement (e.g. typical
`forward-*' commands), not just the order of storage.  Forward movement follows
the storage order (typically).  That's worth saying.

> > 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.

I see.  Then keep it, for readers familiar with that literature.  For those who
might not be familiar, "reading" order is perhaps the most helpful.  And it
helps to point out that this is the same as the buffer (storage) order that you
mentioned.

> > And changing "character position" to "buffer position" would help.
> 
> See above: the text does talk about buffer positions.

That text is not a problem.  I was referring to a passage where you spoke of
"character position" or character order.  That's less clear: character position
wrt what?  Answer: position in the buffer; position in reading order.

> > 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.

Yes, I read that.  It's fine as far as it goes, but it stresses clearing up some
particular behavior (gotcha) that users might find confusing.  It mentions `C-f'
as a particular _example_, to illustrate the point.  But I'm not sure the
general point is communicated as such - it might be lost in the detailed
description of the gotcha.

This is not only about some particular commands that might happen to move point
in the logical order.  The important point that I think isn't brought out enough
is that one's existing notion of "forward" movement, and the typical `forward-*'
commands that one is used to, all act the same as does that `C-f' example.  They
act the same as they always have: forward typically means (continues to mean)
_toward eob_, even in a bidi setting.  That's not obvious.

> > 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.

Hm.  That was a direct quote, from GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
of 2010-06-07 on 3249CTO. Emacs manual, node Bidirectional Editing:

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

Yes, I admitted I was splitting hairs.  Do as you like with the feedback.  You
are welcome to ignore it.

> I see these instead:
...
>        The buffer-local variable `bidi-display-reordering' 
>     controls whether text in the buffer is reordered for display.

So you do `see "buffer is reordered" in the manual', after all. ;-)

> > 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.

Thanks for your patience.




  reply	other threads:[~2010-06-12 19:19 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-07  1:05 Performance Stefan Monnier
2010-06-07 13:35 ` Performance Eli Zaretskii
2010-06-07 14:22   ` arrow keys vs. C-f/b/n/p (was: Performance) David Kastrup
2010-06-07 14:39     ` Eli Zaretskii
2010-06-07 15:01       ` arrow keys vs. C-f/b/n/p David Kastrup
2010-06-07 23:00         ` Eli Zaretskii
2010-06-07 15:34       ` arrow keys vs. C-f/b/n/p (was: Performance) Uday S Reddy
2010-06-11 14:12       ` arrow keys vs. C-f/b/n/p Chong Yidong
2010-06-11 15:47         ` Stefan Monnier
2010-06-11 17:12           ` Drew Adams
2010-06-11 19:34             ` Uday S Reddy
2010-06-11 20:16               ` Drew Adams
2010-06-11 21:24                 ` Uday S Reddy
2010-06-11 22:46                   ` Drew Adams
2010-06-12 10:28                     ` Eli Zaretskii
2010-06-12 10:20                 ` Eli Zaretskii
2010-06-12 14:27                   ` Drew Adams
2010-06-12 10:12               ` Eli Zaretskii
2010-06-12 10:00             ` Eli Zaretskii
2010-06-12 10:17               ` David Kastrup
2010-06-12 10:38                 ` Eli Zaretskii
2010-06-12 14:26               ` Drew Adams
2010-06-12 16:10                 ` Eli Zaretskii
2010-06-12 17:12                   ` Drew Adams
2010-06-12 17:25                     ` Lennart Borgman
2010-06-12 18:38                       ` Eli Zaretskii
2010-06-12 18:49                         ` Lennart Borgman
2010-06-12 19:38                           ` Eli Zaretskii
2010-06-12 19:51                             ` Lennart Borgman
2010-06-12 18:01                     ` Uday S Reddy
2010-06-12 19:16                       ` Drew Adams
2010-06-12 18:49                     ` Eli Zaretskii
2010-06-12 19:19                       ` Drew Adams [this message]
2010-06-12 22:57                         ` Davis Herring
2010-06-11 19:45           ` Chong Yidong
2010-06-11 19:50             ` Chong Yidong
2010-06-12 10:17               ` Eli Zaretskii
2010-06-13 18:08               ` Eli Zaretskii
2010-06-12 10:14             ` Eli Zaretskii
2010-06-12  9:16           ` Eli Zaretskii
2010-06-12  9:34             ` David Kastrup
2010-06-12 10:30               ` Eli Zaretskii
2010-06-12 20:54                 ` David Kastrup
2010-06-12 14:26             ` Drew Adams
2010-06-12 20:31               ` Stefan Monnier
2010-06-11 16:29         ` James Cloos
2010-06-11 17:09           ` Lennart Borgman
2010-06-12  9:27             ` Eli Zaretskii
2010-06-12 14:49               ` Lennart Borgman
2010-06-12 16:11                 ` Eli Zaretskii
2010-06-12 16:18                   ` Lennart Borgman
2010-06-12 18:33                     ` Eli Zaretskii
2010-06-12 18:58                       ` Lennart Borgman
2010-06-12 19:34                         ` Lennart Borgman
2010-06-12 19:58                           ` Eli Zaretskii
2010-06-12 20:26                             ` Lennart Borgman
2010-06-12 21:08                               ` Eli Zaretskii
2010-06-12 21:20                                 ` Lennart Borgman
2010-06-12 19:55                         ` Eli Zaretskii
2010-06-12 20:07                           ` Lennart Borgman
2010-06-12 21:05                             ` Eli Zaretskii
2010-06-12 21:16                               ` Lennart Borgman
2010-06-13  3:52                                 ` Lennart Borgman
2010-06-13  7:53                               ` David Kastrup
2010-06-11 17:37           ` Chong Yidong
2010-06-11 18:04             ` Lennart Borgman
2010-06-11 21:23               ` W Dan Meyer
2010-06-12  5:40                 ` Miles Bader
2010-06-12 10:48               ` Eli Zaretskii
2010-06-12 14:57                 ` Lennart Borgman
2010-06-12 10:02             ` Eli Zaretskii
2010-06-12 10:22               ` James Cloos
2010-06-12  9:24           ` Eli Zaretskii
2010-06-12 10:17             ` James Cloos
2010-06-12 12:03               ` Eli Zaretskii
2010-06-12 12:40                 ` James Cloos
2010-06-12 20:37               ` Stefan Monnier
2010-06-12 16:36           ` Andreas Schwab
2010-06-12 16:57             ` Current head won't build Randal L. Schwartz
2010-06-12 17:24               ` Chong Yidong
2010-06-12 18:55                 ` Randal L. Schwartz
2010-06-12 19:54                   ` Juri Linkov
2010-06-12 20:13                     ` Randal L. Schwartz
2010-06-14 15:43                       ` Juri Linkov
2010-06-15 14:50                         ` Randal L. Schwartz
2010-06-15 18:28                           ` Andreas Schwab
2010-06-15 18:31                             ` Randal L. Schwartz
2010-06-15 19:25                               ` Andreas Schwab
2010-06-15 19:38                                 ` Teemu Likonen
2010-06-15 19:43                                   ` Andreas Schwab
2010-06-15 19:54                                   ` Randal L. Schwartz
2010-06-16  3:28                                     ` Stephen J. Turnbull
2010-06-16  8:21                                       ` Andreas Schwab
2010-06-16  9:47                                         ` Juanma Barranquero
2010-06-16 12:23                                         ` Stephen J. Turnbull
2010-06-16 12:36                                           ` Andreas Schwab
2010-06-18  6:05                                             ` Stephen J. Turnbull
2010-06-18  8:20                                               ` Andreas Schwab
2010-06-18  9:04                                                 ` Stephen J. Turnbull
2010-06-18  9:27                                                   ` Andreas Schwab
2010-06-18 10:41                                                     ` Stephen J. Turnbull
2010-06-18 11:33                                                       ` Andreas Schwab
2010-06-16 12:44                                           ` Andreas Schwab
2010-06-16 13:12                                             ` Randal L. Schwartz
2010-06-16 13:17                                               ` Andreas Schwab
2010-06-16 13:21                                                 ` Randal L. Schwartz
2010-06-16 14:00                                                   ` Andreas Schwab
2010-06-16 14:18                                                     ` Randal L. Schwartz
2010-06-16 14:25                                                       ` Andreas Schwab
2010-06-16 14:29                                                         ` Randal L. Schwartz
2010-06-16 14:58                                                           ` Andreas Schwab
2010-06-16 15:09                                                             ` Randal L. Schwartz
2010-06-16 15:51                                                               ` Andreas Schwab
2010-06-16 13:29                                             ` Randal L. Schwartz
2010-06-16 14:14                                               ` Andreas Schwab
2010-06-16 18:32                                               ` Stefan Monnier
2010-06-16 18:43                                                 ` Randal L. Schwartz
2010-06-18  6:04                                             ` Stephen J. Turnbull
2010-06-12 16:41           ` arrow keys vs. C-f/b/n/p Andreas Schwab
2010-06-12 23:34             ` James Cloos
2010-06-11 17:12         ` James Cloos
2010-06-12  5:43           ` Miles Bader
2010-06-12  9:09             ` Eli Zaretskii
2010-06-12 11:13               ` Uday S Reddy
2010-06-12 12:00                 ` Eli Zaretskii
2010-06-12 14:26               ` Drew Adams
2010-06-12 16:14                 ` Eli Zaretskii
2010-06-12 22:27               ` Kenichi Handa
2010-06-13  3:02                 ` Eli Zaretskii
2010-06-13 10:24                   ` Kenichi Handa
2010-06-13 15:28                     ` Lennart Borgman
2010-06-13 17:20                       ` Eli Zaretskii
2010-06-13 18:03                         ` Lennart Borgman
2010-06-12 10:03           ` Eli Zaretskii
2010-06-12 10:23             ` James Cloos
2010-06-12 14:27               ` Drew Adams
2010-06-12  9:11         ` Eli Zaretskii
2010-06-07 15:19     ` Stefan Monnier
2010-06-07 16:08       ` Juanma Barranquero
2010-06-07 16:21         ` David Kastrup
2010-06-07 17:25           ` Juanma Barranquero
2010-06-07 18:26             ` Andreas Schwab
2010-06-07 19:24               ` Juanma Barranquero
2010-06-07 19:57                 ` Stefan Monnier
2010-06-07 20:17                   ` Juanma Barranquero
2010-06-07 22:32                     ` Davis Herring
2010-06-07 22:40                       ` Juanma Barranquero
2010-06-08  0:15                         ` Stefan Monnier
2010-06-08 13:51                           ` Uday S Reddy
2010-06-08 20:25                             ` Stefan Monnier
2010-06-08 21:07                               ` Uday S Reddy
2010-06-07 23:19                       ` Eli Zaretskii
2010-06-08  7:58     ` Miles Bader
2010-06-07 15:33   ` Performance Stefan Monnier
2010-06-10 10:30 ` Performance Kenichi Handa
  -- strict thread matches above, loose matches on Subject: below --
2010-06-12 20:56 arrow keys vs. C-f/b/n/p grischka
2010-06-12 21:04 ` Eli Zaretskii
2010-06-12 21:26   ` grischka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=B75ECEA0BA1D4DBB95F3CC2C7647CA8B@us.oracle.com \
    --to=drew.adams@oracle.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.