On 14 Jan 2014, at 16:33, Nick Dokos <ndo...@gmail.com> wrote: > Carsten Dominik <carsten.domi...@gmail.com> writes: > >> Hi Eric, >> >> On Jan 14, 2014, at 3:03 PM, Eric S Fraga <e.fr...@ucl.ac.uk> wrote: >> >>> Hello, >>> >>> I constantly run into an annoying side effect of org's handling of >>> settings in a document. When writing a document for export, usually to >>> LaTeX, I find myself playing around with the document wide >>> setting variables, e.g. >>> >>> #+options: toc:nil >>> #+latex_header: \usepackage{tikz} >>> >>> and similar. Org requires me to re-load the document settings by >>> hitting C-c C-c on any such document setting line. This is fine. >>> >>> The problem is that org appears to reset *all* variables to default >>> (custom?) settings. This includes variables that have been set using >>> file local variables in the given document. Of particular note is the >>> variable ~org-export-allow-bind-keywords~. I normally have this set to >>> nil for safety reasons but wish to set this to t in some documents. I >>> use something like this quite often on documents I *know* are safe: >>> >>> ,---- >>> | # Local Variables: >>> | # org-confirm-babel-evaluate: nil >>> | # org-export-allow-bind-keywords: t >>> | # End: >>> `---- >>> >>> The problem is that hitting C-c C-c on a settings line clears these >>> variables. Having the bind one reset is particularly confusing at >>> times. In the end, I have to kill the buffer and re-visit the file to >>> have things set up properly. >>> >>> Is it possible to have org reload the whole file when reloading >>> settings? Or not reset any variables at all? Either approach would be >>> exhibit more consistent behaviour possibly? Obviously, the position in >>> the file would have to be remembered should the file be reloaded >>> automatically. >>> >>> This is not a major issue but a niggly one... >> >> Could you try the following patch? >> >> - Carsten >> >> diff --git a/lisp/org.el b/lisp/org.el >> index 549f1f8..6fca255 100644 >> --- a/lisp/org.el >> +++ b/lisp/org.el >> @@ -20482,11 +20482,9 @@ This command does many different things, depending >> on context: >> Also updates the keyword regular expressions." >> (interactive) >> ;; this will set the mode *and* set file local variables. >> - (normal-mode) >> - ;; but it may leave us in some unrelated mode >> - (unless (derived-mode-p "org-mode") >> - (org-mode)) >> - (message "Org-mode restarted")) >> + (funcall major-mode) >> + (hack-local-variables) >> + (message "Mode restarted")) > > > I thought this was fixed, originally with commit 5ea0228 > and after York Zhao found a problem (see the thread at > http://thread.gmane.org/gmane.emacs.orgmode/79187) > with commit 0911edfac881ab17a2cd1670f169ff4bdf1ac486 > and two subsequent commits by Achim to fix some problems: > > commit e655e664bff9fb6e98478682f03e713f990acba5 > commit f2483ec4bbe196ab29ef6312b0d7c1c179a9eafe > > Is this another maint vs master issue perhaps? > > Nick > >
Indeed, there were differences between maint and master. Now fixed in both. - Carsten