From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Date: Fri, 13 May 2005 08:51:35 +0000 (+0000)
Subject: (mac-select-convert-to-string): Try coding
X-Git-Tag: ttn-vms-21-2-B4~343
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5a537870e39b4caf1dccc69c07b499ed9a69f8de;p=emacs.git

(mac-select-convert-to-string): Try coding
systems in mac-script-code-coding-systems if specified one cannot
encode string for `com.apple.traditional-mac-plain-text'.
---

diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el
index 8fbbc7cd41a..366668c66f3 100644
--- a/lisp/term/mac-win.el
+++ b/lisp/term/mac-win.el
@@ -1328,6 +1328,13 @@ in `selection-converter-alist', which see."
 			 coding 'utf-16)))
 	      (setq str (or s (encode-coding-string str 'utf-16-mac)))))
 	   ((eq type 'com.apple.traditional-mac-plain-text)
+	    (let ((encodables (find-coding-systems-string str))
+		  (rest mac-script-code-coding-systems))
+	      (unless (memq coding encodables)
+		(while (and rest (not (memq (cdar rest) encodables)))
+		  (setq rest (cdr rest)))
+		(if rest
+		    (setq coding (cdar rest)))))
 	    (setq coding (coding-system-change-eol-conversion coding 'mac))
 	    (setq str (encode-coding-string str coding)))
 	   (t