bug-gnu-emacs
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]