mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2025-01-29 20:35:02 +00:00
ob-tangle: fixed bug, org-babel-post-tangle-hook was using an undefined macro
* lisp/ob-tangle.el (org-babel-with-temp-filebuffer): a macro for quickly visiting files with cleanup (org-babel-tangle): now using the locally defined with-temp-filebuffer macro
This commit is contained in:
parent
a3dfb1c626
commit
a503e031fb
@ -34,7 +34,6 @@
|
||||
|
||||
(declare-function org-link-escape "org" (text &optional table))
|
||||
(declare-function org-heading-components "org" ())
|
||||
(declare-function with-temp-filebuffer "org-interaction" (file &rest body))
|
||||
|
||||
(defcustom org-babel-tangle-lang-exts
|
||||
'(("emacs-lisp" . "el"))
|
||||
@ -54,6 +53,20 @@ then the name of the language is used."
|
||||
:group 'org-babel
|
||||
:type 'hook)
|
||||
|
||||
(defmacro org-babel-with-temp-filebuffer (file &rest body)
|
||||
"Open FILE into a temporary buffer execute BODY there like
|
||||
`progn', then kill the FILE buffer returning the result of
|
||||
evaluating BODY."
|
||||
(declare (indent 1))
|
||||
(let ((temp-result (make-symbol "temp-result"))
|
||||
(temp-file (make-symbol "temp-file")))
|
||||
`(let (,temp-result ,temp-file)
|
||||
(find-file ,file)
|
||||
(setf ,temp-file (current-buffer))
|
||||
(setf ,temp-result (progn ,@body))
|
||||
(kill-buffer ,temp-file)
|
||||
,temp-result)))
|
||||
|
||||
;;;###autoload
|
||||
(defun org-babel-load-file (file)
|
||||
"Load Emacs Lisp source code blocks in the Org-mode FILE.
|
||||
@ -176,7 +189,7 @@ exported source code blocks by language."
|
||||
(when org-babel-post-tangle-hook
|
||||
(mapc
|
||||
(lambda (file)
|
||||
(with-temp-filebuffer file
|
||||
(org-babel-with-temp-filebuffer file
|
||||
(run-hooks 'org-babel-post-tangle-hook)))
|
||||
path-collector))
|
||||
path-collector)))
|
||||
|
Loading…
Reference in New Issue
Block a user