Subject: bug#29334: 25.3; compiled commands don't respect special interactive expressions

From: Drew Adams <[email-masked]>
Date: Fri, 17 Nov 2017 06:55:41 -0800 (PST)

> 1. emacs -Q
> 2. Mark some text in the buffer
> 3. M-x append-to-buffer RET *scratch* RET
> 4. C-x ESC ESC
> 
> Expected last command:
> 
> (append-to-buffer "*scratch*" (region-beginning) (region-end))
> 
> Actual last command:
> 
> (append-to-buffer "*scratch*" 1 145)
> 
> If you then go and re-evaluate append-to-buffer (thus loading the
> source version instead of the compiled version, you get
> 
> (append-to-buffer "*scratch*" (region-beginning) (region-end))
> 
> Thus, it looks like the compiled command doesn't handle special
> interactive forms correctly.

Yes, thank you!  This is something that has bugged me
for a while.  This change is actually a regression (or
else on purpose?), introduced in Emacs 24.  In all
Emacs releases prior to 24 it works as a user expects.

Dunno whether this bug report might be a duplicate.  It
seems unlikely that no one (including me) has reported
this before.  It reduces the utility of `C-x ESC ESC'
considerably.

An inexperienced user will likely give up altogether
trying to use such a command with `C-x ESC ESC', if
not give up on `C-x ESC ESC' entirely, through not
fully understanding.  And an experienced user has
the annoyance of having to edit the hard-coded values
to get the behavior expected.