emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [babel] automatically add debugging output


From: Eric Schulte
Subject: Re: [O] [babel] automatically add debugging output
Date: Sat, 03 Nov 2012 18:52:23 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

Andreas Leha <address@hidden> writes:

> Hi all,
>
> is it possible to have babel add debugging lines during execution?
>
> Consider this example with an enabled debug property:
> #+PROPERTY: session *R*
> #+PROPERTY: debug yes
>
> * Some code blocks
> #+name: codeA
> #+begin_src R
>   sum(1)
> #+end_src
>
> #+name: codeB
> #+begin_src R
>   sum(2)
> #+end_src
>
> When executing the subtree with C-c C-v s, for example, I'd like babel to
> automatically add some print() statements, so that executed is
> ,----
> | print("entering codeA")
> | sum(1)
> | print("leaving codeA")
> |
> | print("entering codeB")
> | sum(2)
> | print("leaving codeB")
> `----
>
> As there is a print statement in most languages, this should be possible
> quite universal for any language.
>
>
>
> Also handy would be the insertion of breakpoints
> (maybe #+PROPERTY: interactive-debug yes)
> In R that would lead to the execution of:
> ,----
> | browser()
> | sum(1)
> |
> | browser()
> | sum(2)
> `----
>
>
> Are these things possible?

Certainly, I'd pick a language you care about (I'm guessing python), and
take a shot at an implementation for that language.  If this proves
useful then these header arguments can be ported to other languages as
there is demand and developer time supply.

> 
> (Or better question: How are these things possible?)
>

Take a look at the ob-python.el.  Find where
`org-babel-expand-body:generic' is called, you will want to replace
these calls with `org-babel-expand-body:python' and then write this new
function s.t. it calls `org-babel-expand-body:generic' and does the
optional debug wrapping if the debug param is present.

As you said this should be fairly straightforward.  If you do plan to
add this feature please be prepared to write some documentation too. :)

Thanks!

>
>
> Regards,
> Andreas
>
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte



reply via email to

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