* Introduce `emacs-lisp-native-compile'.
* lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile): New command. (emacs-lisp-native-compile-and-load): Make use of.
This commit is contained in:
parent
063d7d89d7
commit
173af0cad5
1 changed files with 12 additions and 5 deletions
|
@ -221,6 +221,16 @@ All commands in `lisp-mode-shared-map' are inherited by this map."
|
||||||
(declare-function native-compile "comp")
|
(declare-function native-compile "comp")
|
||||||
(declare-function comp-write-bytecode-file "comp")
|
(declare-function comp-write-bytecode-file "comp")
|
||||||
|
|
||||||
|
(defun emacs-lisp-native-compile ()
|
||||||
|
"Native-compile synchronously the current file (if it has changed)."
|
||||||
|
(interactive nil emacs-lisp-mode)
|
||||||
|
(emacs-lisp--before-compile-buffer)
|
||||||
|
(let* ((byte+native-compile t)
|
||||||
|
(byte-to-native-output-buffer-file nil)
|
||||||
|
(eln (native-compile buffer-file-name)))
|
||||||
|
(when eln
|
||||||
|
(comp-write-bytecode-file eln))))
|
||||||
|
|
||||||
(defun emacs-lisp-native-compile-and-load ()
|
(defun emacs-lisp-native-compile-and-load ()
|
||||||
"Native-compile synchronously the current file (if it has changed).
|
"Native-compile synchronously the current file (if it has changed).
|
||||||
Load the compiled code when finished.
|
Load the compiled code when finished.
|
||||||
|
@ -229,11 +239,8 @@ Use `emacs-lisp-byte-compile-and-load' in combination with
|
||||||
`native-comp-jit-compilation' set to t to achieve asynchronous
|
`native-comp-jit-compilation' set to t to achieve asynchronous
|
||||||
native compilation."
|
native compilation."
|
||||||
(interactive nil emacs-lisp-mode)
|
(interactive nil emacs-lisp-mode)
|
||||||
(emacs-lisp--before-compile-buffer)
|
(when-let ((byte-file (emacs-lisp-native-compile)))
|
||||||
(let ((byte+native-compile t)
|
(load (file-name-sans-extension byte-file))))
|
||||||
(byte-to-native-output-buffer-file nil))
|
|
||||||
(when-let ((eln (native-compile buffer-file-name)))
|
|
||||||
(load (file-name-sans-extension (comp-write-bytecode-file eln))))))
|
|
||||||
|
|
||||||
(defun emacs-lisp-macroexpand ()
|
(defun emacs-lisp-macroexpand ()
|
||||||
"Macroexpand the form after point.
|
"Macroexpand the form after point.
|
||||||
|
|
Loading…
Add table
Reference in a new issue