From: YAMAMOTO Mitsuharu Date: Wed, 30 Aug 2006 08:51:52 +0000 (+0000) Subject: (mac-string-to-utxt): If adjustment for MacJapanese X-Git-Tag: emacs-pretest-22.0.90~828 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=762ce89d584fcb8597f6497b0078f4a84f19803e;p=emacs.git (mac-string-to-utxt): If adjustment for MacJapanese results in ASCII-only string, encode original one directly. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b628594097d..d8ec23f04e5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-08-30 YAMAMOTO Mitsuharu + + * term/mac-win.el (mac-string-to-utxt): If adjustment for MacJapanese + results in ASCII-only string, encode original one directly. + 2006-08-29 Romain Francoise * startup.el (normal-splash-screen, fancy-splash-screens): Make diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el index 538aa09b2c5..20a65976a5c 100644 --- a/lisp/term/mac-win.el +++ b/lisp/term/mac-win.el @@ -1287,14 +1287,19 @@ correspoinding TextEncodingBase value." (find-coding-systems-string string))) (setq coding-system (coding-system-change-eol-conversion coding-system 'mac)) - (when (and (eq system-type 'darwin) - (eq coding-system 'japanese-shift-jis-mac)) - (setq encoding mac-text-encoding-mac-japanese-basic-variant) - (setq string (subst-char-in-string ?\\ ?\x80 string)) - (subst-char-in-string ?\¥ ?\x5c string t)) - (setq data (mac-code-convert-string - (encode-coding-string string coding-system) - (or encoding coding-system) nil))) + (let ((str string)) + (when (and (eq system-type 'darwin) + (eq coding-system 'japanese-shift-jis-mac)) + (setq encoding mac-text-encoding-mac-japanese-basic-variant) + (setq str (subst-char-in-string ?\\ ?\x80 str)) + (subst-char-in-string ?\¥ ?\x5c str t) + ;; ASCII-only? + (if (string-match "\\`[\x00-\x7f]*\\'" str) + (setq str nil))) + (and str + (setq data (mac-code-convert-string + (encode-coding-string str coding-system) + (or encoding coding-system) nil))))) (or data (encode-coding-string string (if (eq (byteorder) ?B) 'utf-16be-mac 'utf-16le-mac)))))