Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.394.mcz==================== Summary ====================
Name: Compiler-eem.394
Author: eem
Time: 18 September 2018, 11:01:49.239937 am
UUID: 446b4a31-2799-41fa-82d4-e503a94fb360
Ancestors: Compiler-bf.393
Fix a bug in Scanner>>xUnderscore that prevented parsing e.g.
method: p _: q _: r
^'cool'
=============== Diff against Compiler-bf.393 ===============
Item was changed:
----- Method: Scanner>>xUnderscore (in category 'multi-character scans') -----
xUnderscore
+ self allowUnderscoreAssignments ifTrue:
+ "Figure out if x _foo (no space between _ and foo) should be a selector or assignment."
+ [(self allowUnderscoreSelectors
+ and: [#(xLetter xDigit xUnderscore xColon) includes: (self typeTableAt: aheadChar)])
+ ifFalse:
+ [self step.
+ tokenType := #leftArrow.
+ ^token := #'_']].
+ self allowUnderscoreSelectors ifTrue:
+ [^self xLetter].
- self allowUnderscoreAssignments ifTrue:[ | type |
- "Figure out if x _foo (no space between _ and foo)
- should be a selector or assignment"
- (((type := self typeTableAt: aheadChar) == #xLetter
- or:[type == #xDigit or:[type == #xUnderscore]])
- and:[self allowUnderscoreSelectors]) ifFalse:[
- self step.
- tokenType := #leftArrow.
- ^token := #'_'
- ].
- ].
- self allowUnderscoreSelectors ifTrue:[^self xLetter].
^self xIllegal!