From: Eli Zaretskii <eliz@gnu.org>
To: Drew Adams <drew.adams@oracle.com>
Cc: emacs-devel@gnu.org
Subject: Re: `C-b' is backward-char, `left' is left-char - why?
Date: Sat, 28 May 2011 00:09:31 +0300 [thread overview]
Message-ID: <83tycfc0l0.fsf@gnu.org> (raw)
In-Reply-To: <6F4054004B154CFB8E2753172D316C13@us.oracle.com>
> From: "Drew Adams" <drew.adams@oracle.com>
> Date: Fri, 27 May 2011 13:40:37 -0700
>
> I'm curious. Why is it a good idea that `C-b' and `left' are no longer bound to
> the same command?
Because `left' and `right' behave differently depending on the
bidirectional context, whereas C-f and C-b are independent of it.
> I'm not asking about the difference; I can see that from the doc strings. I'm
> wondering why we've broken their longstanding correspondence.
Because users of right-to-left scripts expect the current behavior of
the arrow keys.
> Lots of Emacs and Emacs Lisp does things based on which commands are used. It's
> sometimes not enough that two commands behave the same or similarly. If they
> are different commands then some code will likely not DTRT - some code will at
> least not treat them the same.
If you can suggest a way of catering to expectations of bidi users
without binding differently arrow and keyboard keys to cursor movement
commands, please do.
> Even if the bidi stuff specifies the same behavior for `backward-char' and
> `left-char' whenever there is in fact no bidirectional stuff present
It does.
> Why not make bidi optional?
It _is_ optional: you can set bidi-display-reordering to nil. (Well,
actually it's nil now, but the plan is to make it t at some point
before Emacs 24 is released.)
> Why not have a minor mode for the bidi stuff
Bidi cannot be a minor mode, because bidi reordering for display
should happen automatically whenever there are right-to-left
characters in a buffer. Minor modes don't work that way.
Besides, the rest of the world does bidi automatically; it's high time
Emacs does, too.
> only bind keys such as `left' to commands that are specific to bidi when that
> mode is turned on? Why make such an invasive, top-level change to Emacs?
As I said: if you have practical suggestions (preferably with code),
let's hear them. I made that change because every other program out
there differentiates the functions bound to these keys, but of course
if there's a better way of doing that in Emacs, I don't have any
dogmas here.
> I understand that bidi is a great addition to Emacs and will be welcomed by
> folks around the world. I also realize that it is complex to implement. But
> some of us will rarely, if ever, use it.
Emacs should behave exactly the same as it does without bidi when the
text doesn't include any right-to-left characters. Anything else is a
bug. The only reason why the bidi-display-reordering flag will stay
is because unibyte buffers should not be reordered.
next prev parent reply other threads:[~2011-05-27 21:09 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-27 20:40 `C-b' is backward-char, `left' is left-char - why? Drew Adams
2011-05-27 20:48 ` Pascal J. Bourguignon
2011-05-27 21:11 ` Eli Zaretskii
2011-05-27 22:08 ` Drew Adams
2011-05-28 0:19 ` Nix
2011-05-27 21:09 ` Eli Zaretskii [this message]
2011-05-27 21:13 ` Eli Zaretskii
2011-05-27 22:08 ` Drew Adams
2011-05-27 22:23 ` Antoine Levitt
2011-05-27 23:19 ` Drew Adams
2011-05-28 0:46 ` Mohsen BANAN
2011-05-28 1:53 ` Drew Adams
2011-05-28 2:24 ` Mohsen BANAN
2011-05-28 8:00 ` Eli Zaretskii
2011-05-27 23:09 ` PJ Weisberg
2011-05-27 23:23 ` Drew Adams
2011-05-28 0:25 ` PJ Weisberg
2011-05-28 0:39 ` Drew Adams
2011-05-28 6:57 ` David Kastrup
2011-05-28 8:21 ` Eli Zaretskii
2011-05-28 0:48 ` Stefan Monnier
2011-05-28 1:54 ` Drew Adams
2011-05-28 7:07 ` David Kastrup
2011-05-28 8:26 ` Eli Zaretskii
2011-05-30 3:57 ` Stefan Monnier
2011-05-31 14:18 ` Davis Herring
2011-05-31 14:39 ` Eli Zaretskii
2011-06-01 11:48 ` Andy Moreton
2011-06-01 13:23 ` Eli Zaretskii
2011-06-01 23:26 ` Andy Moreton
2011-06-02 4:37 ` Eli Zaretskii
2011-06-02 10:38 ` Andy Moreton
2011-06-02 11:12 ` Eli Zaretskii
2011-06-02 12:59 ` Andy Moreton
2011-06-02 15:09 ` Eli Zaretskii
2011-06-02 16:23 ` Andy Moreton
2011-06-02 17:43 ` Eli Zaretskii
2011-06-02 21:42 ` Andy Moreton
2011-06-03 7:01 ` Eli Zaretskii
2011-06-02 17:09 ` David Kastrup
2011-06-02 18:05 ` Eli Zaretskii
2011-06-03 14:35 ` David Kastrup
2011-06-03 15:08 ` Eli Zaretskii
2011-06-03 15:14 ` David Kastrup
2011-06-03 16:48 ` Eli Zaretskii
2011-06-03 20:56 ` David Kastrup
2011-06-04 6:28 ` Eli Zaretskii
2011-06-05 16:51 ` Ehud Karni
2011-06-05 17:10 ` Eli Zaretskii
2011-06-05 17:19 ` Ehud Karni
2011-06-05 17:26 ` David Kastrup
2011-06-05 17:44 ` Eli Zaretskii
2011-06-05 18:26 ` David Kastrup
2011-06-05 19:22 ` Eli Zaretskii
2011-06-07 8:51 ` David Kastrup
2011-06-07 10:54 ` Eli Zaretskii
2011-06-02 15:35 ` PJ Weisberg
2011-06-02 17:44 ` Eli Zaretskii
2011-06-02 19:29 ` PJ Weisberg
2011-06-02 21:10 ` Eli Zaretskii
2011-06-03 0:47 ` Kenichi Handa
2011-06-03 7:13 ` Eli Zaretskii
2011-06-05 11:27 ` Kenichi Handa
2011-06-05 13:04 ` Eli Zaretskii
2011-06-02 7:23 ` David Kastrup
2011-06-02 8:59 ` Eli Zaretskii
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=83tycfc0l0.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=drew.adams@oracle.com \
--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.