From: Yuan Fu Date: Sat, 27 Apr 2024 02:55:37 +0000 (-0700) Subject: Fix c-ts-common--fill-paragraph for C X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5521212137ff072b29eaffad51af802c60fec47c;p=emacs.git Fix c-ts-common--fill-paragraph for C This should fix the failing filling test for c-ts-mode. * lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Don't go back to indentation. (cherry picked from commit 53333132e47589c59331a7b8b3afb5ce964aed99) --- diff --git a/lisp/progmodes/c-ts-common.el b/lisp/progmodes/c-ts-common.el index cc8254c5701..b1520db22e9 100644 --- a/lisp/progmodes/c-ts-common.el +++ b/lisp/progmodes/c-ts-common.el @@ -123,12 +123,16 @@ ARG is passed to `fill-paragraph'." (let ((node (treesit-node-at (point)))) (when (string-match-p c-ts-common--comment-regexp (treesit-node-type node)) - (if (save-excursion - (goto-char (treesit-node-start node)) - ;; In rust, NODE will be the body of a comment excluding - ;; the //, so we need to go to BOL to check for //. - (back-to-indentation) - (looking-at "//")) + (if (or (save-excursion + (goto-char (treesit-node-start node)) + (looking-at "//")) + ;; In rust, NODE will be the body of a comment, and the + ;; parent will be the whole comment. + (if-let ((start (treesit-node-start + (treesit-node-parent node)))) + (save-excursion + (goto-char start) + (looking-at "//")))) (fill-comment-paragraph arg) (c-ts-common--fill-block-comment arg))) ;; Return t so `fill-paragraph' doesn't attempt to fill by