From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: [PATCH] link descriptions in :file results of src blocks Date: Sat, 31 Mar 2012 10:09:10 -0400 Message-ID: <87pqbsu9qt.fsf@gmx.com> References: <87haxa4e2z.fsf@med.uni-goettingen.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:59879) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SE18s-0002Ho-L3 for emacs-orgmode@gnu.org; Sat, 31 Mar 2012 12:27:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SE18q-000257-Fq for emacs-orgmode@gnu.org; Sat, 31 Mar 2012 12:27:06 -0400 Received: from mailout-us.gmx.com ([74.208.5.67]:46207 helo=mailout-us.mail.com) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1SE18q-00022a-9o for emacs-orgmode@gnu.org; Sat, 31 Mar 2012 12:27:04 -0400 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Andreas Leha Cc: emacs-orgmode@gnu.org Andreas Leha 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 > 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/