Eric Schulte <eric.schu...@gmx.com> writes: > Achim Gratz <strom...@nexgo.de> writes: > >> t...@tsdye.com (Thomas S. Dye) writes: >>> The attached patch defines a new header argument, :special, which wraps >>> the results of Org babel source block execution in a #BEGIN_ ... #+END_ >>> block. The block name is taken from a new variable >>> org-babel-wrap-special, which is initialized as "results". >> >> What is the rationale for feeding the block name via a configuration >> variable rather then a value to the header argument ":special"? >> >> >> Regards, >> Achim. > > Attached is an alternate patch and an example of its use. This patch > introduces a ":wrap" header argument which accepts an optional value > used to specify the name of the block with which to wrap results. If > this looks workable we could push it up once it gets some documentation > and tests. > > Cheers, > > > #+Title: demonstrating the new :wrap header argument > > #+begin_src emacs-lisp :wrap schulte > '((1 2) > (3 4)) > #+end_src > > #+results: > #+BEGIN_schulte > | 1 | 2 | > | 3 | 4 | > #+END_schulte
Hi Eric, Thanks for the :wrap header argument. It works for me. The attached patch on top of your patch looks for :wrap drawer, and puts the result in a drawer, rather than wrapping the results in #+begin ... #+end. What I'm trying to do is make :results wrap obsolete. Also, note that with the :wrap header argument, :results org and :results latex are both redundant. I'm not sure how you want to handle this--whether to leave them in place or remove them. I'll volunteer to work on the documentation. All the best, Tom
>From 3c8a9500b3efcf7211946968cb5661f70808be1d Mon Sep 17 00:00:00 2001 From: Thomas Dye <dk@poto.local> Date: Sun, 8 Jan 2012 11:19:39 -1000 Subject: [PATCH] * lisp/ob.el: Add drawer option to :wrap --- lisp/ob.el | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/lisp/ob.el b/lisp/ob.el index b51cc51..923fd6d 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -1757,7 +1757,11 @@ code ---- the results are extracted in the syntax of the source (cond ((assoc :wrap (nth 2 info)) (let ((name (or (cdr (assoc :wrap (nth 2 info))) "results"))) - (wrap (concat "#+BEGIN_" name) (concat "#+END_" name)))) + (if (equal name "drawer") + (wrap ":RESULTS:" ":END:") + (wrap (concat "#+BEGIN_" name) (concat "#+END_" name)) + ) + )) ((member "html" result-params) (wrap "#+BEGIN_HTML" "#+END_HTML")) ((member "latex" result-params) -- 1.7.5.4
-- Thomas S. Dye http://www.tsdye.com