Subject: bug#59559: 28.1; `minibuffer-with-setup-hook' with :append

From: Drew Adams <[email-masked]>
Date: Sat, 21 Jan 2023 18:57:45 +0000

> > The (valid, IMO) request was about the (:append FUN1) part: is this the
> > s-expr to specify, or should the FUN arg evaluate to such a list?  Not
> > clear from the original docstring.
> 
> I don't see why.  We say stuff like "argument of the form (FOO BAR)"
> in gazillion places, 

Precisely.  And we don't say that here.  See my
suggestion that says exactly that.  That's _one_
of the possible forms of the argument sexp.  IF
it has that form (:append F) THEN F is evaluated
to give the function that's added.  OTHERWISE
the whole sexp arg is evaluated to give the
function that's added.

This kind of thing is _not_ done in a gazillion
places.

> and I see no reason why this one place should be
> singled out.

The behavior is quite unusual; that's why.

> > I'm happy if you or Drew want to suggest a better wording.
> 
> I already did.

I don't think what you suggested changes/adds anything.
You just changed "FUN" to "function FUN", no?  The
problem isn't understanding that arg as providing the
function to add to the hook.  The problem is to get
that FUN isn't simply evaluated and it isn't simply
_not_ evaluated.  It's either a sexp of a certain form
or it's not, and the treatment of it is different in 
those two cases.