"Eric Schulte" <schulte.e...@gmail.com> writes: > [...] >> >> I agree, the things I was talking about don't end up being simpler in >> terms of usage for this case. My thinking was that variable unsetting >> might be something that would be required fairly rarely, and so it might >> be worth appropriate to support it as part of a more general/powerful >> mechanism tied into Org properties, or even that hook. >> > > It does sound like if there were a way to disable inheritance for > certain properties for certain sub-trees of a document, then that would > be ideal -- although I can't imagine how such functionality would be > implemented. Can we think of an Org-wide syntax for disinheriting > specific properties?
I'm not sure whether or how this fits it, but it's worth noting that Org currently documents the following ,---- | org-entry-get-with-inheritance is a Lisp function in `org.el'. | | (org-entry-get-with-inheritance PROPERTY &optional LITERAL-NIL) | | Get entry property, and search higher levels if not present. | The search will stop at the first ancestor which has the property defined. | If the value found is "nil", return nil to show that the property | should be considered as undefined (this is the meaning of nil here). | However, if LITERAL-NIL is set, return the string value "nil" instead. `---- so that seems to suggest ":var nil" as a way of knocking out all :var assignments, but doesn't immediately suggest how to knock out on a per-variable basis. :var a=nil ? (Which otherwise would look for a src block named "nil") >> Before we proceed with the variable unsetting, could someone provide a >> motivating example, just to convince ourselves that the extra features >> are justified? (The conclusion of another message was that the torque >> script example was more a motivating example for shebang/preamble >> processing than for variable unsetting.) >> > > Certainly. > > 1. taking Rainer's first example, lets say that you want a variable > specified for all but one code block in a file (maybe that one code > block is the source of the value of the variable). In this case it > would be much simpler to specify the variable file-wide, and then > unset the variable for that one code block. Agreed. It's not clean, but currently in this situation one could just set the offending variable to some other value. > 2. say you want the same session for /nearly/ every code block in a > file. > 3. same for :dir, :file, or :shebang... I'd just note that some of these already have natural values that can be used to "unset" :session none :dir . :shebang "" :file <not sure about this one, but maybe "none" should be used...> Dan > > > So, in summary, I am all for a general org-mode wide solution for > disinheriting specific properties, however, if we are unable to find > such a solution then I would lean towards implementing this for Babel > specifically. > > Best -- Eric > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode