* [babel] feature request - tangle-and-evaluate-tangled-file @ 2010-07-06 7:55 Rainer M Krug 2010-07-08 19:03 ` Eric Schulte 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-06 7:55 UTC (permalink / raw) To: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 1154 bytes --] 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: Rainer@krugs.de Skype: RMkrug Google: R.M.Krug@gmail.com [-- Attachment #1.2: Type: text/html, Size: 1377 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ 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 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-06 7:55 [babel] feature request - tangle-and-evaluate-tangled-file Rainer M Krug @ 2010-07-08 19:03 ` Eric Schulte 2010-07-09 7:47 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Eric Schulte @ 2010-07-08 19:03 UTC (permalink / raw) To: Rainer M Krug; +Cc: emacs-orgmode 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.krug@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 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-08 19:03 ` Eric Schulte @ 2010-07-09 7:47 ` Rainer M Krug 2010-07-09 15:44 ` Eric Schulte 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-09 7:47 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 2275 bytes --] On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <schulte.eric@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.krug@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: Rainer@krugs.de Skype: RMkrug Google: R.M.Krug@gmail.com [-- Attachment #1.2: Type: text/html, Size: 3535 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ 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 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-09 7:47 ` Rainer M Krug @ 2010-07-09 15:44 ` Eric Schulte 2010-07-12 7:46 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Eric Schulte @ 2010-07-09 15:44 UTC (permalink / raw) To: Rainer M Krug; +Cc: emacs-orgmode Hi Rainer, Rainer M Krug <r.m.krug@gmail.com> writes: > On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <schulte.eric@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.krug@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 >> ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-09 15:44 ` Eric Schulte @ 2010-07-12 7:46 ` Rainer M Krug 2010-07-12 17:51 ` Eric Schulte 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-12 7:46 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 4631 bytes --] Hi Eric, On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte <schulte.eric@gmail.com> wrote: > Hi Rainer, > > Rainer M Krug <r.m.krug@gmail.com> writes: > > > On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <schulte.eric@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.krug@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: Rainer@krugs.de Skype: RMkrug Google: R.M.Krug@gmail.com [-- Attachment #1.2: Type: text/html, Size: 7827 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ 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 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-12 7:46 ` Rainer M Krug @ 2010-07-12 17:51 ` Eric Schulte 2010-07-13 8:14 ` Dr Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Eric Schulte @ 2010-07-12 17:51 UTC (permalink / raw) To: Rainer M Krug; +Cc: emacs-orgmode Rainer M Krug <r.m.krug@gmail.com> writes: > Hi Eric, > > On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte <schulte.eric@gmail.com> wrote: > >> Hi Rainer, >> >> Rainer M Krug <r.m.krug@gmail.com> writes: >> >> > On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <schulte.eric@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.krug@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 >> >> >> ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-12 17:51 ` Eric Schulte @ 2010-07-13 8:14 ` Dr Rainer M Krug 2010-07-15 12:37 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Dr Rainer M Krug @ 2010-07-13 8:14 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode, Rainer M Krug -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 12/07/2010 19:51, Eric Schulte wrote: > Rainer M Krug <r.m.krug@gmail.com> writes: > >> Hi Eric, >> >> On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte <schulte.eric@gmail.com> wrote: >> >>> Hi Rainer, >>> >>> Rainer M Krug <r.m.krug@gmail.com> writes: >>> >>>> On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <schulte.eric@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.krug@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----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-13 8:14 ` Dr Rainer M Krug @ 2010-07-15 12:37 ` Rainer M Krug 2010-07-16 22:58 ` Eric Schulte 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-15 12:37 UTC (permalink / raw) To: Dr Rainer M Krug; +Cc: emacs-orgmode -----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.krug@gmail.com> writes: > >>> Hi Eric, >>> >>> On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte <schulte.eric@gmail.com> wrote: >>> >>>> Hi Rainer, >>>> >>>> Rainer M Krug <r.m.krug@gmail.com> writes: >>>> >>>>> On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <schulte.eric@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.krug@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----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-15 12:37 ` Rainer M Krug @ 2010-07-16 22:58 ` Eric Schulte 2010-07-19 7:12 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Eric Schulte @ 2010-07-16 22:58 UTC (permalink / raw) To: Rainer M Krug; +Cc: emacs-orgmode 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.krug@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.krug@gmail.com> writes: >> >>>> Hi Eric, >>>> >>>> On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte <schulte.eric@gmail.com> wrote: >>>> >>>>> Hi Rainer, >>>>> >>>>> Rainer M Krug <r.m.krug@gmail.com> writes: >>>>> >>>>>> On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <schulte.eric@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.krug@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 >>>>>>> >>>>> >> ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-16 22:58 ` Eric Schulte @ 2010-07-19 7:12 ` Rainer M Krug 2010-07-20 7:55 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-19 7:12 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode, Rainer M Krug -----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.krug@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.krug@gmail.com> writes: >>> >>>>> Hi Eric, >>>>> >>>>> On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte <schulte.eric@gmail.com> wrote: >>>>> >>>>>> Hi Rainer, >>>>>> >>>>>> Rainer M Krug <r.m.krug@gmail.com> writes: >>>>>> >>>>>>> On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <schulte.eric@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.krug@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/ iEYEARECAAYFAkxD+t0ACgkQoYgNqgF2egpFNQCePK2KXJDdvyDW9qiHc1KZkbgK qccAn1mb+mWNwVDy6z4kDsdysZ0/hKEN =Wqkn -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-19 7:12 ` Rainer M Krug @ 2010-07-20 7:55 ` Rainer M Krug 2010-07-20 22:41 ` Eric Schulte 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-20 7:55 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode -----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: Rainer@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----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-20 7:55 ` Rainer M Krug @ 2010-07-20 22:41 ` Eric Schulte 2010-07-21 7:23 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Eric Schulte @ 2010-07-20 22:41 UTC (permalink / raw) To: Rainer M Krug; +Cc: emacs-orgmode 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.krug@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. > ############################################# ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-20 22:41 ` Eric Schulte @ 2010-07-21 7:23 ` Rainer M Krug 2010-07-21 7:49 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-21 7:23 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode -----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.krug@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: Rainer@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----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-21 7:23 ` Rainer M Krug @ 2010-07-21 7:49 ` Rainer M Krug 2010-07-21 8:09 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-21 7:49 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode -----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.krug@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: Rainer@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----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-21 7:49 ` Rainer M Krug @ 2010-07-21 8:09 ` Rainer M Krug 2010-07-21 16:50 ` Eric Schulte 0 siblings, 1 reply; 17+ messages in thread From: Rainer M Krug @ 2010-07-21 8:09 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode -----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.krug@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: Rainer@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----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-21 8:09 ` Rainer M Krug @ 2010-07-21 16:50 ` Eric Schulte 2010-07-22 6:30 ` Rainer M Krug 0 siblings, 1 reply; 17+ messages in thread From: Eric Schulte @ 2010-07-21 16:50 UTC (permalink / raw) To: Rainer M Krug; +Cc: emacs-orgmode 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.krug@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.krug@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. >>>>> ############################################# >> >> >> ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [babel] feature request - tangle-and-evaluate-tangled-file 2010-07-21 16:50 ` Eric Schulte @ 2010-07-22 6:30 ` Rainer M Krug 0 siblings, 0 replies; 17+ messages in thread From: Rainer M Krug @ 2010-07-22 6:30 UTC (permalink / raw) To: Eric Schulte; +Cc: emacs-orgmode, Rainer M Krug -----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.krug@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.krug@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: Rainer@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 FJkAn2zfZ+LWvDynnz8OrCKQ5loRMlsk =U9Zu -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2010-07-22 6:30 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-07-06 7:55 [babel] feature request - tangle-and-evaluate-tangled-file Rainer M Krug 2010-07-08 19:03 ` Eric Schulte 2010-07-09 7:47 ` Rainer M Krug 2010-07-09 15:44 ` Eric Schulte 2010-07-12 7:46 ` Rainer M Krug 2010-07-12 17:51 ` Eric Schulte 2010-07-13 8:14 ` Dr Rainer M Krug 2010-07-15 12:37 ` Rainer M Krug 2010-07-16 22:58 ` Eric Schulte 2010-07-19 7:12 ` Rainer M Krug 2010-07-20 7:55 ` Rainer M Krug 2010-07-20 22:41 ` Eric Schulte 2010-07-21 7:23 ` Rainer M Krug 2010-07-21 7:49 ` Rainer M Krug 2010-07-21 8:09 ` Rainer M Krug 2010-07-21 16:50 ` Eric Schulte 2010-07-22 6:30 ` Rainer M Krug
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).