summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2021-05-20 21:02:27 +0300
committerJuri Linkov <juri@linkov.net>2021-05-20 21:02:27 +0300
commitef7a6eec20a59b338e18aea4f8a805dcfc8dfc96 (patch)
treefd38e84182c0065fd4484587653769e634c5a229
parent1866e66a73083fa5466b040d2cc44ca73da891e9 (diff)
downloademacs-ef7a6eec20a59b338e18aea4f8a805dcfc8dfc96.tar.gz
emacs-ef7a6eec20a59b338e18aea4f8a805dcfc8dfc96.tar.bz2
emacs-ef7a6eec20a59b338e18aea4f8a805dcfc8dfc96.zip
Fix off-by-one inconsistency of 'M-y C-y' (bug#48478).
* 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.
-rw-r--r--lisp/simple.el4
1 files changed, 2 insertions, 2 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 5e3172326f9..f139555dd34 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -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'.