Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007250 [Squeak] Kernel minor always 12-22-08 16:40 12-24-08 14:32
Reporter Zulq View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version 3.10
Summary 0007250: Object>>#doesNotUnderstand: incorrectly handles a resumed MessageNotUnderstood
Description The implementation of #doesNotUnderstand: in Object does not check whether the signalled MessageNotUnderstood has been resumed and return the resumed value. Instead it simply resends the message. As a result, this will loop forever:

" should evaulate to 'abc' "
[Object new foo]
  on: MessageNotUnderstood
  do: [:e | e resume: 'abc']


This may be an issue in versions earlier than 3.10.
Additional Information
Attached Files  ObjectTest-testDoesNotUnderstand.st [^] (592 bytes) 12-22-08 16:42
 SqueakMNUaLaVW.1.cs [^] (1,872 bytes) 12-22-08 16:43

- Relationships

- Notes
(0012875 - 53 - 53 - 53 - 53 - 53 - 53)
Zulq
12-22-08 16:45

Created a unit test and uploaded Eliot Miranda's fix.
 
(0012876 - 471 - 492 - 492 - 492 - 492 - 492)
Zulq
12-24-08 14:32

Eliot Miranda wrote:

> 
> On Mon, Dec 22, 2008 at 8:59 AM, Zulq Alam wrote:
>
>   Is it OK to use this fix since it's from a commercial product? Or
>   will someone need to develop a fix who hasn't seen this or the
>   original code.
>

I wrote the fix I posted in response to your post.  It is not identical 
to the VW code, but it is essentially the same solution.  The solution 
is pretty obvious, so I don't think there will be any issues.
 

- Issue History
Date Modified Username Field Change
12-22-08 16:40 Zulq New Issue
12-22-08 16:42 Zulq File Added: ObjectTest-testDoesNotUnderstand.st
12-22-08 16:43 Zulq File Added: SqueakMNUaLaVW.1.cs
12-22-08 16:45 Zulq Note Added: 0012875
12-24-08 14:32 Zulq Note Added: 0012876


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
39 total queries executed.
28 unique queries executed.
Powered by Mantis Bugtracker