From 00ea6a286c948dfefbbd6e87e6d159e5ea8d17fc Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Dec 2016 00:59:08 +0100 Subject: [PATCH] ob-tangle: Fix last commit * lisp/ob-tangle.el (org-babel-tangle-single-block): `org-babel-expand-noweb-references' specifically needs to be run in the Org document so as to resolve references. * testing/lisp/test-ob-tangle.el (ob-tangle/continued-code-blocks-w-noweb-ref): Make sure a failing test doesn't leave a file behind it. --- lisp/ob-tangle.el | 28 ++++++++++++++-------------- testing/lisp/test-ob-tangle.el | 11 ++++++----- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index 87b708ccc..a5e18a82f 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -442,25 +442,25 @@ non-nil, return the full association list to be used by (intern (concat "org-babel-variable-assignments:" src-lang))) (body ;; Run the tangle-body-hook. - (with-temp-buffer - (insert - ;; Expand body in language specific manner. - (let ((body (if (org-babel-noweb-p params :tangle) - (org-babel-expand-noweb-references info) - (nth 1 info)))) + (let ((body (if (org-babel-noweb-p params :tangle) + (org-babel-expand-noweb-references info) + (nth 1 info)))) + (with-temp-buffer + (insert + ;; Expand body in language specific manner. (cond ((assq :no-expand params) body) ((fboundp expand-cmd) (funcall expand-cmd body params)) (t (org-babel-expand-body:generic body params (and (fboundp assignments-cmd) - (funcall assignments-cmd params))))))) - (when (string-match "-r" extra) - (goto-char (point-min)) - (while (re-search-forward - (replace-regexp-in-string "%s" ".+" cref-fmt) nil t) - (replace-match ""))) - (run-hooks 'org-babel-tangle-body-hook) - (buffer-string))) + (funcall assignments-cmd params)))))) + (when (string-match "-r" extra) + (goto-char (point-min)) + (while (re-search-forward + (replace-regexp-in-string "%s" ".+" cref-fmt) nil t) + (replace-match ""))) + (run-hooks 'org-babel-tangle-body-hook) + (buffer-string)))) (comment (when (or (string= "both" (cdr (assq :comments params))) (string= "org" (cdr (assq :comments params)))) diff --git a/testing/lisp/test-ob-tangle.el b/testing/lisp/test-ob-tangle.el index a656c11eb..06a73f063 100644 --- a/testing/lisp/test-ob-tangle.el +++ b/testing/lisp/test-ob-tangle.el @@ -63,11 +63,12 @@ "df|sed '1d'|awk '{print $5 \" \" $6}'|sort -n |tail -1|awk '{print $2}'")) (org-narrow-to-subtree) (org-babel-tangle) - (with-temp-buffer - (insert-file-contents "babel.sh") - (goto-char (point-min)) - (should (re-search-forward (regexp-quote tangled) nil t))) - (delete-file "babel.sh")))) + (should (unwind-protect + (with-temp-buffer + (insert-file-contents "babel.sh") + (goto-char (point-min)) + (re-search-forward (regexp-quote tangled) nil t)) + (when (file-exists-p "babel.sh") (delete-file "babel.sh"))))))) (ert-deftest ob-tangle/expand-headers-as-noweb-references () "Test that references to headers are expanded during noweb expansion."