From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tim O'Callaghan" Subject: Re: Re: Feature Request? #+CONFIG keyword - to abstract more configuration into org files, Date: Thu, 22 Oct 2009 23:35:08 +0200 Message-ID: <3d6808890910221435p1e5b1701qc0065f2f5508263a@mail.gmail.com> References: <3d6808890910221255j3ed36d34t63366fb6da3309d2@mail.gmail.com> <87tyxr5gwj.fsf@gollum.intra.norang.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N15Js-0006i2-3Y for emacs-orgmode@gnu.org; Thu, 22 Oct 2009 17:35:40 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N15Jm-0006bA-Sk for emacs-orgmode@gnu.org; Thu, 22 Oct 2009 17:35:39 -0400 Received: from [199.232.76.173] (port=37928 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N15Jm-0006b7-PQ for emacs-orgmode@gnu.org; Thu, 22 Oct 2009 17:35:34 -0400 Received: from mail-bw0-f215.google.com ([209.85.218.215]:44221) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N15Jm-0006X0-Ci for emacs-orgmode@gnu.org; Thu, 22 Oct 2009 17:35:34 -0400 Received: by bwz7 with SMTP id 7so689925bwz.26 for ; Thu, 22 Oct 2009 14:35:33 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: org-mode 2009/10/22 Carsten Dominik : > > On Oct 22, 2009, at 10:23 PM, Matt Lundin wrote: > >> Bernt Hansen writes: >> >>> "Tim O'Callaghan" writes: >>> >>>> Expand the #+ in-org file configuration possibilities with >>>> a #+CONFIG or similar keyword. >>>> >>>> The idea being to abstract more configuration into actual org files, >>>> and let extensions have an easy way to use #+KEYWORD configuration. = =A0I >>>> expect it could also be used to auto-load suitably registered >>>> extensions/contributions. >>>> >>>> So for example, my org-action-verb extension might use a line like: >>>> >>>> #+CONFIG org-action-verb TODO|NEXT Address Ask Buy Change Clarify >>>> >>>> Where there is handler function CONFIG:org-action-verb, that is >>>> defined as auto-loadable and called with the rest of the line to >>>> configure the extension. >>>> >>>> I guess this mechanism could also be extended to abstract more >>>> core-org configuration - such as agenda keys, stuck projects, or >>>> whatever. >>>> >>>> what do people think? >>> >>> Can you use the #+BIND: keyword to set arbitrary variables and achieve >>> the same result? >> >> If I understand it correctly, #+BIND only works for export related >> variables. > > > Nope, it works for any variables. =A0It is special that is *also* works f= or > export variables, which is complicated because the *output buffer* is > current when export happens, so local variables would be out of scope. > > - Carsten > The docs do not explain this. I'll look into it. >> >> For local options that are not part of the default in-buffer syntax, I >> use Local Variables. E.g., >> >> ,---- >> | * COMMENT Local Variables >> | # Local Variables: >> | # org-footnote-section: "References" >> | # End: >> `---- >> I'm using something similar at the moment, but i was thinking of a mechanism that could also be used to load and initialise core and contributed code without having to have a (require ') or an (eval ) in the org file(s). I'm currently working on getting someone else to track my org files, and i don't want to have them track my .emacs as well. The auto-loading would be more useful than a unified abstraction of a configuration mechanism for this. Tim.