From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id kIQfNe4oqmGhpQAAgWs5BA (envelope-from ) for ; Fri, 03 Dec 2021 15:25:50 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id wCbyMO4oqmG2EQAA1q6Kng (envelope-from ) for ; Fri, 03 Dec 2021 14:25:50 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 82C7C20337 for ; Fri, 3 Dec 2021 15:25:50 +0100 (CET) Received: from localhost ([::1]:51512 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mt9VV-0002Mw-13 for larch@yhetil.org; Fri, 03 Dec 2021 09:25:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49408) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mt9UA-0001hJ-KI for emacs-orgmode@gnu.org; Fri, 03 Dec 2021 09:24:26 -0500 Received: from ciao.gmane.io ([116.202.254.214]:39930) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mt9U8-0004Fh-Q7 for emacs-orgmode@gnu.org; Fri, 03 Dec 2021 09:24:26 -0500 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mt9U1-0008We-2t for emacs-orgmode@gnu.org; Fri, 03 Dec 2021 15:24:17 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Max Nikulin Subject: Re: Org-syntax: Intra-word markup Date: Fri, 3 Dec 2021 21:24:05 +0700 Message-ID: References: <4897bc60-b74f-ccfd-e13e-9b89a1194fdf@mailbox.org> <87fsrbp673.fsf@gmail.com> <1ef0e093-c165-2a5f-954d-6a33b64c8ee9@mailbox.org> <87r1avgnpi.fsf@localhost> <878rx2bzhw.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 In-Reply-To: <878rx2bzhw.fsf@nicolasgoaziou.fr> Content-Language: en-US Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 19 X-Spam_score: 1.9 X-Spam_bar: + X-Spam_report: (1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NICE_REPLY_A=-0.938, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1638541550; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=MiATYnE0ddNstYjNhiwDHiQx826vyATNDDmMxcsU60w=; b=ZTun1vrn4RRTAp338fcCQib51qK03a3vRTl1/KHm+BJFjUR1sLIkKSb3ihSIYXr3c7QuOd Lb5yvfSBI7qkPw/2Qi7HWvegpUD2b5dBNMDxNydmf0RD9bxVYsl92Wm+pg6h/dg9cMVeoy LbtZEGoB06qAvQ2NGyZvjo30SjJ4pQm+4keIoHwLtolyaUw/XtkRtAkkd0EhfZovJl8+tW dyp8SlENgAcFWcLxylJxeFgY7+dW0Ht72UHHONFh47GhkOzzZZXryU/1UCUgujXIKCf4kc wQ+Y//cRpn66kHYpVduWXe78WknWMRDbkWretPPWaSuwsE5Twc9iZ9oIzglYJA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1638541550; a=rsa-sha256; cv=none; b=RtTNofW0wGQN4/Tp7jVkEyu56ojwua99BcyrPIMqb/X31d2ORkMeffa4nfgAx47ggyBm31 9L+G6Y6sRinX2tJkI6Fp2EUP6csudOQzhF18OvIlh2MyEpKh7Qo9ptA5WB20t4AUSCMIBd CiNlF8Iy6SqwZp9K8DNSRzNOPAaRpJ2fhDEBZLMJIrmyuUQV2FXAvjBA96MQXF/UA/SktF xgAbIsU02qW8nv5TfAaRQQsQqF+NkFWDzrT00uK7WOHnJs5UGZyhrVtlftjwnRQX16p7Kw 4mtYx9sFdykDu/o6nhwQsUICowG/JHSRYT7IvkMdujdb3kpXgyR4Kw/lApoGYQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.32 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 82C7C20337 X-Spam-Score: -2.32 X-Migadu-Scanner: scn0.migadu.com X-TUID: s7EuM39DIc51 On 03/12/2021 02:03, Nicolas Goaziou wrote: >> Denis Maier writes: >> >>> As for suggestions: If just using /intra/word creates ambiguities, what >>> about the asciidoc solution? So //intra//word? > > I sympathize to the idea of intra-word emphasis, but the syntax above is > going to cause some ambiguous situations. I suppose, some more general solution is required. > I do think the marker + zero-width space is one way to go. We could, as > an improvement, consider zero-width spaces around emphasis markers to be > part of the markup, and replace them along during export. Zero-space characters adjacent to emphasis markers is a better idea than replacing any zero space. However I agree with Juan Manuel that white space characters, especially completely invisible (I am not Eli who sees such special characters by moving cursor through them) should not be overloaded. From my point of view, it is acceptable to use zero width spaces as a workaround but they should not become official part of Org syntax. > Another solution is to introduce a less-subtle, but less prone to > ambiguity, syntax, e.g., > > /{bold}/markup or /|bold|/markup > > where /{ }/ or /| |/ become "extended" markers. More explicit markup leaves less room for ambiguities, and I like the idea due to this reason. On the other hand it diverges from principle of lightweight markup. The almost only special character in TeX is "\", HTML has three ones "&<>" with simple escape rules. Org uses many special characters to avoid verbosity and requires some tricks to escape them. Markers like "\{" make Org more verbose but do not make it more strict, a lot of things still rely on heuristics. I have an idea what can be done when some special markup is required that is not fit into current syntax. Unfortunately some new constructs should be introduced anyway: inline objects and multiline elements that represent simplified result of parsed Org structures: ((italic "intra") "word") wrapped with some markup. It should satisfy any special needs (and even should allow to create invalid impossible constructs). Maybe idea of combination of lightweight markup and low-level blocks better suits for some other project with more expressive internal representation. In Org it may become the most hated feature.