GNU bug report logs - #71364
Fix Table.el export

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Pranshu <pranshusharma366@HIDDEN>; merged with #71375; dated Tue, 4 Jun 2024 14:44:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 8 Jun 2024 11:29:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 08 07:29:19 2024
Received: from localhost ([127.0.0.1]:37597 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFuG6-0004TG-Fj
	for submit <at> debbugs.gnu.org; Sat, 08 Jun 2024 07:29:18 -0400
Received: from mail-yb1-f178.google.com ([209.85.219.178]:44140)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rrt@HIDDEN>) id 1sFuG3-0004T2-RI
 for 71364 <at> debbugs.gnu.org; Sat, 08 Jun 2024 07:29:17 -0400
Received: by mail-yb1-f178.google.com with SMTP id
 3f1490d57ef6-dfb0ccbd401so483346276.0
 for <71364 <at> debbugs.gnu.org>; Sat, 08 Jun 2024 04:28:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sc3d.org; s=google; t=1717846074; x=1718450874; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=zOuvV87/Zc1wMier/Pg9cWyvwUn6Nt01E/zNvAWMmDI=;
 b=U+lKZGvEpxjr+0RKc2QWR6Q7JmyJ5LGbFw1sDtMwN15fWsZlZd1y26PksyPHo4gWnv
 Qu9QRDZb/otA1F8nXACWR4+loXt/RHV3GkvEgGkn7rdwIT14MlxnS1LDKE98OlpD3IdJ
 0DR8AtfGY/XJ6vzRPTzhVnevDNiNdF/AFQJm8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1717846074; x=1718450874;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=zOuvV87/Zc1wMier/Pg9cWyvwUn6Nt01E/zNvAWMmDI=;
 b=nvsNcqCdKaiINcNcLYDtAnVzE2e7ZZiwXCq15d69P+7tOuqwqijVPky44ImU4Ix95J
 tTekXIqF49JhOJe6Xk/AWg1KxwjleQejk/n63go2ZEHs2t6223LhC67iACjYmLoFn3LF
 /DORAtE7bt2gZK2FWs+ni+ZIteQpiPqCQmhv/T+bmZErSKDaCkETzHOCw/QRb+IIte/j
 xq7He2fiJVmFyMIpknmNjOShXF44uToS510XlAXrcFsBiJcQ20Fg/qEQupbTUhpldL5p
 QiOJHdXuEP7grh9/nuRnzNXNNeqPKVMUXGNtoSpqnHljF2vLb0cTEy/GV0eH+w1BACFy
 rtLA==
X-Forwarded-Encrypted: i=1;
 AJvYcCUc/+ygvuZ1acnahVlF54l3X7muFOQODHtFo0624o/T/5uODhm6kZlbxCNhIJa9UDkF6sWqmrQSPGQO31xFo4n0vbTS1UA=
X-Gm-Message-State: AOJu0Ywtb/UNFStWweGunw7Q+FQBgHU73Oif5J+g0eAXD8ngzCBdxUGu
 2K5OcPoYaPv70oupGXKpLTf6YGsKjEo28Lm4dIpJzY+wgpW0Gs7JVlwPJv3QTIXXS7c66AKs9gr
 JIYzrCClHo5h5uqYNZCiM2jbZLdhgVnxa4ryCdw==
X-Google-Smtp-Source: AGHT+IEyHG36sBZADDgPAnLTZls8Mfw/6/XUPgteGDHzVyHLUQGZ/Uh4RSx3HMl0M00BmGk8qORllI2dt5pWgrssXOM=
X-Received: by 2002:a25:ce48:0:b0:dcc:5a25:ae88 with SMTP id
 3f1490d57ef6-dfaf64b7e7amr4972238276.19.1717846074278; Sat, 08 Jun 2024
 04:27:54 -0700 (PDT)
MIME-Version: 1.0
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN> <86jzj1f2fb.fsf@HIDDEN> <87h6e4jiav.fsf@HIDDEN>
 <86le3gdjm3.fsf@HIDDEN>
 <CAOnWdohP78ixXpin2vhi88O71sNhVeV+gWG5cSSEHxxAE2u49Q@HIDDEN>
 <8634pnemgn.fsf@HIDDEN>
 <CAOnWdogo91OnvZL3iyoDBB5Gs2o+O0mEzZvqeJxP2NPEeL+U-g@HIDDEN>
 <861q57el7i.fsf@HIDDEN>
In-Reply-To: <861q57el7i.fsf@HIDDEN>
From: Reuben Thomas <rrt@HIDDEN>
Date: Sat, 8 Jun 2024 12:27:42 +0100
Message-ID: <CAOnWdogsuQmAv5z6VwFxJJc8Ya2kTW2=yCfu3sQcSLeZETDC8Q@HIDDEN>
Subject: Re: bug#71364: Fix Table.el export
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000096469061a5f358a"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 71364
Cc: pranshusharma366@HIDDEN, lockywolf@HIDDEN, 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000096469061a5f358a
Content-Type: text/plain; charset="UTF-8"

On Sat, 8 Jun 2024 at 12:19, Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Reuben Thomas <rrt@HIDDEN>
> > Date: Sat, 8 Jun 2024 11:59:52 +0100
> > Cc: pranshusharma366@HIDDEN, lockywolf@HIDDEN,
> 71364 <at> debbugs.gnu.org
> >
> > On Sat, 8 Jun 2024 at 11:51, Eli Zaretskii <eliz@HIDDEN> wrote:
> >
> >  > From: Reuben Thomas <rrt@HIDDEN>
> >  > Date: Sat, 8 Jun 2024 11:05:25 +0100
> >  > Cc: Pranshu <pranshusharma366@HIDDEN>, Vladimir Nikishkin <
> lockywolf@HIDDEN>,
> >  >       71364 <at> debbugs.gnu.org
> >  >
> >  > Specifically, it works fine if, like me, you do not want to put LaTeX
> markup in tables. This was certainly
> >  my
> >  > case, as I was using it with org-mode. In this case, any character
> that is active in LaTeX can and
> >  should simply
> >  > be escaped on output.
> >  >
> >  > What is basically broken is the ability to export to LaTeX when the
> table contains LaTeX markup.
> >
> >  But the function being discussed is said to be specific to export to
> >  LaTeX, so it should expect LaTeX markup in the cells, no?
> >
> > No, it is supposed to export arbitrary text as valid LaTeX. At least,
> that is my understanding.
>
> So it's a YES, because I was saying the same thing.  Or maybe we
> disagree about whether a function written for exporting to LaTeX
> should or should not expect LaTeX markup.
>

It looks like I was wrong: `table--generate-source-scan-lines` is expecting
LaTeX input.

Good luck with that!

-- 
https://rrt.sc3d.org

--000000000000096469061a5f358a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Sat, 8 Jun 2024 at 12:19, Eli Zaretskii &lt;<a href=3D"mailto:eli=
z@HIDDEN">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex">&gt; From: Reuben Thomas &lt;<a href=3D"mailto:rrt@s=
c3d.org" target=3D"_blank">rrt@HIDDEN</a>&gt;<br>
&gt; Date: Sat, 8 Jun 2024 11:59:52 +0100<br>
&gt; Cc: <a href=3D"mailto:pranshusharma366@HIDDEN" target=3D"_blank">pr=
anshusharma366@HIDDEN</a>, <a href=3D"mailto:lockywolf@HIDDEN" target=
=3D"_blank">lockywolf@HIDDEN</a>, <a href=3D"mailto:71364@HIDDEN=
g" target=3D"_blank">71364 <at> debbugs.gnu.org</a><br>
&gt; <br>
&gt; On Sat, 8 Jun 2024 at 11:51, Eli Zaretskii &lt;<a href=3D"mailto:eliz@=
gnu.org" target=3D"_blank">eliz@HIDDEN</a>&gt; wrote:<br>
&gt; <br>
&gt;=C2=A0 &gt; From: Reuben Thomas &lt;<a href=3D"mailto:rrt@HIDDEN" tar=
get=3D"_blank">rrt@HIDDEN</a>&gt;<br>
&gt;=C2=A0 &gt; Date: Sat, 8 Jun 2024 11:05:25 +0100<br>
&gt;=C2=A0 &gt; Cc: Pranshu &lt;<a href=3D"mailto:pranshusharma366@HIDDEN=
m" target=3D"_blank">pranshusharma366@HIDDEN</a>&gt;, Vladimir Nikishkin=
 &lt;<a href=3D"mailto:lockywolf@HIDDEN" target=3D"_blank">lockywolf@gma=
il.com</a>&gt;, <br>
&gt;=C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"mailto:71364@HIDDEN=
nu.org" target=3D"_blank">71364 <at> debbugs.gnu.org</a><br>
&gt;=C2=A0 &gt; <br>
&gt;=C2=A0 &gt; Specifically, it works fine if, like me, you do not want to=
 put LaTeX markup in tables. This was certainly<br>
&gt;=C2=A0 my<br>
&gt;=C2=A0 &gt; case, as I was using it with org-mode. In this case, any ch=
aracter that is active in LaTeX can and<br>
&gt;=C2=A0 should simply<br>
&gt;=C2=A0 &gt; be escaped on output.<br>
&gt;=C2=A0 &gt; <br>
&gt;=C2=A0 &gt; What is basically broken is the ability to export to LaTeX =
when the table contains LaTeX markup.<br>
&gt; <br>
&gt;=C2=A0 But the function being discussed is said to be specific to expor=
t to<br>
&gt;=C2=A0 LaTeX, so it should expect LaTeX markup in the cells, no?<br>
&gt; <br>
&gt; No, it is supposed to export arbitrary text as valid LaTeX. At least, =
that is my understanding.<br>
<br>
So it&#39;s a YES, because I was saying the same thing.=C2=A0 Or maybe we<b=
r>
disagree about whether a function written for exporting to LaTeX<br>
should or should not expect LaTeX markup.<br></blockquote><div><br></div><d=
iv></div><div><div style=3D"font-family:arial,helvetica,sans-serif;font-siz=
e:small" class=3D"gmail_default">It looks like I was wrong: `table--generat=
e-source-scan-lines` is expecting LaTeX input.<br></div><div style=3D"font-=
family:arial,helvetica,sans-serif;font-size:small" class=3D"gmail_default">=
<br></div><div style=3D"font-family:arial,helvetica,sans-serif;font-size:sm=
all" class=3D"gmail_default">Good luck with that!<br></div><div style=3D"fo=
nt-family:arial,helvetica,sans-serif;font-size:small" class=3D"gmail_defaul=
t"><br></div></div></div><span class=3D"gmail_signature_prefix">-- </span><=
br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr"><div><div di=
r=3D"ltr"><a href=3D"https://rrt.sc3d.org" target=3D"_blank">https://rrt.sc=
3d.org</a></div></div></div></div></div>

--000000000000096469061a5f358a--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 8 Jun 2024 11:19:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 08 07:19:26 2024
Received: from localhost ([127.0.0.1]:37589 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFu6X-0004D3-St
	for submit <at> debbugs.gnu.org; Sat, 08 Jun 2024 07:19:26 -0400
Received: from eggs.gnu.org ([209.51.188.92]:60718)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1sFu6V-0004Cn-GP
 for 71364 <at> debbugs.gnu.org; Sat, 08 Jun 2024 07:19:24 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1sFu69-0002DR-Or; Sat, 08 Jun 2024 07:19:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Uq2krGF8tElgPkPOXB/9QJTFM13WbC3HprQ/4R2kNbI=; b=CxsERNpONGvl
 df4AS1VC2amw2xRIe8K1I0ntzNNdKVT20NbMYTdZ1Y5GqsTb223ShCASU4sMcB3HRmh7v1Zv7W8GV
 yJ80B1s91jTyMlpWtxrRwfhv8o7qTMteZhiMtaBB61HFR5sCyFSFbbO+9Zek9hB7KniK6U71iskmk
 mwC7V579nLrtrQNGTOIG1rj6J3UwP09Z2PbHrdi2FKNaQHGVWgmuYglynlKr/P3Uk/ibiIqgFUg/L
 Ma21Zfu2968B6EuNl1R9z0y7wNb64i9qwuIiIDknMf2KnysYai6qPIimfd+6Zll9EyPfeqiX9GgSk
 csej/KnL9xukBg3PWT7oIw==;
Date: Sat, 08 Jun 2024 14:18:57 +0300
Message-Id: <861q57el7i.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Reuben Thomas <rrt@HIDDEN>
In-Reply-To: <CAOnWdogo91OnvZL3iyoDBB5Gs2o+O0mEzZvqeJxP2NPEeL+U-g@HIDDEN>
 (message from Reuben Thomas on Sat, 8 Jun 2024 11:59:52 +0100)
Subject: Re: bug#71364: Fix Table.el export
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN> <86jzj1f2fb.fsf@HIDDEN> <87h6e4jiav.fsf@HIDDEN>
 <86le3gdjm3.fsf@HIDDEN>
 <CAOnWdohP78ixXpin2vhi88O71sNhVeV+gWG5cSSEHxxAE2u49Q@HIDDEN>
 <8634pnemgn.fsf@HIDDEN>
 <CAOnWdogo91OnvZL3iyoDBB5Gs2o+O0mEzZvqeJxP2NPEeL+U-g@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71364
Cc: pranshusharma366@HIDDEN, lockywolf@HIDDEN, 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Reuben Thomas <rrt@HIDDEN>
> Date: Sat, 8 Jun 2024 11:59:52 +0100
> Cc: pranshusharma366@HIDDEN, lockywolf@HIDDEN, 71364 <at> debbugs.gnu.org
> 
> On Sat, 8 Jun 2024 at 11:51, Eli Zaretskii <eliz@HIDDEN> wrote:
> 
>  > From: Reuben Thomas <rrt@HIDDEN>
>  > Date: Sat, 8 Jun 2024 11:05:25 +0100
>  > Cc: Pranshu <pranshusharma366@HIDDEN>, Vladimir Nikishkin <lockywolf@HIDDEN>, 
>  >       71364 <at> debbugs.gnu.org
>  > 
>  > Specifically, it works fine if, like me, you do not want to put LaTeX markup in tables. This was certainly
>  my
>  > case, as I was using it with org-mode. In this case, any character that is active in LaTeX can and
>  should simply
>  > be escaped on output.
>  > 
>  > What is basically broken is the ability to export to LaTeX when the table contains LaTeX markup.
> 
>  But the function being discussed is said to be specific to export to
>  LaTeX, so it should expect LaTeX markup in the cells, no?
> 
> No, it is supposed to export arbitrary text as valid LaTeX. At least, that is my understanding.

So it's a YES, because I was saying the same thing.  Or maybe we
disagree about whether a function written for exporting to LaTeX
should or should not expect LaTeX markup.

>  Again, the function being discussed is specific to LaTeX, AFAIU, so
>  this is unlike the more-general issue of spell-checking an arbitrary
>  buffer.  It is more like a hypothetical command ispell-latex-buffer
>  (if it were to exist).  Don't you agree?
> 
> The point I was trying to make is that LaTeX-specific code belongs in LaTeX-specific modes and modules, not
> in ispell.el or table.el.

I don't think I agree with such a radical approach.  From where I
stand, there's nothing wrong with having LaTeX-specific features in
modes that are more general.

In any case, this is beyond the immediate issues discussed in this bug
report, I think.  Broken code must be fixed.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 8 Jun 2024 11:01:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 08 07:01:29 2024
Received: from localhost ([127.0.0.1]:37540 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFtpA-0003hU-NF
	for submit <at> debbugs.gnu.org; Sat, 08 Jun 2024 07:01:29 -0400
Received: from mail-yb1-f174.google.com ([209.85.219.174]:53581)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rrt@HIDDEN>) id 1sFtp7-0003hD-49
 for 71364 <at> debbugs.gnu.org; Sat, 08 Jun 2024 07:01:27 -0400
Received: by mail-yb1-f174.google.com with SMTP id
 3f1490d57ef6-dfaff6bf125so1356864276.3
 for <71364 <at> debbugs.gnu.org>; Sat, 08 Jun 2024 04:01:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sc3d.org; s=google; t=1717844404; x=1718449204; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=CPQnU/11g4W391UIh/UzVSQKWZ+1YiCadFEswhZ3a7s=;
 b=BcnAQG7n03YiKglKAgbJzQIa+jw8KE9Yipz4KHh9baTBc/2qiEaTc7pXjUNduf/qxC
 3NuiM65gvw8mqIlgX3g+aAPCxcdUYFpjTnV5JME7aEuo4gIFUBqtf33MwyB2v64Dgo9e
 2ifOOWhCs56/+WIaXBxwbH8urfzdokVSlUnXw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1717844404; x=1718449204;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=CPQnU/11g4W391UIh/UzVSQKWZ+1YiCadFEswhZ3a7s=;
 b=dnvm96UInvyFlxj3KZtGGVjuupKh4coT+Zn8ftTxgOx566y9/yjJoWM6QnsfCYNWIg
 zOYyBbq0NvVO16ZV/HH9GeV+jqm+G0u3KPXYLhL65MnGxOOcRNJShodQeS6AnnMbxGHf
 21fQmlie4+wj3Ff7ECrLEripSd0V8pWl3dbjC0+C+kLBUGQGxlPyZokJ6K9pdDWGtzMa
 wZFxXce+DYI2+sTu9jSTTz7lEOPXBUBHZwzvgQT2Pmaxla+0++n2bWFZBYi2ezB9RlZC
 hDDpqpev9HUdgrUALcGOSWmDqT1wWMQgKOw9bkblYbM3NUKVTIXNvFM8HxDyDf46Qlkm
 b9Ow==
X-Forwarded-Encrypted: i=1;
 AJvYcCWgzBAtK3Y88aJouGff4I/MCzTrGVDi9P389tWwDtubN02cQS+C/fYUDSlVEM0cCXLy1XLIK8M07FEfmWSSH8mkmR3cm1E=
X-Gm-Message-State: AOJu0YyyRjGTSsrTLEtsXF4KqO4K7C1n7bgvqjbdxLM4svk5CI+ZKfVY
 MVm8ONPuhRtuhREB5gF+Ej5ydzfISn4WSOF6zAeMHve6Jsk9+Rm6AcfR48jw5zZd0TlthsEdjQe
 3Fgd0cxe4SM3PHupADE6dDuqy2EHZ8SByo2oOIA==
X-Google-Smtp-Source: AGHT+IGx5dfBasfU649G679eBxloOcfIOUUOV/2iW/JYReJLjzpPojhx82W+ZODxU/IZVffLwPzgqVZ6VkjO2uO7kig=
X-Received: by 2002:a25:804f:0:b0:dfa:57e2:8190 with SMTP id
 3f1490d57ef6-dfaf66d1abcmr4507551276.52.1717844403426; Sat, 08 Jun 2024
 04:00:03 -0700 (PDT)
MIME-Version: 1.0
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN> <86jzj1f2fb.fsf@HIDDEN> <87h6e4jiav.fsf@HIDDEN>
 <86le3gdjm3.fsf@HIDDEN>
 <CAOnWdohP78ixXpin2vhi88O71sNhVeV+gWG5cSSEHxxAE2u49Q@HIDDEN>
 <8634pnemgn.fsf@HIDDEN>
In-Reply-To: <8634pnemgn.fsf@HIDDEN>
From: Reuben Thomas <rrt@HIDDEN>
Date: Sat, 8 Jun 2024 11:59:52 +0100
Message-ID: <CAOnWdogo91OnvZL3iyoDBB5Gs2o+O0mEzZvqeJxP2NPEeL+U-g@HIDDEN>
Subject: Re: bug#71364: Fix Table.el export
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000723ba6061a5ed1e4"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 71364
Cc: pranshusharma366@HIDDEN, lockywolf@HIDDEN, 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000723ba6061a5ed1e4
Content-Type: text/plain; charset="UTF-8"

On Sat, 8 Jun 2024 at 11:51, Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Reuben Thomas <rrt@HIDDEN>
> > Date: Sat, 8 Jun 2024 11:05:25 +0100
> > Cc: Pranshu <pranshusharma366@HIDDEN>, Vladimir Nikishkin <
> lockywolf@HIDDEN>,
> >       71364 <at> debbugs.gnu.org
> >
> > Specifically, it works fine if, like me, you do not want to put LaTeX
> markup in tables. This was certainly my
> > case, as I was using it with org-mode. In this case, any character that
> is active in LaTeX can and should simply
> > be escaped on output.
> >
> > What is basically broken is the ability to export to LaTeX when the
> table contains LaTeX markup.
>
> But the function being discussed is said to be specific to export to
> LaTeX, so it should expect LaTeX markup in the cells, no?
>

No, it is supposed to export arbitrary text as valid LaTeX. At least, that
is my understanding.

Again, the function being discussed is specific to LaTeX, AFAIU, so
> this is unlike the more-general issue of spell-checking an arbitrary
> buffer.  It is more like a hypothetical command ispell-latex-buffer
> (if it were to exist).  Don't you agree?
>

The point I was trying to make is that LaTeX-specific code belongs in
LaTeX-specific modes and modules, not in ispell.el or table.el.

-- 
https://rrt.sc3d.org

--000000000000723ba6061a5ed1e4
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Sat, 8 Jun 2024 at 11:51, Eli Zaretskii &lt;<a href=3D"mailto:eli=
z@HIDDEN">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex">&gt; From: Reuben Thomas &lt;<a href=3D"mailto:rrt@s=
c3d.org" target=3D"_blank">rrt@HIDDEN</a>&gt;<br>
&gt; Date: Sat, 8 Jun 2024 11:05:25 +0100<br>
&gt; Cc: Pranshu &lt;<a href=3D"mailto:pranshusharma366@HIDDEN" target=
=3D"_blank">pranshusharma366@HIDDEN</a>&gt;, Vladimir Nikishkin &lt;<a h=
ref=3D"mailto:lockywolf@HIDDEN" target=3D"_blank">lockywolf@HIDDEN</a=
>&gt;, <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"mailto:71364 <at> debbugs.gnu.org" tar=
get=3D"_blank">71364 <at> debbugs.gnu.org</a><br>
&gt; <br>
&gt; Specifically, it works fine if, like me, you do not want to put LaTeX =
markup in tables. This was certainly my<br>
&gt; case, as I was using it with org-mode. In this case, any character tha=
t is active in LaTeX can and should simply<br>
&gt; be escaped on output.<br>
&gt; <br>
&gt; What is basically broken is the ability to export to LaTeX when the ta=
ble contains LaTeX markup.<br>
<br>
But the function being discussed is said to be specific to export to<br>
LaTeX, so it should expect LaTeX markup in the cells, no?<br></blockquote><=
div><br></div><div><div style=3D"font-family:arial,helvetica,sans-serif;fon=
t-size:small" class=3D"gmail_default">No, it is supposed to export arbitrar=
y text as valid LaTeX. At least, that is my understanding.<br></div><br></d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
er-left:1px solid rgb(204,204,204);padding-left:1ex">

Again, the function being discussed is specific to LaTeX, AFAIU, so<br>
this is unlike the more-general issue of spell-checking an arbitrary<br>
buffer.=C2=A0 It is more like a hypothetical command ispell-latex-buffer<br=
>
(if it were to exist).=C2=A0 Don&#39;t you agree?<br>
</blockquote></div><br clear=3D"all"><div><div style=3D"font-family:arial,h=
elvetica,sans-serif;font-size:small" class=3D"gmail_default">The point I wa=
s trying to make is that LaTeX-specific code belongs in LaTeX-specific mode=
s and modules, not in ispell.el or table.el.<br></div></div><div><br></div>=
<span class=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=
=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><a href=3D"http=
s://rrt.sc3d.org" target=3D"_blank">https://rrt.sc3d.org</a></div></div></d=
iv></div></div>

--000000000000723ba6061a5ed1e4--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 8 Jun 2024 10:52:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 08 06:52:17 2024
Received: from localhost ([127.0.0.1]:37534 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFtgH-0003Ry-Ff
	for submit <at> debbugs.gnu.org; Sat, 08 Jun 2024 06:52:17 -0400
Received: from eggs.gnu.org ([209.51.188.92]:46556)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1sFtgF-0003Rh-L0
 for 71364 <at> debbugs.gnu.org; Sat, 08 Jun 2024 06:52:16 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1sFtfu-0005wC-5t; Sat, 08 Jun 2024 06:51:54 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=bEFyOzP4majyqON9A6BSQGdiG66IeJzuxrIe32s1bWI=; b=AJIcqSYnQ+vU
 NfTl+i1wuB1xTA1n9CO9EXMETasc+HGEWklZYVibyYgf3RyW24lNEEVYFpxHi/lUP8s4VrxC8E5GT
 6RJ2+IeSi1WVNVUjj78oEcg2NkzRJ7L4UTj4yxSAhQtmG5J/pYBMCGJryscVk0v0wg4IuOSVly2My
 ZqsQcuHrZeUyPzuz6smE3QfsykBQ94W+m73Kg57T+2inFc4eBoaSdA3MccS9K8BgGAq/Tf+7YjAZE
 ZVytW6Ag/fovsIPts8FRTer7E1Do5QrB1jIEDexza+i06KWJApqYM8ql5mjgBGn8fSQ71r8FZ/a++
 GDQigjX+3RfAx2dO7N7G2Q==;
Date: Sat, 08 Jun 2024 13:51:52 +0300
Message-Id: <8634pnemgn.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Reuben Thomas <rrt@HIDDEN>
In-Reply-To: <CAOnWdohP78ixXpin2vhi88O71sNhVeV+gWG5cSSEHxxAE2u49Q@HIDDEN>
 (message from Reuben Thomas on Sat, 8 Jun 2024 11:05:25 +0100)
Subject: Re: bug#71364: Fix Table.el export
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN> <86jzj1f2fb.fsf@HIDDEN> <87h6e4jiav.fsf@HIDDEN>
 <86le3gdjm3.fsf@HIDDEN>
 <CAOnWdohP78ixXpin2vhi88O71sNhVeV+gWG5cSSEHxxAE2u49Q@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71364
Cc: pranshusharma366@HIDDEN, lockywolf@HIDDEN, 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Reuben Thomas <rrt@HIDDEN>
> Date: Sat, 8 Jun 2024 11:05:25 +0100
> Cc: Pranshu <pranshusharma366@HIDDEN>, Vladimir Nikishkin <lockywolf@HIDDEN>, 
> 	71364 <at> debbugs.gnu.org
> 
> Specifically, it works fine if, like me, you do not want to put LaTeX markup in tables. This was certainly my
> case, as I was using it with org-mode. In this case, any character that is active in LaTeX can and should simply
> be escaped on output.
> 
> What is basically broken is the ability to export to LaTeX when the table contains LaTeX markup.

But the function being discussed is said to be specific to export to
LaTeX, so it should expect LaTeX markup in the cells, no?

> Again, taking ispell.el, with which I am much more familiar, what I would like to do there is to strip out all the
> support for LaTeX and mail buffers, and instead require LaTeX- or mail-editing modes to call the
> spell-checking routines. That would require a different approach globally: some of the existing ispell
> commands work on a whole buffer, so they cannot interact with language-specific code. I guess the code was
> originally written like this because it could be created from scratch without changing anything about other
> modes.
> 
> I think this example of ispell.el is relevant to table.el because much the same considerations apply: table.el
> was originally written independent of other code, but that's not a good design for interacting with other
> syntaxes, as you end up implementing half-baked support for them, rather than allowing an editing mode that
> already understands the syntax to interact with the table routines.
> 
> Therefore, I recommend not attempting to improve table.el's LaTeX support, documenting clearly that it
> doesn't support embedded LaTeX, and designing functions that allow table.el to cooperate with other
> packages to export different embedded syntaxes. Otherwise, we will frustrate users (who will find the code
> broken and, if they try to understand it, baffling) and maintainers (who will spend effort for many years
> maintaining code that is half-baked, complicates the modules it lives in, but has to be maintained).

Again, the function being discussed is specific to LaTeX, AFAIU, so
this is unlike the more-general issue of spell-checking an arbitrary
buffer.  It is more like a hypothetical command ispell-latex-buffer
(if it were to exist).  Don't you agree?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 8 Jun 2024 10:07:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 08 06:07:03 2024
Received: from localhost ([127.0.0.1]:36842 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFsyU-00024f-Vt
	for submit <at> debbugs.gnu.org; Sat, 08 Jun 2024 06:07:03 -0400
Received: from mail-yw1-f172.google.com ([209.85.128.172]:45550)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rrt@HIDDEN>) id 1sFsyQ-000240-VO
 for 71364 <at> debbugs.gnu.org; Sat, 08 Jun 2024 06:07:02 -0400
Received: by mail-yw1-f172.google.com with SMTP id
 00721157ae682-627efad69b4so28869367b3.3
 for <71364 <at> debbugs.gnu.org>; Sat, 08 Jun 2024 03:06:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sc3d.org; s=google; t=1717841137; x=1718445937; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=mbtj06n1vL0RkhfBAM0STNwLPEZcKI1gzA9dsin/t5g=;
 b=40wIj/P6BsfjWmTKV0ueltDFAixQIedcoRXo7X7WgkFnyPg14Rf+f2biADqwg+zrJt
 jRWTMbLFN0J7E62A19TBbFJezFBNv8o0ZLl0arVYTWH1WkF4LiE5+O5m0kNqh8Wq5ETP
 q4VP21/9Gg830xCGCABvEvvsrUjJuT6gFGSsM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1717841137; x=1718445937;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=mbtj06n1vL0RkhfBAM0STNwLPEZcKI1gzA9dsin/t5g=;
 b=tjE3WltmODz+rBLiCuKYmOBxNwZUhDKA2gz+ClOqBgiEWK54wlW+3dv6ORYoeFjANU
 DYDSfHw29d/Z/iEg7ig7a5GqdCTdtMtaPKNhlDp1KYv4qkIMO+M7AzmlIQqAK5w7fNyS
 IEXkDTgN6s8Xi13Fg+R4m0R3RswRqkHV5hZVANM+Au4A6oenYn586A8LUASy+luRM8tJ
 rV340Y1sUgUqc7I68SMc78IOLiUTC7NDz/ZOswD+qXv6dcDXlqhb3ay/9A2+tiTl5qsN
 ZpJybVlgxtbP9CBKyGuy1a4p1y8wZgzD2FvgygckNkUL2u72vstHA2i7ceihd+AKYzCw
 Iwhg==
X-Forwarded-Encrypted: i=1;
 AJvYcCWWofPqJNm4zbbN7YDOVCaB9s2spBpgr2WYUQ8gnF8XSLE1sJiH6kgoB8UKXF+i3vTl4ODmXR2p0HeHWzVZ+zhwPxQfT48=
X-Gm-Message-State: AOJu0Ywp1IGW0A1QQ07pRldYgZs73AsJnW/quu+8jUJTC6Plaizy+uZh
 u4neU/Ync9598i4XGHqkqQsoIAHUZfNE4/UIwU948Am2nTYAokQ4+CGfssDPPLGIySAV+nfehQu
 bQn0R5jtah9bnC7G99rBGA+iC86LiPf7zZfZjuQ==
X-Google-Smtp-Source: AGHT+IEohHUJd+Q/NHeQJbjZw7yYoKZLSUxiaxLikq85jwqRwiqt44Bq4Bf+V5MStiBFbP7/yTsccqSiftOsPaOEPuE=
X-Received: by 2002:a25:fc24:0:b0:dfb:b7d:f3b3 with SMTP id
 3f1490d57ef6-dfb0b7df468mr1750300276.63.1717841137378; Sat, 08 Jun 2024
 03:05:37 -0700 (PDT)
MIME-Version: 1.0
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN> <86jzj1f2fb.fsf@HIDDEN> <87h6e4jiav.fsf@HIDDEN>
 <86le3gdjm3.fsf@HIDDEN>
In-Reply-To: <86le3gdjm3.fsf@HIDDEN>
From: Reuben Thomas <rrt@HIDDEN>
Date: Sat, 8 Jun 2024 11:05:25 +0100
Message-ID: <CAOnWdohP78ixXpin2vhi88O71sNhVeV+gWG5cSSEHxxAE2u49Q@HIDDEN>
Subject: Re: bug#71364: Fix Table.el export
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000c64867061a5e0e9a"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 71364
Cc: Pranshu <pranshusharma366@HIDDEN>,
 Vladimir Nikishkin <lockywolf@HIDDEN>, 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000c64867061a5e0e9a
Content-Type: text/plain; charset="UTF-8"

On Sat, 8 Jun 2024 at 07:38, Eli Zaretskii <eliz@HIDDEN> wrote:

>
> It is strange to hear that this is so basically broken.  This code
> exists since more than 20 years ago, and several people contributed
> changes to the LaTeX export, so I'd expect it to be at least somewhat
> useful and working.
>

I think the explanation is that it is somewhat useful and working, and also
basically broken.

Specifically, it works fine if, like me, you do not want to put LaTeX
markup in tables. This was certainly my case, as I was using it with
org-mode. In this case, any character that is active in LaTeX can and
should simply be escaped on output.

What is basically broken is the ability to export to LaTeX when the table
contains LaTeX markup.


> Reuben and Vladimir, would you please comment on the usability of
> exporting to LaTeX in table.el, and on the proposed improvements?
>

Personally, I think trying to make this work is a mug's game, and having
wrestled as a maintainer with other Emacs code that is over-complicated
because it tries to understand the syntax of e.g. LaTeX or mail buffers
(for example, ispell.el), I would resist adding further support for
specific syntaxes to code that is not part of an editing package for that
syntax.

Again, taking ispell.el, with which I am much more familiar, what I would
like to do there is to strip out all the support for LaTeX and mail
buffers, and instead require LaTeX- or mail-editing modes to call the
spell-checking routines. That would require a different approach globally:
some of the existing ispell commands work on a whole buffer, so they cannot
interact with language-specific code. I guess the code was originally
written like this because it could be created from scratch without changing
anything about other modes.

I think this example of ispell.el is relevant to table.el because much the
same considerations apply: table.el was originally written independent of
other code, but that's not a good design for interacting with other
syntaxes, as you end up implementing half-baked support for them, rather
than allowing an editing mode that already understands the syntax to
interact with the table routines.

Therefore, I recommend not attempting to improve table.el's LaTeX support,
documenting clearly that it doesn't support embedded LaTeX, and designing
functions that allow table.el to cooperate with other packages to export
different embedded syntaxes. Otherwise, we will frustrate users (who will
find the code broken and, if they try to understand it, baffling) and
maintainers (who will spend effort for many years maintaining code that is
half-baked, complicates the modules it lives in, but has to be maintained).

-- 
https://rrt.sc3d.org

--000000000000c64867061a5e0e9a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Sat, 8 Jun 2024 at 07:38, Eli Zaretskii &lt;<a href=3D"mailto:eli=
z@HIDDEN">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex"><br>
It is strange to hear that this is so basically broken.=C2=A0 This code<br>
exists since more than 20 years ago, and several people contributed<br>
changes to the LaTeX export, so I&#39;d expect it to be at least somewhat<b=
r>
useful and working.<br></blockquote><div><br></div><div><div style=3D"font-=
family:arial,helvetica,sans-serif;font-size:small" class=3D"gmail_default">=
I think the explanation is that it is somewhat useful and working, and also=
 basically broken.</div><div style=3D"font-family:arial,helvetica,sans-seri=
f;font-size:small" class=3D"gmail_default"><br></div><div style=3D"font-fam=
ily:arial,helvetica,sans-serif;font-size:small" class=3D"gmail_default">Spe=
cifically, it works fine if, like me, you do not want to put LaTeX markup i=
n tables. This was certainly my case, as I was using it with org-mode. In t=
his case, any character that is active in LaTeX can and should simply be es=
caped on output.</div><div style=3D"font-family:arial,helvetica,sans-serif;=
font-size:small" class=3D"gmail_default"><br></div><div style=3D"font-famil=
y:arial,helvetica,sans-serif;font-size:small" class=3D"gmail_default">What =
is basically broken is the ability to export to LaTeX when the table contai=
ns LaTeX markup.</div>=C2=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">
Reuben and Vladimir, would you please comment on the usability of<br>
exporting to LaTeX in table.el, and on the proposed improvements<span class=
=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-siz=
e:small">?</span><br>
</blockquote></div><div><br></div><div><div style=3D"font-family:arial,helv=
etica,sans-serif;font-size:small" class=3D"gmail_default">Personally, I thi=
nk trying to make this work is a mug&#39;s game, and having wrestled as a m=
aintainer with other Emacs code that is over-complicated because it tries t=
o understand the syntax of e.g. LaTeX or mail buffers (for example, ispell.=
el), I would resist adding further support for specific syntaxes to code th=
at is not part of an editing package for that syntax.</div><div style=3D"fo=
nt-family:arial,helvetica,sans-serif;font-size:small" class=3D"gmail_defaul=
t"><br></div><div style=3D"font-family:arial,helvetica,sans-serif;font-size=
:small" class=3D"gmail_default">Again, taking ispell.el, with which I am mu=
ch more familiar, what I would like to do there is to strip out all the sup=
port for LaTeX and mail buffers, and instead require LaTeX- or mail-editing=
 modes to call the spell-checking routines. That would require a different =
approach globally: some of the existing ispell commands work on a whole buf=
fer, so they cannot interact with language-specific code. I guess the code =
was originally written like this because it could be created from scratch w=
ithout changing anything about other modes.</div><div style=3D"font-family:=
arial,helvetica,sans-serif;font-size:small" class=3D"gmail_default"><br></d=
iv><div style=3D"font-family:arial,helvetica,sans-serif;font-size:small" cl=
ass=3D"gmail_default">I think this example of ispell.el is relevant to tabl=
e.el because much the same considerations apply: table.el was originally wr=
itten independent of other code, but that&#39;s not a good design for inter=
acting with other syntaxes, as you end up implementing half-baked support f=
or them, rather than allowing an editing mode that already understands the =
syntax to interact with the table routines.</div><div style=3D"font-family:=
arial,helvetica,sans-serif;font-size:small" class=3D"gmail_default"><br></d=
iv><div style=3D"font-family:arial,helvetica,sans-serif;font-size:small" cl=
ass=3D"gmail_default">Therefore, I recommend not attempting to improve tabl=
e.el&#39;s LaTeX support, documenting clearly that it doesn&#39;t support e=
mbedded LaTeX, and designing functions that allow table.el to cooperate wit=
h other packages to export different embedded syntaxes. Otherwise, we will =
frustrate users (who will find the code broken and, if they try to understa=
nd it, baffling) and maintainers (who will spend effort for many years main=
taining code that is half-baked, complicates the modules it lives in, but h=
as to be maintained).<br></div></div><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><a href=3D"https://rrt.sc3d.org" target=3D"_blank=
">https://rrt.sc3d.org</a></div></div></div></div></div>

--000000000000c64867061a5e0e9a--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 8 Jun 2024 08:25:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 08 04:25:25 2024
Received: from localhost ([127.0.0.1]:57205 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFrO8-0005TN-Oz
	for submit <at> debbugs.gnu.org; Sat, 08 Jun 2024 04:25:25 -0400
Received: from mail-pf1-f176.google.com ([209.85.210.176]:56570)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pranshusharma366@HIDDEN>) id 1sFrFs-00050u-E2
 for 71364 <at> debbugs.gnu.org; Sat, 08 Jun 2024 04:16:53 -0400
Received: by mail-pf1-f176.google.com with SMTP id
 d2e1a72fcca58-70413de08c7so979876b3a.0
 for <71364 <at> debbugs.gnu.org>; Sat, 08 Jun 2024 01:16:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1717834530; x=1718439330; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=QQB41KUKorGSdHMjetPjN6AUgWXT3DRek1aa0ZMTR1A=;
 b=RJZ11w8RE9bgsoE+amx1gIEuPv57zBsz+xrCqF3B0WhbgQC97DOl77HTNsXhNdyYgZ
 6oQG+ThLHjAanW8B4LOqwOl26bEn5XLo1Bmg9L2Umkv8U6DEstU4hWWpBR0EewFJ2Ul4
 KJj2doKaiahGMaWabtLCyTxBPtwbUBjX7FUfs00lnyOr1vTuhAJe3zgkor3QcfZVJsY2
 rPD41RiwqGGL4QKDrOha12B58VR3vikLUbllbPMaM7rzDgUOuM6UC0W7ZNpxjzeICYYi
 LCrVPsh6MZupS3AcePgGCgGtphhbNW1zHkp8aAb8s2zqQJaBlerqjZbwD7K3LlsSoq/K
 LITA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1717834530; x=1718439330;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=QQB41KUKorGSdHMjetPjN6AUgWXT3DRek1aa0ZMTR1A=;
 b=xCa2/PGNhCEIN0h5NvCQWSGPfYgEXsLB5JItibKf/DmwkvdguR03CAZMU0Z4643s2P
 Y6dvq2TraL3/0PSRGT1jdI0hfxrmc5qXeXhAPlFPsb15ztzpzJmaJiGPdISyFbNt4vys
 B5lJwU9iNi2M0h++8Gp45XfDgpKDdlMeOJM2BPa4aryl6E7VJFP+osECCkzbxDYdFmcw
 fZzt15Au3YlYrhjd9d6bxtuwdwj0PfPkQDkOiQH4ee4YQhVPgOnCexH/Pf9MZzs2MVjS
 Jemn8LlbnTDGpknX5OTiT23JrH1z9A1NHW2pzdxB7ohzw4Pn2dG3CgZl8H3FzyCaOKAd
 EnNA==
X-Forwarded-Encrypted: i=1;
 AJvYcCWNS8jMEJRgCSwiNUqRU/Oz1clqxnoh01GVzVAJi2BtFzo3pdyibhGJ3dtzR9Jpskj+99hJE3TOgSWYHigc/SorNIEp5+Y=
X-Gm-Message-State: AOJu0Yw+HNERYW6S7YEg4NgqZDI67ynOkf7j5DaDZy0PLBi1Q62U9xgU
 S70ahqsRVHU7coqwIZaipgzMgNyQmrSwN4ePog9ooxtkr2j2bnPFgMhpHgFQdKM=
X-Google-Smtp-Source: AGHT+IF/roqpGCl9j3Sn4peVMFcoherUn+UsCVAYPjlwrpqrmlrbfhYGnnGk/J8ABDDtK6wsN5PXsA==
X-Received: by 2002:a05:6a20:914c:b0:1b3:634a:32a6 with SMTP id
 adf61e73a8af0-1b3634a3430mr4562994637.18.1717834529487; 
 Sat, 08 Jun 2024 01:15:29 -0700 (PDT)
Received: from pebl ([2001:8003:7816:8300:7f15:5962:16a0:6470])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-1f6bd7e1c15sm46366315ad.218.2024.06.08.01.15.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 08 Jun 2024 01:15:28 -0700 (PDT)
From: Pranshu <pranshusharma366@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#71364: Fix Table.el export
In-Reply-To: <86le3gdjm3.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 08 Jun
 2024 09:38:44 +0300")
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN> <86jzj1f2fb.fsf@HIDDEN>
 <87h6e4jiav.fsf@HIDDEN> <86le3gdjm3.fsf@HIDDEN>
Date: Sat, 08 Jun 2024 18:15:25 +1000
Message-ID: <87o78bg89u.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 71364
Cc: Vladimir Nikishkin <lockywolf@HIDDEN>, 71364 <at> debbugs.gnu.org,
 Reuben Thomas <rrt@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.8 (/)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Pranshu <pranshusharma366@HIDDEN>
>> Cc: 71364 <at> debbugs.gnu.org
>> Date: Sat, 08 Jun 2024 12:10:32 +1000
>> 
>> > So you are saying that exporting to latex is basically completely
>> > broken in the current code?  Is that command use to export only to
>> > latex, or is the fact that the export is to latex is just one of the
>> > possibilities?
>> 
>> Yes.  The function that does the escaping is
>> `table--generate-source-scan-lines', which is a misleading name because
>> it is only called by table-generate-source when the language is exported
>> to latex.
>
> It is strange to hear that this is so basically broken.  This code
> exists since more than 20 years ago, and several people contributed
> changes to the LaTeX export, so I'd expect it to be at least somewhat
> useful and working.

Yes, initially I was surprised as well.  Initially I was surprised as
well.  I found 2 questions on stack overflow in which they also came to
the same dead end, of not being able to put equations in table(.el)s.

>> >> What the diff does, is that it adds a variable that allows the user to
>> >> change what will be escaped.  Also as you can see in the above latex
>> >> table, the backslash had to be escaped in a different way, so using one
>> >> regexp variable would not be enough.  That is why the solution contains
>> >> a variable called 'table-source-latex-escape-characters', which is a
>> >> cons cell with the documentation:
>> >
>> > Why would a user need to customize this on the level of characters?
>> > Shouldn't there be a single boolean that causes latex-specific
>> > characters to be escape or not to be escaped, all of them or none?
>> >
>> 
>> The problem with that is that there are latex charecters such as '%',
>> which is comment, that will cause the whole table to break of not
>> escaped.
>
> Is % the only character with such problems, or are there others?
>

These characters: "#$~_^%{}&", will all mess something up to different
extents.  For some it's mostly harmless as with the '~', but characters
like '&' will fully mess up the table, as it is used to separate the
columns.

>> And since the variable is a regexp, it can possibly escape macros, such
>> as 'LaTeX' -> '\LaTeX'. 
>
> Not sure I understand: is it a Good Thing that it could escape macros,
> or is it a Bad Thing (which should be avoided)?

Yes, it is a good thing.  "Escaping macros" was bad wording, I meant
turning words into macros.  Normally it will not do that, but it can be
customised to do that.

> More generally, given these tricky considerations, how would a user
> determine which characters to include in the regexp?  If it's only by
> examining the texts in the table cells, then it could be not very
> practical, since a table could be very large.
>
>> >
>> > What is the purpose of the "tail", i.e. why would a user want to
>> > escape all the backslashes?
>> 
>> Mainly because some people might only use the latex export to turn their
>> table into a pdf, and escaping backslashes is not as simple as typing
>> two backslashes.  And also since it was the default behaviour, so those
>> who have already made tables will not need to escape all those
>> backslashes to make their documents exportable.
>> 
>> If you feel that is unnecessary, I can modify the diff not include
>> backslash escaping.
>
> I think it should be controlled by a separate variable.
>

Yeah, you probably know better about that then I do.  I will just say
that variables about table.el are extremely hard to find, since of you
"C-h v table ?", you will see 100s of variables thanks to org-mode
tables.  Personally I would avoid creating more variables with 'table' in
their name, but as I said you know a lot more about emacs than I do.

> I also added to the discussion two people who in the past contributed
> changes to table.el in the LaTeX-related areas, so they probably have
> some experience with exporting to LaTeX, and could help us figure out
> how best to handle this issue.
>

all good, more perspectives could help.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 8 Jun 2024 06:39:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 08 02:39:15 2024
Received: from localhost ([127.0.0.1]:48864 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFpjP-00007X-1x
	for submit <at> debbugs.gnu.org; Sat, 08 Jun 2024 02:39:15 -0400
Received: from eggs.gnu.org ([209.51.188.92]:36766)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1sFpjM-000076-Hb
 for 71364 <at> debbugs.gnu.org; Sat, 08 Jun 2024 02:39:13 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1sFpj1-000668-5G; Sat, 08 Jun 2024 02:38:51 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=a9BlbQhIXi7bHAMMCukFlv1rETlvPXxUPCy+R3Lo+iQ=; b=nwFOrmPjF81cVCKcmXgL
 eIc2SCC/YTbxS6Jywl8/azQCnAIhzFh27M3sv59h3rc/UT6g1ZzXBP1HYfthRjnZQ5yRFBxVDA2x7
 JdE9CwRbMiiFhCuNg27YR3on7mgs7O1xDy9Er3ke7c9fy8xtY+al6u1hueMB9cff2bX8HSmab5pNp
 j0H8xIUk8JciX+uMHxtxEJX7WJ6ipjTqLLDsdTLi4atJgZkMWI2tZlZnppQ9rME8aZQVgW96G6Uh8
 0IZyqp7GHQXCa2AiGkJMHX/tAM1qShPtcXxWbf8C3R1l8XU4mYQY1C0q2gtAy7fOKs0Oih/k9TQ07
 f8StxQjx0+oUFg==;
Date: Sat, 08 Jun 2024 09:38:44 +0300
Message-Id: <86le3gdjm3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Pranshu <pranshusharma366@HIDDEN>, Reuben Thomas <rrt@HIDDEN>,
 Vladimir Nikishkin <lockywolf@HIDDEN>
In-Reply-To: <87h6e4jiav.fsf@HIDDEN> (message from Pranshu on Sat, 08 Jun
 2024 12:10:32 +1000)
Subject: Re: bug#71364: Fix Table.el export
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN> <86jzj1f2fb.fsf@HIDDEN>
 <87h6e4jiav.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71364
Cc: 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Pranshu <pranshusharma366@HIDDEN>
> Cc: 71364 <at> debbugs.gnu.org
> Date: Sat, 08 Jun 2024 12:10:32 +1000
> 
> > So you are saying that exporting to latex is basically completely
> > broken in the current code?  Is that command use to export only to
> > latex, or is the fact that the export is to latex is just one of the
> > possibilities?
> 
> Yes.  The function that does the escaping is
> `table--generate-source-scan-lines', which is a misleading name because
> it is only called by table-generate-source when the language is exported
> to latex.

It is strange to hear that this is so basically broken.  This code
exists since more than 20 years ago, and several people contributed
changes to the LaTeX export, so I'd expect it to be at least somewhat
useful and working.

> >> What the diff does, is that it adds a variable that allows the user to
> >> change what will be escaped.  Also as you can see in the above latex
> >> table, the backslash had to be escaped in a different way, so using one
> >> regexp variable would not be enough.  That is why the solution contains
> >> a variable called 'table-source-latex-escape-characters', which is a
> >> cons cell with the documentation:
> >
> > Why would a user need to customize this on the level of characters?
> > Shouldn't there be a single boolean that causes latex-specific
> > characters to be escape or not to be escaped, all of them or none?
> >
> 
> The problem with that is that there are latex charecters such as '%',
> which is comment, that will cause the whole table to break of not
> escaped.

Is % the only character with such problems, or are there others?

> And since the variable is a regexp, it can possibly escape macros, such
> as 'LaTeX' -> '\LaTeX'. 

Not sure I understand: is it a Good Thing that it could escape macros,
or is it a Bad Thing (which should be avoided)?

More generally, given these tricky considerations, how would a user
determine which characters to include in the regexp?  If it's only by
examining the texts in the table cells, then it could be not very
practical, since a table could be very large.

> >> A cons cell containing which charecters to escape in the latex source
> >> of ‘table-generate-source’.  The head of the list, if non-nil contains a
> >> regexp that matches all text that is to be adding a preceding backslash
> >> to the matching text. If nil, no non-backslash charecters will be
> >> escaped.  The tail, if non-nil, escapes all the backslashes in the latex
> >> source.
> >
> > What is the purpose of the "tail", i.e. why would a user want to
> > escape all the backslashes?
> 
> Mainly because some people might only use the latex export to turn their
> table into a pdf, and escaping backslashes is not as simple as typing
> two backslashes.  And also since it was the default behaviour, so those
> who have already made tables will not need to escape all those
> backslashes to make their documents exportable.
> 
> If you feel that is unnecessary, I can modify the diff not include
> backslash escaping.

I think it should be controlled by a separate variable.

I also added to the discussion two people who in the past contributed
changes to table.el in the LaTeX-related areas, so they probably have
some experience with exporting to LaTeX, and could help us figure out
how best to handle this issue.

Reuben and Vladimir, would you please comment on the usability of
exporting to LaTeX in table.el, and on the proposed improvements?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 8 Jun 2024 02:11:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 07 22:11:59 2024
Received: from localhost ([127.0.0.1]:56167 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFlYl-00034i-D4
	for submit <at> debbugs.gnu.org; Fri, 07 Jun 2024 22:11:59 -0400
Received: from mail-pj1-f51.google.com ([209.85.216.51]:45158)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pranshusharma366@HIDDEN>) id 1sFlYk-00034R-Ff
 for 71364 <at> debbugs.gnu.org; Fri, 07 Jun 2024 22:11:58 -0400
Received: by mail-pj1-f51.google.com with SMTP id
 98e67ed59e1d1-2c2015e9baeso1973612a91.2
 for <71364 <at> debbugs.gnu.org>; Fri, 07 Jun 2024 19:11:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1717812636; x=1718417436; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=XQcVkAOecbR9DPBztCKluYXwtLeQSza6w0XVNlPSCvg=;
 b=nn5Lkya/YuJSA28Ht3oWnhTXizl7eIuMmQJShP9nHJ3XqXrDbNm1f0AY0KRhK46E0C
 KcoHvnHpyXnI2InWRTCVRlUFOlQD1VpqFjeBLQGScK6+Vc2z+4EYy/LYfjFRJ73R+gVh
 n8vXNlNg4q89+T5lIT+ls2MUiD9rWaxnuhevd5dUAVl9kNrSKC4pw0DEIbWzoVDf/kwA
 1Sls+9TmlTm2Io+lpJfVctBsXDiKy7s7S14NpWBiIerPWeUya8M81AsXZMvMjRl9U6LB
 lwuekKZjXM4Awzt2guq27Ax3rvxv/xPL3Tgz4i8lHzX+XRME7Ebn4XN533uyGuOHJKiw
 v3Bw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1717812636; x=1718417436;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=XQcVkAOecbR9DPBztCKluYXwtLeQSza6w0XVNlPSCvg=;
 b=Dx3wRcMPsfaBP/HyHG9Pf9e/FQkUNGxQgFxgxjwtSXuuuLDVh88oNq4en/MQHiDo+2
 YgVAhOgKhTROXzPyRy28HacCycDmrTgT8cOIK+XNrHk99lPDFcTYqhk9fd+PYT/6l3ya
 9f6ygX+9BZsvcYOj1tbFs4+s1kGHheWhL42yxNfrIrEuTNTLAd09+XVsaxqmZMl8ne7n
 8KbRTNxcSzXu1qM7hJA1q0yKbF51z8cXG4CQ+FQUV159Llm507d5UEywiuLyxgoXD0ee
 8ryBrhPOjq2uD4yVn84+QFhDnExLLBeiRgCoBUJZC5WsIHCVuBpD6BgfQq9+YMb+H3TB
 Tlqw==
X-Gm-Message-State: AOJu0YygnT2Sd4mwfvK+Be9/OlyI1mfNOS1yUwdv6v82STShYC2Cm1xP
 SeYwi66QqsPDP7G9C2hQgL2xJvn5rS2G0nSsrY32uyIK6ox+MSvXjLLl9MxO
X-Google-Smtp-Source: AGHT+IHRdXdS7zgVtamJ+SQc2JMGNWb32bCsAvYJMpftnS5DyfM1XK59WykE7Gh0qCisqORTeaovfg==
X-Received: by 2002:a17:90b:4f83:b0:2c0:1dd7:4221 with SMTP id
 98e67ed59e1d1-2c2bc9ba675mr4131720a91.10.1717812635836; 
 Fri, 07 Jun 2024 19:10:35 -0700 (PDT)
Received: from pebl ([2001:8003:7816:8300:7f15:5962:16a0:6470])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-2c2806ccf77sm6415742a91.51.2024.06.07.19.10.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Jun 2024 19:10:35 -0700 (PDT)
From: Pranshu <pranshusharma366@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#71364: Fix Table.el export
In-Reply-To: <86jzj1f2fb.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 07 Jun
 2024 13:54:48 +0300")
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN> <86jzj1f2fb.fsf@HIDDEN>
Date: Sat, 08 Jun 2024 12:10:32 +1000
Message-ID: <87h6e4jiav.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 71364
Cc: 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.8 (/)




> So you are saying that exporting to latex is basically completely
> broken in the current code?  Is that command use to export only to
> latex, or is the fact that the export is to latex is just one of the
> possibilities?

Yes.  The function that does the escaping is
`table--generate-source-scan-lines', which is a misleading name because
it is only called by table-generate-source when the language is exported
to latex.

>> What the diff does, is that it adds a variable that allows the user to
>> change what will be escaped.  Also as you can see in the above latex
>> table, the backslash had to be escaped in a different way, so using one
>> regexp variable would not be enough.  That is why the solution contains
>> a variable called 'table-source-latex-escape-characters', which is a
>> cons cell with the documentation:
>
> Why would a user need to customize this on the level of characters?
> Shouldn't there be a single boolean that causes latex-specific
> characters to be escape or not to be escaped, all of them or none?
>

The problem with that is that there are latex charecters such as '%',
which is comment, that will cause the whole table to break of not
escaped.

And since the variable is a regexp, it can possibly escape macros, such
as 'LaTeX' -> '\LaTeX'.=20

>> A cons cell containing which charecters to escape in the latex source
>> of =E2=80=98table-generate-source=E2=80=99.  The head of the list, if no=
n-nil contains a
>> regexp that matches all text that is to be adding a preceding backslash
>> to the matching text. If nil, no non-backslash charecters will be
>> escaped.  The tail, if non-nil, escapes all the backslashes in the latex
>> source.
>
> What is the purpose of the "tail", i.e. why would a user want to
> escape all the backslashes?

Mainly because some people might only use the latex export to turn their
table into a pdf, and escaping backslashes is not as simple as typing
two backslashes.  And also since it was the default behaviour, so those
who have already made tables will not need to escape all those
backslashes to make their documents exportable.

If you feel that is unnecessary, I can modify the diff not include
backslash escaping.

>
> Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 7 Jun 2024 10:55:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 07 06:55:21 2024
Received: from localhost ([127.0.0.1]:46344 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFXFe-00051H-U2
	for submit <at> debbugs.gnu.org; Fri, 07 Jun 2024 06:55:21 -0400
Received: from eggs.gnu.org ([209.51.188.92]:40514)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1sFXFZ-00050j-VH
 for 71364 <at> debbugs.gnu.org; Fri, 07 Jun 2024 06:55:17 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1sFXFF-0005Aq-Cr; Fri, 07 Jun 2024 06:54:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=fnxHssutKxdsC4FIy3QhFQ3BihqLperVqzDlmCQJ/IU=; b=ZX5dn4Ks26EzxLDaJeSs
 xNEqBlJgQOeKeT9pAPSZi9T72g7p8t61qhoxiu/bEDASt+Um+aQujAVUpQTL0hKSfGdzoUq5ziRVY
 k115c3tUGiZSHtttHsIyPeakRS8+9yyHMAyddr2bSR9f7pGiOHLZC8OYhA8emrcI4ZnPJssmCr3pq
 aoBwdNbii5Di77udB8KBiM68PsYZoyIt+NjzlG2K26/4+w8LdTBv7sdLK+0joGF0ZT009GLH64+8Q
 A5pfETPlFiGj4j/67wtQz7piE1JeegCdoJRXoAlYUEv2lFCFq9K/4FWSOSG/hrVxUFByIt5jm7mY7
 8iCtRAxtUVPe6w==;
Date: Fri, 07 Jun 2024 13:54:48 +0300
Message-Id: <86jzj1f2fb.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Pranshu <pranshusharma366@HIDDEN>
In-Reply-To: <87frtpqltu.fsf@HIDDEN> (message from Pranshu on Fri, 07 Jun
 2024 17:00:13 +1000)
Subject: Re: bug#71364: Fix Table.el export
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
 <87frtpqltu.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71364
Cc: 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Pranshu <pranshusharma366@HIDDEN>
> Cc: 71364 <at> debbugs.gnu.org
> Date: Fri, 07 Jun 2024 17:00:13 +1000
> 
> Now, the problem is if you have a table like the following:
> +---------+-------+--------+
> |$\delta$ |x      |y       |
> +---------+-------+--------+
> |x        | $x^2$ |$xy$    |
> +---------+-------+--------+
> |y        | $xy$  | $y^2$  |
> +---------+-------+--------+
> 
> Now if you export to latex using "C-^" or M-x table-generate-source you
> get:
> 
> % This LaTeX table template is generated by emacs 30.0.50
> \begin{tabular}{|l|l|l|}
> \hline
> \$$\backslash$delta\$ & x & y \\
> \hline
> x & \$x\^2\$ & \$xy\$ \\
> \hline
> y & \$xy\$ & \$y\^2\$ \\
> \hline
> \end{tabular}
> 
> The problem with this is that since the all the dollar and caret signs
> are all escaped, the maths will not render.

So you are saying that exporting to latex is basically completely
broken in the current code?  Is that command use to export only to
latex, or is the fact that the export is to latex is just one of the
possibilities?

> What the diff does, is that it adds a variable that allows the user to
> change what will be escaped.  Also as you can see in the above latex
> table, the backslash had to be escaped in a different way, so using one
> regexp variable would not be enough.  That is why the solution contains
> a variable called 'table-source-latex-escape-characters', which is a
> cons cell with the documentation:

Why would a user need to customize this on the level of characters?
Shouldn't there be a single boolean that causes latex-specific
characters to be escape or not to be escaped, all of them or none?

> A cons cell containing which charecters to escape in the latex source
> of ‘table-generate-source’.  The head of the list, if non-nil contains a
> regexp that matches all text that is to be adding a preceding backslash
> to the matching text. If nil, no non-backslash charecters will be
> escaped.  The tail, if non-nil, escapes all the backslashes in the latex
> source.

What is the purpose of the "tail", i.e. why would a user want to
escape all the backslashes?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 7 Jun 2024 07:01:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 07 03:01:41 2024
Received: from localhost ([127.0.0.1]:56327 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFTbZ-0001qs-01
	for submit <at> debbugs.gnu.org; Fri, 07 Jun 2024 03:01:41 -0400
Received: from mail-pl1-f173.google.com ([209.85.214.173]:43056)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pranshusharma366@HIDDEN>) id 1sFTbX-0001qR-8A
 for 71364 <at> debbugs.gnu.org; Fri, 07 Jun 2024 03:01:40 -0400
Received: by mail-pl1-f173.google.com with SMTP id
 d9443c01a7336-1f67fa9cd73so21267245ad.0
 for <71364 <at> debbugs.gnu.org>; Fri, 07 Jun 2024 00:01:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1717743618; x=1718348418; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=k+GpPtgsYLpibTFxl4QXk+0m+6g1VyC0pYvXe4ncGMo=;
 b=gog7iPyv/IGFOFuoIntvy50rtZaRL7Ir/T6xXQnTsL/fQzg6X4JdkBTssXTZ5WVVlD
 4y9KRwlsNPyg+z0wJ7e6QUiOWX6PWVco2JrU8bgMICJC5uPs0/wIxFeqg3AyD/l0lLgA
 TkhAsjjmLmd2n6nTB9vSfaFVyioh1+BdswLds4jNhnh2RmjJShe1hnilnOLMPx5yKUDi
 ZWttT0CXHg9dPsgDvaHcDJZKYgdGqpw8K/kgd3B+URdfDRLKgGs5rWMwKPxaVwPaVMeg
 1xRmhJ1w+B/+XUTQHu8T+T2QoaW3tKi1RTxCaTdSoJ2qyJHzJv6zxaw6SOwiPYNl8Grs
 pZoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1717743618; x=1718348418;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=k+GpPtgsYLpibTFxl4QXk+0m+6g1VyC0pYvXe4ncGMo=;
 b=nWScBjKlYOncohWHRbFbeS45nroVm7qsu2oWhFz/5DEQfd7rvcOKM38ndLTcod+A2F
 jmskAQKMKn7ERUZMv0U+NEohnmxoRY+WgiOZrnuB0jqSwGw7V4xw3iweJ81anDjrTxuW
 /BtC5f8zUaObeHba7C0dnvXHLAwM2o6/Tdnwn4sOf0scNrmPc2Fdv507kOMuM/dOT6nq
 OdnCWaRqEReDHleeahFlUS2Vg5pB1n7bJKfNPvoJ4ZCZIPwinGbXjJeZ6ACv0hArhJvU
 jbR/H5vOAQsu0v7dInAZZy/GYq2M3SCN7CwjLE0vLGGfSGncLYdja61u2Ojt8GhK9jJm
 l63g==
X-Gm-Message-State: AOJu0YxsMjX9gELLmyTJ9K754AjBhsTcrOrbaB0gR5N5CyN4TG/xKIKR
 er10EprTo+G2thW2l/pIa/QnP5ujwAmBMzIwGJRMjZSxlLUHtJ/fehxCA/Uo
X-Google-Smtp-Source: AGHT+IFZ/LGxaTv1oJ9Wy7SWI7tYJpAjOYfUb2flVhVjVEMHtuQ0tEgBlEZeOV/foNoaTiuKuR95gA==
X-Received: by 2002:a17:902:ce82:b0:1f6:32ef:3e00 with SMTP id
 d9443c01a7336-1f6b88bd286mr69104065ad.0.1717743617153; 
 Fri, 07 Jun 2024 00:00:17 -0700 (PDT)
Received: from pebl ([2001:8003:7816:8300:7f15:5962:16a0:6470])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-1f6dcb222aesm4404705ad.49.2024.06.07.00.00.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Jun 2024 00:00:16 -0700 (PDT)
From: Pranshu <pranshusharma366@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#71364: Fix Table.el export
In-Reply-To: <86r0dagv7v.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 06 Jun
 2024 14:35:16 +0300")
References: <8734ptj6lj.fsf@HIDDEN> <86r0dagv7v.fsf@HIDDEN>
Date: Fri, 07 Jun 2024 17:00:13 +1000
Message-ID: <87frtpqltu.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 71364
Cc: 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.8 (/)



[1. application/pdf; thing.pdf]...


All good, basiclly in latex a equation is formatted in something like:
$\Delta Q =3D r^2$
Will become something like: "=CE=94Q =3D r=C2=B2"

The key takeway is the dollar symbol is needed to tell the latex
compiler that it is typesetting maths.

Now, the problem is if you have a table like the following:
+---------+-------+--------+
|$\delta$ |x      |y       |
+---------+-------+--------+
|x        | $x^2$ |$xy$    |
+---------+-------+--------+
|y        | $xy$  | $y^2$  |
+---------+-------+--------+

Now if you export to latex using "C-^" or M-x table-generate-source you
get:

% This LaTeX table template is generated by emacs 30.0.50
\begin{tabular}{|l|l|l|}
\hline
\$$\backslash$delta\$ & x & y \\
\hline
x & \$x\^2\$ & \$xy\$ \\
\hline
y & \$xy\$ & \$y\^2\$ \\
\hline
\end{tabular}

The problem with this is that since the all the dollar and caret signs
are all escaped, the maths will not render.  The rendered pdf from the
above latex is attached, you can see that the equations were not
rendered properly.  This is because the dollar signs and carets were
automaticly escaped

What the diff does, is that it adds a variable that allows the user to
change what will be escaped.  Also as you can see in the above latex
table, the backslash had to be escaped in a different way, so using one
regexp variable would not be enough.  That is why the solution contains
a variable called 'table-source-latex-escape-characters', which is a
cons cell with the documentation:

A cons cell containing which charecters to escape in the latex source
of =E2=80=98table-generate-source=E2=80=99.  The head of the list, if non-n=
il contains a
regexp that matches all text that is to be adding a preceding backslash
to the matching text. If nil, no non-backslash charecters will be
escaped.  The tail, if non-nil, escapes all the backslashes in the latex
source.

Kind Regards
Pranshu

Eli Zaretskii <eliz@HIDDEN> writes:

>> Cc: 71364 <at> debbugs.gnu.org
>> From: Pranshu <pranshusharma366@HIDDEN>
>> Date: Tue, 04 Jun 2024 21:22:00 +1000
>>=20
>> When table.el exports to latex, charecters like '$' are all escaped.
>> This makes table.el tables practically useless for any sorts of latex
>> export.
>>=20
>> Attached is a diff that adds a variable that controls what should be
>> escaped.
>
> Could you please explain in some more details the problem and the
> solution?  I'm afraid I couldn't follow your logic, perhaps because
> I'm not a frequent user of LaTeX.
>
> Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.

Message received at 71364 <at> debbugs.gnu.org:


Received: (at 71364) by debbugs.gnu.org; 6 Jun 2024 11:35:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 06 07:35:40 2024
Received: from localhost ([127.0.0.1]:52580 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sFBP9-0006lA-Uq
	for submit <at> debbugs.gnu.org; Thu, 06 Jun 2024 07:35:40 -0400
Received: from eggs.gnu.org ([209.51.188.92]:49502)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1sFBP8-0006kx-C6
 for 71364 <at> debbugs.gnu.org; Thu, 06 Jun 2024 07:35:38 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1sFBOo-0006Mo-GA; Thu, 06 Jun 2024 07:35:18 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=VNr8eHBdQTfQtKzYlnmhaFyXK2D2vO0B+pu3xdpgfHM=; b=d3T0dY+zMuhj
 cgD+IEXk5e1ds2nYyaPKSRUL2xTAD6S8fTd67p+DSdDYruaw2Q4NrpOHpGb8wC0g3nkQAdwvPWMQ+
 6MUotn0MnVpR3L69/8P7CLBkSkxyxI+jcZX392NplCQk9FkxjpTzpGb5AxRSCK5dHlTVJjX1OHp/b
 DoQZwPpbKcKo2Z3skq8T90O0QzQq90+7W7dFyQnj1TvPP4I31KzSxh8epgNWwjTw0U0UMzV1LAdds
 6Rr41hidOwFpOqFrAR1zDEKPr2iyATYKWwDoIaEUuHZ3aMvvQeGvta4qz5wF4aKZxJiiPg/ZBOELu
 RsxJgDRoBejsYxugGenYrg==;
Date: Thu, 06 Jun 2024 14:35:16 +0300
Message-Id: <86r0dagv7v.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Pranshu <pranshusharma366@HIDDEN>
In-Reply-To: <8734ptj6lj.fsf@HIDDEN> (message from Pranshu on Tue, 04 Jun
 2024 21:22:00 +1000)
Subject: Re: bug#71364: Fix Table.el export
References: <8734ptj6lj.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71364
Cc: 71364 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 71364 <at> debbugs.gnu.org
> From: Pranshu <pranshusharma366@HIDDEN>
> Date: Tue, 04 Jun 2024 21:22:00 +1000
> 
> When table.el exports to latex, charecters like '$' are all escaped.
> This makes table.el tables practically useless for any sorts of latex
> export.
> 
> Attached is a diff that adds a variable that controls what should be
> escaped.

Could you please explain in some more details the problem and the
solution?  I'm afraid I couldn't follow your logic, perhaps because
I'm not a frequent user of LaTeX.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.
Merged 71364 71375. Request was from Andrea Corallo <acorallo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 4 Jun 2024 14:43:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 04 10:43:21 2024
Received: from localhost ([127.0.0.1]:56971 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sEVNh-0000HO-1U
	for submit <at> debbugs.gnu.org; Tue, 04 Jun 2024 10:43:21 -0400
Received: from lists.gnu.org ([209.51.188.17]:43296)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pranshusharma366@HIDDEN>) id 1sESFC-0001n7-Cy
 for submit <at> debbugs.gnu.org; Tue, 04 Jun 2024 07:22:23 -0400
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 <pranshusharma366@HIDDEN>)
 id 1sESEy-0002hk-M9
 for bug-gnu-emacs@HIDDEN; Tue, 04 Jun 2024 07:22:08 -0400
Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <pranshusharma366@HIDDEN>)
 id 1sESEw-0003Ng-MI
 for bug-gnu-emacs@HIDDEN; Tue, 04 Jun 2024 07:22:08 -0400
Received: by mail-pf1-x431.google.com with SMTP id
 d2e1a72fcca58-70260814b2dso1957755b3a.1
 for <bug-gnu-emacs@HIDDEN>; Tue, 04 Jun 2024 04:22:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1717500124; x=1718104924; darn=gnu.org;
 h=mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=vQ4k26oI03mKioJc2IiC5YGRd91x9AV9tvaLy/bk3Tg=;
 b=E6hy1nN67GDJjMfp9zp7Ao0X/PxqQ3XkW5h9gvNnBUKGc3FF4oGM5IENY28ljgOXjo
 TDXdkXeBqZCXVL3r4hZ7eArLEXzvWu3GOLAEYyDIHeiSJYjVTAp5u2k0BVwEOg8P4FFl
 wlBQO+7LEE3E33i+uBG7dt8dk2s1tRAh7CJDjrVgpmCx+moua+RYAsGS5WyP1minBmyQ
 00oCZhJk8BSIrLXhshavuRTtJ1CUbWik6CMpFk5eGFMuKIjZDiLNANn90VwyeuiDsHlF
 MevUOKK/QbSzSJByzh1Sq3kmpGuhklAfxIK94NoQs3Se5sIYO2XIDwbY7pwycW3XnrIJ
 6vTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1717500124; x=1718104924;
 h=mime-version:message-id:date:subject:cc:to:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=vQ4k26oI03mKioJc2IiC5YGRd91x9AV9tvaLy/bk3Tg=;
 b=al0cM7Y4R/fSC+BmPzR2xU8YD4AAVHkmd+KcIyM+4yjPbIt2hjuZEcxjeWH+Xy80Dq
 reeKkuN39b1vJSspj9xuzKkUs3puAcKtQWXHMNJukzRbsc2kV6ChAPn3+LYTnyU9v4Gu
 LGCM+BT8SqVV+lvtAnQuwOU+Ag/wk3994+ZtNknw869PGs1jq+lESRCWp3x5csa4JKTC
 5mCwPuQMJBre2S+f2D8CRqEXtQ7KJDEOSEVxvpmAtsz6j9I8A5RvTZLRtbPmK0yWZDEz
 PZu+aaHFmmYIjFliATmGaF2AFF1s0cetCLAE0L0MQpqzCoay7R7C3nVEzhUezRMex63w
 iGdw==
X-Gm-Message-State: AOJu0YzDhsHsKpm8sKzh6i00hm6DasaS77OsV+0FFtgFWoa7wXL0Fp9Z
 xYgxhtj2glzxrnqVcF5+U0YClse4G6PwR7Z1GYwus1gd7TFLL4Lv222ZFwno
X-Google-Smtp-Source: AGHT+IFmfvw8NLO7pOGPaGfJkrY34KPi0JyrjOy49DxjJKO4VrF1GQV7ILT7tKer8rvIXQeMpd16vw==
X-Received: by 2002:a05:6a20:9155:b0:1ac:dead:68 with SMTP id
 adf61e73a8af0-1b2a3433f28mr3406314637.24.1717500123781; 
 Tue, 04 Jun 2024 04:22:03 -0700 (PDT)
Received: from pebl ([2001:8003:7816:8300:7f15:5962:16a0:6470])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-70242b300e8sm6825782b3a.210.2024.06.04.04.22.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Jun 2024 04:22:03 -0700 (PDT)
From: Pranshu <pranshusharma366@HIDDEN>
To: pranshusharma366@HIDDEN
Subject: Fix Table.el export
Date: Tue, 04 Jun 2024 21:22:00 +1000
Message-ID: <8734ptj6lj.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2607:f8b0:4864:20::431;
 envelope-from=pranshusharma366@HIDDEN; helo=mail-pf1-x431.google.com
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 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,
 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.1 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Tue, 04 Jun 2024 10:43:20 -0400
Cc: bug-gnu-emacs@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.1 (--)

--=-=-=
Content-Type: text/x-diff
Content-Disposition: attachment; filename=table.diff

diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el
index 19c6a8d7c4..28401084a6 100644
--- a/lisp/textmodes/table.el
+++ b/lisp/textmodes/table.el
@@ -697,6 +697,19 @@ table-word-continuation-char
   :type 'character
   :group 'table)
 
+(defcustom table-source-latex-escape-characters (cons "[#$~_^%{}&]" t)
+  "A cons cell containing which charecters to escape in the latex source
+of `table-generate-source'.  The head of the list, if non-nil contains a
+regexp that matches all text that is to be adding a preceding backslash
+to the matching text. If nil, no non-backslash charecters will be
+escaped.  The tail, if non-nil, escapes all the backslashes in the latex
+source."
+  :tag "Source Latex Escape Charecters Regexp"
+  :type '(cons (radio (regexp :tag "regexp")
+                        (const :tag "Off" nil))
+               boolean)
+  :group 'table)
+
 (defcustom table-detect-cell-alignment t
   "Detect cell contents alignment automatically.
 When non-nil cell alignment is automatically determined by the
@@ -3264,19 +3277,29 @@ table--generate-source-scan-lines
                   (lambda (from to)
                     (let ((line (table--buffer-substring-and-trim
                                  (table--goto-coordinate (cons from y))
-                                 (table--goto-coordinate (cons to y)))))
+                                 (table--goto-coordinate (cons to y))))
+                          (escape-char-reg
+                           (apply 'concat (append (and (car table-source-latex-escape-characters)
+                                               (list "\\("
+                                                     (car table-source-latex-escape-characters)
+                                                     "\\)"
+                                                     (and (cdr table-source-latex-escape-characters)
+                                                          "\\|")))
+                                   (and (cdr table-source-latex-escape-characters)
+                                        (list"\\(\\\\\\)"))))))
                       ;; escape special characters
                       (with-temp-buffer
                         (insert line)
                         (goto-char (point-min))
-                        (while (re-search-forward "\\([#$~_^%{}&]\\)\\|\\(\\\\\\)\\|\\([<>|]\\)" nil t)
-                          (if (match-beginning 1)
-                              (save-excursion
-                                (goto-char (match-beginning 1))
-                                (insert  "\\"))
-                            (if (match-beginning 2)
-                                (replace-match "$\\backslash$" t t)
-                              (replace-match (concat "$" (match-string 3) "$")) t t)))
+                        (when (or (car table-source-latex-escape-characters)
+                                  (cdr table-source-latex-escape-characters))
+                          (while (re-search-forward escape-char-reg nil t)
+                            (if (and (car table-source-latex-escape-characters)
+                                     (match-beginning 1))
+                                    (save-excursion
+                                      (goto-char (match-beginning 1))
+                                      (insert  "\\"))
+                              (replace-match "$\\backslash$" t t))))
                         (setq line (buffer-substring (point-min) (point-max))))
                       ;; insert a column separator and column/multicolumn contents
                       (with-current-buffer dest-buffer

--=-=-=
Content-Type: text/plain


Hello all,

When table.el exports to latex, charecters like '$' are all escaped.
This makes table.el tables practically useless for any sorts of latex
export.

Attached is a diff that adds a variable that controls what should be
escaped.

Kind Regards,
Pranshu

--=-=-=--




Acknowledgement sent to Pranshu <pranshusharma366@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#71364; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 8 Jun 2024 11:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.