Re: Interest in adding a tree-sitter mode for Slang?
Stefan Monnier <[email protected]>
| Newsgroups | gmane.emacs.devel |
|---|---|
| Message-ID | <[email protected]> |
> + :safe 'natnump)
^
#
> ;;; Syntax Table (mostly derived from C)
> (defvar slang-ts-mode--syntax-table
> - (let ((table (make-syntax-table)))
> - (modify-syntax-entry ?+ "." table)
> - (modify-syntax-entry ?- "." table)
> - (modify-syntax-entry ?= "." table)
> - (modify-syntax-entry ?% "." table)
> - (modify-syntax-entry ?& "." table)
> - (modify-syntax-entry ?| "." table)
> - (modify-syntax-entry ?^ "." table)
> - (modify-syntax-entry ?! "." table)
> - (modify-syntax-entry ?@ "." table)
> - (modify-syntax-entry ?~ "." table)
> - (modify-syntax-entry ?< "." table)
> - (modify-syntax-entry ?> "." table)
> - (modify-syntax-entry ?/ ". 124b" table)
> - (modify-syntax-entry ?* ". 23" table)
> - (modify-syntax-entry ?\n "> b" table)
> - (modify-syntax-entry ?\^m "> b" table)
> - (modify-syntax-entry ?\` "." table)
> - (modify-syntax-entry ?$ "." table)
> - table)
> + (with-syntax-table (make-syntax-table)
> + (modify-syntax-entry ?+ ".")
> + (modify-syntax-entry ?- ".")
> + (modify-syntax-entry ?= ".")
> + (modify-syntax-entry ?% ".")
> + (modify-syntax-entry ?& ".")
> + (modify-syntax-entry ?| ".")
> + (modify-syntax-entry ?^ ".")
> + (modify-syntax-entry ?! ".")
> + (modify-syntax-entry ?@ ".")
> + (modify-syntax-entry ?~ ".")
> + (modify-syntax-entry ?< ".")
> + (modify-syntax-entry ?> ".")
> + (modify-syntax-entry ?/ ". 124b")
> + (modify-syntax-entry ?* ". 23")
> + (modify-syntax-entry ?\n "> b")
> + (modify-syntax-entry ?\^m "> b")
> + (modify-syntax-entry ?\` ".")
> + (modify-syntax-entry ?$ ".")
> + (syntax-table))
> "Syntax table for `slang-ts-mode'.")
That's an odd suggestion. Most code out there uses the
`(let ... table)` style rather than `with-syntax-table`.
`with-syntax-table` is a somewhat problematic feature
in general (e.g. any `syntax-ppss` that happens within
a `with-syntax-table` has to be treated specially, etc...), so
we should keep it for those cases where it's really needed.
=== Stefan