[updates] 44 updates for 2.8alpha

Bruce O'Neel beoneel at mindspring.com
Wed May 10 16:08:48 UTC 2000


Hi,
  <ftp://st.cs.uiuc.edu//Smalltalk/Squeak/2.7/files/Squeak2.8a-beo.zip> has 
been updated with these changes.

cheers

bruce

Dan Ingalls <Dan.Ingalls at disney.com> wrote:
> Folks -
> 
> Herewith a number of changes from Squeak Central and others carefully culled from the mail list by Stefan.  Here are the summaries...
> 
> 	- Dan
> ------------------------
> 2053CelesteStatus-dvf -- Daniel Vainsencher -- 26 April 2000
> Previous enhancement prevented Celeste from showing all messages in large categories, but did this silently. This version shows ""showing [200/4115] messages in category."" in a status line."
> 
> 2054Celeste3-dvf -- Daniel Vainsencher -- 27 April 2000
> First attack at recieving attachments in Celeste.
> The parts... item is added to the menu for the message list pane, when the selected message has multiple parts.
> Yet todo -
> * give better feedback to user
> * handle recursed attachments
> * display appropriate parts inline
> * help sending attachments
> * Merge with other MIME stuff in Squeak, clean up"
> 
> 2055Celeste4-dvf -- Daniel Vainsencher -- 28 April 2000
> WARNING: The class MIMEHeaderValue is missing.  I just added a stub to filein the stuff --sma
> This version adds a couple of features -
> * You can send attachments from celeste (base64 encoding only, for now).
> * let's you save attachments even if they're recursively embedded.
> Also beginning to clean some of the mess up."
> 
> 2056PseudoClassFix-sma -- Stefan Matthias Aust -- 28 April 2000
> This fix allows pretty printing for PseudoClasses.  Needed to the FileContentsBrowser."
> 
> 2057SortedCollectionFix-go -- Georg Gollmann, Florin Mateoc, Andres Valloud -- 28 April 2000
> Some improvements to collections.
> Georg posted some code which where improved, extenden and corrected by Florin and Andres. As not everything worked as Georg suggested, I picked only that stuff that will (probably) work, also ignoring some of the suggestions which IMHO will only make the code more complex without really speeding up things.  The goal should be to remove methods or to improve them, not to add too much specialized methods. --sma"
> 
> 2058SmallerCloseBox-kfr -- Karl Ramberg -- 28 April 2000
> I' m fiddling around enhancing small stuff and found this that I found really annoying from the first time I used morphic. When you close or collapse the window a little gray circle appears behind the widget. This circle used to have an extent that went over the edges of the window and making it look kind of a fast hack. I made the circle a little smaller and now it is far less distressing."
> 
> 2059PaintingTools-kfr -- Karl Ramberg -- 26 April 2000
> Here is a complete changeset for the stuff I (with plenty of help from Bob Arning) have done with SketchEditorMorph and PaintBoxMorph.
> The paintbrush cursor is now a paintbrush with a circle indicating the size of the brush. The circle is displayed in a color distinctive from the one selected to paint with. The color picker cursor is now a eyedropper. The ellipse, rectangle, star and polygon tools now draw the selected color without a black outline. Exception is when a ""no color"" color selection is made when a black outline the size of the brush is drawn. Exception to this again is the polygon and star tool that does not handle thick brushes so a 1 pixel black outline is fixed for them."
> 
> 2060Albaphet-sma -- Stefan Matthias Aust -- 28 April 2000
> Bob noticed a sequence error in this method"
> 
> 2061InacurateCtx-raa -- Bob Arning -- 26 April 2000
> This corrects (hopefully without breaking anything else) a problem with the Parser: sometimes you look at a method in the debugger and the contents of method temporary variables (lower right pane) are wrong. Values that should clearly be in the slot n are showing up further down the list. 
> How it happens:
> 1. A method is compiled and bytecodes generated.
> 2. The parser detects unused method temps and removes them after getting confirmation.
> 3. Sometime later a debugger encounters this method and tries to show the context variables. The problem is that the code was compiled before the removal of the temps from the source, but the debugger is using the current source to figure out where each variable is in the context and may well get it wrong.
> The fix is to recompile the method after the unused varaibale have been deleted from the source, thus ensuring consistency"
> 
> 2062DisplaySize-sma -- Stefan Matthias Aust -- 28 April 2000
> As discussed in the list, you can use this new method to set Squeak's window size.  It's not really working, as for example I cannot force it to full screen on Windows or define the full screen resolution and depth.  Whatever, it's nice to have this method."
> 
> 2063DropShadowCptBounds
> 
> 2064MorphTweaks1-di -- Dan Ingalls -- 3 May 2000
> A bunch of little fixes...
> Drop shadows now work on objects with submorphs
> They properly only respond to events within the shape of their submorphs
> It is possible to nest one drop-shadow on another and to control each level by using the sumborphs... control in the ctrl-morph menu.
> The 'debug...' menu item now appears only once in the morph menu, and that only when Preferences noviceMode is false.
> 
> 2065MorphTweaks2-di -- Dan Ingalls -- 4 May 2000
> A few more tweaks...
> Now shift-cmd will allow cycling through all levels of a dropShadow construction.
> Adds a fix for MagnifierMorph creation.
> One problem remains:  if a drop-shadow is translucent, the hand does not make a shadow for it when dragging, regardless of its alpha.
> 
> 2066Twiki1-di
> 
> 2067VRMLExtensions-ar -- Andreas Raab -- 4 May 2000
> A number of modifications to the VRML stuff. Mainly intended to fix a number of problems but also a preparation for an (optional) switch to all the real VRML classes (I might do this under certain circumstances)."
> 
> 2068prefs-sw -- Scott Wallace -- 6 May 2000
> Changes related to 'Preferences'.
> *	Minimum size now enforced for prefs panel.
> *	Prefs panel no longer accepts drops gratuituously.
> *	Adds new preference #okToReinitializeFlaps - an update or fileout which feels a need to reinitialize flaps in the system can first query the setting of this preference, and only do the reinitialization if it finds the preference set to true.  If it finds it false, it can suppress the urge to reinitialize.  Users who have manually-constructed flaps that they are loath to lose can set this preference to false.
> * 	Adds new preference #isFlagship -- implemented as a 'hard-coded' preference,  Any image that wishes to mark itself as a 'flagship' needs to change this hard-coded method such that it returns false; in future updates, this preference may be queried to decide whether or not to carry out some not-so-backward-compatible action.
> *	Includes Stefan Rudolph's method designed to be called for example in the postscript of a changeset, allowing you to add a new preference, declare a category for it, give it a default value, and supply a help message, all in the same do-it."
> 
> 2069roundedViewer-sw -- Scott Wallace -- 6 May 2000
> Makes corners of viewers and scriptors be rounded, by default -- also the tabbed palette in the standard scripting space, and its playfield."
> 
> 2070morphicTrimmings-sw -- Scott Wallace -- 6 May 2000
> A small amount of trimming of gratuitous bloat"
> 
> 2071classListMenu-sw -- Scott Wallace -- 6 May 2000
> Adds new features to the class-list menu of browsers:
> (1)  subclass template -- places a template for declaring a subclass of the selected class into the code pane.
> (2)  unreference instance variables -- investigate instance variables of the selected class and its superclasses and report all that are unreferenced.
> (3)  new instance -- hands you a new instance of the selected class.  If it is a morphic class, you get a morph attached to the hand.  In typical other cases, you get an Inspector opened on an object belonging to the given class.
> Includes Markus Denker's extension of MenuMorph.addList to allow it to intepret a - as a request for a line."
> 
> 2072misc-sw -- Scott Wallace -- 6 May 2000
> A variety of little changes.
> *	Fixes bug in Utilities.reportSenderCountsFor:, a method with no senders but which can be usefully invoked in doIts.
> *	The tabs area of a tabbed palette will no longer repel morphs that you drop over it.
> *	Fixes misleading variable-name declarations in Point.setX:setY:.
> *	Bulletproof PluggableButtonController against cases where its view some has become nil when controlTerminate is called.
> *	PaintInvokingMorph comes armed with balloon help"
> 
> 2073buttonRowClip-sw -- Scott Wallace -- 6 May 2000
> Fixes the optional morphic button rows in the various tools so that they will not obtrude to the right when the window is minimized.
> Makes the buttons in the optional button rows be PluggableButtonMorphs, so that they will have more attractive reactions when their containers are resized."
> 
> 2074altBrowseIt-sw -- Scott Wallace -- 6 May 2000
> Offers an alternative implementation of the 'browse it' command in the text editor, which some users may wish to try out.  To arm it, set the new Preference #alternateBrowseIt to true (default is false).
> The alternative browseIt analyzes the selection using pattern-matching similar to that found in the find-class feature of the browser; if a unique match is found, the class concerned is summarily browsed.  If more than one hit is found, then a menu offering the alternatives is presented.
> Finally, once the class to be browsed is determined, a hierarchy browser is opened on it."
> 
> 2075halo-sw -- Scott Wallace -- 6 May 2000
> Changes involving halos, some motivated by observations from Bert Freudenberg:
> 	*	First cmd-click over a window now puts up halo on the window itself.
> 	*	Halo bounds match actual bounds of the morph the halo belongs to, not its 'fullBounds'.
> 	*	Allows the morph which is about to don a halo to choose what class of HaloMorph to use; this opens the door to having customized subclasses of HaloMorph.
> 	*	Adding halo speeded up by eliminating a long-standing, redundant recalculation of which morph is to acquire the halo.
> 
> 2076buttonFix-sw -- Scott Wallace -- 7 May 2000
> Restores the ability to work the optional buttons in a browser even when there are unsubmitted edits."
> 
> 2077sampleInstance-sw -- Scott Wallace -- 8 May 2000
> Fleshes out the 'make new instance from browser' feature introduced in update 2071:
> * The feature is now called 'sample instance'.
> * It is available in message-list menus as well as in class-list menus.
> * It is made robust."
> 
> 2078removals-sw -- Scott Wallace -- 8 May 2000
> Removal of thirty-nine unused methods."
> 
> 2079hierarchy-sw -- Scott Wallace -- 8 May 2000
> Fixes HierarchyBrowser so that it reformulates the hierarchy list when a class has been added or deleted.
> Adds an 'explore' item to the control- and halo-debug menus of morphs."
> 
> 2080browserEtc-sw -- Scott Wallace -- 8 May 2000
> Further steps on the road to harmonizing class-list and method-list menus in the various tools.
> Regarding command-key mappings, standardizes on cmd-i for inheritance and cmd-h for hierarchy (there had been some conflicting uses.)  Makes these short-cuts available uniformly.
> Makes method-list and class-list menus in ChangeSorter conform more closely with those in Browser, as to location, order, wording, and cmd-key mappings.
> Allows use of cmd-x over a class-list pane to request removal of the class, and cmd-x over a mesage-list pane to request removal of the method.  Though this may appear dangerous, remember that you are prompted for confirmation before actual removals takes place."
> 
> 2081ChangeSetTweaks-di -- Dan Ingalls -- 8 May 2000
> Fixes a bug that caused renamed classes not to be able to display metaclass methods, and also not to emit an initialize message in fileOuts if appropriate.
> 
> 2082reluctantEmbed-sw -- Scott Wallace -- 9 May 2000
> Simplifies the mechanism by which a PasteUpMorph decides which kinds of drops to accept and which not to accept.  Motivated by a suggestion from Bert Freudenberg.
> For the moment, SystemWindows and MenuMorphs obey the systemWindowEmbedOK Preference to decide whether they're willing to be embedded.
> Viewers and BookPageSorterMorphs simply decline to be embedded.  To embed them anyway, you would need to drop the over the target, then use the 'embed' command explicitly" 
> 
> 2083MagMorphFix-sma -- Stefan Matthias Aust -- 4 May 2000
> A fix to a bug introduced in 2030, now MagnifierMorph and FishEyeMorph should work again."
> 
> 2084FractionFix-mjg -- Mark Guzdial -- 1 May 2000
> One of the students in the GaTech Squeak class found a bug in some of the numeric conversion routines. There's an analysis and bug fix at http://coweb.cc.gatech.edu/cs2340/547"
> 
> 2085AnotherCeleste-dvf -- Daniel Vainsencher and Lex Spoon -- 1 May 2000
> Allows sending and receiving attachments in Celeste."
> 
> 2086SketchToBgGrnd-jcg -- Joshua Gargus -- 3 May 2000
> Adds a menu item to SketchMorph to allow you to use it as the World's background.  Move the code to set the background from FileList into Form so that both FileList and SketchMorph can use it."
> 
> 2087NewMorphMnu-kfr -- Karl Ramberg -- 3 May 2000
> Items that caused a direct debugger.
> FlapTab
> MethodMorph
> StringMorphEditor
> TextMorphForEditView
> ViewerFlapTab"
> 
> 2088AndAgainCeleste-dvf -- Daniel Vainsencher -- 2 May 2000
> WARNING: I lost control over the order of changes. I'm not sure that Celeste still works as expected. Please keep in mind that this is for test pilots only.  Don't use it with important emails.  --sma
> Especially for people with large mail databases...
> I find this is quite a change in quality of life in Celeste, so I'm
> sending this out though it's a bit raw. 
> Please help me flush out problems by reviewing the code.
> (Yes, this CS has all the class definitions it requires...)
> From the CS preamble -
> For test pilots only! Backup your mail database!
> (Actually, this shouldn't do anything retracting the cs and doing a
> compact can't fix, but I'd backup anyway).
> This modification changes the way Celeste save data changes after
> fetching mail, sending it and so forth. This means no more waiting !!!
> (BIG difference if you have a 2MB index file).
> Instead of saving the index file, a log of every change to the index is
> written as the actions are performed. This log is deleted when Celeste
> does save the complete index (upon exiting). If Celeste should die
> before saving, the log will be read when Celeste comes up and the index
> kept consistent with it.
> Several things I'd like your review, consideration and comments on -
> * Are there other methods that should use complete saving (now
> consolidateDB, rather than saveDB. Not much of a name, I know.
> Suggestions?)
> * The file classes were factored a certain way, and I've messed with
> that. Maybe an abstract ""AppendOnlyFile"" class is in order? maybe this
> is something more generally useful than just in Celeste? Anybody use
> such file DBs for other things from Squeak?
> * I'd like to see the index file imprevious to being lost by crash and
> maybe able to handle (or warn about) concurrent instances of Celeste
> messing with it at the same time. Suggestions? Anyone feel like doing
> this?
> Also includes a bug fix (specification detail kindly pointed out by
> Steve Elkins) - now keeps case of header value parameters (though not
> the values themselves). This the defined default , and should work
> unless if someone finds specific parameters defined as case insensitive.
> Lastly, a small modification to the MailNotifier - if it fails to
> connect due to not having a network connection, wait 3 minutes before
> retrying. I found it annoying."
> 
> 2089CollapseHandle-bk -- Bolot Kerimbaev & Chris Norton -- 14 April 2000
> Adds a collapse handle, equivalent to the menu item 'collapse'
> Also included a fix by Chris: 
> 1. Create a SketchMorph.
> 2. Open the Menu halo and choose 'keep this menu up'.
> 3. Choose collapse.
> 4. Choose collapse again.
> The CollapseMorph suffers a walkback because the collapsed SketchMorph has no personal world."
> 
> 2090TTF2StrikeFont-hmm -- Hans-Martin Mosner & Rob Vens -- 8 November 1999
> This small set of methods add the facility to translate TTF fonts into antialiased StrikeFonts.
> There are a number of glitches:
> 1. I don't know exactly how to translate from point sizes to TrueType's scaling units. From experimentation, scaling points by 1/2000 seems to do the trick. YMMV.
> 2. The generated fonts are FormSetFonts where the glyphs were antialiased against a white background. This means that text written with it can't be colored, and that the edges look strange against darker backgrounds.
> 3. Glyphs which overshoot their bounding box are clipped. That's just how StrikeFonts work. I did not want to meddle with the whole mechanisms of text display.
> Hans-Martin"
> 
> 2091KernFix-sma -- Stefan Matthias Aust -- 7 May 2000
> I noticed that with kerned characters, the block selection didn't work anymore. This changes fixes it for MVC and morphic (one should unify the two methods some day)"
> 
> 2092CondenseChgFix-raa -- Bob Arning -- 5 May 2000
> Well, having forgotten that changes can now be 32MB, I felt it was getting time to condense my changes. Good thing, because it doesn't work anymore.
> In ClassDescription>>printMethodChunk:withPreamble:on:moveSource:toFile:
> the line 
> 	self checkOKToAdd: endPos - newPos at: newPos.
> should read
> 	method checkOKToAdd: endPos - newPos at: newPos."
> 
> 2093Conversion-raa -- Bob Arning -- 5 May 2000
> Fixes SmartRefStream>>verifyStructure for superclass changes that result in less variables."
> 
> 2094FileCntBrwEnh-sma -- Stefan Matthias Aust -- 7 May 2000
> The FileContentsBrowser shows now whether existing methods are identical or modified.  Implemented browse (b) menu item. Also a few refactorings."
> 
> 2095PasteUpGradient-bf -- Bert Freudenberg -- 6 May 2000
> Changes the superclass of PasteUpMorph from the now obsolete GradientFillMorph to BorderedMorph. This gives a significant speedup through fillstyle caching and saves 4 instance variables. A conversion method is provided (thanks to Bob Arning for fixing that special verifyStructure case) which preserves the gradient for old saved morphs. The preamble and postscript preserve existing gradients. ATTENTION! I did not check what this does to PasteUpMorphs in image segments on disk - possibly these are brought in?
> Todo: - make the appearance menu use the fillstyle menu
> 	- remove the backwards compatibility methods (flagged #fixThis)"
> PasteUpMorph superclass name == #GradientFillMorph ifTrue: [
> 	dict _ Smalltalk at: #PasteUpFillTemp put: IdentityDictionary new.
> 	PasteUpMorph allSubInstances do: [:m | | c1 c2 |
> 		c1 _ m color.
> 		c2 _ m instVarNamed: 'fillColor2'.
> 		(c1 isColor and: [c2 isColor and: [c1 ~= c2]])
> 			ifTrue: [dict at: m put: c2]]]. 
> 
> 2096BooklikeMorph-bf -- Bert Freudenberg & Karl Ramberg -- 7 May 2000
> Karl: Makes the Page Controls in BookMorphs pick up a mouseMove so the BookMorph is easier to move around!
> Bert: Yep, that's nice! But why is it slower than grabbing the book itself? Oh, you're handling #mouseStillDown instead of #mouseDown ... I'll attach a fixed changeset."





More information about the Squeak-dev mailing list