emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] Re: [BABEL] "unset" :var definitions for subtree


From: Dan Davison
Subject: [Orgmode] Re: [BABEL] "unset" :var definitions for subtree
Date: Sun, 13 Feb 2011 01:38:01 +0000
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (darwin)

"Eric Schulte" <address@hidden> 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.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode



reply via email to

[Prev in Thread] Current Thread [Next in Thread]