The problem with org-babel-post-tangle-hook is that user is always asked yes-or-no-p for file reversion. Calling auto revert (as Rainer tried) will not help.
The problem is in find-file-noselect in org-babel-find-file-noselect-refresh. The following patch fixes it by silencing find-file-noselect. Besides reversion question, there are a couple of other warning/questions that are silenced, but given that org-babel-find-file-noselect-refresh is used only for reverting tangled files, this is probably not an issue. Vitalie
>From 2f408019b940c7e3b742dd2941f725f97645b868 Mon Sep 17 00:00:00 2001 From: Vitalie Spinu <spinu...@gmail.com> Date: Fri, 7 Jun 2013 12:43:55 +0200 Subject: [PATCH] avoid file warnings in org-babel-post-tangle-hook * lisp/ob-tangle.el (org-babel-find-file-noselect-refresh): call find-file-noselect with 'nowarn argument to surpress yes-or-no-p reversion message. --- lisp/ob-tangle.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index 95d518a..82f2c10 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -114,7 +114,7 @@ result. The default value is `org-babel-trim'." (defun org-babel-find-file-noselect-refresh (file) "Find file ensuring that the latest changes on disk are represented in the file." - (find-file-noselect file) + (find-file-noselect file 'nowarn) (with-current-buffer (get-file-buffer file) (revert-buffer t t t))) -- 1.8.1.2
>> Rainer M Krug <rai...@krugs.de> >> on Fri, 07 Jun 2013 10:32:19 +0200 wrote: > Rainer M Krug <rai...@krugs.de> writes: > [snip (54 lines)] >>>>> ,---- >>>>> | (defvar org-babel-tangled-file nil >>>>> | "If non-nill, current file was tangled with org-babel-tangle") >>>>> | (put 'org-babel-tangled-file 'safe-local-variable 'booleanp) >>>>> | >>>>> | (defun org-babel-mark-file-as-tangled () >>>>> | (add-file-local-variable 'org-babel-tangled-file t) >>>>> | (basic-save-buffer)) >>>>> | >>>>> | (add-hook 'org-babel-post-tangle-hook >>>>> 'org-babel-mark-file-as-tangled) >>>>> `---- >>>>> >>> >>> I think the above code should be considered an implementation rather >>> than simply a test. This is exactly what the post-tangle hook is >>> intended to support. Is there a motivating reason for this behavior to >>> be "built in"? >> >> As pointed out, I think the possibility to easily add local variables to >> the tangled file, will be valuable. I would opt for an the buil-in >> option, as this could e.g. be used to set the file read-only in emacs, >> adding svn information, etc. >> >> This could be achieved by supplying one variable containing strings, >> which contains the names of the local variables to be added and their >> values. >> >> For the time being, I will add the suggested code to my emacs.org. > I stumbled upon one problem, though: I want to mame the tengled file, > when nopened in emacs, to have the minor mode auto-revert-mode. So I did > the following, which obviously did not work: > ,---- > | (defvar org-babel-tangled-file nil > | "If non-nill, current file was tangled with org-babel-tangle") > | (put 'org-babel-tangled-file 'safe-local-variable 'booleanp) > | > | (defun org-babel-mark-file-as-tangled () > | (add-file-local-variable 'org-babel-tangled-file t) > | (add-file-local-variable 'buffer-read-only t) > | (add-file-local-variable 'eval: (auto-revert-mode)) > | (basic-save-buffer)) > | > | (add-hook 'org-babel-post-tangle-hook 'org-babel-mark-file-as-tangled) > `---- > So is tere a way, of adding the line > ,---- > | eval: (auto-revert-mode) > `---- > to the file local variables, so that emacs sutomatically enables > auto-revert-mode? > Thanks, > Rainer >> >>> >> > [snip (38 lines)]