* select.el (xselect--encode-string): Always use utf-8 for TEXT on Nextstep.
This commit is contained in:
parent
8d8d67aee8
commit
f16e53860f
2 changed files with 29 additions and 18 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2012-05-04 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* select.el (xselect--encode-string): Always use utf-8 for TEXT on
|
||||
Nextstep.
|
||||
|
||||
2012-04-30 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* mail/rmail.el (rmail-yank-current-message): Use the encoding of
|
||||
|
|
|
|||
|
|
@ -228,24 +228,30 @@ two markers or an overlay. Otherwise, it is nil."
|
|||
;; But avoid modifying the string if it's a buffer name etc.
|
||||
(unless can-modify (setq str (substring str 0)))
|
||||
(remove-text-properties 0 (length str) '(composition nil) str)
|
||||
;; TEXT is a polymorphic target. Select the actual type
|
||||
;; from `UTF8_STRING', `COMPOUND_TEXT', `STRING', and
|
||||
;; `C_STRING'.
|
||||
(if (eq type 'TEXT)
|
||||
(if (not (multibyte-string-p str))
|
||||
(setq type 'C_STRING)
|
||||
(let (non-latin-1 non-unicode eight-bit)
|
||||
(mapc #'(lambda (x)
|
||||
(if (>= x #x100)
|
||||
(if (< x #x110000)
|
||||
(setq non-latin-1 t)
|
||||
(if (< x #x3FFF80)
|
||||
(setq non-unicode t)
|
||||
(setq eight-bit t)))))
|
||||
str)
|
||||
(setq type (if non-unicode 'COMPOUND_TEXT
|
||||
(if non-latin-1 'UTF8_STRING
|
||||
(if eight-bit 'C_STRING 'STRING)))))))
|
||||
;; For X selections, TEXT is a polymorphic target; choose
|
||||
;; the actual type from `UTF8_STRING', `COMPOUND_TEXT',
|
||||
;; `STRING', and `C_STRING'. On Nextstep, always use UTF-8
|
||||
;; (see ns_string_to_pasteboard_internal in nsselect.m).
|
||||
(when (eq type 'TEXT)
|
||||
(cond
|
||||
((featurep 'ns)
|
||||
(setq type 'UTF8_STRING))
|
||||
((not (multibyte-string-p str))
|
||||
(setq type 'C_STRING))
|
||||
(t
|
||||
(let (non-latin-1 non-unicode eight-bit)
|
||||
(mapc #'(lambda (x)
|
||||
(if (>= x #x100)
|
||||
(if (< x #x110000)
|
||||
(setq non-latin-1 t)
|
||||
(if (< x #x3FFF80)
|
||||
(setq non-unicode t)
|
||||
(setq eight-bit t)))))
|
||||
str)
|
||||
(setq type (if non-unicode 'COMPOUND_TEXT
|
||||
(if non-latin-1 'UTF8_STRING
|
||||
(if eight-bit 'C_STRING
|
||||
'STRING))))))))
|
||||
(cond
|
||||
((eq type 'UTF8_STRING)
|
||||
(if (or (not coding)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue