mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-03 11:33:37 +00:00
Fix the "C-x =" display of the character info for LRE, LRO, RLE, and RLO.
lisp/simple.el (what-cursor-position): Fix the display of the character info for LRE, LRO, RLE, and RLO characters, by appending a PDF to them.
This commit is contained in:
parent
d4172c3be9
commit
12587bbbc6
@ -1,3 +1,8 @@
|
||||
2011-10-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* simple.el (what-cursor-position): Fix the display of the
|
||||
character info for LRE, LRO, RLE, and RLO characters.
|
||||
|
||||
2011-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/timer.el (with-timeout): Make sure we cancel the timer
|
||||
|
@ -1050,6 +1050,16 @@ In addition, with prefix argument, show details about that character
|
||||
in *Help* buffer. See also the command `describe-char'."
|
||||
(interactive "P")
|
||||
(let* ((char (following-char))
|
||||
;; If the character is one of LRE, LRO, RLE, RLO, it will
|
||||
;; start a directional embedding, which could completely
|
||||
;; disrupt the rest of the line (e.g., RLO will display the
|
||||
;; rest of the line right-to-left). So we put an invisible
|
||||
;; PDF character after these characters, to end the
|
||||
;; embedding, which eliminates any effects on the rest of the
|
||||
;; line.
|
||||
(pdf (if (memq char '(?\x202a ?\x202b ?\x202d ?\x202e))
|
||||
(propertize (string ?\x202c) 'invisible t)
|
||||
""))
|
||||
(beg (point-min))
|
||||
(end (point-max))
|
||||
(pos (point))
|
||||
@ -1109,18 +1119,18 @@ in *Help* buffer. See also the command `describe-char'."
|
||||
;; We show the detailed information about CHAR.
|
||||
(describe-char (point)))
|
||||
(if (or (/= beg 1) (/= end (1+ total)))
|
||||
(message "Char: %s %s point=%d of %d (%d%%) <%d-%d> column=%d%s"
|
||||
(message "Char: %s%s %s point=%d of %d (%d%%) <%d-%d> column=%d%s"
|
||||
(if (< char 256)
|
||||
(single-key-description char)
|
||||
(buffer-substring-no-properties (point) (1+ (point))))
|
||||
encoding-msg pos total percent beg end col hscroll)
|
||||
(message "Char: %s %s point=%d of %d (%d%%) column=%d%s"
|
||||
pdf encoding-msg pos total percent beg end col hscroll)
|
||||
(message "Char: %s%s %s point=%d of %d (%d%%) column=%d%s"
|
||||
(if enable-multibyte-characters
|
||||
(if (< char 128)
|
||||
(single-key-description char)
|
||||
(buffer-substring-no-properties (point) (1+ (point))))
|
||||
(single-key-description char))
|
||||
encoding-msg pos total percent col hscroll))))))
|
||||
pdf encoding-msg pos total percent col hscroll))))))
|
||||
|
||||
;; Initialize read-expression-map. It is defined at C level.
|
||||
(let ((m (make-sparse-keymap)))
|
||||
|
Loading…
Reference in New Issue
Block a user