From: Max Nikulin <manikulin@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Add new entity \-- serving as markup separator/escape symbol
Date: Fri, 29 Jul 2022 09:50:58 +0700 [thread overview]
Message-ID: <tbvhuk$pt3$1@ciao.gmane.io> (raw)
In-Reply-To: <87mtcsn173.fsf@localhost>
On 29/07/2022 08:43, Ihor Radchenko wrote:
> Max Nikulin writes:
>
>> The good point in your patch is that \- is still work as shy hyphen
>> (that, by the way, may be used in some cases instead of zero width
>> space: *intra*\-word). On the other hand I have managed to find a case
>> when your approach is not ideal:
>>
>> *\--scratch\--*
>>
>> <p>
>> <b>­-scratch</b></p>
>
> Well. I think that it is impossible to use the same escape construct to
> both force emphasis and escape it.
Let's articulate the problem as follows: when some characters ("*". "/".
etc.) besides used literally are overloaded with 2 additional roles that
are start emphasis group and terminate emphasis group, in addition to
lightweight markup heuristics, it is necessary to provide a way to
disambiguate which of 3 roles is associated with particular character.
"Activate" and "deactivate" characters or entities for emphasis markers
are alternative and perhaps not so clear terms have used before.
The advantage of zero width space is that "[:space:]" is part of
PREMATCH and POSTMATCH (outer) regexps in
`org-emphasis-regexp-components' and "[:space:]" is forbidden at the
inner borders of emphasized span of text. The latter is mostly
meaningful, however I am unsure if bold space has the same width as
regular one, and space in fixed width font is certainly distinct.
The problem with the "\--" entity is that it is not handled properly at
the start of emphasis region. It neither disables emphasis nor parsed as
complete entity, instead it becomes combination of "\-" shy hyphen and
literal "-".
Unsure if it can be solved consistently. Possible ways:
- It addition to space-like (in respect to current regexp) entity add
another one that acts as a part of word, but like "\--" stripped from
output. Likely it should be accompanied by more changes in the parser
and regexps.
- Provide some new explicit syntax for literal character, start of
emphasis group, end of emphasis group.
Concerning zero width space workaround, I may be wrong, but Nicolas
might consider using U+200B zero width space as the escape character for
itself: single one is filtered out during export, double zero width
space becomes single character. (I do not like this kind of "white
space" programming language".) Another question is whether U+2060 word
joiner (or some other character) should be added either as alternative
to zero width space or to allow = verbatim = fixed width text
surrounded by fixed width spaces.
next prev parent reply other threads:[~2022-07-29 3:29 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-19 5:32 How to force markup without spaces cinsky
2012-11-19 7:11 ` Vladimir Lomov
2012-11-19 10:06 ` Seong-Kook Shin
2012-11-19 14:40 ` Suvayu Ali
2012-12-13 21:26 ` Bastien
2022-07-25 17:50 ` K
2022-07-25 18:27 ` K
2022-07-25 19:02 ` K
2022-07-26 1:26 ` Ihor Radchenko
2022-07-26 2:23 ` Max Nikulin
2022-07-26 4:26 ` K K
2022-07-26 6:30 ` Max Nikulin
2022-07-26 12:59 ` [PATCH] org-export: Remove zero-width space escapes during export Ihor Radchenko
2022-07-26 14:25 ` Timothy
2022-07-26 15:27 ` András Simonyi
2022-07-26 16:38 ` Max Nikulin
2022-07-27 3:30 ` Max Nikulin
2022-07-28 13:17 ` [PATCH] Add new entity \-- serving as markup separator/escape symbol Ihor Radchenko
2022-07-28 15:34 ` Max Nikulin
2022-07-29 1:43 ` Ihor Radchenko
2022-07-29 2:50 ` Max Nikulin [this message]
2022-07-29 9:06 ` [PATCH v2] " Ihor Radchenko
2022-07-30 0:22 ` Samuel Wales
2022-07-30 4:12 ` Samuel Wales
2022-07-30 6:49 ` Ihor Radchenko
2022-07-30 15:44 ` Max Nikulin
2022-07-28 22:20 ` [PATCH] " Tim Cross
2022-07-29 0:32 ` Juan Manuel Macías
2022-07-29 5:49 ` tomas
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
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='tbvhuk$pt3$1@ciao.gmane.io' \
--to=manikulin@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 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).