summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorRobert Pluim <rpluim@gmail.com>2021-12-07 18:43:01 +0100
committerRobert Pluim <rpluim@gmail.com>2021-12-07 19:49:32 +0100
commitce5bca491344520cab2cdd998441761765fc66f3 (patch)
treed46d42dccd3b8f0d533026a3a5281c7af74f090b /doc
parent1933cd5307e1b6c628d2123533e27fc2bc436fcc (diff)
downloademacs-ce5bca491344520cab2cdd998441761765fc66f3.tar.gz
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.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/compile.texi12
1 files changed, 11 insertions, 1 deletions
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 523758c10f5..1ca1f66b95d 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -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