From: Nicolas Goaziou <n.goaziou@gmail.com>
To: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Re: [parser] subscripts and underlines interacting badly
Date: Wed, 11 Dec 2013 09:22:04 +0100 [thread overview]
Message-ID: <87bo0nu79v.fsf@gmail.com> (raw)
In-Reply-To: <87ppp415n4.fsf@gmail.com> (Aaron Ecay's message of "Tue, 10 Dec 2013 21:30:07 -0500")
Hello,
Aaron Ecay <aaronecay@gmail.com> writes:
> I have encountered two related misbehaviors in the parser/exporter.
>
> The first manifests if you type the following line into an org-mode
> buffer and execute M-: (org-element-context) with point on the ‘f’; the
> result is a subscript object, whereas I would have expected an
> underline:
>
> '_foo_
>
> I think both possibilities are returned by
> org-element--get-next-object-candidates, and subscript “wins” because it
> precedes the other in the list. I’m not sure how this should be
> addressed, but maybe Nicolas knows.
Actually, this is not really a parser problem but a syntax one.
underline and subscript are ambiguous, and therefore ill-defined,
because, in some situations, both can match at the same location.
This is usually not noticeable because, I think, most uses of underline
begin with a space (e.g. some _word_) whereas subscript cannot. This is
not true in your example.
This has been discussed some months ago, but, AFAIR, no answer was
found. Note that I suggested a change to superscript/supscript a couple
of weeks ago, but it won't solve the problem at hand. Perhaps it could
be extended to remove ambiguity for subscript.
> I encountered the second issue when trying to hack around the first by
> setting org-use-sub-superscripts to '{}. It seems this variable is not
> considered by the parser. I think the attached patch fixes this
> issue.
Thanks for the patch.
Though, the parser ignores `org-use-sub-superscripts' on purpose. At the
moment `org-use-sub-superscripts' is a display variable only.
This change happened in 8.0. This also explains why
`org-export-with-sub-superscripts' is now a separate value from
`org-use-sub-superscripts'.
The main reason for this change is that I think that customizable
syntax, unlike to customizable behaviour, is not a good idea for Org
(e.g. portability and simplicity issues).
Regards,
--
Nicolas Goaziou
next prev parent reply other threads:[~2013-12-11 8:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-11 2:30 [parser] subscripts and underlines interacting badly Aaron Ecay
2013-12-11 8:22 ` Nicolas Goaziou [this message]
2013-12-11 18:36 ` Aaron Ecay
2013-12-11 20:55 ` Nicolas Goaziou
2013-12-12 7:56 ` Aaron Ecay
2013-12-12 17:33 ` Nicolas Goaziou
2013-12-12 19:42 ` Aaron Ecay
2013-12-12 20:47 ` Nicolas Goaziou
2013-12-16 3:15 ` Aaron Ecay
2013-12-16 3:24 ` [PATCH] quick patch to org-habit todo state keywords Ted Wiles
2013-12-16 4:27 ` Aaron Ecay
2013-12-17 16:57 ` [parser] subscripts and underlines interacting badly Nicolas Goaziou
2013-12-18 6:57 ` Aaron Ecay
2013-12-18 15:01 ` Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bo0nu79v.fsf@gmail.com \
--to=n.goaziou@gmail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.