GNU bug report logs -
#41649
27.0.91; beginning-of-defun doesn't work inside React markup in js-jsx-mode
Previous Next
Reported by: Brian Leung <bkleung89 <at> gmail.com>
Date: Mon, 1 Jun 2020 18:01:01 UTC
Severity: normal
Found in version 27.0.91
Done: Alan Mackenzie <acm <at> muc.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 7 Jun 2020 15:23:20 +0000
with message-id <20200607152320.GA6212 <at> ACM>
and subject line Re: bug#41649: 27.0.91; beginning-of-defun doesn't work inside React markup in js-jsx-mode
has caused the debbugs.gnu.org bug report #41649,
regarding 27.0.91; beginning-of-defun doesn't work inside React markup in js-jsx-mode
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
41649: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41649
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
With a file App.js that looks like:
import * as React from "react";
import { render } from "react-dom";
const App = () => {
return (
<div>
<h1 id="abc">hello</h1>
<SearchParams />
</div>
);
};
render(<App />, document.getElementById("root"));
If you open the file in JS mode (Emacs 27), and move point inside of
"abc", calling
M-: (c-beginning-of-defun)
gives the following error:
Debugger entered--Lisp error: (wrong-type-argument hash-table-p nil)
copy-hash-table(nil)
c-forward-<>-arglist(nil)
c-backward-<>-arglist(nil nil)
c-looking-at-decl-block(99 nil)
c-most-enclosing-decl-block((117 99 88 (40 . 50)))
c-widen-to-enclosing-decl-scope((117 99 88 (40 . 50)) 1 234)
c-beginning-of-defun()
eval((c-beginning-of-defun) t)
eval-expression((c-beginning-of-defun) nil nil 127)
funcall-interactively(eval-expression (c-beginning-of-defun) nil nil 127)
call-interactively(eval-expression nil nil)
command-execute(eval-expression)
Manually invoking C-M-a inside the double quotes should end the same way.
In GNU Emacs 27.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20)
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: NixOS 20.09 (Nightingale)
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
Hello, Brian and Dmitry.
On Thu, Jun 04, 2020 at 09:40:34 -0700, Brian Leung wrote:
> It works for me also. Thanks.
> On Thu, Jun 4, 2020 at 9:26 AM Dmitry Gutov <dgutov <at> yandex.ru> wrote:
> > On 04.06.2020 19:23, Alan Mackenzie wrote:
> > > Would you please try out the following patch, which ought to fix the
> > > problem the patch should fix.
> > I tried it a few days ago, and it indeed seemed to fix the reported
> > scenario.
OK, that's good, thanks.
Thinking about it, and considering how many js-mode settings get amended
by this patch, it is fairly complicated. So, it really is too late for
the emacs-27 branch. So I've committed the patch to master.
I'm closing the bug with this post.
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 5 years and 42 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.