From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Flexible plain list bullets Date: Fri, 20 Apr 2012 16:51:52 +0200 Message-ID: References: <4F8F695D.5090600@kli.org> <87vckw3zk5.fsf@gmail.com> <4F90E3DC.1040901@kli.org> Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:44008) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SLFBu-0006tV-DJ for emacs-orgmode@gnu.org; Fri, 20 Apr 2012 10:52:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SLFBn-0006sp-K9 for emacs-orgmode@gnu.org; Fri, 20 Apr 2012 10:52:05 -0400 Received: from mail-ey0-f169.google.com ([209.85.215.169]:50467) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SLFBn-0006sJ-7M for emacs-orgmode@gnu.org; Fri, 20 Apr 2012 10:51:59 -0400 Received: by eaal1 with SMTP id l1so2657442eaa.0 for ; Fri, 20 Apr 2012 07:51:55 -0700 (PDT) In-Reply-To: <4F90E3DC.1040901@kli.org> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "Mark E. Shoulson" Cc: org-mode mailing list On Apr 20, 2012, at 6:19 AM, Mark E. Shoulson wrote: > 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: >=20 > + 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. >=20 > + 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 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. >=20 > + 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. >=20 > + 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. >=20 > 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". Hi Mark, your point is well taken, but I believe that your argument is in the end not a very strong one anyway: The fact that we do have cases where the Org syntax is not completely robust and fixed cannot be an argument for adding more such cases. As you say, TODO keywords and DRAWERS can be set in the buffer, to make parsing stable. Using many different characters for emphasis is certainly a mistake. The main reason for the introduction of org-emphasis-alist was to make html output configurable - and even that should actually be done in a separate variable, as is done for docbook and latex backends. I have always hated myself for introducing strikethrough emphasis at all and you can find my rants about this through the years. The trouble, however, is, that once something like this has been added, it is hard to remove again. The reason for the existence of org-emphasis-regexp-components is precisely because doing the parsing correctly for a large set of emphasis delimiters is such a bitch, so I needed to play with it to get it right. But I totally agree with you, this is a prime candidate for parser incompatibility between Org files. Still, a syntax customization that changes the structure of the file (like list bullets) is heavier that if a font change goes wrong. If you look back, I was originally not for indroduction of alpha bullets, and I have often thought that stars should not have been used for this purpose because they cause ambiguity with headlines if unindented. Regards - Carsten >=20 > (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.) >=20 > ~mark >=20 > 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. >>=20 >> - Carsten >>=20 >>> However, Nicolas' suggestion about a minor mode to add overlays = sounds >>> like a great idea to me. >>>=20 >>> --=20 >>> Suvayu >>>=20 >>> Open source is the future. It sets us free. >>>=20 >> - Carsten >>=20 >>=20 >=20 - Carsten