summary refs log tree commit diff stats
path: root/tag-emacs/emacs.d
diff options
context:
space:
mode:
Diffstat (limited to 'tag-emacs/emacs.d')
-rw-r--r--tag-emacs/emacs.d/init.org14
1 files changed, 14 insertions, 0 deletions
diff --git a/tag-emacs/emacs.d/init.org b/tag-emacs/emacs.d/init.org
index 410a18b..2c86143 100644
--- a/tag-emacs/emacs.d/init.org
+++ b/tag-emacs/emacs.d/init.org
@@ -2462,6 +2462,20 @@ the =org=-document after changes.
     :commands (async-start)
     :defer 2)
 
+  (defun tangle-init-sync ()
+    (interactive)
+    (when (string-suffix-p "init.org" (buffer-file-name))
+      (message "Tangling init")
+      ;; Avoid running hooks when tangling.
+      (let ((prog-mode-hook nil)
+            (dest (concat user-emacs-directory "init.el")))
+        (require 'ob-tangle)
+        (org-babel-tangle-file (buffer-file-name) dest)
+        (if (byte-compile-file dest)
+            dest
+          (with-current-buffer byte-compile-log-buffer
+            (buffer-string))))))
+
   (defun tangle-init ()
     "If the current buffer is 'init.org' the code-blocks are
       tangled, and the tangled file is compiled."