[Pharo-dev] Bug (and fix?) with #doSilently: and FileLibrary

Mariano Martinez Peck marianopeck at gmail.com
Thu Oct 10 16:53:40 EDT 2013


Hi guys,

I noticed that when we add files to FileLibrary using provided methods like
both methods are created, #selectorsToInclude and whatever you have
updated, say, #myCss. However, if you go to Monticello Browser, only
 #selectorsToInclude appears. Digging a bit, I found out that Seaside ends
up using Grease for that. And Grease does:

GRPharoPlatform >>compile: aString into: aClass classified: aSymbol
self doSilently:  [
aClass compile: aString classified: aSymbol ]

And then, of course, the doSilently, ends up doing:

GRPharoPlatform >> doSilently: aBlock
"Deals with a different between Pharo1.x and Pharo2.x"
^ (Smalltalk includesKey: #SystemChangeNotifier)
ifTrue:[(Smalltalk at: #SystemChangeNotifier) uniqueInstance doSilently:
 aBlock]
ifFalse:[(Smalltalk at: #SystemAnnouncer) uniqueInstance suspendAllWhile:
aBlock]


So...first, I don't like that a method named like #compile:into:classified:
does a silently compilation. Normally, we have the "silently" as part of
the selector (or a boolean parameter). Second, why would we want to compile
silently? the idea is that after, we commit the FileLibrary...so if the
method is not there, it is a problem.

So, should we change the  #compile:into:classified: to NOT do the silently?

Thanks,

-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131010/72688756/attachment-0002.html>


More information about the Pharo-dev mailing list