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

From: Noam Postavsky <[email-masked]>
Date: Fri, 24 Nov 2017 07:17:58 -0500

Eli Zaretskii <[email-masked]> writes:

>> To fix this, change `call-interactively' so that it checks compiled
>> functions for lexical-binding as well.  Then the byte-compiler can
>> preserve the source of interactive forms regardless of the value of
>> lexical-binding.
>
> Thanks.  If no objections are voiced to this approach, please push it
> to the master branch.  I think this is too radical for the release
> branch.

Hah, okay, but that was the conservative approach!  The radical one
would be resolving this FIXME:

    static void
    fix_command (Lisp_Object input, Lisp_Object values)
    {
      /* FIXME: Instead of this ugly hack, we should provide a way for an
         interactive spec to return an expression/function that will re-build the
         args without user intervention.  */

> P.S. Should this change be reflected in the ELisp manual somehow?

I don't see where.