<br><br><div class="gmail_quote">On Mon, Oct 11, 2010 at 12:21 PM, Levente Uzonyi <span dir="ltr"><<a href="mailto:leves@elte.hu">leves@elte.hu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Mon, 11 Oct 2010, Eliot Miranda wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Argh! This went to the wrong repository. Can someone with admin privileges<br>
on <a href="http://source.squeak.org" target="_blank">source.squeak.org</a> delete this?<br>
</blockquote>
<br></div>
Why? Are these changes private? Fixing the highlighting of the new primitive pragmas is on my todo list, and these changes seem to be fixing them.<br></blockquote><div><br></div><div>No, they're incomplete. There is no implementation of <span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">callingConventionModifierFor: yet. The above methods are on my fork for the threaded/non-blocking FFI and that's not finished yet. So the above will break shout display of FFI methods.</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br></span></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888">
<br>
<br>
Levente</font><div><div></div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
TIA<br>
Eliot<br>
<br>
On Mon, Oct 11, 2010 at 11:37 AM, <<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Eliot Miranda uploaded a new version of ShoutCore to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/ShoutCore-eem.22.mcz" target="_blank">http://source.squeak.org/trunk/ShoutCore-eem.22.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: ShoutCore-eem.22<br>
Author: eem<br>
Time: 11 October 2010, 11:37:36.994 am<br>
UUID: bf5e644e-451b-4117-bb1a-8d3a087f902d<br>
Ancestors: ShoutCore-eem.16, ShoutCore-nice.21<br>
<br>
Merge with ShoutCore-nice.21.<br>
Now that we now that $- is (almost) a normal binary selector character (it<br>
also occurs in Number literals), let's do more simplifications.<br>
<br>
Laza's isNil ifTrue:... => ifNil: tweaks.<br>
<br>
=============== Diff against ShoutCore-nice.21 ===============<br>
<br>
Item was changed:<br>
----- Method: SHParserST80>>parseExternalCall (in category 'parse') -----<br>
parseExternalCall<br>
+ [self scanNext.<br>
+ ((Smalltalk at: #ExternalFunction) callingConventionModifierFor:<br>
currentToken) notNil]<br>
+ whileTrue.<br>
- self scanNext.<br>
self scanPast: #externalCallType.<br>
currentToken = '*'<br>
ifTrue: [self scanPast: #externalCallTypePointerIndicator].<br>
currentTokenFirst isDigit<br>
ifTrue: [self scanPast: #integer]<br>
ifFalse: [<br>
self failUnless: currentTokenFirst == $'.<br>
self parseString].<br>
self failUnless: currentTokenFirst == $(.<br>
self scanPast: #leftParenthesis.<br>
+ [currentTokenFirst ~= $)]<br>
- [currentTokenFirst ~~ $)]<br>
whileTrue: [<br>
self scanPast: #externalCallType.<br>
currentToken = '*'<br>
ifTrue: [self scanPast:<br>
#externalCallTypePointerIndicator]].<br>
self scanPast: #rightParenthesis.<br>
currentToken = 'module:'<br>
ifTrue: [<br>
self scanPast: #module.<br>
self failUnless: currentTokenFirst == $'.<br>
self parseString].<br>
+ currentToken = 'error:'<br>
+ ifTrue: [<br>
+ self scanPast: #module.<br>
+ currentTokenFirst == $'<br>
+ ifTrue: [self parseString]<br>
+ ifFalse: [self scanPast: #patternTempVar]].<br>
self failUnless: currentToken = '>'.<br>
self scanPast: #primitiveOrExternalCallEnd!<br>
<br>
Item was changed:<br>
----- Method: SHParserST80>>parsePrimitive (in category 'parse') -----<br>
parsePrimitive<br>
+ | numericPrim yetToSeeErrorCode |<br>
+ yetToSeeErrorCode := true.<br>
self scanNext.<br>
+ (numericPrim := currentTokenFirst isDigit)<br>
- currentTokenFirst isDigit<br>
ifTrue: [self scanPast: #integer]<br>
ifFalse: [<br>
+ self failUnless: currentTokenFirst == $'.<br>
+ self parseString].<br>
+ currentToken = 'error:' ifTrue:<br>
+ [yetToSeeErrorCode := false.<br>
+ self scanPast: #primitive.<br>
+ self isName<br>
+ ifTrue: [self scanPast: #patternTempVar]<br>
+ ifFalse:<br>
+ [self failUnless: currentTokenFirst == $'.<br>
+ self parseString]].<br>
+ numericPrim ifFalse:<br>
+ [currentToken = 'module:' ifTrue:<br>
+ [self scanPast: #module.<br>
+ self failUnless: currentTokenFirst == $'.<br>
+ self parseString]].<br>
+ (yetToSeeErrorCode<br>
+ and: [currentToken = 'error:']) ifTrue:<br>
+ [self scanPast: #primitive.<br>
+ self isName<br>
+ ifTrue: [self scanPast: #patternTempVar]<br>
+ ifFalse:<br>
+ [self failUnless: currentTokenFirst == $'.<br>
+ self parseString]].<br>
+ self failUnless: currentToken = '>'.<br>
- currentTokenFirst == $'<br>
- ifTrue: [ self parseString ]<br>
- ifFalse: [<br>
- currentTokenFirst == $#<br>
- ifTrue: [ self parseSymbol<br>
]<br>
- ifFalse: [ self error ] ].<br>
- currentToken = 'module:'<br>
- ifTrue: [<br>
- self scanPast: #module.<br>
- currentTokenFirst == $'<br>
- ifTrue: [ self parseString<br>
]<br>
- ifFalse: [<br>
- currentTokenFirst<br>
== $#<br>
- ifTrue: [<br>
self parseSymbol ]<br>
- ifFalse: [<br>
self error ] ] ] ].<br>
- self failUnless: currentTokenFirst == $>.<br>
self scanPast: #primitiveOrExternalCallEnd!<br>
<br>
<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br>