From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaron Ecay Subject: Re: Discussion request: 15m tangle time, details follow Date: Wed, 18 Jun 2014 13:47:15 -0400 Message-ID: <877g4ew7yv.fsf@gmail.com> References: <87ppi76irx.fsf@gmail.com> <86mwdaprcr.fsf@somewhere.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60615) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxJv3-00058y-N8 for emacs-orgmode@gnu.org; Wed, 18 Jun 2014 13:45:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WxJuu-0008DA-Lb for emacs-orgmode@gnu.org; Wed, 18 Jun 2014 13:45:09 -0400 Received: from mail-qg0-x22b.google.com ([2607:f8b0:400d:c04::22b]:37850) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxJuu-0008Cx-GU for emacs-orgmode@gnu.org; Wed, 18 Jun 2014 13:45:00 -0400 Received: by mail-qg0-f43.google.com with SMTP id z60so1077830qgd.16 for ; Wed, 18 Jun 2014 10:44:59 -0700 (PDT) In-Reply-To: <86mwdaprcr.fsf@somewhere.org> 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: Sebastien Vauban , emacs-orgmode@gnu.org Hi Sebastien, 2014ko ekainak 18an, Sebastien Vauban-ek idatzi zuen: > > Hi Aaron, > > Aaron Ecay wrote: >> [...] >> babel needs to fetch 30 properties per source block. Indeed, this is >> marked =E2=80=9Cdeprecated=E2=80=9D in the source, in favor of a system = where there is >> only one header arg. This has been marked deprecated for almost exactly >> a year in the code (Achim=E2=80=99s commit 90b16870 of 2013-06-23), but = I don=E2=80=99t >> know of any prominent announcement of the deprecation. > > I neither was aware of such a deprecation. > > Are you talking of the comment in function > `org-babel-params-from-properties' (in ob-core.el)? > > Thought, I can't parse it yet the way you do -- without understanding > much more of that code, as the comments differ in "at point of > definition" vs "at point of call": > > ;; DEPRECATED header arguments specified as separate property at > ;; point of definition > > ;; header arguments specified with the header-args property at > ;; point of call That also differs between the two methods. ,---- | | * foo | :PROPERTIES:... | | #+name: xyz | #+begin_src | ... | #+end_src | | * bar | :PROPERTIES:... | | #+call: xyz() `---- The current code looks for individual header arg properties at foo, but for the property header-args at bar (for the #+call line) > > What you're talking about is for specifying header arguments in > a subtree, anyway always at the same point: > >> [...] You=E2=80=99d then have to update your file: >> >> :PROPERTIES: >> :exports: none >> :tangle: no >> :END: >> >> becomes >> >> :PROPERTIES: >> :header-args: :exports none :tangle no >> :END: >> >> The new system is also a bit inferior, in that it doesn=E2=80=99t allow = header >> arg inheritance as easily. So with the one-prop-per-arg system the >> following works as expected: >> >> * foo >> :PROPERTIES: >> :exports: none >> :END: >> ** bar >> :PROPERTIES: >> :tangle: no >> :END: >> >> (src block here) >> >> On the other hand, in the new system there=E2=80=99s no way to specify s= ome >> header args at foo and some at bar; the lowest header-args property >> wins. (At least as far as I can see) > > Maybe the "+" mechanism for concatenating property strings would help > here? No, org-entry-get-with-inheritance will not continue climbing the tree once it finds one instance of the property in question, as demonstrated here: ,---- | * foo | :PROPERTIES: | :quux+: abc | :END: | ** bar | :PROPERTIES: | :quux+: foo | :quux+: bar | :END: | | #+BEGIN_SRC emacs-lisp | (org-entry-get nil "quux" t) | #+END_SRC | | #+RESULTS: | : foo bar `---- -- Aaron Ecay