]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/descr-text.el (describe-char): Avoid string-*-multibyte
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 22 Jun 2017 13:47:48 +0000 (09:47 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 22 Jun 2017 13:47:48 +0000 (09:47 -0400)
Avoid string-to-multibyte and string-as-unibyte.
Don't make *Help* unibyte just because the char was in a unibyte buffer.

lisp/descr-text.el

index 6a6a8ea4479864085cea670f29955fcbbd995f53..6f36bbed6805a9f71910f3401cb0e5034848550a 100644 (file)
@@ -413,12 +413,11 @@ relevant to POS."
            (multibyte-p enable-multibyte-characters)
            (overlays (mapcar (lambda (o) (overlay-properties o))
                              (overlays-at pos)))
-           (char-description (if (not multibyte-p)
+           (char-description (if (< char 128)
                                  (single-key-description char)
-                               (if (< char 128)
-                                   (single-key-description char)
-                                 (string-to-multibyte
-                                  (char-to-string char)))))
+                               (string (if (not multibyte-p)
+                                           (decode-char 'eight-bit char)
+                                         char))))
            (text-props-desc
             (let ((tmp-buf (generate-new-buffer " *text-props*")))
               (unwind-protect
@@ -635,7 +634,9 @@ relevant to POS."
               ("buffer code"
                ,(if multibyte-p
                     (encoded-string-description
-                     (string-as-unibyte (char-to-string char)) nil)
+                     (encode-coding-string (char-to-string char)
+                                           'emacs-internal)
+                     nil)
                   (format "#x%02X" char)))
               ("file code"
                ,@(if multibyte-p
@@ -704,7 +705,6 @@ relevant to POS."
                        (called-interactively-p 'interactive))
       (with-help-window (help-buffer)
         (with-current-buffer standard-output
-          (set-buffer-multibyte multibyte-p)
           (let ((formatter (format "%%%ds:" max-width)))
             (dolist (elt item-list)
               (when (cadr elt)