GNU bug report logs -
#72759
31.0.50; Emacs hangs with open-paren-in-column-0-is-defun-start set to nil
Previous Next
Reported by: Eshel Yaron <me <at> eshelyaron.com>
Date: Thu, 22 Aug 2024 10:09:01 UTC
Severity: normal
Found in version 31.0.50
Fixed in version 30.1
Done: Eshel Yaron <me <at> eshelyaron.com>
Bug is archived. No further changes may be made.
Full log
Message #26 received at 72759 <at> debbugs.gnu.org (full text, mbox):
> From: Eshel Yaron <me <at> eshelyaron.com>
> Cc: 72759 <at> debbugs.gnu.org
> Date: Thu, 22 Aug 2024 17:49:22 +0200
>
> After taking another look, ISTM that the problem is that checkdoc
> assumes that beginning-of-defun either advances point or returns nil,
> but since beginning-of-defun unconditionally moves to the beginning of
> the line, it can in fact find a defun ahead of point (and thus return
> non-nil) but then move back to the beginning of the line, so point is
> unchanged. So the assumption in checkdoc doesn't always hold when
> open-paren-in-column-0-is-defun-start is nil. This assumption should
> still hold, however, for beginning-of-defun-raw, which doesn't go back
> to the beginning of the line.
>
> This suggests the following change, which indeed seems to fix the hang:
>
>
> diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
> index 949ca6b74ad..65226d8ee44 100644
> --- a/lisp/emacs-lisp/checkdoc.el
> +++ b/lisp/emacs-lisp/checkdoc.el
> @@ -981,7 +981,7 @@ checkdoc-next-docstring
> Return nil if there are no more doc strings."
> (let (found)
> (while (and (not (setq found (checkdoc--next-docstring)))
> - (beginning-of-defun -1)))
> + (beginning-of-defun-raw -1)))
> found))
But the doc string of beginning-of-defun-raw says, inter alia:
This is identical to function `beginning-of-defun', except that point
does not move to the beginning of the line when `defun-prompt-regexp'
is non-nil. ^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^
Does that mean defun-prompt-regexp was non-nil in your case? The
default is nil.
This bug report was last modified 330 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.