summaryrefslogtreecommitdiffhomepage
path: root/init.org
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2021-10-25 21:55:44 +0100
committerjao <jao@gnu.org>2021-10-25 21:55:44 +0100
commit091da4191417e8f1d2cb8debe0233fb317ef5729 (patch)
tree9bbcc3f9f3ab382ef8c936ce37b6499ee7bde64d /init.org
parent00afd31d4d2809c807b066653439033766be1615 (diff)
downloadelibs-091da4191417e8f1d2cb8debe0233fb317ef5729.tar.gz
elibs-091da4191417e8f1d2cb8debe0233fb317ef5729.tar.bz2
missing elisp spicy helper
Diffstat (limited to 'init.org')
-rw-r--r--init.org14
1 files changed, 14 insertions, 0 deletions
diff --git a/init.org b/init.org
index 2043a56..5b250fa 100644
--- a/init.org
+++ b/init.org
@@ -2269,6 +2269,20 @@
(message "Symbol not bound: %S" symbol)))))
(t (message "No symbol at point"))))
+
+ (defun elisp-bytecompile-and-load ()
+ (interactive)
+ (or buffer-file-name
+ (error "The buffer must be saved in a file first"))
+ (require 'bytecomp)
+ ;; Recompile if file or buffer has changed since last compilation.
+ (when (and (buffer-modified-p)
+ (y-or-n-p (format "save buffer %s first? " (buffer-name))))
+ (save-buffer))
+ (let ((filename (expand-file-name buffer-file-name)))
+ (with-temp-buffer
+ (byte-compile-file filename t))))
+
(use-package elisp-mode
:bind (:map emacs-lisp-mode-map
(("C-c C-m" . elisp-macroexpand)