]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix off-by-one inconsistency of 'M-y C-y' (bug#48478).
authorJuri Linkov <juri@linkov.net>
Thu, 20 May 2021 18:02:27 +0000 (21:02 +0300)
committerJuri Linkov <juri@linkov.net>
Thu, 20 May 2021 18:02:27 +0000 (21:02 +0300)
* lisp/simple.el (read-from-kill-ring): Increment kill-ring-yank-pointer by 1.
(yank-from-kill-ring): Don't increment kill-ring-yank-pointer by 1.

lisp/simple.el

index 5e3172326f9f99c7356494fc6bdddeda5f3b592d..f139555dd3406c555a9d87230516c1d766a87cb7 100644 (file)
@@ -5734,7 +5734,7 @@ PROMPT is a string to prompt with."
            (complete-with-action action completions string pred)))
        nil nil nil
        (if history-pos
-           (cons 'read-from-kill-ring-history history-pos)
+           (cons 'read-from-kill-ring-history (1+ history-pos))
          'read-from-kill-ring-history)))))
 
 (defcustom yank-from-kill-ring-rotate t
@@ -5773,7 +5773,7 @@ When called from Lisp, insert STRING like `insert-for-yank' does."
   (when yank-from-kill-ring-rotate
     (let ((pos (seq-position kill-ring string)))
       (setq kill-ring-yank-pointer
-            (or (and pos (nthcdr (1+ pos) kill-ring))
+            (or (and pos (nthcdr pos kill-ring))
                 kill-ring))))
   (if (consp arg)
       ;; Swap point and mark like in `yank' and `yank-pop'.