Commit bd953173 authored by Kenichi Handa's avatar Kenichi Handa
Browse files

(encode-coding-char): Make strings

multibyte before calling encode-coding-string.
parent ba9f8f95
...@@ -1835,8 +1835,8 @@ It can be retrieved with `(get-char-code-property CHAR PROPNAME)'." ...@@ -1835,8 +1835,8 @@ It can be retrieved with `(get-char-code-property CHAR PROPNAME)'."
(defun encode-coding-char (char coding-system) (defun encode-coding-char (char coding-system)
"Encode CHAR by CODING-SYSTEM and return the resulting string. "Encode CHAR by CODING-SYSTEM and return the resulting string.
If CODING-SYSTEM can't safely encode CHAR, return nil." If CODING-SYSTEM can't safely encode CHAR, return nil."
(let ((str1 (char-to-string char)) (let ((str1 (string-as-multibyte (char-to-string char)))
(str2 (make-string 2 char)) (str2 (string-as-multibyte (make-string 2 char)))
(safe-charsets (and coding-system (safe-charsets (and coding-system
(coding-system-get coding-system 'safe-charsets))) (coding-system-get coding-system 'safe-charsets)))
(charset (char-charset char)) (charset (char-charset char))
...@@ -1851,9 +1851,9 @@ If CODING-SYSTEM can't safely encode CHAR, return nil." ...@@ -1851,9 +1851,9 @@ If CODING-SYSTEM can't safely encode CHAR, return nil."
;; string and two-char string, then check how many bytes at the ;; string and two-char string, then check how many bytes at the
;; tail of both encoded strings are the same. ;; tail of both encoded strings are the same.
(setq enc1 (string-as-unibyte (encode-coding-string str1 coding-system)) (setq enc1 (encode-coding-string str1 coding-system)
i1 (length enc1) i1 (length enc1)
enc2 (string-as-unibyte (encode-coding-string str2 coding-system)) enc2 (encode-coding-string str2 coding-system)
i2 (length enc2)) i2 (length enc2))
(while (and (> i1 0) (= (aref enc1 (1- i1)) (aref enc2 (1- i2)))) (while (and (> i1 0) (= (aref enc1 (1- i1)) (aref enc2 (1- i2))))
(setq i1 (1- i1) i2 (1- i2))) (setq i1 (1- i1) i2 (1- i2)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment