branch: externals-release/org commit aabcf9edf20013ff74e58d7e215530e02d98e8a8 Author: Nicolas Goaziou <m...@nicolasgoaziou.fr> Commit: Nicolas Goaziou <m...@nicolasgoaziou.fr>
ob-tangle: Ignore narrowing when tangling a file * lisp/ob-tangle.el (org-babel-tangle-file): Ignore narrowing in a buffer visiting the file being tangled. --- lisp/ob-tangle.el | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index 2dd1d03..8f57d73 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -179,15 +179,12 @@ source code blocks by languages matching a regular expression. Return a list whose CAR is the tangled file name." (interactive "fFile to tangle: \nP") - (let ((visited-p (find-buffer-visiting (expand-file-name file))) - to-be-removed) - (prog1 - (save-window-excursion - (find-file file) - (setq to-be-removed (current-buffer)) - (mapcar #'expand-file-name (org-babel-tangle nil target-file lang-re))) - (unless visited-p - (kill-buffer to-be-removed))))) + (let ((visited (find-buffer-visiting file)) + (buffer (or visited (find-file-noselect file)))) + (with-current-buffer buffer + (org-with-wide-buffer + (mapcar #'expand-file-name (org-babel-tangle nil target-file lang-re)))) + (unless visited (kill-buffer buffer)))) (defun org-babel-tangle-publish (_ filename pub-dir) "Tangle FILENAME and place the results in PUB-DIR."