[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31097: 27.0.50; Interprogram paste is destructively modified
From: |
Basil L. Contovounesios |
Subject: |
bug#31097: 27.0.50; Interprogram paste is destructively modified |
Date: |
Fri, 13 Apr 2018 12:56:38 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
0001-Do-not-destructively-modify-interprogram-paste.patch
Description: Updated patch
Noam Postavsky <npostavs@gmail.com> writes:
> "Basil L. Contovounesios" <contovob@tcd.ie> writes:
>
>> * simple.el (kill-new, current-kill): Non-destructively reverse list
>> returned by interprogram-paste-function. (bug#31097)
>
> Seems reasonable. Perhaps add some comments in case someone tries to
> "optimize" it later?
Are the comments in the updated patch attached clear enough?
>> If optional arg DO-NOT-MOVE is non-nil, then don't actually
>> move the yanking point; just return the Nth kill forward."
>> -
>> (let ((interprogram-paste (and (= n 0)
>
>> - (let ((ARGth-kill-element
>> + (let ((nth-kill-element
>> (nthcdr (mod (- n (length kill-ring-yank-pointer))
>> (length kill-ring))
>> kill-ring)))
>> (unless do-not-move
>> - (setq kill-ring-yank-pointer ARGth-kill-element)
>> + (setq kill-ring-yank-pointer nth-kill-element)
>> (when (and yank-pop-change-selection
>> (> n 0)
>> interprogram-cut-function)
>> - (funcall interprogram-cut-function (car ARGth-kill-element))))
>> - (car ARGth-kill-element)))))
>> + (funcall interprogram-cut-function (car nth-kill-element))))
>> + (car nth-kill-element)))))
>
> I don't think these hunks are needed.
Fair enough, I just thought it was strange having an ARGth element
without an ARG.
Thanks,
--
Basil