From 063c8b03b733371ebae473225e0526c905264b4e Mon Sep 17 00:00:00 2001 From: Achim Gratz Date: Sat, 3 May 2014 10:12:10 +0200 Subject: [PATCH] ob-tangle: do not run make-directory with nil argument * lisp/ob-tangle.el (org-babel-tangle): When `file-name-directory' returns nil, do not run make-directory. Remove superfluous when clauses by using short-circuiting `and' instead. Thanks to R. Michael Weylandt for reporting the problem and offering a patch. http://permalink.gmane.org/gmane.emacs.orgmode/85749 http://permalink.gmane.org/gmane.emacs.orgmode/85774 --- lisp/ob-tangle.el | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index 37b2d92a8..3a43b42e3 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -225,13 +225,14 @@ used to limit the exported source code blocks by language." (concat base-name "." ext) base-name)))) (when file-name ;; Possibly create the parent directories for file. - (when (let ((m (funcall get-spec :mkdirp))) - (and m (not (string= m "no")))) - (make-directory (file-name-directory file-name) 'parents)) + (let ((m (funcall get-spec :mkdirp)) + (fnd (file-name-directory file-name))) + (and m fnd (not (string= m "no")) + (make-directory fnd 'parents))) ;; delete any old versions of file - (when (and (file-exists-p file-name) - (not (member file-name (mapcar #'car path-collector)))) - (delete-file file-name)) + (and (file-exists-p file-name) + (not (member file-name (mapcar #'car path-collector))) + (delete-file file-name)) ;; drop source-block to file (with-temp-buffer (when (fboundp lang-f) (ignore-errors (funcall lang-f))) -- 2.11.4.GIT