| Summary: | [1.7] 'char a\u200b' is being accepted in 1.6 mode | ||
|---|---|---|---|
| Product: | [Eclipse Project] JDT | Reporter: | Satyam Kandula <satyam.kandula> |
| Component: | Core | Assignee: | Olivier Thomann <Olivier_Thomann> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | loskutov, Olivier_Thomann, srikanth_sankaran |
| Version: | 3.7 | ||
| Target Milestone: | 3.7.1 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| See Also: | https://bugs.eclipse.org/bugs/show_bug.cgi?id=578063 | ||
| Whiteboard: | |||
|
Description
Satyam Kandula
(In reply to comment #0) > but this may not be > right for 1.7- projects. I don't understand the character and hence couldn't I think you meant 1.6- (1.6 and below) (In reply to comment #1) > (In reply to comment #0) > > > but this may not be > > right for 1.7- projects. I don't understand the character and hence couldn't > > I think you meant 1.6- (1.6 and below) Yes I did mean 1.6 and below. I'll check if this character's category also changed. Ok, that character was in the Zs group in Unicode 4 and has been moved to the Cf group in Unicode 6. This means that before it was forbidden as part of a java identifier, and now it is permitted. I can tweak that, but I don't know if this is the right way to fix this issue. It looks like I need to check all Unicode 4 characters based on their original specification even if their categories have been changed since then. I forgot to mention that "Zs" means SPACE_SEPARATOR group. "Cf" means FORMAT group. Characters in the Zs group are illegal as a java identifier part, but characters in the Cf group are fine. This explains the difference. Released in BETA_JAVA7 branch. Added regression test in: org.eclipse.jdt.core.tests.compiler.regression.ScannerTest#test059 Verified for 3.8M1 using build I20110729-1200 See follow up issue: bug 578063. |