]> git.eshelyaron.com Git - emacs.git/commitdiff
; Fix error where we pass t to treesit-node-type in c-ts-common.el
authorYuan Fu <casouri@gmail.com>
Thu, 2 Feb 2023 22:42:42 +0000 (14:42 -0800)
committerYuan Fu <casouri@gmail.com>
Fri, 3 Feb 2023 01:39:08 +0000 (17:39 -0800)
* lisp/progmodes/c-ts-common.el:
(c-ts-common-statement-offset): Move the form that sets node to t
down, also add a check for node’s nullness.

lisp/progmodes/c-ts-common.el

index c13b01aae5cfcb9351f59f514f64e0adc0158a70..fd16c9713a50f3e8acfa4696a29ad2540491d643 100644 (file)
@@ -294,16 +294,17 @@ it adds an extra level, except for the top-level.
 
 PARENT is NODE's parent."
   (let ((level 0))
+    ;; If NODE is a opening/closing bracket on its own line, take off
+    ;; one level because the code below assumes NODE is a statement
+    ;; _inside_ a {} block.
+    (when (and node
+               (string-match-p c-ts-common-indent-block-type-regexp
+                               (treesit-node-type node)))
+      (cl-decf level))
     ;; If point is on an empty line, NODE would be nil, but we pretend
     ;; there is a statement node.
     (when (null node)
       (setq node t))
-    ;; If NODE is a opening bracket on its own line, take off one
-    ;; level because the code below assumes NODE is a statement
-    ;; _inside_ a {} block.
-    (when (string-match-p c-ts-common-indent-block-type-regexp
-                          (treesit-node-type node))
-      (cl-decf level))
     ;; Go up the tree and compute indent level.
     (while (if (eq node t)
                (setq node parent)