From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id WAY1F/GSy15UEgAA0tVLHw (envelope-from ) for ; Mon, 25 May 2020 09:42:09 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id eCAsE/GSy175fgAAB5/wlQ (envelope-from ) for ; Mon, 25 May 2020 09:42:09 +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 DAEA594029E for ; Mon, 25 May 2020 09:42:08 +0000 (UTC) Received: from localhost ([::1]:43414 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jd9cU-0006Qc-C1 for larch@yhetil.org; Mon, 25 May 2020 05:42:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47032) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jd9bu-0006QT-2w for emacs-orgmode@gnu.org; Mon, 25 May 2020 05:41:30 -0400 Received: from relay10.mail.gandi.net ([217.70.178.230]:43467) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jd9bs-0007il-Li; Mon, 25 May 2020 05:41:29 -0400 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay10.mail.gandi.net (Postfix) with ESMTPSA id E9A8E240012; Mon, 25 May 2020 09:41:23 +0000 (UTC) From: Nicolas Goaziou To: TEC Subject: Re: (Feature Request) have org-edit-special work inside non-environment LaTeX blocks, i.e. \( \) and \[ \] References: <87zh9xxrww.fsf@gmail.com> <4274FCF8-5304-4B55-9586-0C718DA388D3@getmailspring.com> <87r1v9ceml.fsf@nicolasgoaziou.fr> <871rn8gy40.fsf@gmail.com> Mail-Followup-To: TEC , Bastien , "emacs-orgmode\@gnu.org" Date: Mon, 25 May 2020 11:41:22 +0200 In-Reply-To: <871rn8gy40.fsf@gmail.com> (TEC's message of "Mon, 25 May 2020 17:28:10 +0800") Message-ID: <87ftbobbct.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=217.70.178.230; envelope-from=mail@nicolasgoaziou.fr; helo=relay10.mail.gandi.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/25 04:03:41 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bastien , "emacs-orgmode@gnu.org" Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: -1.01 X-TUID: 9qOjUHYX4/rd TEC writes: > I=E2=80=99m trying to work out what it is that should be happening with t= his. Looking at > `org-edit-footnote-reference=E2=80=99, as you pointed me to, and > `org-edit-inline-src=E2=80=99: >From `org-edit-footnote-reference': --8<---------------cut here---------------start------------->8--- (add-text-properties 0 (progn (string-match (if inline? "\\`\\[fn:.*?:" "\\`.*?\\]") contents) (match-end 0)) '(read-only "Cannot edit footnote label" front-sticky t rear-nonsticky t) contents) (when inline? (let ((l (length contents))) (add-text-properties (1- l) l '(read-only "Cannot edit past footnote reference" front-sticky nil rear-nonsticky nil) contents))) --8<---------------cut here---------------end--------------->8--- The equivalent code will prevent a user from changing, deleting the LaTeX markers, or writing past them : this is not the purpose of the functionality. In the same function: (lambda () (if (not inline?) (delete-region (point) (search-forward "]")) (delete-region (point) (search-forward ":" nil t 2)) (delete-region (1- (point-max)) (point-max)) (when (re-search-forward "\n[ \t]*\n" nil t) (user-error "Inline definitions cannot contain blank lines")) ;; If footnote reference belongs to a table, make sure to ;; remove any newline characters in order to preserve ;; table's structure. (when (org-element-lineage definition '(table-cell)) (while (search-forward "\n" nil t) (replace-match ""))))) LaTeX fragments should not break paragraphs, or tables. So you need to prevent inserting blank lines, or even newlines characters in the case of tables. Regards,