all repos — archive/dotfiles @ 10f81ec220477c7b8c7ea637639f78e90c7a4c3e

Superseded by nixfiles

Emacs: Add sync version of tangle-init
Alan Pearce alan@alanpearce.co.uk
Sat, 09 Jan 2016 17:46:23 +0100
commit

10f81ec220477c7b8c7ea637639f78e90c7a4c3e

parent

e3c5528891c42d23849d299fd5255f352d821b93

1 files changed, 14 insertions(+), 0 deletions(-)

jump to
M tag-emacs/emacs.d/init.orgtag-emacs/emacs.d/init.org
@@ -2462,6 +2462,20 @@ (use-package async     :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."