From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-use-property-inheritance not working? Date: Mon, 01 Jun 2015 18:01:16 +0200 Message-ID: <87k2vnto37.fsf@nicolasgoaziou.fr> References: <87617bqb2c.fsf@selenimh.access.network> <874mmt7kal.fsf@nicolasgoaziou.fr> <87eglw5r3h.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33403) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YzS80-0006HP-3z for emacs-orgmode@gnu.org; Mon, 01 Jun 2015 11:59:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YzS7y-0000kT-MG for emacs-orgmode@gnu.org; Mon, 01 Jun 2015 11:59:52 -0400 Received: from relay3-d.mail.gandi.net ([2001:4b98:c:538::195]:48780) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YzS7y-0000kJ-De for emacs-orgmode@gnu.org; Mon, 01 Jun 2015 11:59:50 -0400 In-Reply-To: (Rainer M. Krug's message of "Mon, 01 Jun 2015 10:46:54 +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: Rainer M Krug Cc: emacs-orgmode@gnu.org Rainer M Krug writes: > This means *a specific property* - or *any property*? In other words: > can property A inherit from one level lower if property B is set in the > current level? It can. > Then I think there is a bug. Look at the following example: > > #+PROPERTY: header-args :tangle-mode (identity #o444) > #+PROPERTY: header-args+ :eval no-export > > #+PROPERTY: header-args:R :session *R.EnergyBalance* > > > * Make sure org-use-property-inheritance is nil > > #+begin_src emacs-lisp > (setq org-use-property-inheritance nil) > #+end_src > > #+RESULTS: > > Therefore from now on, we will only look at the current level and > ignore properties set at lower levels - correct? > > * Without properties > #+begin_src > 13 > #+end_src > > ,---- > | Properties: > | :header-args :tangle-mode (identity #o444) :eval no-export > | :header-args:nil nil > | Switches: > | Header Arguments: > | :cache no > | :eval no-export > | :exports code > | :hlines no > | :noweb no > | :results replace > | :session none > | :tangle no > | :tangle-mode 292 > `---- > > * With Properties at level one > :PROPERTIES: > :header-args+: :tangle SetAtFirstLevel > :header-args+: :output-dir ./output > :END: > > #+begin_src R > 13 > #+end_src > > ,---- > | Lang: R > | Properties: > | :header-args :tangle-mode (identity #o444) :eval no-export :tangle SetAtFirstLevel :output-dir ./output > | :header-args:R :session *R.EnergyBalance* > | Header Arguments: > | :cache no > | :eval no-export > | :exports code > | :hlines no > | :noweb no > | :output-dir ./output > | :results replace > | :session *R.EnergyBalance* > | :tangle ./output/scripts/analysisCode.do.not.source.R > | :tangle-mode 292 > `---- > > ** Second level without properties > These should now be the same as [[Without properties]] as org-use-property-inheritance is nil. > #+begin_src R > cat(13) > #+end_src > > But it is the same as [[With Properties at level one]]. > ,---- > | Lang: R > | Properties: > | :header-args :tangle-mode (identity #o444) :eval no-export :tangle SetAtFirstLevel :output-dir ./output > | :header-args:R :session *R.EnergyBalance* > | Header Arguments: > | :cache no > | :eval no-export > | :exports code > | :hlines no > | :noweb no > | :output-dir ./output > | :results replace > | :session *R.EnergyBalance* > | :tangle ./output/scripts/analysisCode.do.not.source.R > | :tangle-mode 292 > `---- There's no bug. Babel activates inheritance on purpose, no matter what `org-use-property-inheritance' says. See the last line of its docstring: "ob-core.el" (in particular `org-babel-view-src-block-info') calls `org-entry-get' with `t', not `selective'. Really, `org-use-property-inheritance' is for your own properties. Org ignores it to handle its own internal properties. > Concerning property accumulation: I assume you mean the header-args+ - > correct? Because I could not find the term "accumu" in the org manual. Correct. I don't think they have a name, but they should, because they are a different beast than regular properties. > Are these properties treated as a normal properties, and the same rules > apply, or are there specific rules? They follow specific rules. For example there can only be one property A in a given property drawer, but there can be as many A+ as you want. Also, (org-entry-get (point) "A+") will not return something meaningful. Regards,