29 May 2012 20:45
Re: bug: "C-x z" ("repeat") no longer works correctly with M-x
Aaron S. Hawley <aaron.s.hawley <at> gmail.com>
2012-05-29 18:45:48 GMT
2012-05-29 18:45:48 GMT
On 5/29/12, Chong Yidong <cyd <at> gnu.org> wrote: > Miles Bader <miles <at> gnu.org> writes: > >> It used to be (up until fairly recently, dunno the exact point at >> which it changed) that "C-x z" would correctly repeat the previous >> extended command; e.g. if you entered "M-x pwd RET", and then "C-x z", >> the latter would re-invoke "pwd". This was very useful. >> >> Now it no longer does this -- instead it just repeats "M-x", prompting >> for a command. This is obviously far less useful behavior... > > This is due to the reimplementation of execute-extended-command in > r108080. Aaron, could you please look into a fix? Thanks. I had given a more literal translation of the C command to the gnu-emacs-sources mailing list back in March. Stefan and I discussed it but hadn't run across this issue with repeat. He later made some modifications to my submission and committed it in May. I have only now run it and can confirm this bug with repeat. I'm not sure what's causing it though, but found the following fixes it. Again, I'm not sure why. Nor am I sure if it's a wholly appropriate fix. --- simple.el 2012-05-29 07:21:45.000000000 -0400 +++ simple.el 2012-05-29 14:30:41.942777900 -0400 <at> <at> -1373,7 +1373,7 <at> <at> Noninteractively, the argument PREFIXARG is the prefix argument to give to the command you invoke, if it asks for an argument." - (interactive (list current-prefix-arg (read-extended-command))) + (interactive "P") ;; Emacs<24 calling-convention was with a single `prefixarg' argument. (if (null command-name) (setq command-name (read-extended-command))) (let* ((function (and (stringp command-name) (intern-soft command-name)))
RSS Feed