]> git.eshelyaron.com Git - emacs.git/commitdiff
(hexl-insert-multibyte-char): Avoid using `string-as-unibyte'
authorEli Zaretskii <eliz@gnu.org>
Sat, 18 May 2019 05:08:02 +0000 (07:08 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 18 May 2019 05:25:20 +0000 (07:25 +0200)
* lisp/hexl.el (hexl-insert-multibyte-char): Avoid using
`string-as-unibyte' in the fallback case.

lisp/hexl.el

index c1c2d70daf581af001fe1b934a3983870f5c7e08..ee5a9c0fce2e71ee12bd6408afd435cfdbb8d656 100644 (file)
@@ -877,17 +877,18 @@ and their encoded form is inserted byte by byte."
            "0x%x -- invalid character code; use \\[hexl-insert-hex-string]"
            ch))
          (t
-          (let ((encoded (encode-coding-char ch coding))
-                (internal (string-as-unibyte (char-to-string ch)))
-                internal-hex)
-            ;; If encode-coding-char returns nil, it means our character
-            ;; cannot be safely encoded with buffer-file-coding-system.
-            ;; In that case, we offer to insert the internal representation
-            ;; of that character, byte by byte.
-            (when (null encoded)
-              (setq internal-hex
-                    (mapconcat (function (lambda (c) (format "%x" c)))
-                               internal " "))
+           (let ((encoded (encode-coding-char ch coding))
+                (internal (char-to-string ch))
+                internal-hex)
+             ;; If encode-coding-char returns nil, it means our character
+             ;; cannot be safely encoded with buffer-file-coding-system.
+             ;; In that case, we offer to insert the internal representation
+             ;; of that character, byte by byte.
+             (when (null encoded)
+              (setq internal (encode-coding-string internal 'utf-8-emacs)
+                    internal-hex
+                    (mapconcat (function (lambda (c) (format "%x" c)))
+                               internal " "))
               (if (yes-or-no-p
                    (format-message
                     "Insert char 0x%x's internal representation \"%s\"? "