]> git.eshelyaron.com Git - emacs.git/commitdiff
Document native-comp-async-report-warning-errors more
authorRobert Pluim <rpluim@gmail.com>
Tue, 7 Dec 2021 17:43:01 +0000 (18:43 +0100)
committerRobert Pluim <rpluim@gmail.com>
Tue, 7 Dec 2021 18:49:32 +0000 (19:49 +0100)
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.

doc/lispref/compile.texi

index 523758c10f58561c0490b7d7b9bf0c6dee34b0f8..1ca1f66b95d62916b635b9343e9b8e17cc49b660 100644 (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