]> git.eshelyaron.com Git - emacs.git/commitdiff
Fixes in prog-fill-reindent-defun
authorTheodor Thornhill <theo@thornhill.no>
Sun, 25 Dec 2022 21:47:36 +0000 (22:47 +0100)
committerJuri Linkov <juri@linkov.net>
Wed, 28 Dec 2022 17:21:52 +0000 (19:21 +0200)
Ensure that we don't consider lines such as

    switch (foo) {
        case 2:  // If point on 'c' in 'case'
            return 2;

not to be considered for filling.

Also make sure we check for the active region, to replicate the normal
fill-paragraph behavior.

* lisp/progmodes/prog-mode.el (prog-fill-reindent-defun): Adjust
regex, and make sure fill-paragraph checks for active region.

(bug#60360, bug#60322)

lisp/progmodes/prog-mode.el

index aa37a4ac865a703ad5078e2f6db402efcf7619bd..5e692980b2fe32f4a12fd2253efc284968cecaeb 100644 (file)
@@ -164,10 +164,8 @@ or follows point."
                  (treesit-node-type (treesit-node-at (point)))))))
       (if (or treesit-text-node
               (nth 8 (syntax-ppss))
-              (re-search-forward comment-start-skip (line-end-position) t))
-          (if (memq fill-paragraph-function '(t nil))
-              (lisp-fill-paragraph argument)
-            (funcall fill-paragraph-function argument))
+              (re-search-forward "^\\s<" (line-end-position) t))
+          (fill-paragraph argument (region-active-p))
         (beginning-of-defun)
         (let ((start (point)))
           (end-of-defun)