In your msg you said,
At 03:52 PM 3/1/98 -0800, Alan C. Kay wrote:
At 3:36 PM -0800 3/1/98, Bruce Cohen wrote:
Hi,
I have a more mundane question than the those that normally are posted to this list...however I would like to know WHAT I am supposed to do about the fact that ver 1.31 seems to capriciously change my carefully chosen temporary variable names to t1, t2,.... This is a royal waste of my time to have to go back an change this. I have tried everything in the "documentation" to no avail. I even created a changes folder before I saved as something else... nothing seems to work. Also I have had a problem saving workspaces to an external text editor sometimes it works and sometimes it does not.
I am used to C++ (OK throw MUD now) where everything may be very verbose and dangerous for the inexperienced but at least it is fast and reliable...maybe that explains part of my frustration. Now you guys are most likely going to say it is a bug in the C compiler used to create Squeak that is to blame. I do not care just answer the question I would appreciate it.
Cindy Nelson
PS. I would like to try the sound capabilities since I am a professional musician but first the "nuts and bolts' have to work before I spend my time...and NO I do not use a Mac.
Cynthia L. Nelson Phone: (770) 622-6805
P.O. Box 846 Fax: (770) 622-2779 Duluth, GA 30096 e-mail: cindynelson@abraxis.com
When you add things to the Squeak environment they get put into the 'changes' file. When you upgrade to a diffrent version of squeak, you must make sure you move your changes also.
The best way to do this is to take each of the new classes that you've created and file it out to it's own '.st' file. Then you can file them in to the new version you are using.
You can see the 'file out' menu option when you pop up the menu in the classes browser. It will file out the selected class catagory, selected class, selected method category or selected method depending on what pane you pop up the menu in.
You can also see all the changes you've made by opening a changes sorter. This is done by doing using 'open' on the main menu, then 'changes sorter'. This shows which classes etc. you've changed. If you pop up the menu <ctrl or alt> in the section of the browser that says "New Changes", you will see options to 'file out".
Alot of this is detailed more in a book called "Smalltalk-80 - The Environment" or something close. It is also commonly reffered to as the "Orange Book". The squeak environment is farther along than this book, but the changes stuff is still mostly the same.
Also, some of the online tutorials show examples of this with graphics.
Some of the most important things to remember with Squeak are: It works with an image file, not off of text files. File outs are the equivalent of the .c or .cpp files in C and C++ respectively. All changes made to an image are logged into the changes file. From there you can reload things if something goes wrong. When going to a new release of the tool, you need to have your old "file outs" to load into the image. This is because in a new release, you get a new image. So you load your code in and then get working again. Squeak is the execution environment. You don't create an executable per say. You load your code into a image and then make that image what you want. Then you distribute the image and VM as the application.
Finally, with your situation of loosing your variable names. You need to make sure that your Squeak environment has the following:
The VM a '.image' file a '.changes' file a '.sources' file.
If you don't have a sources file, you will see funny variable names. And if you mix ad match theses between releases, you will see those funny variable names also, as the variable names are stored in the sources or changes files, and the image references them through offsets basically. The image is the bytecode to run and the sources and changes are the actual text/code that has been written. (This is very similiar to Java and how it works. In Java if you do not have the .java file, the debugger can't show you the source.)
Hope this helps,
squeak-dev@lists.squeakfoundation.org