Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Eric On 21/07/2010 18:50, Eric Schulte wrote: Hi Rainer, Thanks for your patience and persistence. I've pushed up what I believe should be a fix for this excess buffer movement. There still may be some issues with things like ess-load-file, but those can now optionally be squashed by wrapping your hook functions with `save-window-excursion' as shown. #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (save-window-excursion (ess-load-file (buffer-file-name) #+end_src Thanks a lot - I'll report back if I have still problems with it. That hook really makes my life much easier. Cheers, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: On 21/07/2010 09:49, Rainer M Krug wrote: On 21/07/2010 09:23, Rainer M Krug wrote: Hi Eric On 21/07/2010 00:41, Eric Schulte wrote: Hi Rainer, I see the problem. When ess-load-file is called an even number of times, it results in flip-flopped buffers. I'm not sure of a good Thanks for the clarification. solution here, aside from possibly tangling to a 3rd file, e.g. #+begin_src R :tangle /tmp/nothing.R y - 9 #+end_src to ensure a good final balance. Alternately you could try wrapping the ess-load-file call in save-window-excursion, which will inhibit it's ability to change buffers -- and result in the *R* window taking over your frame. #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (save-window-excursion (ess-load-file (buffer-file-name) #+end_src Sorry I can't be of more help. No problem - now I know where the problem is sitting and I might be able to work around it. Just an idea: if I could put an if statement in the hook, so that only when the buffer-file-name is a specific name, ess-load-file is called, I assume that it should work? I'll try that one out as well. It seems, that it has nothing to do with ess-load-file. I'll send you the file I am working on directly, as it is quite longish. I managed to reproduce the problem with the following org file: ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (message I'm in %s (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src What I did: 1) Opened a file containing the text above 2) evaluated the lisp code to set the hook 3) C-x 2 to create a second buffer which shows the same file 4) go to the top buffer and C-c C-v t to tangle - The top window is switching to a different buffer 5) reproducible here. 6) If I open to-load.r but make sure that both windows are displaying the .org buffer, it doesn't happen - only that the second buffer is switching to to-load.r 7) if to-load.r is not visited by a buffer but file2.R is, the switching is there again. Hope this helps, Rainer Cheers, Rainer Cheers and thanks, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi Eric I just discovered a switching of buffers when tangling the following org file with the new org-babel-post-tangle-hook. Otherwise it is working perfectly now. # ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src t #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src A second buffer will open with the R session. If you tangle a second time, these buffers are switching, i.e. where the .org buffer was is the R buffer and vice-versa. # - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkxH5XcACgkQoYgNqgF2egqEIQCdGs6S0J9McYwLOu5gecr8/QRu
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Eric On 21/07/2010 00:41, Eric Schulte wrote: Hi Rainer, I see the problem. When ess-load-file is called an even number of times, it results in flip-flopped buffers. I'm not sure of a good Thanks for the clarification. solution here, aside from possibly tangling to a 3rd file, e.g. #+begin_src R :tangle /tmp/nothing.R y - 9 #+end_src to ensure a good final balance. Alternately you could try wrapping the ess-load-file call in save-window-excursion, which will inhibit it's ability to change buffers -- and result in the *R* window taking over your frame. #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (save-window-excursion (ess-load-file (buffer-file-name) #+end_src Sorry I can't be of more help. No problem - now I know where the problem is sitting and I might be able to work around it. Just an idea: if I could put an if statement in the hook, so that only when the buffer-file-name is a specific name, ess-load-file is called, I assume that it should work? I'll try that one out as well. Cheers and thanks, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi Eric I just discovered a switching of buffers when tangling the following org file with the new org-babel-post-tangle-hook. Otherwise it is working perfectly now. # ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src t #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src A second buffer will open with the R session. If you tangle a second time, these buffers are switching, i.e. where the .org buffer was is the R buffer and vice-versa. # - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkxGoIUACgkQoYgNqgF2egq6/ACfWV1cv1tu1wlbsYH7oWubovwE WBkAn3/8N1CSEsY5L8lvLwUxllUEPw+u =RRhh -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 21/07/2010 09:23, Rainer M Krug wrote: Hi Eric On 21/07/2010 00:41, Eric Schulte wrote: Hi Rainer, I see the problem. When ess-load-file is called an even number of times, it results in flip-flopped buffers. I'm not sure of a good Thanks for the clarification. solution here, aside from possibly tangling to a 3rd file, e.g. #+begin_src R :tangle /tmp/nothing.R y - 9 #+end_src to ensure a good final balance. Alternately you could try wrapping the ess-load-file call in save-window-excursion, which will inhibit it's ability to change buffers -- and result in the *R* window taking over your frame. #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (save-window-excursion (ess-load-file (buffer-file-name) #+end_src Sorry I can't be of more help. No problem - now I know where the problem is sitting and I might be able to work around it. Just an idea: if I could put an if statement in the hook, so that only when the buffer-file-name is a specific name, ess-load-file is called, I assume that it should work? I'll try that one out as well. It seems, that it has nothing to do with ess-load-file. I'll send you the file I am working on directly, as it is quite longish. Cheers, Rainer Cheers and thanks, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi Eric I just discovered a switching of buffers when tangling the following org file with the new org-babel-post-tangle-hook. Otherwise it is working perfectly now. # ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src t #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src A second buffer will open with the R session. If you tangle a second time, these buffers are switching, i.e. where the .org buffer was is the R buffer and vice-versa. # - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkxGppYACgkQoYgNqgF2egomWQCghaDjANwwLdY3UJZGTwvxMLAJ sAkAoIgWdlbBAttshxWpJXDn8K7tQMgN =8NKQ -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 21/07/2010 09:49, Rainer M Krug wrote: On 21/07/2010 09:23, Rainer M Krug wrote: Hi Eric On 21/07/2010 00:41, Eric Schulte wrote: Hi Rainer, I see the problem. When ess-load-file is called an even number of times, it results in flip-flopped buffers. I'm not sure of a good Thanks for the clarification. solution here, aside from possibly tangling to a 3rd file, e.g. #+begin_src R :tangle /tmp/nothing.R y - 9 #+end_src to ensure a good final balance. Alternately you could try wrapping the ess-load-file call in save-window-excursion, which will inhibit it's ability to change buffers -- and result in the *R* window taking over your frame. #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (save-window-excursion (ess-load-file (buffer-file-name) #+end_src Sorry I can't be of more help. No problem - now I know where the problem is sitting and I might be able to work around it. Just an idea: if I could put an if statement in the hook, so that only when the buffer-file-name is a specific name, ess-load-file is called, I assume that it should work? I'll try that one out as well. It seems, that it has nothing to do with ess-load-file. I'll send you the file I am working on directly, as it is quite longish. I managed to reproduce the problem with the following org file: ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (message I'm in %s (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src What I did: 1) Opened a file containing the text above 2) evaluated the lisp code to set the hook 3) C-x 2 to create a second buffer which shows the same file 4) go to the top buffer and C-c C-v t to tangle - - The top window is switching to a different buffer 5) reproducible here. 6) If I open to-load.r but make sure that both windows are displaying the .org buffer, it doesn't happen - only that the second buffer is switching to to-load.r 7) if to-load.r is not visited by a buffer but file2.R is, the switching is there again. Hope this helps, Rainer Cheers, Rainer Cheers and thanks, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi Eric I just discovered a switching of buffers when tangling the following org file with the new org-babel-post-tangle-hook. Otherwise it is working perfectly now. # ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src t #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src A second buffer will open with the R session. If you tangle a second time, these buffers are switching, i.e. where the .org buffer was is the R buffer and vice-versa. # - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkxGqzUACgkQoYgNqgF2ego8igCggpPRsoeA6x9PzY+E3bMaG8lg gK0AnRn8nl1nj7vcWyO05jHgtUF3kMML =HsUM -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Hi Rainer, Thanks for your patience and persistence. I've pushed up what I believe should be a fix for this excess buffer movement. There still may be some issues with things like ess-load-file, but those can now optionally be squashed by wrapping your hook functions with `save-window-excursion' as shown. #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (save-window-excursion (ess-load-file (buffer-file-name) #+end_src Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: On 21/07/2010 09:49, Rainer M Krug wrote: On 21/07/2010 09:23, Rainer M Krug wrote: Hi Eric On 21/07/2010 00:41, Eric Schulte wrote: Hi Rainer, I see the problem. When ess-load-file is called an even number of times, it results in flip-flopped buffers. I'm not sure of a good Thanks for the clarification. solution here, aside from possibly tangling to a 3rd file, e.g. #+begin_src R :tangle /tmp/nothing.R y - 9 #+end_src to ensure a good final balance. Alternately you could try wrapping the ess-load-file call in save-window-excursion, which will inhibit it's ability to change buffers -- and result in the *R* window taking over your frame. #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (save-window-excursion (ess-load-file (buffer-file-name) #+end_src Sorry I can't be of more help. No problem - now I know where the problem is sitting and I might be able to work around it. Just an idea: if I could put an if statement in the hook, so that only when the buffer-file-name is a specific name, ess-load-file is called, I assume that it should work? I'll try that one out as well. It seems, that it has nothing to do with ess-load-file. I'll send you the file I am working on directly, as it is quite longish. I managed to reproduce the problem with the following org file: ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (message I'm in %s (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src What I did: 1) Opened a file containing the text above 2) evaluated the lisp code to set the hook 3) C-x 2 to create a second buffer which shows the same file 4) go to the top buffer and C-c C-v t to tangle - The top window is switching to a different buffer 5) reproducible here. 6) If I open to-load.r but make sure that both windows are displaying the .org buffer, it doesn't happen - only that the second buffer is switching to to-load.r 7) if to-load.r is not visited by a buffer but file2.R is, the switching is there again. Hope this helps, Rainer Cheers, Rainer Cheers and thanks, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi Eric I just discovered a switching of buffers when tangling the following org file with the new org-babel-post-tangle-hook. Otherwise it is working perfectly now. # ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src t #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src A second buffer will open with the R session. If you tangle a second time, these buffers are switching, i.e. where the .org buffer was is the R buffer and vice-versa. # ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Eric I just discovered a switching of buffers when tangling the following org file with the new org-babel-post-tangle-hook. Otherwise it is working perfectly now. # ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src t #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src A second buffer will open with the R session. If you tangle a second time, these buffers are switching, i.e. where the .org buffer was is the R buffer and vice-versa. # - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkxFVosACgkQoYgNqgF2egpctwCfVc6cKfOYQ0P6xhoZfM3LGpxc ZZcAoIGUfXWtrm0n7EAVxT4v5/QbouI8 =UFZe -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Hi Rainer, I see the problem. When ess-load-file is called an even number of times, it results in flip-flopped buffers. I'm not sure of a good solution here, aside from possibly tangling to a 3rd file, e.g. #+begin_src R :tangle /tmp/nothing.R y - 9 #+end_src to ensure a good final balance. Alternately you could try wrapping the ess-load-file call in save-window-excursion, which will inhibit it's ability to change buffers -- and result in the *R* window taking over your frame. #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (save-window-excursion (ess-load-file (buffer-file-name) #+end_src Sorry I can't be of more help. Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi Eric I just discovered a switching of buffers when tangling the following org file with the new org-babel-post-tangle-hook. Otherwise it is working perfectly now. # ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src t #+begin_src R y - 9 #+end_src #+begin_src R :tangle file2.R y - 9 #+end_src A second buffer will open with the R session. If you tangle a second time, these buffers are switching, i.e. where the .org buffer was is the R buffer and vice-versa. # ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 17/07/2010 00:58, Eric Schulte wrote: Hi Rainer, I've just pushed up a fix for the org-babel-post-tangle-hook. With a minimal org-babel configuration, if I open the following file. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (message I'm in %s (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- evaluate the emacs-lisp code block to initialize my post-tangle-hook, and then tangle the very same file, I see the following in my messages buffer, indicating that the correct file is now being visited. --8---cut here---start-8--- Wrote /home/eschulte/Desktop/to-load.r [2 times] tangled 2 code blocks I'm in /home/eschulte/Desktop/to-load.r --8---cut here---end---8--- Hopefully this will now work for you as well. Great - thanks a lot - it does. I especially like the idea of putting the setting of the hook in the .org file - I had it in my emacs.org, but it is MUCH nicer to have it in the .org file. Cheers and thanks a lot, Rainer Thanks -- Eric Rainer M Krug r.m.k...@gmail.com writes: On 13/07/2010 10:14, Dr Rainer M Krug wrote: On 12/07/2010 19:51, Eric Schulte wrote: Rainer M Krug r.m.k...@gmail.com writes: Hi Eric, On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte schulte.e...@gmail.com wrote: Hi Rainer, Rainer M Krug r.m.k...@gmail.com writes: On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte schulte.e...@gmail.com wrote: [...] (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Unfortunately, this does not work. I put the code above into my emacs.organd nothing happens - not even an error message. I tried to use the C-h v to customise the variable, but I don't manage it. If the variable isn't registered with C-h v, then it sounds like maybe you need to update Org-mode, and/or re-run make clean make. OK - that is working now. In addition, The filename for es-load-file shoud not be the buffer name, but the buffer name with the extension replaced with R. `buffer-file-name', returns the name of the file that the buffer is visiting, so wouldn't this already be the case if the filename ends with .R? Isn't the buffer from which I am tangling the org buffer, and not the result from the tangling? (see below for further remarks. No this hook is run from /within/ a buffer visiting the file of tangled code, so in the example hook function above (buffer-file-name) will equal the name of the file of tangled R code. From your later message it looks like the issues below have been resolved. Thanks a lot for a very useful addition, and I will see abut the buffer-name and come back if it is still the org-file buffer for me, I finally tried it out, and it is still the same: when I tangle an org file, for the hook as defined above, buffer-file-name is the org file. Cheers, Raienr Rainer Best -- Eric This minimal example with the hook defined as above works for me. After tangling I can jump to the *R* buffer where both x and y are defined. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- Not here - Emacs and org-mode version: GNU Emacs 23.2.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) Org-mode version 6.36trans (release_6.36.603.g227b) 1) if no R process is running, I get the following message: ess-start-process-specific: No ESS processes running; not yet implemented to start (Initial,nil) No problem 0 I can start an R process manually. 2) when an R session is running, I get the following error message from ESS: Errors: Use C-c ` to find error. Symbol's function definition is void: with-temp-filebuffer and from ESS: Error in source(/home/rkrug/tmp/R.org) : /home/rkrug/tmp/R.org:1:1: unexpected '^' 1: ** it seems to submit the org file (the buffer is saved as R.org) to R. So buffer-file-name should actually be replaced with the name from the file name resulting from the tangling, in the easiest case (which would be fine with me) the org buffer name with .org replaced with .R. So I did the following (my firs elisp code!): (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (replace-regexp-in-string .org .R buffer-file-name and it is working - except that I still get the Symbol's function
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Hi Rainer, I've just pushed up a fix for the org-babel-post-tangle-hook. With a minimal org-babel configuration, if I open the following file. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: evaluate this #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-post-tangle-hook (lambda () (message I'm in %s (buffer-file-name #+end_src then tangle #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- evaluate the emacs-lisp code block to initialize my post-tangle-hook, and then tangle the very same file, I see the following in my messages buffer, indicating that the correct file is now being visited. --8---cut here---start-8--- Wrote /home/eschulte/Desktop/to-load.r [2 times] tangled 2 code blocks I'm in /home/eschulte/Desktop/to-load.r --8---cut here---end---8--- Hopefully this will now work for you as well. Thanks -- Eric Rainer M Krug r.m.k...@gmail.com writes: On 13/07/2010 10:14, Dr Rainer M Krug wrote: On 12/07/2010 19:51, Eric Schulte wrote: Rainer M Krug r.m.k...@gmail.com writes: Hi Eric, On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte schulte.e...@gmail.com wrote: Hi Rainer, Rainer M Krug r.m.k...@gmail.com writes: On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte schulte.e...@gmail.com wrote: [...] (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Unfortunately, this does not work. I put the code above into my emacs.organd nothing happens - not even an error message. I tried to use the C-h v to customise the variable, but I don't manage it. If the variable isn't registered with C-h v, then it sounds like maybe you need to update Org-mode, and/or re-run make clean make. OK - that is working now. In addition, The filename for es-load-file shoud not be the buffer name, but the buffer name with the extension replaced with R. `buffer-file-name', returns the name of the file that the buffer is visiting, so wouldn't this already be the case if the filename ends with .R? Isn't the buffer from which I am tangling the org buffer, and not the result from the tangling? (see below for further remarks. No this hook is run from /within/ a buffer visiting the file of tangled code, so in the example hook function above (buffer-file-name) will equal the name of the file of tangled R code. From your later message it looks like the issues below have been resolved. Thanks a lot for a very useful addition, and I will see abut the buffer-name and come back if it is still the org-file buffer for me, I finally tried it out, and it is still the same: when I tangle an org file, for the hook as defined above, buffer-file-name is the org file. Cheers, Raienr Rainer Best -- Eric This minimal example with the hook defined as above works for me. After tangling I can jump to the *R* buffer where both x and y are defined. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- Not here - Emacs and org-mode version: GNU Emacs 23.2.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) Org-mode version 6.36trans (release_6.36.603.g227b) 1) if no R process is running, I get the following message: ess-start-process-specific: No ESS processes running; not yet implemented to start (Initial,nil) No problem 0 I can start an R process manually. 2) when an R session is running, I get the following error message from ESS: Errors: Use C-c ` to find error. Symbol's function definition is void: with-temp-filebuffer and from ESS: Error in source(/home/rkrug/tmp/R.org) : /home/rkrug/tmp/R.org:1:1: unexpected '^' 1: ** it seems to submit the org file (the buffer is saved as R.org) to R. So buffer-file-name should actually be replaced with the name from the file name resulting from the tangling, in the easiest case (which would be fine with me) the org buffer name with .org replaced with .R. So I did the following (my firs elisp code!): (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (replace-regexp-in-string .org .R buffer-file-name and it is working - except that I still get the Symbol's function definition is void: with-temp-filebuffer , but it does not seem to do anything. Thanks a lot, Rainer I am sorry about all these questions, but emacs-lisp I have never used emacs-lisp (I should - and I will!) No problem at all, but be careful about learning too much lisp as you may begin to grow dissatisfied with R :) Best -- Eric Cheers and
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 13/07/2010 10:14, Dr Rainer M Krug wrote: On 12/07/2010 19:51, Eric Schulte wrote: Rainer M Krug r.m.k...@gmail.com writes: Hi Eric, On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte schulte.e...@gmail.com wrote: Hi Rainer, Rainer M Krug r.m.k...@gmail.com writes: On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte schulte.e...@gmail.com wrote: [...] (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Unfortunately, this does not work. I put the code above into my emacs.organd nothing happens - not even an error message. I tried to use the C-h v to customise the variable, but I don't manage it. If the variable isn't registered with C-h v, then it sounds like maybe you need to update Org-mode, and/or re-run make clean make. OK - that is working now. In addition, The filename for es-load-file shoud not be the buffer name, but the buffer name with the extension replaced with R. `buffer-file-name', returns the name of the file that the buffer is visiting, so wouldn't this already be the case if the filename ends with .R? Isn't the buffer from which I am tangling the org buffer, and not the result from the tangling? (see below for further remarks. No this hook is run from /within/ a buffer visiting the file of tangled code, so in the example hook function above (buffer-file-name) will equal the name of the file of tangled R code. From your later message it looks like the issues below have been resolved. Thanks a lot for a very useful addition, and I will see abut the buffer-name and come back if it is still the org-file buffer for me, I finally tried it out, and it is still the same: when I tangle an org file, for the hook as defined above, buffer-file-name is the org file. Cheers, Raienr Rainer Best -- Eric This minimal example with the hook defined as above works for me. After tangling I can jump to the *R* buffer where both x and y are defined. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- Not here - Emacs and org-mode version: GNU Emacs 23.2.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) Org-mode version 6.36trans (release_6.36.603.g227b) 1) if no R process is running, I get the following message: ess-start-process-specific: No ESS processes running; not yet implemented to start (Initial,nil) No problem 0 I can start an R process manually. 2) when an R session is running, I get the following error message from ESS: Errors: Use C-c ` to find error. Symbol's function definition is void: with-temp-filebuffer and from ESS: Error in source(/home/rkrug/tmp/R.org) : /home/rkrug/tmp/R.org:1:1: unexpected '^' 1: ** it seems to submit the org file (the buffer is saved as R.org) to R. So buffer-file-name should actually be replaced with the name from the file name resulting from the tangling, in the easiest case (which would be fine with me) the org buffer name with .org replaced with .R. So I did the following (my firs elisp code!): (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (replace-regexp-in-string .org .R buffer-file-name and it is working - except that I still get the Symbol's function definition is void: with-temp-filebuffer , but it does not seem to do anything. Thanks a lot, Rainer I am sorry about all these questions, but emacs-lisp I have never used emacs-lisp (I should - and I will!) No problem at all, but be careful about learning too much lisp as you may begin to grow dissatisfied with R :) Best -- Eric Cheers and thanks for your patience, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi I am using org-babel for literate programming in R and I am using the following approach to test the code: 1) tangle 2) refresh buffer containing the tangled code (I use auto-revert-mode or global-auto-revert-mode for that) 3) load the tangled file into an existing R session via ESS R for evaluation This involves switching between buffers in always the same sequence. Therefore my suggestion: would it be possible to have a tangle-and-evaluate-tangled-file funcction, which is doing this automatically? C-c - 0 and org-babel-execute-buffer do not work in this case, as functions are split over several code blocks in R. Cheers, Rainer -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkw/AQYACgkQoYgNqgF2egpOHgCeIoOMiIxi1ZbrDPVW4OpbKM8W r9IAnihCH3WTFpWgK/z9BFd7kx1Clh+k =JR5K -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 12/07/2010 19:51, Eric Schulte wrote: Rainer M Krug r.m.k...@gmail.com writes: Hi Eric, On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte schulte.e...@gmail.com wrote: Hi Rainer, Rainer M Krug r.m.k...@gmail.com writes: On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte schulte.e...@gmail.com wrote: [...] (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Unfortunately, this does not work. I put the code above into my emacs.organd nothing happens - not even an error message. I tried to use the C-h v to customise the variable, but I don't manage it. If the variable isn't registered with C-h v, then it sounds like maybe you need to update Org-mode, and/or re-run make clean make. OK - that is working now. In addition, The filename for es-load-file shoud not be the buffer name, but the buffer name with the extension replaced with R. `buffer-file-name', returns the name of the file that the buffer is visiting, so wouldn't this already be the case if the filename ends with .R? Isn't the buffer from which I am tangling the org buffer, and not the result from the tangling? (see below for further remarks. No this hook is run from /within/ a buffer visiting the file of tangled code, so in the example hook function above (buffer-file-name) will equal the name of the file of tangled R code. From your later message it looks like the issues below have been resolved. Thanks a lot for a very useful addition, and I will see abut the buffer-name and come back if it is still the org-file buffer for me, Rainer Best -- Eric This minimal example with the hook defined as above works for me. After tangling I can jump to the *R* buffer where both x and y are defined. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- Not here - Emacs and org-mode version: GNU Emacs 23.2.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) Org-mode version 6.36trans (release_6.36.603.g227b) 1) if no R process is running, I get the following message: ess-start-process-specific: No ESS processes running; not yet implemented to start (Initial,nil) No problem 0 I can start an R process manually. 2) when an R session is running, I get the following error message from ESS: Errors: Use C-c ` to find error. Symbol's function definition is void: with-temp-filebuffer and from ESS: Error in source(/home/rkrug/tmp/R.org) : /home/rkrug/tmp/R.org:1:1: unexpected '^' 1: ** it seems to submit the org file (the buffer is saved as R.org) to R. So buffer-file-name should actually be replaced with the name from the file name resulting from the tangling, in the easiest case (which would be fine with me) the org buffer name with .org replaced with .R. So I did the following (my firs elisp code!): (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (replace-regexp-in-string .org .R buffer-file-name and it is working - except that I still get the Symbol's function definition is void: with-temp-filebuffer , but it does not seem to do anything. Thanks a lot, Rainer I am sorry about all these questions, but emacs-lisp I have never used emacs-lisp (I should - and I will!) No problem at all, but be careful about learning too much lisp as you may begin to grow dissatisfied with R :) Best -- Eric Cheers and thanks for your patience, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi I am using org-babel for literate programming in R and I am using the following approach to test the code: 1) tangle 2) refresh buffer containing the tangled code (I use auto-revert-mode or global-auto-revert-mode for that) 3) load the tangled file into an existing R session via ESS R for evaluation This involves switching between buffers in always the same sequence. Therefore my suggestion: would it be possible to have a tangle-and-evaluate-tangled-file funcction, which is doing this automatically? C-c - 0 and org-babel-execute-buffer do not work in this case, as functions are split over several code blocks in R. Cheers, Rainer -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkw8IGQACgkQoYgNqgF2egpm/ACdEttwt8P3epMZI6GfcksVW6s/ apIAnAj6BYlyAUgTcUST65NOjWk91Pmz =15EP -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Hi Eric, On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte schulte.e...@gmail.com wrote: Hi Rainer, Rainer M Krug r.m.k...@gmail.com writes: On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte schulte.e...@gmail.com wrote: [...] (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Unfortunately, this does not work. I put the code above into my emacs.organd nothing happens - not even an error message. I tried to use the C-h v to customise the variable, but I don't manage it. If the variable isn't registered with C-h v, then it sounds like maybe you need to update Org-mode, and/or re-run make clean make. OK - that is working now. In addition, The filename for es-load-file shoud not be the buffer name, but the buffer name with the extension replaced with R. `buffer-file-name', returns the name of the file that the buffer is visiting, so wouldn't this already be the case if the filename ends with .R? Isn't the buffer from which I am tangling the org buffer, and not the result from the tangling? (see below for further remarks. This minimal example with the hook defined as above works for me. After tangling I can jump to the *R* buffer where both x and y are defined. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- Not here - Emacs and org-mode version: GNU Emacs 23.2.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) Org-mode version 6.36trans (release_6.36.603.g227b) 1) if no R process is running, I get the following message: ess-start-process-specific: No ESS processes running; not yet implemented to start (Initial,nil) No problem 0 I can start an R process manually. 2) when an R session is running, I get the following error message from ESS: Errors: Use C-c ` to find error. Symbol's function definition is void: with-temp-filebuffer and from ESS: Error in source(/home/rkrug/tmp/R.org) : /home/rkrug/tmp/R.org:1:1: unexpected '^' 1: ** it seems to submit the org file (the buffer is saved as R.org) to R. So buffer-file-name should actually be replaced with the name from the file name resulting from the tangling, in the easiest case (which would be fine with me) the org buffer name with .org replaced with .R. So I did the following (my firs elisp code!): (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (replace-regexp-in-string .org .R buffer-file-name and it is working - except that I still get the Symbol's function definition is void: with-temp-filebuffer , but it does not seem to do anything. Thanks a lot, Rainer I am sorry about all these questions, but emacs-lisp I have never used emacs-lisp (I should - and I will!) No problem at all, but be careful about learning too much lisp as you may begin to grow dissatisfied with R :) Best -- Eric Cheers and thanks for your patience, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi I am using org-babel for literate programming in R and I am using the following approach to test the code: 1) tangle 2) refresh buffer containing the tangled code (I use auto-revert-mode or global-auto-revert-mode for that) 3) load the tangled file into an existing R session via ESS R for evaluation This involves switching between buffers in always the same sequence. Therefore my suggestion: would it be possible to have a tangle-and-evaluate-tangled-file funcction, which is doing this automatically? C-c - 0 and org-babel-execute-buffer do not work in this case, as functions are split over several code blocks in R. Cheers, Rainer -- NEW GERMAN FAX NUMBER!!! Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Cell: +27 - (0)83 9479 042 Fax:+27 - (0)86 516 2782 Fax:+49 - (0)321 2125 2244 email: rai...@krugs.de Skype: RMkrug Google: r.m.k...@gmail.com ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Rainer M Krug r.m.k...@gmail.com writes: Hi Eric, On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte schulte.e...@gmail.com wrote: Hi Rainer, Rainer M Krug r.m.k...@gmail.com writes: On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte schulte.e...@gmail.com wrote: [...] (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Unfortunately, this does not work. I put the code above into my emacs.organd nothing happens - not even an error message. I tried to use the C-h v to customise the variable, but I don't manage it. If the variable isn't registered with C-h v, then it sounds like maybe you need to update Org-mode, and/or re-run make clean make. OK - that is working now. In addition, The filename for es-load-file shoud not be the buffer name, but the buffer name with the extension replaced with R. `buffer-file-name', returns the name of the file that the buffer is visiting, so wouldn't this already be the case if the filename ends with .R? Isn't the buffer from which I am tangling the org buffer, and not the result from the tangling? (see below for further remarks. No this hook is run from /within/ a buffer visiting the file of tangled code, so in the example hook function above (buffer-file-name) will equal the name of the file of tangled R code. From your later message it looks like the issues below have been resolved. Best -- Eric This minimal example with the hook defined as above works for me. After tangling I can jump to the *R* buffer where both x and y are defined. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- Not here - Emacs and org-mode version: GNU Emacs 23.2.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) Org-mode version 6.36trans (release_6.36.603.g227b) 1) if no R process is running, I get the following message: ess-start-process-specific: No ESS processes running; not yet implemented to start (Initial,nil) No problem 0 I can start an R process manually. 2) when an R session is running, I get the following error message from ESS: Errors: Use C-c ` to find error. Symbol's function definition is void: with-temp-filebuffer and from ESS: Error in source(/home/rkrug/tmp/R.org) : /home/rkrug/tmp/R.org:1:1: unexpected '^' 1: ** it seems to submit the org file (the buffer is saved as R.org) to R. So buffer-file-name should actually be replaced with the name from the file name resulting from the tangling, in the easiest case (which would be fine with me) the org buffer name with .org replaced with .R. So I did the following (my firs elisp code!): (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (replace-regexp-in-string .org .R buffer-file-name and it is working - except that I still get the Symbol's function definition is void: with-temp-filebuffer , but it does not seem to do anything. Thanks a lot, Rainer I am sorry about all these questions, but emacs-lisp I have never used emacs-lisp (I should - and I will!) No problem at all, but be careful about learning too much lisp as you may begin to grow dissatisfied with R :) Best -- Eric Cheers and thanks for your patience, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi I am using org-babel for literate programming in R and I am using the following approach to test the code: 1) tangle 2) refresh buffer containing the tangled code (I use auto-revert-mode or global-auto-revert-mode for that) 3) load the tangled file into an existing R session via ESS R for evaluation This involves switching between buffers in always the same sequence. Therefore my suggestion: would it be possible to have a tangle-and-evaluate-tangled-file funcction, which is doing this automatically? C-c - 0 and org-babel-execute-buffer do not work in this case, as functions are split over several code blocks in R. Cheers, Rainer ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte schulte.e...@gmail.com wrote: Hi Rainer, Hi Eric I just pushed up a new hook `org-babel-post-tangle-hook' which can be used to run activities in tangled code files immediately after tangling. I believe the following can be used implement the feature you described with this hook. Sounds perfect - thanks a lot. (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Unfortunately, this does not work. I put the code above into my emacs.organd nothing happens - not even an error message. I tried to use the C-h v to customise the variable, but I don't manage it. In addition, The filename for es-load-file shoud not be the buffer name, but the buffer name with the extension replaced with R. I am sorry about all these questions, but emacs-lisp I have never used emacs-lisp (I should - and I will!) Cheers and thanks for your patience, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi I am using org-babel for literate programming in R and I am using the following approach to test the code: 1) tangle 2) refresh buffer containing the tangled code (I use auto-revert-mode or global-auto-revert-mode for that) 3) load the tangled file into an existing R session via ESS R for evaluation This involves switching between buffers in always the same sequence. Therefore my suggestion: would it be possible to have a tangle-and-evaluate-tangled-file funcction, which is doing this automatically? C-c - 0 and org-babel-execute-buffer do not work in this case, as functions are split over several code blocks in R. Cheers, Rainer -- NEW GERMAN FAX NUMBER!!! Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Cell: +27 - (0)83 9479 042 Fax:+27 - (0)86 516 2782 Fax:+49 - (0)321 2125 2244 email: rai...@krugs.de Skype: RMkrug Google: r.m.k...@gmail.com ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Hi Rainer, Rainer M Krug r.m.k...@gmail.com writes: On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte schulte.e...@gmail.com wrote: [...] (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Unfortunately, this does not work. I put the code above into my emacs.organd nothing happens - not even an error message. I tried to use the C-h v to customise the variable, but I don't manage it. If the variable isn't registered with C-h v, then it sounds like maybe you need to update Org-mode, and/or re-run make clean make. In addition, The filename for es-load-file shoud not be the buffer name, but the buffer name with the extension replaced with R. `buffer-file-name', returns the name of the file that the buffer is visiting, so wouldn't this already be the case if the filename ends with .R? This minimal example with the hook defined as above works for me. After tangling I can jump to the *R* buffer where both x and y are defined. --8---cut here---start-8--- ** tangle R and load :PROPERTIES: :tangle: to-load.r :END: #+begin_src R :comments yes x - 8 #+end_src #+begin_src R y - 9 #+end_src --8---cut here---end---8--- I am sorry about all these questions, but emacs-lisp I have never used emacs-lisp (I should - and I will!) No problem at all, but be careful about learning too much lisp as you may begin to grow dissatisfied with R :) Best -- Eric Cheers and thanks for your patience, Rainer Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi I am using org-babel for literate programming in R and I am using the following approach to test the code: 1) tangle 2) refresh buffer containing the tangled code (I use auto-revert-mode or global-auto-revert-mode for that) 3) load the tangled file into an existing R session via ESS R for evaluation This involves switching between buffers in always the same sequence. Therefore my suggestion: would it be possible to have a tangle-and-evaluate-tangled-file funcction, which is doing this automatically? C-c - 0 and org-babel-execute-buffer do not work in this case, as functions are split over several code blocks in R. Cheers, Rainer ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Hi Rainer, I just pushed up a new hook `org-babel-post-tangle-hook' which can be used to run activities in tangled code files immediately after tangling. I believe the following can be used implement the feature you described with this hook. (add-hook 'org-babel-post-tangle-hook (lambda () (ess-load-file (buffer-file-name Best -- Eric Rainer M Krug r.m.k...@gmail.com writes: Hi I am using org-babel for literate programming in R and I am using the following approach to test the code: 1) tangle 2) refresh buffer containing the tangled code (I use auto-revert-mode or global-auto-revert-mode for that) 3) load the tangled file into an existing R session via ESS R for evaluation This involves switching between buffers in always the same sequence. Therefore my suggestion: would it be possible to have a tangle-and-evaluate-tangled-file funcction, which is doing this automatically? C-c - 0 and org-babel-execute-buffer do not work in this case, as functions are split over several code blocks in R. Cheers, Rainer ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Hi I am using org-babel for literate programming in R and I am using the following approach to test the code: 1) tangle 2) refresh buffer containing the tangled code (I use auto-revert-mode or global-auto-revert-mode for that) 3) load the tangled file into an existing R session via ESS R for evaluation This involves switching between buffers in always the same sequence. Therefore my suggestion: would it be possible to have a tangle-and-evaluate-tangled-file funcction, which is doing this automatically? C-c - 0 and org-babel-execute-buffer do not work in this case, as functions are split over several code blocks in R. Cheers, Rainer -- NEW GERMAN FAX NUMBER!!! Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Cell: +27 - (0)83 9479 042 Fax:+27 - (0)86 516 2782 Fax:+49 - (0)321 2125 2244 email: rai...@krugs.de Skype: RMkrug Google: r.m.k...@gmail.com ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode