[UPDATES] 19 for Squeak3.7alpha

Doug Way dway at riskmetrics.com
Thu Nov 13 17:05:01 UTC 2003


(I had sent this last night, but something may have been wrong with my 
smtp server, so I'm re-sending...)

Here's the latest batch of approved items. Plus the latest SqueakMap, 
SMLoader
& SARInstaller versions of these in-image packages. (This should clear
up the problems with having to delete the SM directory.)

One big enhancement here is Diego's new look, which will probably
generate some feedback. :) But it's probably best to get it in (since
it can become stale quickly), and make any further refinements
afterward.

Speaking of going stale, here are the conflicts that I ran into. (With
the NewLook enh, I think Ned's FITBFocusFix changes in these 3 methods
may need to be reinstated, but the one method was changed too
drastically for me to fix. With SARInstalled, it looks like
SARInstaller class>>new needs to be removed from the SARInstaller
package.)


Checking NewLook-dgd.5.cs (#5278) for method conflicts with changesets
after 5278FileListDnD-nk ...
CONFLICT found for FillInTheBlankMorph class>>createAcceptButton with
newer changeset 5351FITBFocusFix-nk
CONFLICT found for FillInTheBlankMorph
class>>setQuery:initialAnswer:answerExtent:acceptOnCR: with newer
changeset 5351FITBFocusFix-nk
CONFLICT found for FillInTheBlankMorph class>>createCancelButton with
newer changeset 5351FITBFocusFix-nk


Checking 5529SARInstallerFor36-21.cs (#5424) for method conflicts with
changesets after 5430RemoveDeprecatedIn36 ...
CONFLICT found for SARInstaller>>new with newer changeset
5503KCP102-5newInitPattern

- Doug


------------------------------

5527squeakmapbase-1_08 -- Göran Krampe -- 8 Oct 2003
Since version 1.07:
- Small fix to SMSimpleInstaller>>download to set the FileStream to
binary before writing. It worked fine with StandardFileStream but if you
set FileStream class>>concreteStream to CrLfFileStream then it didn't
work... :-)
- #forPackage:directory: now throws error if no installer is found. This
affects SMSqueakMap methods #installPackageWithId:,
#installPackageNamed: and #upgradeOldPackagesDirectory: which now traps
this and informs the user. (still ignoring headless operation, will wait
until SM2)
Note that: SMLoader>>upgradeInstalledPackages doesn't catch this but who
uses that? :-). #installPackage and #downloadPackage don't either but
they aren't available in the menu unless there is an installer found to
deal with the selected package.
- Uses withBlanksTrimmed in lastTransactionInLog (makes it work better
with CrLfFileStreams I assume)
- SMInstaller generally now uses Exceptions instead of true/false logic
and callers now relies on Errors being signaled.
- Only use name resolving in SMSqueakMap class>>pingServer: in a Squeak
with version below network rewrite. The issue with proxies for older
Squeaks is thus ignored - people using proxyserver will just have to use
a 3.6 image. Ok? :-)
- Sightly smarter logic in synchWithLog (detecting missing directory AND
logfile).
- Better error handling in SMSqueakMap>>installPackageNamed: and
installPackageWithId: (typically used in scripts). They now also honors
the SMLoader download dir Preference.
- Better error handling generally. Patch pending for SM Package Loader
so that install/download/upgrade/update map uses Exception handling
gracefully. :-)
- Improved DVS installer (that hopefully works now)
- Various other small fixes not remembered right now...

5528SM-Loader-1_03

5529SARInstallerFor36-21 -- Ned Konz -- 10 October 2003
10 October (v21)
- adds compatibility with new Monticello loader
- adds ability to load .mcz Monticello files as well as .mcv and .mc
"

5530ScriptableButtonFix -- Yoshiki Ohshima -- 28 September 2003
If you bring up a ScriptableButton from the Supplies flap and press the
cyan button to get the scriptor, it raises an error. This changeset
trys to fix the problem."

5531TTTextStyle5-fix-dgd -- Diego Gomez Deck
<DiegoGomezDeck at ConsultAr.com> -- 4 November 2003
The previous version was serializing the font information using #name
and des-serializing using #descriptionNamed: causing the lost of
bold/italic information.
This fix serialize using #fullName (and des-serialize using
#descriptionFullNamed:) fixing the previous bug without breaking the
serialization of objects serialized with the bug.

5532CollectionAtRandom -- Lukas Renggli -- 6 November 2003
md: Just the latest version with a correct chanset preamble... ;-)
-additional changes (and [et] [er]) from stepane.
The message #atRandom is not thread-save when being used concurrently on
different collections or integers. As a test try to evaluate the
following expressions in your image, the random generator provided by
Collection gets corrupted:
[ [ (1 to: 100) atRandom ] repeat ] forkAt: 30.
[ [ 100 atRandom ] repeat ] forkAt: 30.

This is a critical bug! As an example the superb web-framework Seaside
uses random key-generation to identify its sessions. If other threads in
your image use #atRandom problems might arise.
The attached change-set solves the problem by introducing a critical
section to the Collection class providing the random generator."

5533TextMorphDropShadow-nk -- Ned Konz -- 17 October 2003
This fixes a problem where TextMorphs with drop shadows would leave
traces of their selections behind when they lost focus.

5534MorphRemovalNotify-nk -- Ned Konz -- 20 October 2003
Version: 3.7a >5486
This is a follow-on to the 3.7a update 5486MorphRemoval-ar-nk that
updates 3.7 images to the equivalent of my v6 posting on 16 October.
16 October (v6) (Ned Konz):
Added removedMorph: notifications to removeAllMorphs and
removeAllMorphsIn:

5535SocketAndSocketStream-svp -- Stephen Pair -- 6 November 2003
Various fixes and comment changes to Socket and SocketStream. Fixes a
few places where there is a slight risk of infinite looping and lost
data. Also changes FTPClient to work with these changes."
AppRegistry

5536NewLook-dgd -- Diego Gomez Deck <DiegoGomezDeck at ConsultAr.com> -- 23
June 2003
SystemWindow Changes
- a couple of small enhancements to system windows
-- boxes sizes based on title font
-- title area color more '3d'
-- alternative boxes look
Menus Changes
- change the menu color to a gradient one
-- see MenuMorph>>updateColor and senders
-- new Preference's option called gradientMenu
- change the menu item selected fillstyle
-- see MenuItemMorph>>selectionFillStyle and senders
- menui tems can have an icon
-- see MenitItemMorph>>icon, MenitItemMorph>>icon:,
MenitItemMorph>>hasIcon and MenitItemMorph>>drawOn:
-- MenitItemMorph>>minWidth and MenitItemMorph>>minHeight consider the
icon (if it's present)
- add a set of icons to the world menu.
-- new Preference's option named menuWithIcons (in menus category)
-- see class MenuIcons
-- a set of icons with an appropiate license is needed
- new Preference's option named #menuAppearance3d. this new option
uncouple the 3d appareance behaviour from menuColorFromWorld option. now
each option handle an aspect
-- it's possible to have a flat menu with the color from the world, a 3d
menu with a color different from the world, etc.
- new preference parameter named #menuLineColor.
-- remove of unsed preferences (#menuLineLowerColor and
#menuLineUpperColor)
ScroolBar Changes
- the size of the scrollbars is base on the default font height
- new gradient option for the scrollbar's buttons
- new set of icons for the scrollbar's buttons
- the slider get 'pressed' when it's dragged
- an cache is included to speed-up the time to get the images
-- see LRUCache and references to it
- two new Preferences options
-- gradientScrollBars: use a gradient look
-- alternativeButtonsInScrollBars: use an alternative set of arrows
FillInTheBlank Changes
- FillInTheBlankMorph uses the menu look preferences
- defaultAnswerExtent proportional to menu font
- red/green for [accept] and [cancel] buttons
Preferences enable: #scrollBarsNarrow.
Preferences
addPreference: #alternativeWindowBoxesLook
category: #windows
default: true
balloonHelp: 'If true, use an alternative look for Window''s boxes.'.
Preferences
addPreference: #menuWithIcons
category: #menus
default: true
balloonHelp: 'If true, the menus will include some icons.'.
Preferences
addPreference: #gradientMenu
category: #menus
default: true
balloonHelp: 'If true, the menus will have a gradient look.'.
Preferences
addPreference: #menuAppearance3d
category: #menus
default: true
balloonHelp: 'If true, the menus will be painted with a appearance
3d.'.
Preferences
addPreference: #gradientScrollBars
categories: #(#scrolling)
default: true
balloonHelp: 'If true, the scrollbars will use a gradient look.'
projectLocal: false
changeInformee: ScrollBar
changeSelector: #changesInPreferences.
Preferences
addPreference: #alternativeButtonsInScrollBars
categories: #(#scrolling)
default: false
balloonHelp: 'If true, the buttons of scrollbars will use an
alternative set of icons.'
projectLocal: false
changeInformee: ScrollBar
changeSelector: #changesInPreferences.

5537AddTargetMenuToSBM-sd -- stephane ducasse -- 31 July 2003
Add the possibility to enter the target of a simpleButtonMorph as an
expression"

5538BrowserInstanceCreation -- Joshua Gargus -- 29 October 2003
Most of the methods in the 'instance creation' category of Browser did
not answer instances of the class. Instead, they answered the class
itself. This changeset fixes all of these methods so that they answer
the newly created Browser."

5539PlgblListItemWrapper-ar -- Andreas Raab -- 14 October 2003
luggableListItemWrapper makes it more easy for clients to use
hierarchical lists. Rather than having to write a subclass of
ListItemWrapper, a PluggableListItemWrapper can be used to provide the
appropriate information straight from the model:
string - an explicit string representation (contrary to the 'item'
which contains any kind of object)
getStringSelector - a message invoked to retrieve the sting
representation of its item dynamically from its model (when a constant
representation is undesirable)
hasContentsSelector - a message invoked in the model to answer whether
the item has any children or not.
getContentsSelector - a message invoked in the model to retrieve the
contents for its item.
All callback selectors can have zero, one or two arguments with the item
and the wrapper as first and second argument.

5540CodeFont-nk -- Ned Konz -- 28 October 2003
This makes the Browsers use a standardCodeFont.
And it (re-) adds a menu item to change that font to the Preferences
menu for fonts.

5541SketchMorphEditorOpen-nk -- Ned Konz -- 9 November 2003
This adds a construction method to SketchMorph that opens an editor on a
blank SketchMorph."

5542MetaclassInitFix-nk -- Ned Konz -- 9 November 2003
The recent changes to new/initialize cause superclasses to be
re-initialized upon subclassing.
This CS fixes that problem.

5543declareInstVarFIX-md -- Marcus Denker -- 12 November 2003
The *very nice* feature introduced by [ENH] DeclareInstVar (5514) does
not work correctly. This is just disables the menu-entry for now, will
look into this later.
Lukas' comment:
| I was wondering if this ever worked?
|
||yes, it works. But some cases (where the class has got super- and
subclasses with i-vars) you ||might get a mess with the indexes of the
i-vars. I don't know how to fix that problem as the ||Squeak parser is
really messy.

5544BlockFullPrintOn-LC-dew -- Leandro Caniglia and Doug Way -- 6
January 2002
dew: V2, modifies BlockContext>>printOn: as well so that a truncated
decompiled block appears in all inspectors, etc.
md: Markus Gaelli digged this up from the past. I have not yet looked at
it
at all, but I think something like this would be nice to add. ns is
Sheldon
Nicholl, see

http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-January/0069
47.html
This change set implements the BlockContext>>fullPrintOn: method. It is
especially useful when combined with the fullPrintOnInspector GOODIE,
that replaces the use of printString in inspectors with that of
fullPrintString.
Full credit to 'ns' (don't remember who's she/he?) for the
decompileBlock: method.

5545SystDictDeprecatedFix-nk -- Ned Konz -- 12 November 2003
This fixes several problems with the recent deprecation of various
methods in SystemDictionary:
* in several places, methods that had been primitives got changed so
they would always call primitiveError.
* why bother renaming methods as deprecated, if you move them? Instead,
just call the moved method per suggestion.
* having done that, there were some deprecated (and moved) methods that
were no longer called. We can remove these.
* some of the recently deprecated methods sent the recently deprecated
#deprecated:explanation: message, which would cause a double Deprecation
warning.




<This automated message brought to you by the UpdateIncorporationTool.>
<See the UpdateIncorporationTool package on SqueakMap for details.>




More information about the Squeak-dev mailing list