[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61001: 29.0.60; c-ts-mode: A recent update broke indent-according-to
From: |
Mohammed Sadiq |
Subject: |
bug#61001: 29.0.60; c-ts-mode: A recent update broke indent-according-to-mode |
Date: |
Sun, 22 Jan 2023 12:59:14 +0530 |
A recent update in c-ts-mode broke indent-according-to-mode. Some test
cases in my elisp scripts fails to succeed after a recent update.
The indentation seems to work fine when editing C source files though.
Minimal reproducible example (save to test.el):
(let ((buffer (generate-new-buffer "temp.c")))
(with-current-buffer buffer
(c-ts-mode)
(insert "int main() {\n if ")
(indent-according-to-mode)))
Execute the file with:
emacs -Q -batch -l test.el
Error log:
Error: treesit-indent-error ("Couldn't find the preset corresponding to
expression" c-ts-mode--looking-at-star)
mapbacktrace(#f(compiled-function (evald func args flags) #<bytecode
-0x10efd02ab0517942>))
debug-early-backtrace()
debug-early(error (treesit-indent-error "Couldn't find the preset
corresponding to expression" c-ts-mode--looking-at-star))
signal(treesit-indent-error ("Couldn't find the preset corresponding
to expression" c-ts-mode--looking-at-star))
treesit--simple-indent-eval(c-ts-mode--looking-at-star)
mapcar(treesit--simple-indent-eval ((parent-is "comment")
c-ts-mode--looking-at-star))
treesit--simple-indent-eval((and (parent-is "comment")
c-ts-mode--looking-at-star))
treesit--simple-indent-eval(((and (parent-is "comment")
c-ts-mode--looking-at-star) #<treesit-node "if" in 15-17> #<treesit-node
ERROR in 1-17> 15))
treesit-simple-indent(#<treesit-node "if" in 15-17> #<treesit-node
ERROR in 1-17> 15)
treesit--indent-1()
treesit-indent()
indent-according-to-mode()
(save-current-buffer (set-buffer buffer) (c-ts-mode) (insert "int
main() {\n if ") (indent-according-to-mode))
(let ((buffer (generate-new-buffer "temp.c"))) (save-current-buffer
(set-buffer buffer) (c-ts-mode) (insert "int main() {\n if ")
(indent-according-to-mode)))
eval-buffer(#<buffer *load*> nil "/home/sadiq/test.el" nil t)
load-with-code-conversion("/home/sadiq/test.el" "/home/sadiq/test.el"
nil t)
load("/home/sadiq/test.el" nil t)
command-line-1(("-l" "test.el"))
command-line()
normal-top-level()
Generic tree-sitter indentation error: "Couldn't find the preset
corresponding to expression", c-ts-mode--looking-at-star
In GNU Emacs 29.0.60 (build 5, x86_64-pc-linux-gnu, GTK+ Version
3.24.36, cairo version 1.16.0) of 2023-01-22 built on purism
Repository revision: e74ba72a6a34221abf47145ecf0ec4fc8cda2555
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version
11.0.12101006
System Description: Debian GNU/Linux bookworm/sid