Folks -
I've just released a number of new updates for test pilots. These include tidbits like instant access to WordNet (world menu/help.../definition of...), numerous fixes, refactoring (project -> worldState in PasteUpMorph), and a new ClassBuilder facility that is capable of a number of formerly impossible changes to the class hierarchy (such as moving subclasses from ClassDefinition down to Class). The summaries follow below.
- Dan --------------------------- 1324DrawFixes-ar -- Andreas Raab -- 15 July 1999 Fixes FormCanvas to honor shadowDrawing in certain cases."
1325misc-tkKU -- Ted Kaehler -- 16 July 1999 Fixes bug when you Cancel after choosing 'save morph at URL'. Refrains from putting 'recompiling...' in the Transcript if the class has no methods. Another minor fix."
1326scriptingFixes-sw -- Scott Wallace -- 15 July 1999 1. Fixes up the step methods of half a dozen morphs which did not call 'super step'; with this fix, those kinds of morphs can both function in the way they expect to and also obey any scripting commands. 2. Fixes the bug that made the penColor readout in a viewer for a rotated object not be hooked up properly. 3. Bulletproofs TransformationMorph.printOn: against the situation where the transformation has no submorphs (it happens -- indeed it happened when debugging the previous item.) 4. When updating a flap-based viewer after some external change, gets its header right. 5. Fixes the bug that when a morph got flexed the external name of the original got set to the string 'nil'.
1327emptyScripts-sw -- Scott Wallace -- 16 July 1999 Offers some recourse against the proliferation of empty scripts caused by the awkward drag & drop action of tile scripting. Three avenues of improvement are supplied: (1) When the drop of a tile phrase results in the establishment of a new scriptor, the opportunity is taken to delete all now-empty and never-named tile scripts belonging to the object. This deals with the primary offending cases. (2) When you dismiss an empty unnamed scriptor, it is also automatically removed from the player and its viewers. (3) There is a new command in the viewer menu allowing you proactively to expunge all the empty scripts of the player."
1328BSDAccept-ar -- Andreas Raab -- 16 July 1999 This change set adds an optional BSD-style accept() mechanim for sockets. It requires two additional functions in the support code: * sqSocketAcceptFromRecvBytesSendBytesSemaID(...) is used to create a new socket by accept()ing it from the given server socket. The function may fail by calling 'success(false)' if not supported. * sqSocketListenOnPortBacklogSize(...) initializes a socket for future accept() operations. If this primitive fails accept() should not be used (see ConnectionQueue>>listenLoop for how determine the right way of accepting connections). The function may fail by calling 'success(false)' if not supported. A note on state changes: Whenever a socket has been initialized by the second method its state will be unconnected. When a connection can be established by the accept primitve its state changes to connected. After a connection has been accepted the state of the server socket will change back to unconnected *only* when there are no more connections pending, e.g. a loop like: [server isConnected] whileTrue:[ client _ server accept. ]. will extract all pending connections."
1329PrettyPrinting-sma -- Stefan Matthias Aust -- 18 July 1999 Makes browsing with prettyPrint work in the File Contents Browser.
1331EngLang-tkKV -- Ted Kaehler -- 16 July 1999 Gives programatic access to the WordNet lexicon at Princeton Univ. At http://www.cogsci.princeton.edu/cgi-bin/webwn/ Keep the parts of speech entries as separate streams. Query them for information.
1332definition-sw -- Scott Wallace -- 18 July 1999 Adds a UI in the help... branch of the screen menus allowing you to look up the definition for any English word, using the WordNet lexicon at Princeton Univ."
1333InfFormFix-ar -- Andreas Raab -- 19 July 1999 Fixes two more problem with InfiniteForms"
1334ClassFixes-ar -- Andreas Raab -- 19 July 1999 This change set is only a doIt for fixing several problems in the class hierarchy. It does not fix all them though (this is to dangerous) but it fixes and reports a bunch of them."
1335ClassBuilder-ar -- Your Name -- 9 July 1999 A complete new class for creating or modifying classes. Also does a number of things like: * Fixing the meta class structure for subclasses of nil (e.g., ObjectOut class was a subclass of Object class and not a subclass of Class as it should be) * Changing the instVar Class>>subclasses to use an Array instead of a Set (for compactness; but mainly for allowing #become: on the classes ;) * Of course, using #become: to fix up references to the classes getting recompiled (but very, very carefully ;-) * Changing Encoder>>bindTemp: to only print a warning when non-interactive (very annoying otherwise) * Adding the method #keysAndValuesDo: to the appropriate subclasses of Collection (Dictionary and SequenceableCollection). * Adding a morphic-style progress indication when recompiling classes (which may be turned off such as for the end-user system)"
1336Alice2Anims-jsp -- Jeff Pierce -- 20 July 1999 A first pass at moving animations over to version 2 of Alice."
1337rotCenterFix-sw -- Scott Wallace -- 20 July 1999 Purports to fix the bug that change-costume did not properly take rotation centers into account when positioning the new costume. Also fixes a bug that could interfere with proper running of tile scripts by rotated objects that were not SketchMorphs."
1338InstVarMoves-ar -- Andreas Raab -- 20 July 1999 This change set provides the ability to move instance variables of a living class to another class while keeping its value."
1339debanking-sw -- Scott Wallace -- 20 July 1999 Deletes lots of code relating to an earlier scripting architecture which involved numbered banks rather than categories with textual titles."
1340CGFix-ar -- Andreas Raab -- 20 July 1999 Fixes the code generator not to prune any exported methods (e.g., primitives that are called by name)."
1341SocketFix-ar -- Andreas Raab -- 20 July 1999 Fixes two problems in Socket"
1342customMenufix-sw -- Scott Wallace -- 20 July 1999 Provides a backstop method in CustomMenu so it won't fail when apprised of balloon text."
1343bankFix-sw -- Scott Wallace -- 20 July 1999 Fixes a bug indroduced in update 1339."
1344FlashCodec
1345shiftClickFix-sw -- Scott Wallace -- 21 July 1999 Makes it such that a shift-click in a list pane does NOT give keyboard focus to the item clicked on. Among other things, this allows shift-click on a message name to result in the display of decompiled code in a Browser in Morphic, as it always has done in mvc Browsers."
1346VMStuff-ar -- Andreas Raab -- 16 July 1999 Modifies image reading to use an optional image offset. This is a preparation for embedded images (e.g., images stored somewhere in another file) such as one-click executables. The method #readImageFromFile:HeapSize: has been modified to #readImageFromFile:HeapSize:StartingAt: but for the VM support code a #define is provided in sq.h for backward compatibility. Also makes SystemDictionary>>#snapshot:andQuit: return the resumingFlag so clients can check whether we're just starting up."
1347paintFixes-sw -- Scott Wallace -- 22 July 1999 (1) When an object that is NOT wearing a sketch costume is told to look like another object that IS wearing a sketch costume, the rotation style of the latter is now correctly applied to the new sketch costume of the former. (2) If the sketchMorph currently being painted has been removed from the world (by dismissing its enclosing window, for example) before painting is completed, a fix is made so that the paint palette is properly disposed of and the user is not dropped into a debugger."
1348Alice2OutWin-jsp -- Jeff Pierce -- 25 July 1999 Adds the AliceTextOutputWindow that somehow escaped from the earlier Alice v2 updates."
1349WnldDirLight-jsp -- Jeff Pierce -- 25 July 1999 Adds a 'direction' instance variable to WonderlandDirectional Light. I either forgot to add this variable or it disappeared along the way, but in either case it was causing direction to show up in Undeclared. This change set fixes that."
1350FlashDithering-ar
1351SundryFixes -- Dan Ingalls -- 16 July 1999 Fix to WaveEditor showEnvelope suggested by Matt Rosen. Fix to Semaphore smartInspect suggested by Bob Arning. Enhancement to fileList supporting background images, submitted by Ian Trudel. Fix to Parser temporaries submitted by Bob Arning and Leandro Caniglia.
1352ReshapeClasses-di -- Dan Ingalls -- 18 July 1999 Removes the instVar, 'subclasses' from Metaclass -- partly as a cleanup, -- and partly as an acid test of Andreas's new ClassBuilder.
1353WorldState-di -- Dan Ingalls -- 19 July 1999 Refactors MorphicProject into the old simple Project, and a new class WorldState. This makes worlds within worlds work better, since only one project is involved.
1354WorldState2-di -- Dan Ingalls -- 24 July 1999 Fixes a few obsolete references to PasteUpMorph>>project, and removes it. Then renames the field 'project' to be 'worldState', consistent with the new factoring.
The latest test pilot updates include a massive recompilation (moving 'subclasses' down from ClassDescription to Class) that takes 4 minutes on a Mac G3. You may get a warning regarding obsolete classes in your system prior to this process. Do not despair -- you should be able to proceed right through it. It is most likely due to obsolete flaps (this is the case with a vanilla 2.4 image). The obsolete classes can be eliminated either before or after the update process by executing...
Utilities clobberFlapTabList
(Caution: do not try to pronounce this ;-).
Carry on.
- Dan
Folks -
I've just released a number of new updates for test pilots. These include tidbits like instant access to WordNet (world menu/help.../definition of...), numerous fixes, refactoring (project -> worldState in PasteUpMorph), and a new ClassBuilder facility that is capable of a number of formerly impossible changes to the class hierarchy (such as moving subclasses from ClassDefinition down to Class). The summaries follow below.
- Dan
1324DrawFixes-ar -- Andreas Raab -- 15 July 1999 Fixes FormCanvas to honor shadowDrawing in certain cases."
.. . .
1354WorldState2-di -- Dan Ingalls -- 24 July 1999 Fixes a few obsolete references to PasteUpMorph>>project, and removes it. Then renames the field 'project' to be 'worldState', consistent with the new factoring.
My attempt to load succeeded all the way through and including the WorldState2 changeset. However, after completing this, Squeak continues and attempts to load WorldState3, and the interpeter dies. This is continuously repeatable on my iMac, and the same results occur regardless of the interpreter used.
Am I missing something?
My attempt to load succeeded all the way through and including the WorldState2 changeset. However, after completing this, Squeak continues and attempts to load WorldState3, and the interpeter dies. This is continuously repeatable on my iMac, and the same results occur regardless of the interpreter used.
Am I missing something?
Failed on several more attempts this a.m.
Instead tried to reload from a virgin 2.4c image, and all went well. One fillip, however:
When I tried to load a few fileOut's from my then-pending 2.5 image, ClassBehavior classComment:stamp: whined with a Message Not Understood classComment: as variable "organization" was nil.
Didn't know much about this, so I tried commenting out the line indicated below, and proceeded. All went well. After uncommenting the line, a subsequent read of the fileOut succeeded. Go figure.
Rather than offering the obvious fix of testing for nil organization in the offending line, I think its best to defer to the clueful to figure what is going on here.
---------
classComment: aString stamp: aStamp "Store the comment, aString or Text or RemoteString, associated with the class we are organizing. Empty string gets stored only if had a non-empty one before."
| ptr header file oldCommentRemoteStr | (aString isKindOf: RemoteString) ifTrue: [^ organization classComment: aString]. oldCommentRemoteStr _ organization commentRemoteStr. <---- **** COMMENTED THIS OUT (aString size = 0) & (oldCommentRemoteStr == nil) ifTrue: [^ organization classComment: nil]. . . .
---------
Folks -
Here are a few more. Note that 1357 fixes Andrew Greenberg's reported bug (thanks, Scott!), and that 1358 includes Bob Arning's Object Explorer in the base system.
- Dan ----------------------- 1355griddingCleanup-sw -- Scott Wallace -- 27 July 1999 Some improvements to morphic gridding: * The command 'turn gridding on' just turns gridding on, using the current grid size. * The new command 'set grid size' allows you to specify (or confirm) the grid size. * When specifying a new grid size, you can respond with a simple integer and it will be used to grid both dimensions (formerly you had to respond with a Point, or things would go sour.) * When specifying a new grid size, the input is checked to make certain that it is of appropriate type and in an appropriate range (1 .. 36) before it is truly accepted. (NB: since the Hand grids its input points, large grid sizes can quickly lead to an unusable UI -- for example you may not be able to select certain items in menus, including perhaps the items necessary to reset the grid size to a more plausible value!. 36 is perhaps an over-generous max grid size.) * Use of the 'set grid size' will turn gridding on if it were previously off; used in this way, it thus behaves the same as the original turn gridding on command."
1356macNetworkCode-jm -- John Maloney -- 27 July 1999 Adds stub methods to allow linking with the new accept() socket primitives. A real implementation will follow in a future release."
1357miscFixes-sw -- Scott Wallace -- 27 July 1999 (1) Fixes bug that if, for a class new to the receiver system, the class comment occurs in a fileout before any actual class code is encountered, a debugger could result because the class had no instantiated organization yet. (2) Corrects the wording of the dialog asking the user whether to save the style (it used i.e. where it ought to use e.g.). (3) Minor adjustment to the reporting of outcome of a code update attempt, to avoid such jarring statements as '1 files processed'. (4) Removes three morphic methods that (as per a Bert Freudenberg observation) were not in use."
1358ObjectExplorer-RAA -- Bob Arning -- 21 June 1999 ObjectExplorer provides a hierarchical alternative to #inspect. Simply evaluate an expression like: World explore and enjoy."
squeak-dev@lists.squeakfoundation.org