Andreas Leha <andreas.l...@med.uni-goettingen.de> writes: > Hi all, > > this small patch adds :filelinkdescr to the list of possible header > arguments for babel source blocks. > Its intented functionality is to allow source blocks to return links to > files with description. > > Two small examples: > > ,----[ example1 ] > | #+begin_src R :results graphics :file test.png :filelinkdescr here > | plot(1:10) > | #+end_src > | > | #+results: > | [[file:test.png][here]] > `---- > > ,----[ example2 ] > | #+begin_src R :results graphics :file test2.png :filelinkdescr > | plot(1:10) > | #+end_src > | > | #+results: > | [[file:test2.png][test2.png]] > `---- > > If used with value ("here" in the example1) that value will become the > description. If used without value (as in example2), the description is > taken from either the :file header argument or the results of the code block > evaluation (in that order). > > Have not done much testing yet, though. > > Regards, > Andreas >
Hi Andreas, I would like to apply this patch, however I have some questions about the use of the :file argument and the result itself to fill in the description if the :filelinkdescr header argument is left blank. Also, I would suggest that :file-desc is a better name for this header argument. In my opinion using the :file argument as a description changes (or at least adds to) the meaning of the :file header argument. Is there a significant benefit to this behavior? If not I'd prefer that an empty :file-desc header argument have no effect. Thanks for this patch, which I think adds nice functionality and which I would like to apply -- although I'll likely want to make the changes above after application. Cheers, > > > From 698570cb9938ee1f4dd1472cb13b32d08d108cbb Mon Sep 17 00:00:00 2001 > From: Andreas Leha <andr...@lehas.net> > Date: Tue, 27 Mar 2012 10:33:32 +0200 > Subject: [PATCH] new source block header argument :filelinkdescr > > --- > lisp/ob.el | 10 +++++++++- > 1 files changed, 9 insertions(+), 1 deletions(-) > > diff --git a/lisp/ob.el b/lisp/ob.el > index d27a394..0efef3e 100644 > --- a/lisp/ob.el > +++ b/lisp/ob.el > @@ -400,6 +400,7 @@ then run `org-babel-pop-to-session'." > (eval . ((never query))) > (exports . ((code results both none))) > (file . :any) > + (filelinkdescr . :any) > (hlines . ((no yes))) > (mkdirp . ((yes no))) > (no-expand) > @@ -1833,7 +1834,14 @@ code ---- the results are extracted in the syntax of > the source > (progn > (setq result (org-babel-clean-text-properties result)) > (when (member "file" result-params) > - (setq result (org-babel-result-to-file result)))) > + (progn (when (assoc :filelinkdescr (nth 2 info)) > + (let ((filelinkdescr (or (cdr (assoc :filelinkdescr (nth 2 > info))) > + (cdr (assoc :file (nth 2 info))) > + result))) > + (when filelinkdescr > + (setq result > + (list result filelinkdescr))))) > + (setq result (org-babel-result-to-file result))))) > (unless (listp result) (setq result (format "%S" result)))) > (if (and result-params (member "silent" result-params)) > (progn -- Eric Schulte http://cs.unm.edu/~eschulte/