diff options
author | Achim Gratz <Stromeko@Stromeko.DE> | 2014-05-03 10:12:10 +0200 |
---|---|---|
committer | Achim Gratz <Stromeko@Stromeko.DE> | 2014-05-03 10:12:10 +0200 |
commit | 063c8b03b733371ebae473225e0526c905264b4e (patch) | |
tree | cb8f8d3121435220415e6060a27b1309e7821b52 | |
parent | a52fcbf9882c3e61e1c786e11cfe01878b456e65 (diff) | |
download | org-mode-063c8b03b733371ebae473225e0526c905264b4e.tar.gz |
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
-rw-r--r-- | lisp/ob-tangle.el | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index 37b2d92..3a43b42 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))) |