[emacs] add a/reload-init function for reloading the right init file
authorAmin Bandali <bandali@gnu.org>
Thu, 11 Apr 2019 15:00:46 +0000 (11:00 -0400)
committerAmin Bandali <bandali@gnu.org>
Thu, 11 Apr 2019 15:00:46 +0000 (11:00 -0400)
Based on radian-reload-init:
https://github.com/raxod502/straight.el/tree/aa2f612546815167f87dda835f8efaabf1264c7f#the-transaction-system

init.org

index 62341a9..ee75041 100644 (file)
--- a/init.org
+++ b/init.org
@@ -297,6 +297,20 @@ integration, we will define a =use-feature= for plain ole
      ,@args))
 #+end_src
 
      ,@args))
 #+end_src
 
+Also, here's a useful function for reloading the init file (useful
+after running =straight-check-all=:
+
+#+begin_src emacs-lisp
+(defun a/reload-init ()
+  "Reload init.el."
+  (interactive)
+  (straight-transaction
+    (straight-mark-transaction-as-init)
+    (load (if a/byte-compiled-init
+              (concat (file-name-sans-extension user-init-file) ".elc")
+            user-init-file))))
+#+end_src
+
 *** =use-package=
 
 #+begin_quote
 *** =use-package=
 
 #+begin_quote
@@ -820,7 +834,8 @@ While at it, let's bind a few for some =straight-*= functions too:
  ("f" . straight-freeze-versions)
  ("t" . straight-thaw-versions)
  ("P" . straight-prune-build)
  ("f" . straight-freeze-versions)
  ("t" . straight-thaw-versions)
  ("P" . straight-prune-build)
- ("r" . straight-get-recipe)
+ ("g" . straight-get-recipe)
+ ("r" . a/reload-init)
  ;; M-x ^straight-.*-all$
  ("a c" . straight-check-all)
  ("a f" . straight-fetch-all)
  ;; M-x ^straight-.*-all$
  ("a c" . straight-check-all)
  ("a f" . straight-fetch-all)