Subject: bug#69290: declare-function doesn't work when combined with --eval and -batch

From: Eli Zaretskii <[email-masked]>
Date: Tue, 20 Feb 2024 22:03:55 +0200

> From: Konstantin Kharlamov <[email-masked]>
> Cc: [email-masked]
> Date: Tue, 20 Feb 2024 22:56:01 +0300
> 
> On Tue, 2024-02-20 at 21:51 +0200, Eli Zaretskii wrote:
> > >     λ emacs -batch --eval '(declare-function hello nil)' -f batch-
> > > byte-compile test.el
> > > 
> > >     In end of data:
> > >     test.el:2:2: Warning: the function ‘hello’ is not known to be
> > > defined.
> > > 
> > > ## Expected
> > > 
> > > There's no warning
> > 
> > What does the doc string of declare-function tell you about its usage
> > and effect?
> 
> It says `Tell the byte-compiler that function FN is defined, in FILE`,
> and then FILE may be nil. In the context of the problem it seems the
> only thing that's relevant. There's a lot more text, but the rest of it
> just explains behavior of different parameters. Is there anything I'm
> missing?

Does --eval '(declare-function hello nil)' tell anything to the
byte-compiler?