bug-gnu-emacs
[Top][All Lists]
Advanced

[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)

Attachment: 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]