emacs-diffs
[Top][All Lists]
Advanced

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

emacs-28 ce5bca4: Document native-comp-async-report-warning-errors more


From: Robert Pluim
Subject: emacs-28 ce5bca4: Document native-comp-async-report-warning-errors more
Date: Tue, 7 Dec 2021 13:49:51 -0500 (EST)

branch: emacs-28
commit ce5bca491344520cab2cdd998441761765fc66f3
Author: Robert Pluim <rpluim@gmail.com>
Commit: Robert Pluim <rpluim@gmail.com>

    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.
---
 doc/lispref/compile.texi | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 523758c..1ca1f66 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



reply via email to

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