On Fri, Jul 9, 2010 at 5:44 PM, Eric Schulte
<address@hidden> wrote:
Hi Rainer,
> On Thu, Jul 8, 2010 at 9:03 PM, Eric Schulte <
address@hidden> 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.