]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/cc-mode.el (c-fl-decl-start): Fix off-by-one error.
authorAlan Mackenzie <acm@muc.de>
Thu, 10 Nov 2022 10:06:20 +0000 (10:06 +0000)
committerAlan Mackenzie <acm@muc.de>
Thu, 10 Nov 2022 10:06:20 +0000 (10:06 +0000)
This fixes bug #59070.

lisp/progmodes/cc-mode.el

index 2aa6b90dea333b4a2131b7c7e1172f458158c39e..34ba97bb87f376b5082bcbf906c0ea61ad37e53c 100644 (file)
@@ -2390,6 +2390,8 @@ with // and /*, not more generic line and block comments."
          ;; Go to a less nested declaration each time round this loop.
          (and
           (setq old-pos (point))
+          ;; The following form tries to move to the end of the previous
+          ;; declaration without moving outside of an enclosing {.
           (let (pseudo)
             (while
                 (and
@@ -2404,7 +2406,9 @@ with // and /*, not more generic line and block comments."
                           (setq pseudo (c-cheap-inside-bracelist-p (c-parse-state)))))))
               (goto-char pseudo))
             t)
-          (>= (point) bod-lim)
+          (or (> (point) bod-lim)
+              (eq bod-lim (point-min)))
+          ;; Move forward to the start of the next declaration.
           (progn (c-forward-syntactic-ws)
                  ;; Have we got stuck in a comment at EOB?
                  (not (and (eobp)