emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Native Compile: Example Of Possibly Spurious Warning


From: Eli Zaretskii
Subject: Re: Native Compile: Example Of Possibly Spurious Warning
Date: Mon, 17 May 2021 09:01:54 +0300

> From: "T.V Raman" <raman@google.com>
> Date: Sun, 16 May 2021 13:51:02 -0700 (PDT)
> 
> Here is an example.
> 
> eak/lisp/emacspeak-preamble.el: Error: Symbol's value as variable is
> void emacspeak-user-directory Disable showing Disable logging
> The above file contains this innocent looking defvar:
> (defvar emacspeak-user-directory (expand-file-name "~/.emacspeak/")
> "Emacspeak resources, e.g. pronunciation dicts.")
> 
> The only library it has required at that point is cl-lib
> 
> In the running emacs, the variable emacspeak-user-directory has the
> expected value:
> "/home/raman/.emacspeak/"
> 
> So why the warning above?

How can we know without seeing the Lisp source file(s) relevant to
this compilation?  The answer is somewhere in those files.

In general, native-compilation runs in a separate process that doesn't
inherit the environment and loaded packages of your interactive
session, so it is more sensitive to problems than when you
byte-compile the same source from your interactive session.  In
particular, the Emacs sub-process that runs native-compilation is run
in the batch mode, which doesn't load your init files.

So you could try byte-compiling the same file from the shell prompt in
batch mode, as an approximation to what native-compilation does; any
warning or error you see in this batch byte-compilation will also
happen in the async native-compilation.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]