summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAchim Gratz <Stromeko@Stromeko.DE>2014-05-03 10:12:10 +0200
committerAchim Gratz <Stromeko@Stromeko.DE>2014-05-03 10:12:10 +0200
commit063c8b03b733371ebae473225e0526c905264b4e (patch)
treecb8f8d3121435220415e6060a27b1309e7821b52
parenta52fcbf9882c3e61e1c786e11cfe01878b456e65 (diff)
downloadorg-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.el13
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)))