From 0f5a2fb0754d3a0429b05060d7e22bc2313a5f2b Mon Sep 17 00:00:00 2001 From: Eric Schulte Date: Fri, 9 Jul 2010 09:43:30 -0700 Subject: [PATCH] ob-tangle: fixed recently introduced issue with org-babel-load-file * lisp/ob-tangle.el (org-babel-tangle): applying optional target-file argument through integration into the default header arguments (allowing overwriting through standard header-argument merging), and allowing a default setting of (:tangle . "no") to be overwritten when a target-file is specified. --- lisp/ob-tangle.el | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index 9bf29bb47..7d140dbdb 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -105,6 +105,11 @@ exported source code blocks by language." (save-buffer) (save-excursion (let ((block-counter 0) + (org-babel-default-header-args + (if target-file + (org-babel-merge-params org-babel-default-header-args + (list (cons :tangle target-file))) + org-babel-default-header-args)) path-collector) (mapc ;; map over all languages (lambda (by-lang) @@ -126,13 +131,12 @@ exported source code blocks by language." (let* ((tangle (get-spec :tangle)) (she-bang ((lambda (sheb) (when (> (length sheb) 0) sheb)) (get-spec :shebang))) - (base-name (or (cond - ((string= "yes" tangle) - (file-name-sans-extension - (buffer-file-name))) - ((string= "no" tangle) nil) - ((> (length tangle) 0) tangle)) - target-file)) + (base-name (cond + ((string= "yes" tangle) + (file-name-sans-extension + (buffer-file-name))) + ((string= "no" tangle) nil) + ((> (length tangle) 0) tangle))) (file-name (when base-name ;; decide if we want to add ext to base-name (if (and ext (string= "yes" tangle))