summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2017-09-28 23:04:54 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2017-09-28 23:04:54 +0200
commitc1c5786c8ad8c841cb805a12439cf572c7bbd966 (patch)
tree450ecb667d162ea7622c030bb1f08835a8826010
parentd417eac7ee9fb559cf441359985c104210ee3d20 (diff)
downloadorg-mode-c1c5786c8ad8c841cb805a12439cf572c7bbd966.tar.gz
ob-lob: Expand blocks before ingesting them
* lisp/ob-lob.el (org-babel-lob-ingest): Expand blocks before ingesting them. Reported-by: edgar@openmail.cc <http://lists.gnu.org/archive/html/emacs-orgmode/2017-09/msg00361.html>
-rw-r--r--lisp/ob-lob.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/ob-lob.el b/lisp/ob-lob.el
index 8a52b57..13f728f 100644
--- a/lisp/ob-lob.el
+++ b/lisp/ob-lob.el
@@ -53,11 +53,15 @@ should not be inherited from a source block.")
(let* ((info (org-babel-get-src-block-info 'light))
(source-name (nth 4 info)))
(when source-name
- (setq source-name (intern source-name)
- org-babel-library-of-babel
- (cons (cons source-name info)
- (assq-delete-all source-name org-babel-library-of-babel))
- lob-ingest-count (1+ lob-ingest-count)))))
+ (setf (nth 1 info)
+ (if (org-babel-noweb-p (nth 2 info) :eval)
+ (org-babel-expand-noweb-references info)
+ (nth 1 info)))
+ (let ((source (intern source-name)))
+ (setq org-babel-library-of-babel
+ (cons (cons source info)
+ (assq-delete-all source org-babel-library-of-babel))))
+ (cl-incf lob-ingest-count))))
(message "%d src block%s added to Library of Babel"
lob-ingest-count (if (> lob-ingest-count 1) "s" ""))
lob-ingest-count))