Subject: bug#21963: Spurious byte compile message: "Warning: the function `bar' might not be defined at runtime."

From: Eli Zaretskii <[email-masked]>
Date: Fri, 20 Nov 2015 16:48:13 +0200

> Date: Fri, 20 Nov 2015 11:40:50 +0000
> Cc: [email-masked]
> From: Alan Mackenzie <[email-masked]>
> 
> > eval-when-compile has no effect at run time, and the warning is
> > explicitly about what might happen at runtime.
> 
> > IOW, I don't think this is a bug.
> 
> It is, at the very least, puzzling behaviour.  The warning is issued for
> a function that most definitely has been defined at runtime.

No, it was not (or, more accurately, will not be).  'eval-when-compile'
does nothing to make sure it will be defined at runtime; you need
either 'require' or 'eval-and-compile'.