[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/inhibit-native-comp-cleanup c0681cd347 2/5: Revert "Add new vari
From: |
Andrea Corallo |
Subject: |
feature/inhibit-native-comp-cleanup c0681cd347 2/5: Revert "Add new variable 'inhibit-native-compilation'" |
Date: |
Mon, 13 Feb 2023 06:52:25 -0500 (EST) |
branch: feature/inhibit-native-comp-cleanup
commit c0681cd3477b6fce5e257ac720a32e09357ea157
Author: Andrea Corallo <akrl@sdf.org>
Commit: Andrea Corallo <akrl@sdf.org>
Revert "Add new variable 'inhibit-native-compilation'"
This reverts commit 5fec9182dbeffa88cef6651d8c798ef9665d6681.
---
doc/lispref/compile.texi | 18 ------------------
etc/NEWS | 8 --------
lisp/emacs-lisp/comp.el | 35 ++++++++++++++++-------------------
lisp/progmodes/elisp-mode.el | 2 +-
lisp/startup.el | 7 ++-----
lisp/subr.el | 3 ---
src/comp.c | 8 --------
7 files changed, 19 insertions(+), 62 deletions(-)
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 8bb079b65d..0617b9c533 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -981,24 +981,6 @@ whether native-compilation is available should use this
predicate.
This section documents the variables that control
native-compilation.
-@defvar inhibit-native-compilation
-If your Emacs has support for native compilation, Emacs will (by
-default) compile the Lisp files you're loading in the background, and
-then install the native-compiled versions of the functions. If you
-wish to disable this, you can set this variable to non-@code{nil}. If
-you want to set it permanently, this should probably be done from the
-early init file, since setting it in the normal init file is probably
-too late.
-
-While setting this variable disables automatic compilation of Lisp
-files, the compiler may still be invoked to install @dfn{trampolines}
-if any built-in functions are redefined. However, these trampolines
-will not get written to your cache directory.
-
-You can also use the @samp{EMACS_INHIBIT_NATIVE_COMPILATION}
-environment variable to disable native compilation.
-@end defvar
-
@defopt native-comp-speed
This variable specifies the optimization level for native compilation.
Its value should be a number between @minus{}1 and 3. Values between
diff --git a/etc/NEWS b/etc/NEWS
index 5ce18872f1..8f344aa576 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -199,14 +199,6 @@ load time.
** Native Compilation
+++
-*** New variable 'inhibit-native-compilation'.
-If set, Emacs will inhibit native compilation (and won't write
-anything to the eln cache automatically). The variable is initialised
-from the EMACS_INHIBIT_NATIVE_COMPILATION environment variable on
-Emacs startup.
-
-
----
*** New command 'native-compile-prune-cache'.
This command deletes old subdirectories of the eln cache (but not the
ones for the current Emacs version). Note that subdirectories of the
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index ab6c8a8ea9..828e31c43b 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -3803,25 +3803,22 @@ Return the trampoline if found or nil otherwise."
(lexical-binding t))
(comp--native-compile
form nil
- ;; If we've disabled nativecomp, don't write the trampolines to
- ;; the eln cache (but create them).
- (and (not inhibit-native-compilation)
- (cl-loop
- for dir in (if native-compile-target-directory
- (list (expand-file-name comp-native-version-dir
-
native-compile-target-directory))
- (comp-eln-load-path-eff))
- for f = (expand-file-name
- (comp-trampoline-filename subr-name)
- dir)
- unless (file-exists-p dir)
- do (ignore-errors
- (make-directory dir t)
- (cl-return f))
- when (file-writable-p f)
- do (cl-return f)
- finally (error "Cannot find suitable directory for output in \
-`native-comp-eln-load-path'"))))))
+ (cl-loop
+ for dir in (if native-compile-target-directory
+ (list (expand-file-name comp-native-version-dir
+ native-compile-target-directory))
+ (comp-eln-load-path-eff))
+ for f = (expand-file-name
+ (comp-trampoline-filename subr-name)
+ dir)
+ unless (file-exists-p dir)
+ do (ignore-errors
+ (make-directory dir t)
+ (cl-return f))
+ when (file-writable-p f)
+ do (cl-return f)
+ finally (error "Cannot find suitable directory for output in \
+`native-comp-eln-load-path'")))))
;; Some entry point support code.
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 7ba2c38cb7..ba1183f686 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -220,7 +220,7 @@ All commands in `lisp-mode-shared-map' are inherited by
this map."
Load the compiled code when finished.
Use `emacs-lisp-byte-compile-and-load' in combination with
-`inhibit-native-compilation' set to nil to achieve asynchronous
+`native-comp-deferred-compilation' set to t to achieve asynchronous
native compilation."
(interactive nil emacs-lisp-mode)
(emacs-lisp--before-compile-buffer)
diff --git a/lisp/startup.el b/lisp/startup.el
index b0a8eed9d3..240cfa3009 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -542,7 +542,7 @@ DIRS are relative."
(setq comp--compilable t))
(defvar native-comp-eln-load-path)
-(defvar inhibit-native-compilation)
+(defvar native-comp-deferred-compilation)
(defvar comp-enable-subr-trampolines)
(defvar startup--original-eln-load-path nil
@@ -579,9 +579,6 @@ the updated value."
It sets `command-line-processed', processes the command-line,
reads the initialization files, etc.
It is the default value of the variable `top-level'."
- ;; Allow disabling automatic .elc->.eln processing.
- (setq inhibit-native-compilation (getenv "EMACS_INHIBIT_NATIVE_COMPILATION"))
-
(if command-line-processed
(message internal--top-level-message)
(setq command-line-processed t)
@@ -600,7 +597,7 @@ It is the default value of the variable `top-level'."
;; in this session. This is necessary if libgccjit is not
;; available on MS-Windows, but Emacs was built with
;; native-compilation support.
- (setq inhibit-native-compilation t
+ (setq native-comp-deferred-compilation nil
comp-enable-subr-trampolines nil))
;; Form `native-comp-eln-load-path'.
diff --git a/lisp/subr.el b/lisp/subr.el
index 6282abc1b1..a56aeab724 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1894,9 +1894,6 @@ activations. To prevent runaway recursion, use
`max-lisp-eval-depth'
instead; it will indirectly limit the specpdl stack size as well.")
(make-obsolete-variable 'max-specpdl-size nil "29.1")
-(make-obsolete-variable 'native-comp-deferred-compilation
- 'inhibit-native-compilation "29.1")
-
;;;; Alternate names for functions - these are not being phased out.
diff --git a/src/comp.c b/src/comp.c
index 88b871aaae..7d67995fa8 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -5174,7 +5174,6 @@ maybe_defer_native_compilation (Lisp_Object function_name,
return;
if (!native_comp_deferred_compilation
- || !NILP (Vinhibit_native_compilation)
|| noninteractive
|| !NILP (Vpurify_flag)
|| !COMPILEDP (definition)
@@ -5678,13 +5677,6 @@ For internal use. */);
doc: /* Non-nil when comp.el can be native compiled.
For internal use. */);
/* Compiler control customizes. */
- DEFVAR_LISP ("inhibit-native-compilation", Vinhibit_native_compilation,
- doc: /* If non-nil, inhibit automatic native compilation of
loaded .elc files.
-
-After compilation, each function definition is updated to the native
-compiled one. */);
- Vinhibit_native_compilation = Qnil;
-
DEFVAR_BOOL ("native-comp-deferred-compilation",
native_comp_deferred_compilation,
doc: /* If non-nil compile loaded .elc files asynchronously.