Re: [O] [babel] feature request: debug messages
Eric Schulte schulte.e...@gmail.com writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas thanks for the quick answer! The :prologue and :epilogue header arguments have indeed slipped my attention and they look really interesting! I see, that they are documented, but somehow, they seem to not get their headline and TOC entry? I have three problems with your example, though: 1) It does not run 2) It does not work 3) It won't be usable for 'my' epilogue, correct? ;-) Ah! My fault. I had to add prologue and epilogue support to ob-R.el when working through the example I sent, but then I forgot to commit that support to Org-mode. I've just pushed up that commit, and re-worked my example file to avoid the issue of prologue being applied to the emacs-lisp code block (using the very nice and also new language-specific PROPERTY header arguments). Finally, I don't use epilogues in the example because (as the last thing evaluated) they would override the code block results. Hopefully the following: 1. will run 2. will work 3. will be usable Cheers, #+Title: debug messages #+Property: header-args:R :session *R* :prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp :results silent (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+RESULTS: block-1 : 4 #+name: block-2 #+begin_src R y - x + x #+end_src #+RESULTS: block-2 : 8 Execute the whole buffer =C-c C-v b= to see the prologue in action. 1) It does not run, because org tries to do the prologue also on the emacs-lisp block defining the function of the prologue. So, I get format: Symbol's function definition is void: get-current-name I changed the #+property line to #+Property: header-args:R :prologue (format print(\entering %s\) (get-current-name)) which solved that problem. 2) But still it does not work: This is what I get in my *R* buffer: --8---cut here---start-8--- R version 3.0.1 (2013-05-16) -- Good Sport Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R ist freie Software und kommt OHNE JEGLICHE GARANTIE. Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie 'license()' or 'licence()' für Details dazu. R ist ein Gemeinschaftsprojekt mit vielen Beitragenden.
Re: [O] [babel] feature request: debug messages
This helps a lot. Thanks! Happy this worked out. Now, I will this into all my org files. Check out the library of babel of things that you want to have globally available. Best, Cheers, Andreas -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] [babel] feature request: debug messages
Hi Eric, Eric Schulte schulte.e...@gmail.com writes: This helps a lot. Thanks! Happy this worked out. Now, I will this into all my org files. Check out the library of babel of things that you want to have globally available. Thanks for the hint. If I put it there, I still have to #+call it from every org file, correct? Regards, Andreas
Re: [O] [babel] feature request: debug messages
Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: This helps a lot. Thanks! Happy this worked out. Now, I will this into all my org files. Check out the library of babel of things that you want to have globally available. Thanks for the hint. If I put it there, I still have to #+call it from every org file, correct? Sorry, ignore the library of babel, you can just add that function definition to your .emacs. Best, -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] [babel] feature request: debug messages
Andreas Leha andreas.l...@med.uni-goettingen.de writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas thanks for the quick answer! The :prologue and :epilogue header arguments have indeed slipped my attention and they look really interesting! I see, that they are documented, but somehow, they seem to not get their headline and TOC entry? I have three problems with your example, though: 1) It does not run 2) It does not work 3) It won't be usable for 'my' epilogue, correct? ;-) Ah! My fault. I had to add prologue and epilogue support to ob-R.el when working through the example I sent, but then I forgot to commit that support to Org-mode. I've just pushed up that commit, and re-worked my example file to avoid the issue of prologue being applied to the emacs-lisp code block (using the very nice and also new language-specific PROPERTY header arguments). Finally, I don't use epilogues in the example because (as the last thing evaluated) they would override the code block results. Hopefully the following: 1. will run 2. will work 3. will be usable Cheers, #+Title: debug messages #+Property: header-args:R :session *R* :prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp :results silent (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+RESULTS: block-1 : 4 #+name: block-2 #+begin_src R y - x + x #+end_src #+RESULTS: block-2 : 8 Execute the whole buffer =C-c C-v b= to see the prologue in action. 1) It does not run, because org tries to do the prologue also on the emacs-lisp block defining the function of the prologue. So, I get format: Symbol's function definition is void: get-current-name I changed the #+property line to #+Property: header-args:R :prologue (format print(\entering %s\) (get-current-name)) which solved that problem. 2) But still it does not work: This is what I get in my *R* buffer: --8---cut here---start-8--- R version 3.0.1 (2013-05-16) -- Good Sport Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R ist freie Software und kommt OHNE JEGLICHE GARANTIE. Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie 'license()' or 'licence()' für Details dazu. R ist ein Gemeinschaftsprojekt mit vielen Beitragenden. Tippen Sie 'contributors()' für mehr Information
Re: [O] [babel] feature request: debug messages
Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas thanks for the quick answer! The :prologue and :epilogue header arguments have indeed slipped my attention and they look really interesting! I see, that they are documented, but somehow, they seem to not get their headline and TOC entry? I have three problems with your example, though: 1) It does not run 2) It does not work 3) It won't be usable for 'my' epilogue, correct? ;-) Ah! My fault. I had to add prologue and epilogue support to ob-R.el when working through the example I sent, but then I forgot to commit that support to Org-mode. I've just pushed up that commit, and re-worked my example file to avoid the issue of prologue being applied to the emacs-lisp code block (using the very nice and also new language-specific PROPERTY header arguments). Finally, I don't use epilogues in the example because (as the last thing evaluated) they would override the code block results. Hopefully the following: 1. will run 2. will work 3. will be usable Cheers, #+Title: debug messages #+Property: header-args:R :session *R* :prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp :results silent (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+RESULTS: block-1 : 4 #+name: block-2 #+begin_src R y - x + x #+end_src #+RESULTS: block-2 : 8 Execute the whole buffer =C-c C-v b= to see the prologue in action. 1) It does not run, because org tries to do the prologue also on the emacs-lisp block defining the function of the prologue. So, I get format: Symbol's function definition is void: get-current-name I changed the #+property line to #+Property: header-args:R :prologue (format print(\entering %s\) (get-current-name)) which solved that problem. 2) But still it does not work: This is what I get in my *R* buffer: --8---cut here---start-8--- R version 3.0.1 (2013-05-16) -- Good Sport Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R ist freie Software und kommt OHNE JEGLICHE GARANTIE. Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie 'license()' or 'licence()' für Details dazu. R ist ein Gemeinschaftsprojekt mit vielen Beitragenden. Tippen Sie 'contributors()' für mehr Information und 'citation()', um zu erfahren, wie R oder R packages in Publikationen zitiert werden können. Tippen Sie 'demo()' für einige Demos, 'help()' für on-line Hilfe, oder
Re: [O] [babel] feature request: debug messages
Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas thanks for the quick answer! The :prologue and :epilogue header arguments have indeed slipped my attention and they look really interesting! I see, that they are documented, but somehow, they seem to not get their headline and TOC entry? I have three problems with your example, though: 1) It does not run 2) It does not work 3) It won't be usable for 'my' epilogue, correct? ;-) Ah! My fault. I had to add prologue and epilogue support to ob-R.el when working through the example I sent, but then I forgot to commit that support to Org-mode. I've just pushed up that commit, and re-worked my example file to avoid the issue of prologue being applied to the emacs-lisp code block (using the very nice and also new language-specific PROPERTY header arguments). Finally, I don't use epilogues in the example because (as the last thing evaluated) they would override the code block results. Hopefully the following: 1. will run 2. will work 3. will be usable Cheers, #+Title: debug messages #+Property: header-args:R :session *R* :prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp :results silent (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+RESULTS: block-1 : 4 #+name: block-2 #+begin_src R y - x + x #+end_src #+RESULTS: block-2 : 8 Execute the whole buffer =C-c C-v b= to see the prologue in action. 1) It does not run, because org tries to do the prologue also on the emacs-lisp block defining the function of the prologue. So, I get format: Symbol's function definition is void: get-current-name I changed the #+property line to #+Property: header-args:R :prologue (format print(\entering %s\) (get-current-name)) which solved that problem. 2) But still it does not work: This is what I get in my *R* buffer: --8---cut here---start-8--- R version 3.0.1 (2013-05-16) -- Good Sport Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R ist freie Software und kommt OHNE JEGLICHE GARANTIE. Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie 'license()' or 'licence()' für Details dazu. R ist ein Gemeinschaftsprojekt mit vielen Beitragenden. Tippen Sie 'contributors()' für mehr Information und 'citation()', um zu erfahren, wie R oder R packages in Publikationen zitiert werden können. Tippen Sie
Re: [O] [babel] feature request: debug messages
Andreas Leha andreas.l...@med.uni-goettingen.de writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas thanks for the quick answer! The :prologue and :epilogue header arguments have indeed slipped my attention and they look really interesting! I see, that they are documented, but somehow, they seem to not get their headline and TOC entry? I have three problems with your example, though: 1) It does not run 2) It does not work 3) It won't be usable for 'my' epilogue, correct? ;-) Ah! My fault. I had to add prologue and epilogue support to ob-R.el when working through the example I sent, but then I forgot to commit that support to Org-mode. I've just pushed up that commit, and re-worked my example file to avoid the issue of prologue being applied to the emacs-lisp code block (using the very nice and also new language-specific PROPERTY header arguments). Finally, I don't use epilogues in the example because (as the last thing evaluated) they would override the code block results. Hopefully the following: 1. will run 2. will work 3. will be usable Cheers, #+Title: debug messages #+Property: header-args:R :session *R* :prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp :results silent (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+RESULTS: block-1 : 4 #+name: block-2 #+begin_src R y - x + x #+end_src #+RESULTS: block-2 : 8 Execute the whole buffer =C-c C-v b= to see the prologue in action. 1) It does not run, because org tries to do the prologue also on the emacs-lisp block defining the function of the prologue. So, I get format: Symbol's function definition is void: get-current-name I changed the #+property line to #+Property: header-args:R :prologue (format print(\entering %s\) (get-current-name)) which solved that problem. 2) But still it does not work: This is what I get in my *R* buffer: --8---cut here---start-8--- R version 3.0.1 (2013-05-16) -- Good Sport Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R ist freie Software und kommt OHNE JEGLICHE GARANTIE. Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie 'license()' or 'licence()' für Details dazu. R ist ein Gemeinschaftsprojekt mit vielen Beitragenden. Tippen Sie 'contributors()' für mehr Information und 'citation()', um zu erfahren, wie R oder R packages in
Re: [O] [babel] feature request: debug messages
Hopefully the following: 1. will run 2. will work 3. will be usable Yes. Yes. Yes. Great^3 I still believe, that there is a bug in the manual, where :epilogue and :prologue are described. Could you elaborate? Tanks a lot for your help and that really nice feature! Happy to help, Cheers, Andreas -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] [babel] feature request: debug messages
Hi Eric, Eric Schulte schulte.e...@gmail.com writes: [...] I still believe, that there is a bug in the manual, where :epilogue and :prologue are described. Could you elaborate? In my build I get the sections on :epilogue and :prologue unnumbered. They are also not present present in the TOC. I guess it should be: 14.8.2.25 :post 14.8.2.26 :prologue 14.8.2.27 :epilogue Regards, Andreas
Re: [O] [babel] feature request: debug messages
In my build I get the sections on :epilogue and :prologue unnumbered. They are also not present present in the TOC. I guess it should be: 14.8.2.25 :post 14.8.2.26 :prologue 14.8.2.27 :epilogue Oh, I had to open the HTML version of the documentation to see what you mean, but you're right; I forgot to add subsection lines for these header arguments. This should be fixed now, thanks for the report! -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] [babel] feature request: debug messages
Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas thanks for the quick answer! The :prologue and :epilogue header arguments have indeed slipped my attention and they look really interesting! I see, that they are documented, but somehow, they seem to not get their headline and TOC entry? I have three problems with your example, though: 1) It does not run 2) It does not work 3) It won't be usable for 'my' epilogue, correct? ;-) Ah! My fault. I had to add prologue and epilogue support to ob-R.el when working through the example I sent, but then I forgot to commit that support to Org-mode. I've just pushed up that commit, and Indeed, that fixed it, now it works. re-worked my example file to avoid the issue of prologue being applied to the emacs-lisp code block (using the very nice and also new language-specific PROPERTY header arguments). Thanks. So, I did the right thing here. Finally, I don't use epilogues in the example because (as the last thing evaluated) they would override the code block results. Ok. As I thought. No leaving code block message, then. Hopefully the following: 1. will run 2. will work 3. will be usable Yes. Yes. Yes. I still believe, that there is a bug in the manual, where :epilogue and :prologue are described. Tanks a lot for your help and that really nice feature! Cheers, Andreas
Re: [O] [babel] feature request: debug messages
Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas thanks for the quick answer! The :prologue and :epilogue header arguments have indeed slipped my attention and they look really interesting! I see, that they are documented, but somehow, they seem to not get their headline and TOC entry? I have three problems with your example, though: 1) It does not run 2) It does not work 3) It won't be usable for 'my' epilogue, correct? ;-) 1) It does not run, because org tries to do the prologue also on the emacs-lisp block defining the function of the prologue. So, I get format: Symbol's function definition is void: get-current-name I changed the #+property line to #+Property: header-args:R :prologue (format print(\entering %s\) (get-current-name)) which solved that problem. 2) But still it does not work: This is what I get in my *R* buffer: --8---cut here---start-8--- R version 3.0.1 (2013-05-16) -- Good Sport Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R ist freie Software und kommt OHNE JEGLICHE GARANTIE. Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie 'license()' or 'licence()' für Details dazu. R ist ein Gemeinschaftsprojekt mit vielen Beitragenden. Tippen Sie 'contributors()' für mehr Information und 'citation()', um zu erfahren, wie R oder R packages in Publikationen zitiert werden können. Tippen Sie 'demo()' für einige Demos, 'help()' für on-line Hilfe, oder 'help.start()' für eine HTML Browserschnittstelle zur Hilfe. Tippen Sie 'q()', um R zu verlassen. [1] C filehash: Simple key-value database (2.2-1 2012-03-12) tikzDevice: R Graphics Output in LaTeX Format (v0.6.2-92-0ad2792) LaTeX found in the PATH using the command: pdflatex XeLaTeX found in the PATH using the command: xelatex LuaLaTeX found in the PATH using the command: lualatex options(STERM='iESS', str.dendrogram.last=', editor='emacsclient', show.error.locations=TRUE) --8---cut here---end---8--- I tried it with - Org-mode version 8.0.4 (release_8.0.4-294-g62f20c) - ess-version : 13.05-1 [unknown] - emacs -Q -l ~/.emacs.minimal.ess.org, whith that content: --8---cut here---start-8--- (add-to-list 'load-path ~/local/emacs/org-mode-install/lisp) (add-to-list 'auto-mode-alist '(\\.org$ . org-mode)) (add-to-list 'load-path ~/local/emacs/ess/lisp) (require 'ess-site) (setq org-babel-load-languages '((emacs-lisp . t) (R . t) (sh . t))) --8---cut here---end---8--- What am I missing? (BTW: If I put a print(sth) into the R blocks myself, I see that printed) 3) Even if it did run, I guess putting sth similar for 'leaving code block foo' into the epilogue would spoil the return value of my src blocks, correct? Is there some work-around? Regards, Andreas
Re: [O] [babel] feature request: debug messages
Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi Eric, Eric Schulte schulte.e...@gmail.com writes: Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas thanks for the quick answer! The :prologue and :epilogue header arguments have indeed slipped my attention and they look really interesting! I see, that they are documented, but somehow, they seem to not get their headline and TOC entry? I have three problems with your example, though: 1) It does not run 2) It does not work 3) It won't be usable for 'my' epilogue, correct? ;-) Ah! My fault. I had to add prologue and epilogue support to ob-R.el when working through the example I sent, but then I forgot to commit that support to Org-mode. I've just pushed up that commit, and re-worked my example file to avoid the issue of prologue being applied to the emacs-lisp code block (using the very nice and also new language-specific PROPERTY header arguments). Finally, I don't use epilogues in the example because (as the last thing evaluated) they would override the code block results. Hopefully the following: 1. will run 2. will work 3. will be usable Cheers, #+Title: debug messages #+Property: header-args:R :session *R* :prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp :results silent (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+RESULTS: block-1 : 4 #+name: block-2 #+begin_src R y - x + x #+end_src #+RESULTS: block-2 : 8 Execute the whole buffer =C-c C-v b= to see the prologue in action. 1) It does not run, because org tries to do the prologue also on the emacs-lisp block defining the function of the prologue. So, I get format: Symbol's function definition is void: get-current-name I changed the #+property line to #+Property: header-args:R :prologue (format print(\entering %s\) (get-current-name)) which solved that problem. 2) But still it does not work: This is what I get in my *R* buffer: --8---cut here---start-8--- R version 3.0.1 (2013-05-16) -- Good Sport Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R ist freie Software und kommt OHNE JEGLICHE GARANTIE. Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. Tippen Sie 'license()' or 'licence()' für Details dazu. R ist ein Gemeinschaftsprojekt mit vielen Beitragenden. Tippen Sie 'contributors()' für mehr Information und 'citation()', um zu erfahren, wie R oder R packages in Publikationen zitiert werden können. Tippen Sie 'demo()' für einige Demos, 'help()' für on-line Hilfe, oder 'help.start()' für eine HTML Browserschnittstelle zur Hilfe. Tippen Sie 'q()', um R zu verlassen.
Re: [O] [babel] feature request: debug messages
Hi Andreas, This should be easy to turn on or off using the newly introduced :prologue and :epilogue header arguments. See the manual and the following example. #+Title: debug messages #+Property: session *R* #+Property: prologue (format print(\entering %s\) (get-current-name)) An elisp block to simplify the =:prologue= definition. #+begin_src emacs-lisp (defun get-current-name () (save-excursion (goto-char org-babel-current-src-block-location) (while (and (forward-line -1) (looking-at org-babel-multi-line-header-regexp))) (when (looking-at org-babel-src-name-w-name-regexp) (org-no-properties (match-string 3) #+end_src Two blocks with simple assignments. #+name: block-1 #+begin_src R x - 2 + 2 #+end_src #+name: block-2 #+begin_src R y - x + x #+end_src Execute the whole buffer =C-c C-v b= to see the prologue in action. Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, I would love to see messages like 'entering block foo...' and '...leaving block foo' printed to my R console. This would be very handy when I evaluate a subtree (C-c C-v s) with a lot of #+call lines and some lengthy ones. I know that (1) I could implement that myself at in the source blocks. But I would love if orgmode did that for me (2) Such messages are already printed to the emacs *Messages* buffer. But that buffer might not be visible and I can not switch to it, without interrupting the evaluation. Anyway it would be much nicer to see that output together with the other output, that my code generates. In essence it would be very helpful, if there was a variable org-babel-print-debug-messages (or org-babel-debug-level...) which if non-nil would cause that messages to be printed. Or is there somewhere already? Regards, Andreas -- Eric Schulte http://cs.unm.edu/~eschulte