Subject: bug#9406: 24.0.50; Use M-p/M-n to navigate through the kill ring

From: Dani Moncayo <[email-masked]>
Date: Wed, 31 Aug 2011 17:33:13 +0200

> Basically it would amount to moving the M-y binding to M-p but only if
> used immediately after C-y, and to add a M-n binding to the same command
> but that cycles in the other direction.
>
> That doesn't sound like a bad idea, although of course it will annoy
> a few users in a few corner cases (e.g. I have M-n and M-p bound in
> smerge-mode).  So we might prefer to have it as an option.

I think that those corner cases are pretty few (How often you will be
using M-p/M-n just after C-y?), but if you deem it necessary, ok.

>> I'm not an expert in Emacs' internals, but I think that one way of
>> implementing this would be as a minor mode, that would be activated by
>> C-y (like Isearch is activated by C-s), and deactivated by "anything
>> else" (distinct from M-p M-n and M-y*).
>
> I use the function below to do these kinds of things.  I didn't find the
> time to install it for Emacs-24.1, tho.
> You should be able to get this working fairly cleanly with an
> after-advice on `yank' which uses that set-temporary-overlay-map.

Thanks.  I'm still beginning to learn Elisp, so right now I would not
be able to work it out.

>> (*) The behavior of M-y would remain the same, obviously, for old-timers.
>
> Actually one of the benefits of your proposal is that it opens up the
> possibility of freeing the M-y binding.

I just wanted to make the change as smooth as possible, but of course
the current behavior of M-y would be adopted by M-p, so M-y could be
freed or used for anything else.  I'm perfectly fine with that,
because I would obviously use M-p, not M-y.

-- 
Dani Moncayo