[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#60453: 29.0.60; treesit-range-rules throw an error without tree-sitt
From: |
Eli Zaretskii |
Subject: |
bug#60453: 29.0.60; treesit-range-rules throw an error without tree-sitter |
Date: |
Sat, 31 Dec 2022 18:37:55 +0200 |
> From: Wilhelm Kirschbaum <wkirschbaum@gmail.com>
> Date: Sat, 31 Dec 2022 16:53:08 +0200
>
>
> With the following code without tree-sitter library:
>
> (defvar elixir-ts-mode--treesit-range-rules
> (treesit-range-rules
> :embed 'heex
> :host 'elixir
> '((sigil (sigil_name) @name (:match "^[H]$" @name)
> (quoted_content)
> @heex))))
>
> upon loading the mode I get the following error:
>
> treesit-range-rules: Symbol’s function definition is void:
> treesit-query-compile
>
> This can easily be mitigated with (when (treesit-available-p)...)
> but think it should function similar to how (treesit-font-lock-rules
> work.
Why does it make sense to protect treesit.el's code with
treesit-available-p? You aren't supposed to use treesit.el functions
when the tree-sitter library is not available. IOW, Lisp programs
that want to use treesit-range-rules and other functions from
treesit.el should make the treesit-available-p test _before_ that.