Tobias Pape uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-topa.763.mcz==================== Summary ====================
Name: System-topa.763
Author: topa
Time: 27 August 2015, 11:39:32.305 pm
UUID: 8731d6a1-ac9a-4cb9-90cf-92400d1289d2
Ancestors: System-mt.762
since any system event fires #prefEvent:, any addition of a class side method with some pragma will fire #addPragmaPreference. So instead of bailing, just do nothing when the method is in fact no pref.
=============== Diff against System-mt.762 ===============
Item was changed:
----- Method: Preferences class>>addPragmaPreference: (in category 'add/remove') -----
addPragmaPreference: pragma
"Note that there will be no accessor method generated because the pragma's method does already govern that."
| preference |
- self assert: pragma methodClass isMeta.
((pragma keyword beginsWith: #preference:) and: [self respondsTo: pragma keyword])
+ ifFalse: [
+ "no pragma pref to be defined. do nothing"
+ ^ self].
+ self assert: pragma methodClass isMeta.
- ifFalse: [Error signal: 'Cannot create pragma preference object.'. ^ self].
preference := self
perform: pragma keyword
withArguments: pragma arguments.
preference
provider: pragma methodClass theNonMetaClass
getter: pragma method selector
setter: pragma method selector asMutator.
self atomicUpdatePreferences: [ :copyOfDictionaryOfPreferences |
copyOfDictionaryOfPreferences
at: preference id
put: preference].
^ preference!