all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Chong Yidong <cyd@gnu.org>
To: "Aaron S. Hawley" <aaron.s.hawley@gmail.com>
Cc: emacs-devel@gnu.org, Miles Bader <miles@gnu.org>
Subject: Re: bug: "C-x z" ("repeat") no longer works correctly with M-x
Date: Sat, 02 Jun 2012 14:44:46 +0800	[thread overview]
Message-ID: <8762ba8b6p.fsf@gnu.org> (raw)
In-Reply-To: <CAFw1JJ5ptxbaSw8COXna-tZJfQL17YSWAAAj81rSwnEDKpgUcQ@mail.gmail.com> (Aaron S. Hawley's message of "Tue, 29 May 2012 14:45:48 -0400")

"Aaron S. Hawley" <aaron.s.hawley@gmail.com> writes:

> 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.

No, tweaking the interactive spec does not really fix the problem.

The problem is that the old execute-extended-command sets the
real_this_command internal variable, which causes the Emacs command loop
to record the command that was actually executed into real-last-command
and last-repeatable-command.

In other words, it's not just the fact that `C-x z' doesn't work
properly.  Moving execute-extended-command to Lisp produces a
backward-incompatible change in the values of the real-last-command and
last-repeatable-command variables for M-x.  I suspect this may break
things other than `C-x z'.  I guess we could fix this by exposing
real_this_command to Lisp too, but that kinda defeats the point of that
variable...

Is there a strong rationale for moving execute-extended-command to Lisp,
other than the general principle that we want as much functionality
implemented Lisp as possible?  If not, it may not be worth making this
change, at least in Emacs 24.2, due to the risk of gratuitous
incompatibilities.



  reply	other threads:[~2012-06-02  6:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-17 14:06 bug: "C-x z" ("repeat") no longer works correctly with M-x Miles Bader
2012-05-29 14:24 ` Chong Yidong
2012-05-29 18:45   ` Aaron S. Hawley
2012-06-02  6:44     ` Chong Yidong [this message]
2012-06-02  7:45       ` Miles Bader
2012-06-02 19:21       ` bug#11506: " Stefan Monnier
     [not found]         ` <4DDFBCA4D529431F922887DF34538295@us.oracle.com>
     [not found]           ` <jwvvcj9cc32.fsf-monnier+emacs@gnu.org>
     [not found]             ` <702924CEED3B405D81D118DDE532C97F@us.oracle.com>
     [not found]               ` <jwv8vg4ctjl.fsf-monnier+emacs@gnu.org>
2012-06-04 13:47                 ` Drew Adams
2012-06-02 22:07       ` Aaron S. Hawley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8762ba8b6p.fsf@gnu.org \
    --to=cyd@gnu.org \
    --cc=aaron.s.hawley@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=miles@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.