Subject: RE: [External] : Re: bug#59559: 28.1; `minibuffer-with-setup-hook' with :append

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

(Didn't see your mail before I replied to Michael's.)

> How about just adding the obvious to the first sentence:
> 
>   Temporarily add function FUN to `minibuffer-setup-hook' while executing
>   BODY.

To me, that doesn't help at all.  And as you would
(usually) say, "function FUN" can just be replaced
by "FUNCTION" there.

Just saying that the first arg is a function doesn't
solve the problem.  What is the first arg, exactly?
Is it evaluated?

It's a sexp.  Either that sexp is a list `(:append F)',
in which case only F is evaluated, to provide the
function to add (append), or the entire FUN sexp is
evaluated to provide the function to add (prepend).

It's this unusual behavior that needs to be understood,
and thus described - in particular pointing out that
the arg isn't just evaluated to begin with.

> All the rest sounds clear to me, and I find the original text less
> confusing than your proposed change ("expression that should evaluate
> to a function"?).

Please see the text suggestions I proposed.  Somehow
we need to get across the unusual treatment of the
first arg.