Changes to Trunk (
http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2015-September/008969.htmlName: Kernel-eem.952
Ancestors: Kernel-eem.951
The comparison of the initial literal in plugin primitive methods needs to compare the first two entries, not the first three.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2015-September/008970.htmlName: Compiler-eem.309
Ancestors: Compiler-eem.308
Fix the compiler to collapse optimized block temps of the same name to the same temp location for a better debugging UX.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2015-September/008971.htmlName: Tools-eem.633
Ancestors: Tools-mt.632
Fix hard VM crash when defining quick methods from MNUs in the debugger. The bug is that the sender context (Message>>sentTo:) is doing a perform:withArguments:[inSuperclass:] but the receiver and arguments have already been removed from the context, so simply backing up to the point of send and proceeding will have disastrous consequences; there must be a receiver and arguments on the stack. So if the arguments are unavailable we simply restart the context inmstead of backing up to the point of send.
To reproduce:
0. make sure e.g. Object>>#zork is unimplemented
1. evaluate "nil zork"
2. in the debugger examine the doesNotUnderstand: context and then hit proceed.
3. click the Create button and define
Object>>#zork
^nil
4. (the debugger sets the active context to Message>>sentTo:) hit proceed
Before the VM woudl crash. Now the debugger sets the pc to the start of the Message>>sentTo: method.
=============================================