Do not destructively modify interprogram paste
* simple.el (kill-new, current-kill): Non-destructively reverse list returned by interprogram-paste-function. (bug#31097)
This commit is contained in:
parent
0263216ec3
commit
2825d84945
1 changed files with 4 additions and 2 deletions
|
@ -4369,7 +4369,8 @@ argument should still be a \"useful\" string for such uses."
|
|||
(funcall interprogram-paste-function))))
|
||||
(when interprogram-paste
|
||||
(dolist (s (if (listp interprogram-paste)
|
||||
(nreverse interprogram-paste)
|
||||
;; Use `reverse' to avoid modifying external data.
|
||||
(reverse interprogram-paste)
|
||||
(list interprogram-paste)))
|
||||
(unless (and kill-do-not-save-duplicates
|
||||
(equal-including-properties s (car kill-ring)))
|
||||
|
@ -4448,7 +4449,8 @@ move the yanking point; just return the Nth kill forward."
|
|||
;; selection, with identical text.
|
||||
(let ((interprogram-cut-function nil))
|
||||
(if (listp interprogram-paste)
|
||||
(mapc 'kill-new (nreverse interprogram-paste))
|
||||
;; Use `reverse' to avoid modifying external data.
|
||||
(mapc #'kill-new (reverse interprogram-paste))
|
||||
(kill-new interprogram-paste)))
|
||||
(car kill-ring))
|
||||
(or kill-ring (error "Kill ring is empty"))
|
||||
|
|
Loading…
Add table
Reference in a new issue