Force async babel blocks to export synchronously
This commit is contained in:
parent
cd083bc059
commit
2ce726b318
1 changed files with 19 additions and 0 deletions
|
@ -201,6 +201,25 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default
|
||||||
;; I prefer C-c C-c over C-c ' (more consistent)
|
;; I prefer C-c C-c over C-c ' (more consistent)
|
||||||
(define-key org-src-mode-map (kbd "C-c C-c") #'org-edit-src-exit)
|
(define-key org-src-mode-map (kbd "C-c C-c") #'org-edit-src-exit)
|
||||||
|
|
||||||
|
;; Don't process babel results asynchronously when exporting org, as they
|
||||||
|
;; won't likely complete in time, and will instead output an ob-async hash
|
||||||
|
;; instead of the wanted evaluation results.
|
||||||
|
(after! ob
|
||||||
|
(add-to-list 'org-babel-default-lob-header-args '(:async . nil)))
|
||||||
|
|
||||||
|
(defadvice! +org-inhibit-async-babel-blocks-on-export-a (orig-fn &optional fn arg info params)
|
||||||
|
"Exporting org documents with async blocks will sometimes substitute
|
||||||
|
evaluation output with hashes in the exported document. This is because the
|
||||||
|
block is executed asynchronously, but the exporter doesn't wait for it to
|
||||||
|
finish. This advice forces babel blocks to not execute asychronously when being
|
||||||
|
exported."
|
||||||
|
:around #'ob-async-org-babel-execute-src-block
|
||||||
|
(let ((async (or (assoc :async params)
|
||||||
|
(assoc :async (nth 2 (or info (org-babel-get-src-block-info)))))))
|
||||||
|
(if (and async (null (cdr async)))
|
||||||
|
(funcall fn arg info params)
|
||||||
|
(funcall orig-fn fn arg info params))))
|
||||||
|
|
||||||
(defadvice! +org-fix-newline-and-indent-in-src-blocks-a (&optional indent _arg _interactive)
|
(defadvice! +org-fix-newline-and-indent-in-src-blocks-a (&optional indent _arg _interactive)
|
||||||
"Mimic `newline-and-indent' in src blocks w/ lang-appropriate indentation."
|
"Mimic `newline-and-indent' in src blocks w/ lang-appropriate indentation."
|
||||||
:after #'org-return
|
:after #'org-return
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue