Subject: bug#23648: [PATCH] `defun-declarations-alist' can be unintentionally modified

From: Eli Zaretskii <[email-masked]>
Date: Mon, 18 Jul 2016 22:08:49 +0300

> From: Noam Postavsky <[email-masked]>
> Date: Mon, 18 Jul 2016 14:58:20 -0400
> Cc: Paul Pogonyshev <[email-masked]>, [email-masked]
> 
> >> Now move point to just after "indent" and type C-M-i (this gives
> >> message "Sole completion"), macroexpanding now gives
> >>
> >> (prog1
> >>     (defalias 'foo
> >>       #'(lambda nil nil))
> >>   "Warning: Unknown defun property `indent' in foo")
> >
> > Sorry, I'm not following: what do you mean by "macroexpanding" in this
> > context?
> 
> Calling macroexpand on the defun form. The most convenient method for
> testing is to put point at the closing bracket of the defun, and then
> `M-x pp-macroexpand-last-sexp'.
> 
> > When you wrote "when performing completion", I expected to
> > see some simple completion gesture that leads to an error, but it
> > sounds like I'm missing something.
> 
> The simple completion gesture would be the C-M-i I mentioned, which
> (silently) destroys the value of defun-declarations-alist. The
> symptoms of the wrong value can be seen when defun is macroexpanded.

Sorry, I guess I'm too stupid to understand this advanced stuff.  Or
maybe it's too late.

Thanks.