* Feature Request? #+CONFIG keyword - to abstract more configuration into org files, @ 2009-10-22 19:55 Tim O'Callaghan 2009-10-22 20:10 ` Bernt Hansen 0 siblings, 1 reply; 7+ messages in thread From: Tim O'Callaghan @ 2009-10-22 19:55 UTC (permalink / raw) To: org-mode Simply, Expand the #+<KEYWORD> 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. I 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? Tim. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Feature Request? #+CONFIG keyword - to abstract more configuration into org files, 2009-10-22 19:55 Feature Request? #+CONFIG keyword - to abstract more configuration into org files, Tim O'Callaghan @ 2009-10-22 20:10 ` Bernt Hansen 2009-10-22 20:23 ` Matt Lundin 0 siblings, 1 reply; 7+ messages in thread From: Bernt Hansen @ 2009-10-22 20:10 UTC (permalink / raw) To: Tim O'Callaghan; +Cc: org-mode "Tim O'Callaghan" <tim.ocallaghan@gmail.com> writes: > Simply, > > Expand the #+<KEYWORD> 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. I > 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? -Bernt ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Feature Request? #+CONFIG keyword - to abstract more configuration into org files, 2009-10-22 20:10 ` Bernt Hansen @ 2009-10-22 20:23 ` Matt Lundin 2009-10-22 20:28 ` Carsten Dominik 0 siblings, 1 reply; 7+ messages in thread From: Matt Lundin @ 2009-10-22 20:23 UTC (permalink / raw) To: Bernt Hansen; +Cc: Tim O'Callaghan, org-mode Bernt Hansen <bernt@norang.ca> writes: > "Tim O'Callaghan" <tim.ocallaghan@gmail.com> writes: > >> Expand the #+<KEYWORD> 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. I >> 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. 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: `---- Best, Matt ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re: Feature Request? #+CONFIG keyword - to abstract more configuration into org files, 2009-10-22 20:23 ` Matt Lundin @ 2009-10-22 20:28 ` Carsten Dominik 2009-10-22 21:35 ` Tim O'Callaghan 2009-10-22 21:52 ` Matthew Lundin 0 siblings, 2 replies; 7+ messages in thread From: Carsten Dominik @ 2009-10-22 20:28 UTC (permalink / raw) To: Matt Lundin; +Cc: Bernt Hansen, Tim O'Callaghan, org-mode On Oct 22, 2009, at 10:23 PM, Matt Lundin wrote: > Bernt Hansen <bernt@norang.ca> writes: > >> "Tim O'Callaghan" <tim.ocallaghan@gmail.com> writes: >> >>> Expand the #+<KEYWORD> 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. I >>> 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. It is special that is *also* works for export variables, which is complicated because the *output buffer* is current when export happens, so local variables would be out of scope. - Carsten > > 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: > `---- > > Best, > Matt > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re: Feature Request? #+CONFIG keyword - to abstract more configuration into org files, 2009-10-22 20:28 ` Carsten Dominik @ 2009-10-22 21:35 ` Tim O'Callaghan 2009-10-22 21:52 ` Matthew Lundin 1 sibling, 0 replies; 7+ messages in thread From: Tim O'Callaghan @ 2009-10-22 21:35 UTC (permalink / raw) To: org-mode 2009/10/22 Carsten Dominik <carsten.dominik@gmail.com>: > > On Oct 22, 2009, at 10:23 PM, Matt Lundin wrote: > >> Bernt Hansen <bernt@norang.ca> writes: >> >>> "Tim O'Callaghan" <tim.ocallaghan@gmail.com> writes: >>> >>>> Expand the #+<KEYWORD> 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. I >>>> 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. It is special that is *also* works for > 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 '<module>) or an (eval <find org site-lisp>) 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. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Feature Request? #+CONFIG keyword - to abstract more configuration into org files, 2009-10-22 20:28 ` Carsten Dominik 2009-10-22 21:35 ` Tim O'Callaghan @ 2009-10-22 21:52 ` Matthew Lundin 2009-10-22 22:11 ` Carsten Dominik 1 sibling, 1 reply; 7+ messages in thread From: Matthew Lundin @ 2009-10-22 21:52 UTC (permalink / raw) To: Carsten Dominik; +Cc: Bernt Hansen, Matt Lundin, org-mode, Tim O'Callaghan Carsten Dominik <carsten.dominik@gmail.com> writes: > On Oct 22, 2009, at 10:23 PM, Matt Lundin wrote: > >> Bernt Hansen <bernt@norang.ca> writes: >> >>> "Tim O'Callaghan" <tim.ocallaghan@gmail.com> writes: >>> >>> 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. It is special that is *also* works > for export variables, which is complicated because the *output buffer* > is current when export happens, so local variables would be out of > scope. > > - Carsten > Thanks for the explanation. I aplogize if I'm missing something, but I can't seem to get the bind line to work. I've placed the following line at the top of an org file: ,---- | #+BIND: org-footnote-section "References" `---- ...and yet after killing, reloading, and refreshing the buffer, the footnotes still appear in the section in which they are entered, in keeping with my global org-footnote-section setting (nil). Out of curiosity, I've also tried the following line to no avail: ,---- | #+BIND: org-footnote-section t `---- I've tried setting org-export-allow-BIND and org-export-allow-BIND-local to t, but the same results occur. On the other hand, when I use local variables, as below, the footnotes appear under the headline "References". >> ,---- >> | * COMMENT Local Variables >> | # Local Variables: >> | # org-footnote-section: "References" >> | # End: >> `---- Do I have the correct syntax for #+bind? Is there another variable that activates "bind" syntax? Or does it perhaps work only for certain variables? Thanks! I'll be glad to write an FAQ about this, seeing as I'm quickly turning it into a frequently asked question. :) - Matt ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Feature Request? #+CONFIG keyword - to abstract more configuration into org files, 2009-10-22 21:52 ` Matthew Lundin @ 2009-10-22 22:11 ` Carsten Dominik 0 siblings, 0 replies; 7+ messages in thread From: Carsten Dominik @ 2009-10-22 22:11 UTC (permalink / raw) To: Matthew Lundin; +Cc: Bernt Hansen, Tim O'Callaghan, org-mode On Oct 22, 2009, at 11:52 PM, Matthew Lundin wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: > >> On Oct 22, 2009, at 10:23 PM, Matt Lundin wrote: >> >>> Bernt Hansen <bernt@norang.ca> writes: >>> >>>> "Tim O'Callaghan" <tim.ocallaghan@gmail.com> writes: >>>> >>>> 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. It is special that is *also* works >> for export variables, which is complicated because the *output >> buffer* >> is current when export happens, so local variables would be out of >> scope. >> >> - Carsten >> > > Thanks for the explanation. I aplogize if I'm missing something, but I > can't seem to get the bind line to work. I've placed the following > line > at the top of an org file: > > ,---- > | #+BIND: org-footnote-section "References" > `---- > > ...and yet after killing, reloading, and refreshing the buffer, the > footnotes still appear in the section in which they are entered, in > keeping with my global org-footnote-section setting (nil). > > Out of curiosity, I've also tried the following line to no avail: > > ,---- > | #+BIND: org-footnote-section t > `---- > > I've tried setting org-export-allow-BIND and org-export-allow-BIND- > local > to t, but the same results occur. > > On the other hand, when I use local variables, as below, the footnotes > appear under the headline "References". > >>> ,---- >>> | * COMMENT Local Variables >>> | # Local Variables: >>> | # org-footnote-section: "References" >>> | # End: >>> `---- > > Do I have the correct syntax for #+bind? Is there another variable > that > activates "bind" syntax? Or does it perhaps work only for certain > variables? You are right, I was mistaken! In fact, BIND works for any variables, but only during export :-) - Carsten ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-10-22 22:11 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-10-22 19:55 Feature Request? #+CONFIG keyword - to abstract more configuration into org files, Tim O'Callaghan 2009-10-22 20:10 ` Bernt Hansen 2009-10-22 20:23 ` Matt Lundin 2009-10-22 20:28 ` Carsten Dominik 2009-10-22 21:35 ` Tim O'Callaghan 2009-10-22 21:52 ` Matthew Lundin 2009-10-22 22:11 ` Carsten Dominik
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).