[squeak-dev] The Trunk: Kernel-dtl.587.mcz

commits at source.squeak.org commits at source.squeak.org
Sun May 15 15:48:07 UTC 2011


David T. Lewis uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-dtl.587.mcz

==================== Summary ====================

Name: Kernel-dtl.587
Author: dtl
Time: 15 May 2011, 11:47:32.816 am
UUID: 08000000-1508-061c-1508-061c14000000
Ancestors: Kernel-dtl.586

Remove broken autoAccessors hook from Object>>doesNotUnderstand:

Problem was reported with (partial) resolution agreed a year ago, but fix did not get applied. 

Background:

<http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-April/148889.html>
Preferences autoAccessor when turned on seems to break badly the Object #doesNotUnderstand logic.

try this is the latest image:

	Preferences enable: #autoAccessors.
	5 annoyWith: 7

(beware it will hang the image for good)

<http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-April/149022.html>
I think it's safe to remove this part from Object >>
> #doesNotUnderstand:
>
> (Preferences autoAccessors
>  	 and: [self tryToDefineVariableAccess: aMessage]) ifTrue:
>  		[^aMessage sentTo: self].
>
>
> Levente

I agree, for the meantime there will be no automatic generation of accessors.

I you search for 'auto' in the Preferences Browser you do not find an
entry for enabling the generation of them.

Hannes

=============== Diff against Kernel-dtl.586 ===============

Item was changed:
  ----- Method: Object>>doesNotUnderstand: (in category 'error handling') -----
  doesNotUnderstand: aMessage 
  	 "Handle the fact that there was an attempt to send the given
  	  message to the receiver but the receiver does not understand
  	  this message (typically sent from the machine when a message
  	 is sent to the receiver and no method is defined for that selector)."
  
  	"Testing: (3 activeProcess)"
  
  	| exception resumeValue |
- 	(Preferences autoAccessors
- 	 and: [self tryToDefineVariableAccess: aMessage]) ifTrue:
- 		[^aMessage sentTo: self].
- 
  	(exception := MessageNotUnderstood new)
  		message: aMessage;
  		receiver: self.
  	resumeValue := exception signal.
  	^exception reachedDefaultHandler
  		ifTrue: [aMessage sentTo: self]
  		ifFalse: [resumeValue]!




More information about the Squeak-dev mailing list