From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id GNPdLPIebWdpfwAAe85BDQ:P1 (envelope-from ) for ; Thu, 26 Dec 2024 09:16:34 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id GNPdLPIebWdpfwAAe85BDQ (envelope-from ) for ; Thu, 26 Dec 2024 10:16:34 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=L7ZYkzvJ; 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"; dmarc=pass (policy=none) header.from=posteo.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1735204594; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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:dkim-signature; bh=1FGlAyoc16AiHq7jC1GQze+7kCoweqXkq50Kc1qGReQ=; b=QsRmJTCHL4kDKBRjsA4XstPuemY5VHANY6CBCs+YlBsh4mhgtkxgYjQKnZjlGViYb4kUte S9BUwgCprx2Ci5JGnUrQ+jGrELRSkBsBXHFQK6oUokNlyfKNPpebVDxs+kHOUaj/YiZmSx 67PmXdqZbUD33Af9GPHq7xZ/YanCzcMaAaY+Rj+uvgMhsuJx+uENWfcpVnEA3EEfGLSqO6 EGn4pVaGCtOvnoyY6yk4TAY1vvE4l6gKMwj8t8OsPeZ+oxUZyBa6zWQwO7LsxyNmGtpmat Uwc3Zta5ot9zLjPmBnnykrWHlCK5keHp3OHR5DXMlhcb8iBM7PTOF+6ym/ixEQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=L7ZYkzvJ; 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"; dmarc=pass (policy=none) header.from=posteo.net ARC-Seal: i=1; s=key1; d=yhetil.org; t=1735204594; a=rsa-sha256; cv=none; b=K2QEBEGNwZFh7kTVR0qRmhXN+zud9rHQ926Vnpf4bBpuIpMffjXIiFgDSg421h0xhf9a/P 0EJx14brMflNa1vcEivpc0uKdP0KqDWOoqC6iMkXnVvtUCIN+sHsve9uK4Td59sH3/i+sc /ts2JrqseZZpYHShCRFgtLyXZzgUe4cDv2dnaSAJ4pWeBuxvRLToQO91hC3NcOfqeNp1PT Jr0o9LSr0y1Twh98mJkxfaPLBtfDK+0QhhzZvgwhAGLhLt4OHesAJBaaM1yFapGjZB77Rh zXMnB7qsQLBG9itw9dySGpZINwp1kWqT9jPmwiObpby5x7350kREQiqsPPGADg== 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 99DFA55D19 for ; Thu, 26 Dec 2024 10:16:34 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tQjyC-0007ww-UW; Thu, 26 Dec 2024 04:15:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tQjyB-0007wk-Hb for emacs-orgmode@gnu.org; Thu, 26 Dec 2024 04:15:51 -0500 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tQjy8-0006a9-MQ for emacs-orgmode@gnu.org; Thu, 26 Dec 2024 04:15:51 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id E740E240101 for ; Thu, 26 Dec 2024 10:15:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1735204536; bh=1FGlAyoc16AiHq7jC1GQze+7kCoweqXkq50Kc1qGReQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: Content-Transfer-Encoding:From; b=L7ZYkzvJsm8EfJowlek3xjdilecy9naRTubKAl5wBHBxWMnQZlDsSxFKVT82lpgvK H3RTTEnkcs8XLdcCm5eNNE735O/j8fSFtOLCmNsP/CvTkjFi+LJzjPYv2NYckVY4No UPj1xSP7Z3Df5iOSSlzvd340s6qqqo3KZsPDOeov4G5xsXnrVroG3WDjaFLaIrUBXY WfF/CPzY+coZtwODuqTZTkC5j3FjkheVUhLUGqQE0WUZQK02HhNvnuKFm4mj/TCau5 H4Ae2KFj41mhzFkTZry/AWjU54z51iJvUHKN4AtDs1MLx3nqW4tBErVFj8fcE0SYjf XF15CG7SZ3i2w== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4YJjf03z5jz6twJ; Thu, 26 Dec 2024 10:15:36 +0100 (CET) From: Ihor Radchenko To: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= Cc: emacs-orgmode@gnu.org Subject: Re: The less ambiguous math delimiters in tables In-Reply-To: References: <87ldw5igab.fsf@localhost> <87r05vy6xq.fsf@localhost> Date: Thu, 26 Dec 2024 09:17:06 +0000 Message-ID: <87frmayfal.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.67.36.66; envelope-from=yantar92@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham 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-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Queue-Id: 99DFA55D19 X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: -0.89 X-Spam-Score: -0.89 X-TUID: uTfCaPjm2Wd4 Rudolf Adamkovi=C4=8D writes: >> 1. \(x\) >> 2. |x| >> >> Org parser chooses one. It has to choose some. >> Org parser also chooses a simpler interpretation that does not require >> backtracking. > > But (2) is a *much, much, much* better choice (for the user). Maybe, but it is also much more complex in terms of parser. Backtracking will introduce non-linear complexity to the parser, degrading the performance significantly. It will also make Org syntax much, much harder in more complex cases - there will still be ambiguities when you have more than 2 interpretations: e.g. | \(|x|\) | \(|x|\) | this one has 3 possibilities: 1. \(x... 2. |x|\) | \(|x| 3. |x| |x| And there will be similar situations with even more possibilities. In fact, the number of ambiguous alternatives can blow up pretty quickly when the text is complex enough combination of literal and non-literal markups. In any case, the way Org parser works in this example is one of the most fundamental design decisions in the Org markup. We cannot change it at this point without breaking all the historical documents + third-party parsers. That's why I am talking about providing markup extension to address the issue rather than altering the existing parser fundamentals. --=20 Ihor Radchenko // yantar92, Org mode maintainer, Learn more about Org mode at . Support Org development at , or support my work at