I guess. I spoke with someone on the IRC channel about this too, the
basic idea being that the Org format should be stable, so the same file
won't parse or behave differently on different installations. There's
something to be said for that, but there are a fair number of
customizable options that conflict with that ideal already. Some maybe
should be there anyway, some might be better being made constants (or
else reconsider my patch :) ). Examples:
+ org-emphasis-regexp-components and org-emphasis-alist are probably
top candidates. These affect the parsing of Org in a pretty basic way:
if you can change what characters to use for emphasis, and worse,
exactly how they extend (what characters can interfere, etc), it's
probably at least as potentially disruptive as alternate bullets. You
might consider making these defconst instead of defcustom, if at all
possible.
+ org-edit-src-region-extra is also a good example of exactly what
you're saying shouldn't be there. First code blocks came in different
ad-hoc flavors like #+ascii or <lisp> or whatever. Then the #+begin_src
format came in order to unify them all and keep them from proliferating
as new languages come up. And so all of those are quite appropriately
hardcoded, just as you say they should be, in the
org-edit-src-find-region-and-lang function. But that function also
looks at org-edit-src-region-extra, which throws open exactly the same
kind of problem you're objecting to.
+ org-drawers is a customization that affects structure and parsing.
Notably it is also settable in-file, which anything like this really
needs to be, so a file can carry its special needs with it. This is
actually probably a deeper structural change than bullets, but drawers
can do great things, and so may be powerful enough to be worth it.
+ TODO keywords and the like also affect parsing and export and
cursor-movement (about the same stuff bullets would) and are settable,
but again are really important and useful. The COMMENT keyword less
critical, but since it's a word, it's only reasonable that people should
be able to have it in the appropriate language for their file.
Which does bring up one point: it isn't fair to imply that customizable
bullets would not be "pure plain text." Apart from the fact that they
might well be used to make pure ASCII bullets (characters like @ or !
seem like possibilities), the fact is that Unicode *IS* plain text,
that's what it's for. TODO keywords and such can and should be able to
take on values that use non-ascii letters for users of other languages,
and Org files written in Hindi or Hebrew remain "pure plain text".
(I wonder if it would matter if the customization could only ADD
possibilities, like the org-edit-src-region-extra variable does, and not
replace or take away the basic ones.)
~mark
On 04/19/2012 06:01 AM, Carsten Dominik wrote:
On Apr 19, 2012, at 11:40 AM, suvayu ali wrote:
I think this is very well put. Org must remain parsable,
and all basic syntactic elements should be pure plain text
and not configurable.
- Carsten
However, Nicolas' suggestion about a minor mode to add overlays sounds
like a great idea to me.
--
Suvayu
Open source is the future. It sets us free.
- Carsten