mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-04 06:31:13 -08:00
Revert "Fix charset issues when yanking non-plain-text elements"
This reverts commit 5e66c75e0b.
This apparently led to problems on Windows. The issues have to
be examined first before attempting a new fix.
This commit is contained in:
parent
990aad47bd
commit
10b4cbb2fc
1 changed files with 8 additions and 14 deletions
|
|
@ -303,29 +303,23 @@ addition to `STRING'; MS-Windows supports `TARGETS', which reports
|
|||
the formats available in the clipboard if TYPE is `CLIPBOARD'."
|
||||
(let ((data (gui-backend-get-selection (or type 'PRIMARY)
|
||||
(or data-type 'STRING))))
|
||||
(when (stringp data)
|
||||
(when (and (stringp data)
|
||||
(setq data-type (get-text-property 0 'foreign-selection data)))
|
||||
(let ((coding (or next-selection-coding-system
|
||||
selection-coding-system
|
||||
(pcase data-type
|
||||
('UTF8_STRING 'utf-8)
|
||||
('COMPOUND_TEXT 'compound-text-with-extensions)
|
||||
('C_STRING nil)
|
||||
('STRING 'iso-8859-1)))))
|
||||
(setq data
|
||||
(cond (coding (decode-coding-string data coding))
|
||||
('STRING 'iso-8859-1)
|
||||
(_ (error "Unknown selection data type: %S"
|
||||
type))))))
|
||||
(setq data (if coding (decode-coding-string data coding)
|
||||
;; This is for C_STRING case.
|
||||
;; We want to convert each non-ASCII byte to the
|
||||
;; corresponding eight-bit character, which has
|
||||
;; a codepoint >= #x3FFF00.
|
||||
((eq data-type 'C_STRING)
|
||||
(string-to-multibyte data))
|
||||
;; Guess at the charset for types like text/html
|
||||
;; -- it can be anything, and different
|
||||
;; applications use different encodings.
|
||||
((string-match-p "\\`text/" (symbol-name data-type))
|
||||
(decode-coding-string
|
||||
data (car (detect-coding-string data))))
|
||||
;; Do nothing.
|
||||
(t data))))
|
||||
(string-to-multibyte data))))
|
||||
(setq next-selection-coding-system nil)
|
||||
(put-text-property 0 (length data) 'foreign-selection data-type data))
|
||||
data))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue