Fix c-ts-mode--anchor-prev-sibling (bug#73661)

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--anchor-prev-sibling):  Fix parentheses and use a
slightly more efficient function.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Replace
the tab in the test code with spaces.
This commit is contained in:
Yuan Fu 2024-10-14 19:31:12 -07:00
parent b87fda63dd
commit c154047c46
No known key found for this signature in database
GPG key ID: 56E19BC57664A442
2 changed files with 10 additions and 9 deletions

View file

@ -321,16 +321,17 @@ characters of the current line."
((or "#elif" "#else")
(setq prev-sibling (treesit-node-prev-sibling
(treesit-node-parent prev-sibling) t)))
;; If the start of the previous sibling isn't at the
;; beginning of a line, something's probably not quite
;; right, go a step further. (E.g., comment after a
;; statement.) If the previous sibling is the first named
;; node then anchor to that, e.g. when returning an aggregate
;; and starting the items on the same line as {.
;; If the start of the previous sibling isn't at the beginning
;; of a line, something's probably not quite right, go a step
;; further. (E.g., comment after a statement.) If the
;; previous sibling is the first named node, then anchor to
;; that, e.g. when returning an aggregate and starting the
;; items on the same line as {.
(_ (goto-char (treesit-node-start prev-sibling))
(if (or (looking-back (rx bol (* whitespace))
(line-beginning-position)))
(null (treesit-node-prev-sibling prev-sibling t))
(line-beginning-position))
(treesit-node-eq (treesit-node-child parent 0 t)
prev-sibling))
(setq continue nil)
(setq prev-sibling
(treesit-node-prev-sibling prev-sibling)))))))

View file

@ -214,7 +214,7 @@ Name: Return Compund Literal
struct pair { int fst, snd; };
struct pair
make_pair(int long_identifier_a[], int long_identifier_b[],
int offset_a, int offset_b)
int offset_a, int offset_b)
{
int base_offset = 10;
return (struct pair) { long_identifier_a[base_offset + offset_b],