Hello,
Are you getting tired to create unnecessary file outs when all you want to do is to take a look at the code in another image and to see the diffs? Here is what you can do.
* File in the attachment, * Open a FileList, * Select a .image file and choose 'browse in ImageBrowser' from the FileList menu, * Open the menu at the class pane of the ImageBrowser, * Choose 'add classes to list' and type the name of classes yo want to see.
From a help from InterpreterSimulator, the ImageBrowser reads the source pointers stored in the CompiledMethods in the image file, and get the code from its accompanying .change file. (All file operations are done in 'read only mode'. So, don't worry about breaking your image file.)
The convenient functions inherited from FileContentsBrowser, such as 'remove unmodified categories' are there, too.
ImageBrowser works for M17n images as well.
I happened to notice the recent discussion about 'Diff between two change sets'. This ImageBrowser helps you to get diff between two images:-) Hooking up the internal machinary of this one with Bob's Comparison Browser would be interesting, (although I couldn't find an image to test it.)
Let me know any suggestions and comments,
-- Yoshiki
P.S. My email address has changed.
Hello,
I just found a few bugs in my code. Instead of the previous version, try this one.
-- Yoshiki
At Tue, 29 Oct 2002 16:23:20 -0800, Yoshiki.Ohshima@acm.org wrote:
Hello,
Are you getting tired to create unnecessary file outs when all you want to do is to take a look at the code in another image and to see the diffs? Here is what you can do.
- File in the attachment,
- Open a FileList,
- Select a .image file and choose 'browse in ImageBrowser' from the FileList menu,
- Open the menu at the class pane of the ImageBrowser,
- Choose 'add classes to list' and type the name of classes yo want to see.
From a help from InterpreterSimulator, the ImageBrowser reads the source pointers stored in the CompiledMethods in the image file, and get the code from its accompanying .change file. (All file operations are done in 'read only mode'. So, don't worry about breaking your image file.)
The convenient functions inherited from FileContentsBrowser, such as 'remove unmodified categories' are there, too.
ImageBrowser works for M17n images as well.
I happened to notice the recent discussion about 'Diff between two change sets'. This ImageBrowser helps you to get diff between two images:-) Hooking up the internal machinary of this one with Bob's Comparison Browser would be interesting, (although I couldn't find an image to test it.)
Let me know any suggestions and comments,
-- Yoshiki
P.S. My email address has changed.
Yoshiki,
Instead of the previous version, try this one.
I modified #openSourceFilesForImage to use 'SqueakV1.sources' .
And when I tried to browse 'Object' :
With 1.1 image:
'there is no class named Objectin the image'.
With 1.2, 1.3:
'NonBooleanReceiver: proceed for truth.'
I also modified #openSourceFilesForImage to use 'SqueakV2.sources' .
With 2.1, 2.2, 2.3, 2.4c:
'MessageNotUnderstood: //'
2.8, 2.7, 2.6, 2.5 works as expected.
Lastly, I modified #openSourceFilesForImage to use 'SqueakV3.sources' .
All 3.x full images (not shrinked) work as expected,
except 3.3a:
'MessageNotUnderstood: indexOf:'
Please find attached some typical log files.
BTW, with this version I see flashing black progress bar.
Thanks for the tool, Yoshiki.
Cheers,
PhiHo.
PhiHo,
Thank you for testing all of those varieties.
I guess that the .changes pointer limit change causes one of the problem. That explains the failure happened for the 2.4 or older images. #filePositionFromSourcePointer: and alike should takes this into account.
I don't know what is wrong with 3.3a...
-- Yoshiki
Hi Yoshiki
I do not know if you looked in 3.3a but the filelist was refactored to avoid having all kind of references to tools that could be loaded and unloaded. I spent a lot of time making this work. I hope that if 3.3a is thrown away the change will be retro put into 3.2.
The new architecture also implies that new tools shoudl ***register*** to the file list and that the filelist does not have a hardcoded reference to other tool class. So if 3.3a is gone (as I see) and the "registering file" is retro put in the stream please follow the exigences of the architecture.
This registration mechanism follow the same idea that the dynamic menu of daniel. These kinds of approaches are the way to go if we want to be able to decompose the image.
Stef
On mercredi, octobre 30, 2002, at 01:23 am, Yoshiki.Ohshima@acm.org wrote:
Hello,
Are you getting tired to create unnecessary file outs when all you want to do is to take a look at the code in another image and to see the diffs? Here is what you can do.
- File in the attachment,
- Open a FileList,
- Select a .image file and choose 'browse in ImageBrowser' from the
FileList menu,
- Open the menu at the class pane of the ImageBrowser,
- Choose 'add classes to list' and type the name of classes yo want
to see.
From a help from InterpreterSimulator, the ImageBrowser reads the source pointers stored in the CompiledMethods in the image file, and get the code from its accompanying .change file. (All file operations are done in 'read only mode'. So, don't worry about breaking your image file.)
The convenient functions inherited from FileContentsBrowser, such as 'remove unmodified categories' are there, too.
ImageBrowser works for M17n images as well.
I happened to notice the recent discussion about 'Diff between two change sets'. This ImageBrowser helps you to get diff between two images:-) Hooking up the internal machinary of this one with Bob's Comparison Browser would be interesting, (although I couldn't find an image to test it.)
Let me know any suggestions and comments,
-- Yoshiki
P.S. My email address has changed. <ImageBrowser.cs.gz>
Dr. Stéphane DUCASSE (ducasse@iam.unibe.ch) http://www.iam.unibe.ch/~ducasse/ "if you knew today was your last day on earth, what would you do different? ... especially if, by doing something different, today might not be your last day on earth" Calvin&Hobbes
Stephane,
I agree that the FileList>>itemsForFileEnding: causes a pain. I'll modify it if necessary.
-- Yoshiki
squeak-dev@lists.squeakfoundation.org