branch: externals/org
commit 478576749d4a73200f071cdf3c13159eb57d5fe9
Author: Antero Mejr <[email protected]>
Commit: Ihor Radchenko <[email protected]>

    Move files when using `org-babel-tangle-publish'
    
    * lisp/ob-tangle.el (org-babel-tangle-publish): Use `rename-file'
    instead of `copy-file' on tangled files.
    
    Fixes `copy-file' error when publishing to the current directory.
    Don't leave behind the old tangled files when publishing.
    
    Link: https://orgmode.org/list/[email protected]
---
 lisp/ob-tangle.el | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el
index b30fd92746..bd772928a2 100644
--- a/lisp/ob-tangle.el
+++ b/lisp/ob-tangle.el
@@ -219,7 +219,10 @@ Return list of the tangled file names."
   (unless (file-exists-p pub-dir)
     (make-directory pub-dir t))
   (setq pub-dir (file-name-as-directory pub-dir))
-  (mapc (lambda (el) (copy-file el pub-dir t)) (org-babel-tangle-file 
filename)))
+  ;; Rename files to avoid copying to same file when publishing to ./
+  ;; `copy-file' would throw an error when copying file to self.
+  (mapc (lambda (el) (rename-file el pub-dir t))
+        (org-babel-tangle-file filename)))
 
 ;;;###autoload
 (defun org-babel-tangle (&optional arg target-file lang-re)

Reply via email to