emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file


From: Eric Schulte
Subject: Re: [Orgmode] [babel] feature request - tangle-and-evaluate-tangled-file
Date: Tue, 20 Jul 2010 15:41:42 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

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 <address@hidden> 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.
> #############################################



reply via email to

[Prev in Thread] Current Thread [Next in Thread]