mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-23 10:34:07 +00:00
(x-get-selection): If the string returned by
x-get-selection-internal has text property `foreign-selection', decode it while preserving that property.
This commit is contained in:
parent
0c6db68bc0
commit
f147fd76db
@ -38,7 +38,18 @@ how to convert the data.
|
||||
TYPE may be `SECONDARY' or `CLIPBOARD', in addition to `PRIMARY'.
|
||||
DATA-TYPE is usually `STRING', but can also be one of the symbols
|
||||
in `selection-converter-alist', which see."
|
||||
(x-get-selection-internal (or type 'PRIMARY) (or data-type 'STRING)))
|
||||
(let ((data (x-get-selection-internal (or type 'PRIMARY)
|
||||
(or data-type 'STRING)))
|
||||
coding)
|
||||
(when (and (stringp data)
|
||||
(setq data-type (get-text-property 0 'foreign-selection data)))
|
||||
(setq coding (if (eq data-type 'UTF8_STRING)
|
||||
'utf-8
|
||||
(or next-selection-coding-system
|
||||
selection-coding-system))
|
||||
data (decode-coding-string data coding))
|
||||
(put-text-property 0 (length data) 'foreign-selection data-type data))
|
||||
data))
|
||||
|
||||
(defun x-get-clipboard ()
|
||||
"Return text pasted to the clipboard."
|
||||
|
Loading…
Reference in New Issue
Block a user