]> code.delx.au - gnu-emacs/blobdiff - lisp/descr-text.el
Fixed a crash in 'C-x =' and in RLE followed by PDF; fixed 'C-x =' display.
[gnu-emacs] / lisp / descr-text.el
index 02ed55b5bdf70247dc37899a4e0bb93fbc45ec3d..7d5964cb368946be4e33a040956bc844f58fe93a 100644 (file)
@@ -434,13 +434,20 @@ relevant to POS."
                     code (encode-char char charset)))
         (setq code char))
       (cond
-       ;; Append a PDF character to directional embeddings and
-       ;; overrides, to prevent potential messup of the following
-       ;; text.
-       ((memq char '(?\x202a ?\x202b ?\x202d ?\x202e))
+       ;; Append a PDF character to left-to-right directional
+       ;; embeddings and overrides, to prevent potential messup of the
+       ;; following text.
+       ((memq char '(?\x202a ?\x202d))
        (setq char-description
              (concat char-description
                      (propertize (string ?\x202c) 'invisible t))))
+       ;; Append a PDF character followed by LRM to right-to-left
+       ;; directional embeddings and overrides, to prevent potential
+       ;; messup of the following numerical text.
+       ((memq char '(?\x202b ?\x202e))
+       (setq char-description
+             (concat char-description
+                     (propertize (string ?\x202c ?\x200e) 'invisible t))))
        ;; Append a LRM character to any strong character to avoid
        ;; messing up the numerical codepoint.
        ((memq (get-char-code-property char 'bidi-class) '(R AL))