native-comp-available-p is the definitive test

* doc/lispref/compile.texi (Native Compilation): Document
native-comp-available-p as the way to test for native compilation.
* lisp/emacs-lisp/package.el (package--native-compile-async):
* test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines):
Test for native compilation with native-comp-available-p.

Thank you to Andrea Corallo for reviewing this patch.
This commit is contained in:
Stephen Gildea 2021-10-05 09:15:57 -07:00
parent 1b383ac424
commit d86b2e59c7
3 changed files with 3 additions and 5 deletions

View file

@ -811,8 +811,7 @@ for you to be able to native-compile Lisp code.
@vindex native-compile@r{, a Lisp feature}
To determine whether the current Emacs process can produce and load
natively-compiled Lisp code, test whether the @code{native-compile}
feature is available (@pxref{Named Features}). Alternatively, call
natively-compiled Lisp code, call
@code{native-comp-available-p} (@pxref{Native-Compilation Functions}).
Unlike byte-compiled code, natively-compiled Lisp code is executed

View file

@ -1081,8 +1081,7 @@ This assumes that `pkg-desc' has already been activated with
"Native compile installed package PKG-DESC asynchronously.
This assumes that `pkg-desc' has already been activated with
`package-activate-1'."
(when (and (featurep 'native-compile)
(native-comp-available-p))
(when (native-comp-available-p)
(let ((warning-minimum-level :error))
(native-compile-async (package-desc-dir pkg-desc) t))))

View file

@ -113,7 +113,7 @@ As `call-process'' and `file-directory-p' will be redefined, the
native compiler will invoke `call-process' to compile the
respective trampolines. To avoid interferences with the
`call-process' mocking we build these AOT."
(when (featurep 'native-compile)
(when (native-comp-available-p)
(mapc #'comp-subr-trampoline-install '(call-process file-directory-p))))
(defun mh-test-utils-setup-with-mocks ()