David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.969.mcz ==================== Summary ==================== Name: System-dtl.969 Author: dtl Time: 20 October 2017, 8:14:14.736464 pm UUID: 701eefc3-8cfa-4085-8c10-e54dd4759ac2 Ancestors: System-dtl.968 Remove unreferenced instance variable #environment from class Project. In earlier versions of Squeak (see Squeak 3.6), this was part of a mechanism for supporting isolation layers, and there was a class Environment that is unrelated to our current implementation of Environments. Note that the current Environments implementation would permit the old class Environment to be loaded into a separate Environment. This is left as an exercise for the reader. =============== Diff against System-dtl.968 =============== Item was changed: Model subclass: #Project + instanceVariableNames: 'world uiManager changeSet transcript parentProject previousProject displayDepth viewSize thumbnail nextProject projectParameters version urlList lastDirectory lastSavedAtSeconds projectPreferenceFlagDictionary resourceManager' - instanceVariableNames: 'world uiManager changeSet transcript parentProject previousProject displayDepth viewSize thumbnail nextProject projectParameters version urlList environment lastDirectory lastSavedAtSeconds projectPreferenceFlagDictionary resourceManager' classVariableNames: 'AllProjects CurrentProject GoalFreePercent GoalNotMoreThan' poolDictionaries: '' category: 'System-Support'! !Project commentStamp: 'cbr 7/27/2010 21:36' prior: 0! A Project stores the state of a complete Squeak desktop, including the windows, and the currently active changeSet. A project knows who its parent project is. When you change projects, whether by entering or exiting, the screen state of the project being exited is saved in that project. A project is retained by its view in the parent world. It is effectively named by the name of its changeSet, which can be changed either by renaming in a changeSorter, or by editing the label of its view from the parent project. As the site of major context switch, Projects are the locus of swapping between the old MVC and the new Morphic worlds. The distinction is based on whether the variable 'world' contains a WorldMorph or a ControlManager. Saving and Loading Projects may be stored on the disk in external format. (Project named: 'xxx') exportSegment, or choose 'store project on file...'. Projects may be loaded from a server and stored back. Storing on a server never overwrites; it always makes a new version. A project remembers the url of where it lives in urlList. The list is length one, for now. The url may point to a local disk instead of a server. All projects that the user looks at are cached in the Squeaklet folder. Sorted by server. The cache holds the most recent version only. When a project is loaded into Squeak, its objects are converted to the current version. There are three levels of conversion. First, each object is converted from raw bits to an object in its old format. Then it is sent some or all of these messages: comeFullyUpOnReload: smartRefStream Used to re-discover an object that already exists in this image, such as a resource, global variable, Character, or Symbol. (sent to objects in outPointers) convertToCurrentVersion: varDict refStream: smartRefStrm fill in fields that have been added to a class since the object was stored. Used to set the extra inst var to a default value. Or, return a new object of a different class. (sent to objects that changed instance variables) fixUponLoad: aProject refStream: smartRefStrm change the object due to conventions that have changed on the project level. (sent to all objects in the incoming project) Here is the calling sequence for storing out a Project: Project saveAs Project storeOnServer Project storeOnServerWithProgressInfo Project storeOnServerInnards Project exportSegmentFileName:directory: Project exportSegmentWithChangeSet:fileName:directory: ImageSegment writeForExportWithSources:inDirectory:changeSet: ! |
Dave,
as a result of loading this I noticed the following in the Transcript, which may be something needing attention - Project class>>cleanUpEtoysGarbage(name is shadowed) Project class>>makeANewLocalGallery(name is shadowed) Project class>>cleanUpEtoysGarbage(name is shadowed) Project class>>makeANewLocalGallery(name is shadowed) tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Oscar Wilde: “Only the shallow know themselves.” |
On Sat, Oct 21, 2017 at 06:00:55PM -0700, tim Rowledge wrote:
> Dave, > as a result of loading this I noticed the following in the Transcript, which may be something needing attention - > > Project class>>cleanUpEtoysGarbage(name is shadowed) > Project class>>makeANewLocalGallery(name is shadowed) > Project class>>cleanUpEtoysGarbage(name is shadowed) > Project class>>makeANewLocalGallery(name is shadowed) > Ugh, you are right. I'm not sure where it is coming from, but I must have missed something :-( Dave |
On Sat, Oct 21, 2017 at 09:15:15PM -0400, David T. Lewis wrote:
> On Sat, Oct 21, 2017 at 06:00:55PM -0700, tim Rowledge wrote: > > Dave, > > as a result of loading this I noticed the following in the Transcript, which may be something needing attention - > > > > Project class>>cleanUpEtoysGarbage(name is shadowed) > > Project class>>makeANewLocalGallery(name is shadowed) > > Project class>>cleanUpEtoysGarbage(name is shadowed) > > Project class>>makeANewLocalGallery(name is shadowed) > > > > Ugh, you are right. I'm not sure where it is coming from, but I must have missed something :-( > OK I see now. These are compiler warnings coming from some #Etoys methods in class Project, which was recompiled as a result of my update. The methods in question are using #name as a temporary variable in blocks, which is presumably harmless but does cause the compiler to get nervous. Dave |
Free forum by Nabble | Edit this page |