Re: Interest in adding a tree-sitter mode for Slang?

Hikari <[email protected]> Tue, 04 Aug 2026 06:01:54 +0530
Newsgroups gmane.emacs.devel
Message-ID <[email protected]>
------XXHMAQA9TE8Q6XFZRTADBPEZW6OHE8
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello,

I finally got my copyright assignment back and have made the changes reque=
sted, please do tell me if there are any issues=2E



On 20 July 2026 2:19:10 am IST, Philip Kaludercic <philipk@posteo=2Enet> w=
rote:
>Stefan Monnier <monnier@iro=2Eumontreal=2Eca> writes:
>
>>> +  :safe 'natnump)
>>            ^
>>            #
>
>Oops!
>
>>>  ;;; Syntax Table (mostly derived from C)
>>>  (defvar slang-ts-mode--syntax-table
>>> -  (let ((table (make-syntax-table)))
>>> -    (modify-syntax-entry ?+   "=2E"      table)
>>> -    (modify-syntax-entry ?-   "=2E"      table)
>>> -    (modify-syntax-entry ?=3D   "=2E"      table)
>>> -    (modify-syntax-entry ?%   "=2E"      table)
>>> -    (modify-syntax-entry ?&   "=2E"      table)
>>> -    (modify-syntax-entry ?|   "=2E"      table)
>>> -    (modify-syntax-entry ?^   "=2E"      table)
>>> -    (modify-syntax-entry ?!   "=2E"      table)
>>> -    (modify-syntax-entry ?@   "=2E"      table)
>>> -    (modify-syntax-entry ?~   "=2E"      table)
>>> -    (modify-syntax-entry ?<   "=2E"      table)
>>> -    (modify-syntax-entry ?>   "=2E"      table)
>>> -    (modify-syntax-entry ?/   "=2E 124b" table)
>>> -    (modify-syntax-entry ?*   "=2E 23"   table)
>>> -    (modify-syntax-entry ?\n  "> b"    table)
>>> -    (modify-syntax-entry ?\^m "> b"    table)
>>> -    (modify-syntax-entry ?\` "=2E" table)
>>> -    (modify-syntax-entry ?$  "=2E" table)
>>> -    table)
>>> +  (with-syntax-table (make-syntax-table)
>>> +    (modify-syntax-entry ?+   "=2E")
>>> +    (modify-syntax-entry ?-   "=2E")
>>> +    (modify-syntax-entry ?=3D   "=2E")
>>> +    (modify-syntax-entry ?%   "=2E")
>>> +    (modify-syntax-entry ?&   "=2E")
>>> +    (modify-syntax-entry ?|   "=2E")
>>> +    (modify-syntax-entry ?^   "=2E")
>>> +    (modify-syntax-entry ?!   "=2E")
>>> +    (modify-syntax-entry ?@   "=2E")
>>> +    (modify-syntax-entry ?~   "=2E")
>>> +    (modify-syntax-entry ?<   "=2E")
>>> +    (modify-syntax-entry ?>   "=2E")
>>> +    (modify-syntax-entry ?/   "=2E 124b")
>>> +    (modify-syntax-entry ?*   "=2E 23")
>>> +    (modify-syntax-entry ?\n  "> b")
>>> +    (modify-syntax-entry ?\^m "> b")
>>> +    (modify-syntax-entry ?\` "=2E")
>>> +    (modify-syntax-entry ?$  "=2E")
>>> +    (syntax-table))
>>>    "Syntax table for `slang-ts-mode'=2E")
>>
>> That's an odd suggestion=2E  Most code out there uses the
>> `(let =2E=2E=2E table)` style rather than `with-syntax-table`=2E
>>
>> `with-syntax-table` is a somewhat problematic feature
>> in general (e=2Eg=2E any `syntax-ppss` that happens within
>> a `with-syntax-table` has to be treated specially, etc=2E=2E=2E), so
>> we should keep it for those cases where it's really needed=2E
>
>My idea was mainly to avoid having to specify the optional SYNTAX-TABLE
>entry in every line, since it can default to the current syntax table,
>but if you think this is problematic I'd also gladly retract my
>suggestions=2E

------XXHMAQA9TE8Q6XFZRTADBPEZW6OHE8
Content-Type: text/html;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head></head><body><div dir=3D"auto">Hello,<br><br>I finally got my c=
opyright assignment back and have made the changes requested, please do tel=
l me if there are any issues=2E<br><br></div><br><br><div class=3D"gmail_qu=
ote"><div dir=3D"auto">On 20 July 2026 2:19:10 am IST, Philip Kaludercic &l=
t;philipk@posteo=2Enet&gt; wrote:</div><blockquote class=3D"gmail_quote" st=
yle=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left: 1px solid rgb(204, 204, 20=
4); padding-left: 1ex;">
<pre class=3D"net-thunderbird-android__plain-text-message-pre"><div dir=3D=
"auto">Stefan Monnier &lt;monnier@iro=2Eumontreal=2Eca&gt; writes:<br><br><=
/div><blockquote class=3D"gmail_quote" style=3D"margin-bottom: 1ex; --net-t=
hunderbird-android__blockquote-default-border-color: #729fcf;"><blockquote =
class=3D"gmail_quote" style=3D"margin-bottom: 1ex; --net-thunderbird-androi=
d__blockquote-default-border-color: #ad7fa8;"><div dir=3D"auto">+  :safe 'n=
atnump)<br></div></blockquote><div dir=3D"auto">^<br>#<br></div></blockquot=
e><div dir=3D"auto"><br>Oops!<br><br></div><blockquote class=3D"gmail_quote=
" style=3D"margin-bottom: 1ex; --net-thunderbird-android__blockquote-defaul=
t-border-color: #729fcf;"><blockquote class=3D"gmail_quote" style=3D"margin=
-bottom: 1ex; --net-thunderbird-android__blockquote-default-border-color: #=
ad7fa8;"><div dir=3D"auto"> ;;; Syntax Table (mostly derived from C)<br> (d=
efvar slang-ts-mode--syntax-table<br>-  (let ((table (make-syntax-table)))<=
br>-    (modify-syntax-entry ?+   "=2E"      table)<br>-    (modify-syntax-=
entry ?-   "=2E"      table)<br>-    (modify-syntax-entry ?=3D   "=2E"     =
 table)<br>-    (modify-syntax-entry ?%   "=2E"      table)<br>-    (modify=
-syntax-entry ?&amp;   "=2E"      table)<br>-    (modify-syntax-entry ?|   =
"=2E"      table)<br>-    (modify-syntax-entry ?^   "=2E"      table)<br>- =
   (modify-syntax-entry ?!   "=2E"      table)<br>-    (modify-syntax-entry=
 ?@   "=2E"      table)<br>-    (modify-syntax-entry ?~   "=2E"      table)=
<br>-    (modify-syntax-entry ?&lt;   "=2E"      table)<br>-    (modify-syn=
tax-entry ?&gt;   "=2E"      table)<br>-    (modify-syntax-entry ?/   "=2E =
124b" table)<br>-    (modify-syntax-entry ?*   "=2E 23"   table)<br>-    (m=
odify-syntax-entry ?\n  "&gt; b"    table)<br>-    (modify-syntax-entry ?\^=
m "&gt; b"    table)<br>-    (modify-syntax-entry ?\` "=2E" table)<br>-    =
(modify-syntax-entry ?$  "=2E" table)<br>-    table)<br>+  (with-syntax-tab=
le (make-syntax-table)<br>+    (modify-syntax-entry ?+   "=2E")<br>+    (mo=
dify-syntax-entry ?-   "=2E")<br>+    (modify-syntax-entry ?=3D   "=2E")<br=
>+    (modify-syntax-entry ?%   "=2E")<br>+    (modify-syntax-entry ?&amp; =
  "=2E")<br>+    (modify-syntax-entry ?|   "=2E")<br>+    (modify-syntax-en=
try ?^   "=2E")<br>+    (modify-syntax-entry ?!   "=2E")<br>+    (modify-sy=
ntax-entry ?@   "=2E")<br>+    (modify-syntax-entry ?~   "=2E")<br>+    (mo=
dify-syntax-entry ?&lt;   "=2E")<br>+    (modify-syntax-entry ?&gt;   "=2E"=
)<br>+    (modify-syntax-entry ?/   "=2E 124b")<br>+    (modify-syntax-entr=
y ?*   "=2E 23")<br>+    (modify-syntax-entry ?\n  "&gt; b")<br>+    (modif=
y-syntax-entry ?\^m "&gt; b")<br>+    (modify-syntax-entry ?\` "=2E")<br>+ =
   (modify-syntax-entry ?$  "=2E")<br>+    (syntax-table))<br>   "Syntax ta=
ble for `slang-ts-mode'=2E")<br></div></blockquote><div dir=3D"auto"><br> T=
hat's an odd suggestion=2E  Most code out there uses the<br> `(let =2E=2E=
=2E table)` style rather than `with-syntax-table`=2E<br><br> `with-syntax-t=
able` is a somewhat problematic feature<br> in general (e=2Eg=2E any `synta=
x-ppss` that happens within<br> a `with-syntax-table` has to be treated spe=
cially, etc=2E=2E=2E), so<br> we should keep it for those cases where it's =
really needed=2E<br></div></blockquote><div dir=3D"auto"><br>My idea was ma=
inly to avoid having to specify the optional SYNTAX-TABLE<br>entry in every=
 line, since it can default to the current syntax table,<br>but if you thin=
k this is problematic I'd also gladly retract my<br>suggestions=2E<br></div=
></pre></blockquote></div></body></html>
------XXHMAQA9TE8Q6XFZRTADBPEZW6OHE8--