Hi Eric, On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte wrote: > Hi Rainer, > > Rainer M Krug writes: > > > On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte > 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 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