From: Kenichi Handa Date: Fri, 26 May 2000 02:39:09 +0000 (+0000) Subject: (encode-coding-char): Make strings X-Git-Tag: emacs-pretest-21.0.90~3689 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bd9531732967151a847562e98a99fa6e97250ce6;p=emacs.git (encode-coding-char): Make strings multibyte before calling encode-coding-string. --- diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index ade85317582..016c2c4ecfb 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -1835,8 +1835,8 @@ It can be retrieved with `(get-char-code-property CHAR PROPNAME)'." (defun encode-coding-char (char coding-system) "Encode CHAR by CODING-SYSTEM and return the resulting string. If CODING-SYSTEM can't safely encode CHAR, return nil." - (let ((str1 (char-to-string char)) - (str2 (make-string 2 char)) + (let ((str1 (string-as-multibyte (char-to-string char))) + (str2 (string-as-multibyte (make-string 2 char))) (safe-charsets (and coding-system (coding-system-get coding-system 'safe-charsets))) (charset (char-charset char)) @@ -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 ;; 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) - enc2 (string-as-unibyte (encode-coding-string str2 coding-system)) + enc2 (encode-coding-string str2 coding-system) i2 (length enc2)) (while (and (> i1 0) (= (aref enc1 (1- i1)) (aref enc2 (1- i2)))) (setq i1 (1- i1) i2 (1- i2)))