Closed Bug 309840 Opened 18 years ago Closed 18 years ago
Regular expression /[/]/ gives "unterminated character class" error
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b5) Gecko/20050923 Firefox/1.4 Firefox gives an "unterminated character class" error on the regular expression /[/]/. Safari and Opera 8.5 accept it. I noticed this because a regular expression containing [/] appears in http://msdn.microsoft.com/workshop/code/browdata.js, which was mentioned in bug 309695 comment 9.
->all/all. This is technically invalid. <http://bclary.com/2004/11/07/ecma-262#a-7.8.5>. I have some raw data on top sites I can mine for how common this is in the wild.
OS: MacOS X → All
Hardware: Macintosh → All
Version: 1.8 Branch → Trunk
This is entirely contrary to ECMA-262 Edition 3, and to its regexp progenitor, Perl. However, mrbkap expressed sympathy, however fleeting under my withering counterattack ;-). He wins this no-prize. I'm quite interested in bclary's top site spidering results. /be
Assignee: general → mrbkap
I've been running scans of the top 69 sites 1 level deep (usually ~100 pages per site) and haven't seen an instance of this error. This doesn't imply that the error is rare. It has been a reoccuring issue over the years, especially on MS sites. I could run a 2 level scan if you think it would be worth it, but it would take a few days.
I think if we want this, we want it for Firefox 1.5.
I searched for bugs with comments containing "unterminated character class" and found these: Open tech evang bugs: bug 235508, bug 224988 (Microsoft), bug 212822 Bugs with discussion: bug 89586, bug 173067, bug 212822
Need a fix this week if this is going to make it.
Flags: blocking1.8b5? → blocking1.8b5+
Status: NEW → ASSIGNED
Comment on attachment 197590 [details] [diff] [review] Allow / in char classes sr=shaver
Attachment #197590 - Flags: superreview?(brendan) → superreview+
Attachment #197590 - Flags: review?(shaver) → review?(brendan)
we're not going to hold the release for this but if it comes to us with full reviews and it's low risk, we can talk.
Flags: blocking1.8b5+ → blocking1.8b5-
Comment on attachment 197590 [details] [diff] [review] Allow / in char classes Yeah, this is safe. The only way to close a character class is with an unescaped ], and you can't nest character classes, so a boolean suffices. /be
Fix checked into trunk.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Attachment #197590 - Flags: approval1.8b5? → approval1.8b5+
Comment on attachment 197590 [details] [diff] [review] Allow / in char classes This fixes a highly dup'ed IE compatibility bug. It's an extension to ECMA syntax that's allowed by Section 16. I'm approving it so that we can get it into 1.8b5 / Firefox 1.5b2. /be
Don't forget to set fixed1.8 when this lands on the branch tonight. /be
Flags: blocking1.8b5- → blocking1.8b5+
Checked into MOZILLA_1_8_BRANCH.
*** Bug 235508 has been marked as a duplicate of this bug. ***
*** Bug 212822 has been marked as a duplicate of this bug. ***
*** Bug 224988 has been marked as a duplicate of this bug. ***
Checking in regress-309840.js; /cvsroot/mozilla/js/tests/ecma_3/RegExp/regress-309840.js,v <-- regress-309840.js initial revision: 1.1 done obsoletes js1_5/Regress/regress-173067.js
*** Bug 318303 has been marked as a duplicate of this bug. ***
verified fixed 200604-1 126.96.36.199, 1.8, 1.9a1 win/mac/linux
note to self: ecma_3/RegExp/regress-309840.js timed out on peach 1.8 debug browser, but not on prune. Could not reproduce manually.
You need to log in before you can comment on or make changes to this bug.