Document native-comp-async-report-warning-errors more

The docstring has a description of how fix problems in lisp code
detected by native compilation, but not the Emacs Lisp manual, so
document it there as well.

* doc/lispref/compile.texi (Native-Compilation Functions): Refer to
'native-comp-async-report-warning-errors'
(Native-Compilation Variables): Explain potential cause of warnings
from native compilation.
This commit is contained in:
Robert Pluim 2021-12-07 18:43:01 +01:00
parent 1933cd5307
commit ce5bca4913

View file

@ -924,7 +924,11 @@ of the main Emacs process. This leaves the main Emacs process free to
use while the compilation runs in the background. This is the method
used by Emacs to natively-compile any Lisp file or byte-compiled Lisp
file that is loaded into Emacs, when no natively-compiled file for it
is available.
is available. Note that because of this use of a subprocess, native
compilation may produce warning and errors which byte-compilation does
not, and lisp code may thus need to be modified to work correctly. See
@code{native-comp-async-report-warnings-errors} in @pxref{Native-Compilation
Variables} for more details.
@defun native-compile-async files &optional recursively load selector
This function compiles the named @var{files} asynchronously. The
@ -1038,6 +1042,12 @@ Emacs session in a buffer named @file{*Warnings*}. The default value
@code{t} means display the resulting buffer. To log warnings without
popping up the @file{*Warnings*} buffer, set this variable to
@code{silent}.
A common cause for asynchronous native-compilation to produce
warnings is compiling a file that is missing some @code{require} of a
necessary feature. The feature may be loaded into the main emacs, but
because native compilation always starts from a subprocess with a
pristine environment, that may not be true for the subprocess.
@end defopt
@defopt native-comp-async-query-on-exit