Noam Postavsky writes: > "Basil L. Contovounesios" 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