GNU bug report logs - #41649
27.0.91; beginning-of-defun doesn't work inside React markup in js-jsx-mode

Previous Next

Package: emacs;

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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Alan Mackenzie <acm <at> muc.de>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#41649: closed (27.0.91; beginning-of-defun doesn't work
 inside React markup in js-jsx-mode)
Date: Sun, 07 Jun 2020 15:24:01 +0000
[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)]
From: Brian Leung <bkleung89 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.91;
 beginning-of-defun doesn't work inside React markup in js-jsx-mode
Date: Mon, 1 Jun 2020 10:59:50 -0700
[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)]
From: Alan Mackenzie <acm <at> muc.de>
To: Brian Leung <bkleung89 <at> gmail.com>
Cc: 41649-done <at> debbugs.gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>
Subject: Re: bug#41649: 27.0.91; beginning-of-defun doesn't work inside React
 markup in js-jsx-mode
Date: Sun, 7 Jun 2020 15:23:20 +0000
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.