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 “deprecated” 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’s commit 90b16870 of 2013-06-23), but I don’t >> 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’d 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’t 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’s no way to specify some >> 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