GNU bug report logs -
#64283
29.0.91; js-mode's mark-defun does not work correctly when functions have a comment on top
Previous Next
Reported by: Daniel Martín <mardani29 <at> yahoo.es>
Date: Sun, 25 Jun 2023 13:07:01 UTC
Severity: normal
Found in version 29.0.91
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #20 received at 64283 <at> debbugs.gnu.org (full text, mbox):
>
> What I see is that, after 4489450f37deafb013b1f0fc00c89f0973fda14a,
> defun movement may be subtly broken if beginning-of-defun-function does
> not return non-nil when it found the beginning of a defun. One of the
> affected modes is js-mode, but who knows if there are more out there.
>
> We could either revert 4489450f37deafb013b1f0fc00c89f0973fda14a, because
> of the incompatibilities it may cause (Yuan, what is the bug it tries to
> fix?), or maybe adjust js-mode so that it follows the documentation of
> beginning-of-defun-function and returns non-nil when it found the
> beginning of a defun. I've attached a patch that follows this second
> approach, with some unit tests. It fixes the bug on my side.
>
> <0001-Make-js-beginning-of-defun-return-non-nil-on-success.patch>
The original problem that I tried to solve is that sometimes end-of-defun-function was called when point isn’t at the beginning of a defun, contrary to what the documentation claims.
I first find out about it when writing defun movement functions for tree-sitter, but if you revert the commit now tree-sitter defun functions wouldn’t break: they have change quite a bit since then and treesit-end-of-defun don’t need to be called at the beginning of the defun anymore.
Yuan
This bug report was last modified 1 year and 324 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.