]> code.delx.au - gnu-emacs/blobdiff - lisp/org/ob-tangle.el
; * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
[gnu-emacs] / lisp / org / ob-tangle.el
index 37b2d92a8cf405a56597c7813651ff29e5f23925..c0846f9cd82a2eabd1cd53a8fff7caad2437c0bd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ob-tangle.el --- extract source code from org-mode files
 
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
@@ -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)))