]> git.eshelyaron.com Git - emacs.git/commitdiff
(mac-string-to-utxt): If adjustment for MacJapanese
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Wed, 30 Aug 2006 08:51:52 +0000 (08:51 +0000)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Wed, 30 Aug 2006 08:51:52 +0000 (08:51 +0000)
results in ASCII-only string, encode original one directly.

lisp/ChangeLog
lisp/term/mac-win.el

index b628594097d000e55f5e73ce267d3acbb048df86..d8ec23f04e5e3ca20951cee14e26c4e33db84217 100644 (file)
@@ -1,3 +1,8 @@
+2006-08-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * 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  <romain@orebokech.com>
 
        * startup.el (normal-splash-screen, fancy-splash-screens): Make
index 538aa09b2c5f5e72364f19caf46afac0a318305c..20a65976a5cb7a79f9eeddec30d0e0792cfe8e2e 100644 (file)
@@ -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 ?\\e(J\\e(B ?\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 ?\\e(J\\e(B ?\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)))))