unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#45717: 27.1; Error with apostrophe in JSX comment
@ 2021-01-07 16:26 Jakobsson Mattias
  2021-10-31  2:41 ` Stefan Kangas
  2024-06-02 20:54 ` Jakub Ječmínek via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 6+ messages in thread
From: Jakobsson Mattias @ 2021-01-07 16:26 UTC (permalink / raw)
  To: 45717

[-- Attachment #1: Type: text/plain, Size: 4337 bytes --]

Dear emacs developers,

I get the errors in the Recent messages further below if I edit (e.g., by inserting a newline)
a JSX file with the content between the ``` below. If I remove the apostrophe from
"don't" in the comment the errors goes away.

```
import React from "react";

const MyComponent = ({ someList }) => (
  <div
    className={someList.filter(
      // don't include an apostrophe in this comment
      (cls) => cls !== "someclass"
    )}
  />
);

export default MyComponent;
```

Regards, Mattias

In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
 of 2020-08-22 built on c21618
Windowing system distributor 'The X.Org Foundation', version
11.0.12008000
System Description: Red Hat Enterprise Linux 8.3 (Ootpa)


Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Error during redisplay: (jit-lock-function 1) signaled (error "Variable
binding depth exceeds max-specpdl-size")
Error in post-command-hook (jit-lock--antiblink-post-command): (error
"Variable binding depth exceeds max-specpdl-size")
Error during redisplay: (internal--syntax-propertize 29) signaled
(error "Variable binding depth exceeds max-specpdl-size")
back-to-indentation: internal--syntax-propertize did not move syntax-
propertize--doneError during redisplay: (jit-lock-function 28) signaled
(error "Variable binding depth exceeds max-specpdl-size")
Error during redisplay: (jit-lock-function 28) signaled (error
"Variable binding depth exceeds max-specpdl-size")
Making completion list...


Configured using:
 'configure --prefix=/home/a001919/.local/emacs/27.1 --with-json'


Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ XFT ZLIB
TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XIM MODULES THREADS JSON PDUMPER GMP


Important settings:
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix


Major mode: JavaScript[JSX]


Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t


Load-path shadows:
None found.


Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa derived epg epg-
config
gnus-util rmail rmail-loaddefs text-property-search time-date mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-
git
diff-mode easy-mmode js json subr-x map seq byte-opt gv bytecomp
byte-compile cconv imenu cc-mode cc-fonts easymenu cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cl-loaddefs cl-lib
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset
image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-
mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)


Memory information:
((conses 16 75570 6537)
 (symbols 48 9507 1)
 (strings 32 25092 1661)
 (string-bytes 1 947253)
 (vectors 16 14494)
 (vector-slots 8 181430 11864)
 (floats 8 25 40)
 (intervals 56 246 0)
 (buffers 1000 14))


[-- Attachment #2: Type: text/html, Size: 5665 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#45717: 27.1; Error with apostrophe in JSX comment
  2021-01-07 16:26 bug#45717: 27.1; Error with apostrophe in JSX comment Jakobsson Mattias
@ 2021-10-31  2:41 ` Stefan Kangas
  2021-11-03  1:34   ` Dmitry Gutov
  2024-06-02 20:54 ` Jakub Ječmínek via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Kangas @ 2021-10-31  2:41 UTC (permalink / raw)
  To: Jakobsson Mattias; +Cc: 45717

tags 45717 + confirmed
thanks

Jakobsson Mattias <mattias.jakobsson@smhi.se> writes:

> I get the errors in the Recent messages further below if I edit (e.g., by inserting a newline)
> a JSX file with the content between the ``` below. If I remove the apostrophe from
> "don't" in the comment the errors goes away.
>
> ```
> import React from "react";
>
> const MyComponent = ({ someList }) => (
>   <div
>     className={someList.filter(
>       // don't include an apostrophe in this comment
>       (cls) => cls !== "someclass"
>     )}
>   />
> );
>
> export default MyComponent;
> ```

I tried reproducing this on current master, but I don't see any message.
However, I do see incorrect highlighting after the comment with the
apostrophe, so something is clearly still not working as it should.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#45717: 27.1; Error with apostrophe in JSX comment
  2021-10-31  2:41 ` Stefan Kangas
@ 2021-11-03  1:34   ` Dmitry Gutov
  2021-11-20  2:32     ` Jackson Ray Hamilton
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Gutov @ 2021-11-03  1:34 UTC (permalink / raw)
  To: Stefan Kangas, Jakobsson Mattias, Jackson Hamilton; +Cc: 45717

On 31.10.2021 05:41, Stefan Kangas wrote:
> tags 45717 + confirmed
> thanks
> 
> Jakobsson Mattias<mattias.jakobsson@smhi.se>  writes:
> 
>> I get the errors in the Recent messages further below if I edit (e.g., by inserting a newline)
>> a JSX file with the content between the ``` below. If I remove the apostrophe from
>> "don't" in the comment the errors goes away.
>>
>> ```
>> import React from "react";
>>
>> const MyComponent = ({ someList }) => (
>>    <div
>>      className={someList.filter(
>>        // don't include an apostrophe in this comment
>>        (cls) => cls !== "someclass"
>>      )}
>>    />
>> );
>>
>> export default MyComponent;
>> ```
> I tried reproducing this on current master, but I don't see any message.
> However, I do see incorrect highlighting after the comment with the
> apostrophe, so something is clearly still not working as it should.

I do see errors in this scenario, especially after trying to edit or 
move around. Like:

js-jsx--syntax-propertize-extend-region: Lisp nesting exceeds 
‘max-lisp-eval-depth’Error during redisplay: (jit-lock-function 1) 
signaled (error "Lisp nesting exceeds ‘max-lisp-eval-depth’")

Adding Jackson to Cc, perhaps he'll have time and inclination to 
investigate this.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#45717: 27.1; Error with apostrophe in JSX comment
  2021-11-03  1:34   ` Dmitry Gutov
@ 2021-11-20  2:32     ` Jackson Ray Hamilton
  0 siblings, 0 replies; 6+ messages in thread
From: Jackson Ray Hamilton @ 2021-11-20  2:32 UTC (permalink / raw)
  To: Dmitry Gutov, Stefan Kangas, Jakobsson Mattias; +Cc: 45717

Hi, thanks for bringing this to our attention.

This code seems to throw js-jsx--syntax-propertize-extend-region into an 
infinite loop.  M-x toggle-debug-on-error and M-x eval-expression 
(js-jsx--syntax-propertize-extend-region 69 240) shows the stack trace; 
(backward-sexp) ultimately causes (syntax-propertize), thus the loop.

Using M-x edebug-defun to debug js-jsx--syntax-propertize-extend-region, 
after pressing space a bunch of times to step through it, I see it’s 
trying to jump from “)}” to the “{” in “className={”.  The presence of 
the apostrophe somehow interrupts the intended logic.

I tried adding parse-sexp-ignore-comments to the let and it suppressed 
the infinite loop but caused a scan-error (which is immediately caught) 
which seems wrong to me.

I tried adding (parse-sexp-ignore-comments t) to the let and encountered 
another infinite loop.

Tricky.  For now, I’ll leave the mailing list with my notes.

On 11/2/21 6:34 PM, Dmitry Gutov wrote:
> On 31.10.2021 05:41, Stefan Kangas wrote:
>> tags 45717 + confirmed
>> thanks
>>
>> Jakobsson Mattias<mattias.jakobsson@smhi.se>  writes:
>>
>>> I get the errors in the Recent messages further below if I edit 
>>> (e.g., by inserting a newline)
>>> a JSX file with the content between the ``` below. If I remove the 
>>> apostrophe from
>>> "don't" in the comment the errors goes away.
>>>
>>> ```
>>> import React from "react";
>>>
>>> const MyComponent = ({ someList }) => (
>>>    <div
>>>      className={someList.filter(
>>>        // don't include an apostrophe in this comment
>>>        (cls) => cls !== "someclass"
>>>      )}
>>>    />
>>> );
>>>
>>> export default MyComponent;
>>> ```
>> I tried reproducing this on current master, but I don't see any message.
>> However, I do see incorrect highlighting after the comment with the
>> apostrophe, so something is clearly still not working as it should.
>
> I do see errors in this scenario, especially after trying to edit or 
> move around. Like:
>
> js-jsx--syntax-propertize-extend-region: Lisp nesting exceeds 
> ‘max-lisp-eval-depth’Error during redisplay: (jit-lock-function 1) 
> signaled (error "Lisp nesting exceeds ‘max-lisp-eval-depth’")
>
> Adding Jackson to Cc, perhaps he'll have time and inclination to 
> investigate this.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#45717: 27.1; Error with apostrophe in JSX comment
  2021-01-07 16:26 bug#45717: 27.1; Error with apostrophe in JSX comment Jakobsson Mattias
  2021-10-31  2:41 ` Stefan Kangas
@ 2024-06-02 20:54 ` Jakub Ječmínek via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-06-04  1:07   ` Dmitry Gutov
  1 sibling, 1 reply; 6+ messages in thread
From: Jakub Ječmínek via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-06-02 20:54 UTC (permalink / raw)
  To: Jackson Ray Hamilton
  Cc: 45717, Stefan Kangas, Jakobsson Mattias, Dmitry Gutov

I'm unable to reproduce this on (almost) current master.  Can somebody
else please double check and eventually close this?

Thanks.






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#45717: 27.1; Error with apostrophe in JSX comment
  2024-06-02 20:54 ` Jakub Ječmínek via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-06-04  1:07   ` Dmitry Gutov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Gutov @ 2024-06-04  1:07 UTC (permalink / raw)
  To: Jakub Ječmínek, Jackson Ray Hamilton
  Cc: 45717-done, Stefan Kangas, Jakobsson Mattias

On 02/06/2024 23:54, Jakub Ječmínek via Bug reports for GNU Emacs, the 
Swiss army knife of text editors wrote:
> I'm unable to reproduce this on (almost) current master.  Can somebody
> else please double check and eventually close this?

Indeed, looks like this got fixed sometimes between Emacs 28 and 29.

I'll close the report, thanks for the update. And of course let us know 
if it returns.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-06-04  1:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-07 16:26 bug#45717: 27.1; Error with apostrophe in JSX comment Jakobsson Mattias
2021-10-31  2:41 ` Stefan Kangas
2021-11-03  1:34   ` Dmitry Gutov
2021-11-20  2:32     ` Jackson Ray Hamilton
2024-06-02 20:54 ` Jakub Ječmínek via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-04  1:07   ` Dmitry Gutov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).