Subject: bug#7882: closed (Re: bug#7882: 24.0.50; Bad regexp for javascript regexps)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 21 Jan 2011 20:43:02 +0000

Your bug report

#7882: 24.0.50; Bad regexp for javascript regexps

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
7882: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7882
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#7882: 24.0.50; Bad regexp for javascript regexps
From: Stefan Monnier <[email-masked]>
To: Harald Hanche-Olsen <[email-masked]>
Cc: [email-masked]
Date: Fri, 21 Jan 2011 15:50:17 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

> replace(/\\/g,something);

Thanks, I've installed the patch below into the emacs-23 branch which
should fix this problem.  The highlighting is not reliable when the
regexp spans multiple lines, tho, so I wonder: are multi-line regexps
valid? common? important?

        Stefan

Subject: 24.0.50; Bad regexp for javascript regexps
From: Harald Hanche-Olsen <[email-masked]>
To: [email-masked]
Date: Fri, 21 Jan 2011 18:50:29 +0100 (CET)
List-Id: <debbugs-submit.debbugs.gnu.org>

Put the following four line code snippet in a new buffer:

replace(/\\/g,something);
// Now we're in trouble:
// Still in trouble.
// And all's well again.

and activate js-mode and font-lock-mode.

The syntax colouring is now off: The code starting with the first
slash on the first line and ending with the first slash on the second
line is coloured as a regexp; now the syntax highlighter is unaware
that we are in a comment, and reads the single quote as the start of a
string. After the second single quote things return to normal.

The problem seems to lie with the constant js--regexp-literal declared
in js.el, as this regexp does not treat backslashes with sufficient care.

In GNU Emacs 24.0.50.1 (x86_64-apple-darwin10.5.0, NS apple-appkit-1038.35)
 of 2010-12-27 on mack
Windowing system distributor `Apple', version 10.3.1038
configured using `configure  '--with-ns''

- Harald