From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: (Maybe) enhance `org-element-src-block-interpreter'? Date: Wed, 06 Aug 2014 13:34:20 +0200 Message-ID: <87egwt26o3.fsf@nicolasgoaziou.fr> References: <87tx5qvrl4.fsf@gmail.com> <87oavywal0.fsf@gmail.com> <87fvha81zd.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37754) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XEzTc-0005T6-Ux for emacs-orgmode@gnu.org; Wed, 06 Aug 2014 07:34:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XEzTR-0006yh-0T for emacs-orgmode@gnu.org; Wed, 06 Aug 2014 07:33:52 -0400 Received: from relay6-d.mail.gandi.net ([2001:4b98:c:538::198]:58385) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XEzTQ-0006xX-R2 for emacs-orgmode@gnu.org; Wed, 06 Aug 2014 07:33:40 -0400 In-Reply-To: <87fvha81zd.fsf@gmail.com> (Thorsten Jolitz's message of "Wed, 06 Aug 2014 10:19:02 +0200") 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: Thorsten Jolitz Cc: emacs-orgmode@gnu.org Hello, Thorsten Jolitz writes: > Aaron Ecay writes: > >> Hi Thorsten, >> >> 2014ko abuztuak 5an, Thorsten Jolitz-ek idatzi zuen: >> >> [...] >> >>> >>> Parse this src-block (with point at beg of block): >>> >>> ,---- >>> | M-: (setq ptree (org-element-at-point)) >>> `---- >>> >>> #+header: :results raw >>> #+begin_src emacs-lisp >>> (message "hello world") >>> #+end_src >>> >>> #+results: >>> hello world >>> >>> Then evaluate >>> >>> #+begin_src emacs-lisp >>> (org-element-src-block-interpreter ptree nil) >>> #+end_src >>> >>> #+results: >>> : #+BEGIN_SRC emacs-lisp >>> : (message "hello world") >>> : #+END_SRC >>> >>> #+begin_src emacs-lisp >>> (tj/src-block-interpreter ptree nil) >>> #+end_src >>> >>> #+results: >>> : #+HEADER: :results raw >>> : #+BEGIN_SRC emacs-lisp >>> : (message "hello world") >>> : #+END_SRC >> >> Indeed this seems like an improvement on the status quo. But other >> elements of org syntax (not just src blocks) can have a valid #+header >> (and indeed other affiliated keywords, like #+attr_latex), so the fix >> probably should be more general. > > Yes, there are other elements and more affiliated keywords. The > parser (or rather the interpreter(s)) and parts of Org Babel do not > always deal with them yet. > > This was more a 'constructive bug report', not so much an attempt of a > general fix. I just (partly) fixed this function for myself because I > needed it ... There is no bug here. `org-element-src-block-interpreter' is meant to create a src block and only a src block. `org-element--interpret-affiliated-keyword' is used to create affiliated keywords (like "#+header"). You shouldn't call any of these anyway, since `org-element-interpret-data' is the one and only entry point to interpret parsed data. Try (org-element-interpret-data ptree) Regards, -- Nicolas Goaziou