SYSTEM WARNING: Creating default object from empty value

Mantis - Squeak
Viewing Issue Advanced Details
4825 Kernel minor always 09-09-06 17:23 11-17-08 22:40
Krivanek  
 
normal  
closed 3.10  
fixed  
none    
none 3.10  
0004825: [KernelImageOverride] ChangesOrganizer
The class ChangeSorter includes many class methods that serve changes. But this class is a tool (based on CodeHolder). So the kernel image includes refactored class named ChangesOrganizer that contains this changes serving methods. ChangeSorter is removed from the kernel image. Andreas tried to do the similar thing some time ago.

So we need to change all references in the source code.

Example:
original:

FileStream >> fileIntoNewChangeSet
    "File all of my contents into a new change set."

    self readOnly.
    ChangeSorter newChangesFromStream: self named: (self localName)

override:
FileStream >> fileIntoNewChangeSet
    "File all of my contents into a new change set."

    self readOnly.
    ChangesOrganizer newChangesFromStream: self named: (self localName)

related to 0005831closed  [RFE] Changesorters need to report packages of methods and Classes 
related to 0007342@60@  Change Sorters in 3.10.2 no longer report about class definitions or class comments. 
 1 - ChangesOrganizer.st [^] (16,479 bytes) 10-17-06 12:29
 2 - ChangesOrganizer patch.1.cs [^] (21,813 bytes) 10-17-06 12:29
 3 - ChangeSorter.st [^] (76,789 bytes) 10-17-06 12:31
 ChangesOrganizer.st [^] (114,991 bytes) 10-17-06 16:21
 ChangesOrganizer310.st [^] (116,415 bytes) 05-13-07 12:37
 ChangeHooksTest-tearDown.st [^] (386 bytes) 06-05-07 13:21

Notes
(0007711)
Krivanek   
10-17-06 12:47   
Here's the fix for this issue. It will be maybe problematic to prepare MC packages in the Squeak update stream.

The first file includes new ChangesOrganizer. It takes class pool from current ChangeSorter during initialization.

The second file replaces references from ChangeSorter to ChangesOrganizer in various packages.

The third file includes new code for ChangeSorter (so all origional methods of this class should be removed firstly). This class now has no class variables and most of class methods are in the category named "deprecated" and only resend messages to the new ChangesOrganizer.

Because ChangesOrganizer takes whole classPool from the ChangeSorter, the class should be recompiled again. This is pretty ugly solution (but was ok for the KernelImage) so the better way how to switch ChangeSorter should be involved.
(0007714)
Krivanek   
10-17-06 16:22   
ChangesOrganizer.st - single script

(0010716)
Krivanek   
05-13-07 12:39   
ChangesOrganizer310.st - version for Squeak 3.10
(0010720)
edgardec   
05-14-07 08:42   
This now is 7109ChangesOrganizer-pk.1.cs and was in updates for 3.10
Thanks Pavel !
(0010722)
wiz   
05-15-07 04:35   
Reminder sent to: edgardec

Hi Edgar,

I got my most recent sq3.10( with updates to 7108)
ask for updates from server. (which brought it up to 7110)

Then got a dual changesorter (to see my stuff in action)

When I looked at the changes for 7109 which should have been pavels stuff the change set MC27 was completly empty.

So got a filelist and loaded pavels ChangeOrganizer cs as code. That showed me that none of pavel's changes actually made it into the image.

We may have another Monticello Mystery on our hands.

Cheers, -Jer
(0010723)
wiz   
05-15-07 04:48   
Code has not quite gotten into 3.10
(0010773)
edgardec   
06-05-07 13:23   
Pavel:
I add ChangeHooksTest-tearDown.st , the minor change for not having red test .
(0010914)
andreas   
07-22-07 22:14   
Just as an FYI: The whole set of messages in ChangeOrganizer is present in ChangeSet (has been for about a year or so). It was necessary to decouple this for being able to load different ToolSets. It seems that the 3.9 evolution stopped somewhere in the middle of applying the required changes (which included forwarding these methods from ChangeSorter to ChangeSet).
(0012777)
KenCausey   
11-17-08 22:40   
I'm reluctantly closing this one, as it seems the best choice at this time. I spent 30-45 minutes spot-checking this and it appears to me that most of the changes were harvested in update 7109 and released with 3.10 but perhaps not all. It's extremely difficult to go back and try to evaluate a complex change like this and understand what went on. It would really have helped if this issue had been updated properly at the time of harvesting and release.

I will note that the final change added by Edgar with ChangeHooksTest-tearDown.st has not been harvested as of 3.10.2. But these issues can't continue to stretch on and on and on....