munge should not munge $ (which isJavaIdentifierPart), should munge ' (which is not)

Description

munge is overeager in converting $ to DOLLARSIGN, since $ is a valid
character in Java identifiers:

On a related point, ' (single quote) is not admissible in Java
identifiers, but it is not munged on master:

This leads to e.g.

(note the ' after STAR).

Originally reported on the Dev list.

See also this thread on the (regular) Clojure ggroup.

The attached patch applies cleanly against current master.

Environment

None

Attachments

1

Activity

Show:

Michał Marczyk December 8, 2010 at 6:12 AM

Right, I forgot about that in the patch somehow. Also, I just noticed that " is also not JavaIdentifierPart and yet is not currently munged. The newly attached patch fixes all three issues.

Rich Hickey November 5, 2010 at 2:00 PM

This issue mentions two problems but patch fixes only one. Should add the single-quote handling

Stuart Halloway October 30, 2010 at 6:12 PM

Patch is clean, the real issue here is doing the right thing. Two concerns:

  • was the original choice to munge $ motivated, and if so do we need a more subtle patch that preserves that original intent?

  • presumably this is (yet another) binary-compatibility-breaking change. 1.3 already has major change, so now is a good a time as any...

import September 28, 2010 at 10:32 PM

Comment made by: importer

Converted from http://www.assembla.com/spaces/clojure/tickets/433
Attachments:
0001-munge-no-longer-changes-to-DOLLARSIGN.patch - https://www.assembla.com/spaces/clojure/documents/dp5tziVaer34yIeJe5cbLr/download/dp5tziVaer34yIeJe5cbLr

Completed

Details

Assignee

Reporter

Approval

Ok

Priority

Fix versions

Created September 9, 2010 at 12:03 PM
Updated March 1, 2013 at 6:46 PM
Resolved March 1, 2013 at 6:46 PM