Mercurial > emacs
diff src/cmds.c @ 108596:cd5442b2826b
Implement bidi-sensitive movement with arrow keys.
src/bidi.c (bidi_paragraph_init): Don't leave alone garbage values
of bidi_it->paragraph_dir. Call bidi_initialize if needed.
src/xdisp.c (Fcurrent_bidi_paragraph_direction): New function.
(syms_of_xdisp): Defsubr it.
src/cmds.c (Fforward_char, Fbackward_char): Doc fix.
src/subr.el (right-arrow-command, left-arrow-command): New functions.
src/bindings.el (global-map): Bind them to right and left arrow keys.
etc/NEWS: Mention current-bidi-paragraph-direction
| author | Eli Zaretskii <eliz@gnu.org> |
|---|---|
| date | Sat, 15 May 2010 16:23:48 +0300 |
| parents | 41747909cb4b |
| children | f3d817d46523 |
line wrap: on
line diff
--- a/src/cmds.c Sat May 15 11:38:48 2010 +0300 +++ b/src/cmds.c Sat May 15 16:23:48 2010 +0300 @@ -57,8 +57,12 @@ } DEFUN ("forward-char", Fforward_char, Sforward_char, 0, 1, "^p", - doc: /* Move point right N characters (left if N is negative). -On reaching end of buffer, stop and signal error. */) + doc: /* Move point N characters forward (backward if N is negative). +On reaching end or beginning of buffer, stop and signal error. + +Depending on the bidirectional context, the movement may be to the +right or to the left on the screen. This is in contrast with +\\[right-arrow-command], which see. */) (n) Lisp_Object n; { @@ -93,8 +97,12 @@ } DEFUN ("backward-char", Fbackward_char, Sbackward_char, 0, 1, "^p", - doc: /* Move point left N characters (right if N is negative). -On attempt to pass beginning or end of buffer, stop and signal error. */) + doc: /* Move point N characters backward (forward if N is negative). +On attempt to pass beginning or end of buffer, stop and signal error. + +Depending on the bidirectional context, the movement may be to the +right or to the left on the screen. This is in contrast with +\\[left-arrow-command], which see. */) (n) Lisp_Object n; {
