[UPDATES] 52 for Squeak3.7alpha, advance to 3.7beta

dway at mailcan.com dway at mailcan.com
Thu Apr 1 07:30:14 UTC 2004



Here is the last batch of updates for 3.7alpha, plus an update to
advance to 3.7beta.  Quite a bit of stuff here!  Now that we're in beta,
further updates for 3.7 will just be fixes (and possibly things like
preferences tweaks, etc).  Beta is scheduled to last 6 weeks.  The alpha
stream for the next version will open then, or possibly sooner, but not
right now.

- Doug


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

5817SmallTypos2

5818CompilerFromSM-md -- Marcus Denker -- 8 March 2004
This cs loads the current Compiler* from SqueakMap3

5819MsecClockValueOptmz-nk -- Ned Konz -- 8 March 2004
Optimize Time>>millisecondClockValue by saving one call.
Doesn't sound like much, but makes a difference since we call it so
much. Also keeps millisecondClockValue from appearing in profiler
output.

5820AssociationHashTest -- Marcus Denker -- 8 March 2004
This is just associationEqualTest-brp.1.cs with
a change to the class name: The methods are added
to the existing AssociationTest.
This just refactors the Equality test and adds a test for #hash"

5821devideIsZero -- Marcus Denker -- 7 March 2004
Just a small fix from the Units package to
use isZero in Float>>/ and SmallInteger>>/"

5822divideIsZero-fbs

5823OrganizeTheAllCategory-nk -- Ned Konz -- 11 March 2004
This is offered as a better way to fix the problem with filing in the
'--all--' category from the File Contents Browser.
It makes the ClassOrganizer actually return all the selectors when given
the name of the allCategory. It also changes the definition of
allCategory to answer a literal Symbol, rather than calling #asSymbol on
a String.

5824BlankMenuIconsPref-nk -- Ned Konz -- 10 March 2004
I couldn't avoid the recent discussion of menu icons, so I am
contributing this little ENH.
This will line up all the text in menus containing icons by using blank
icons for those items without icons.
I believe that this leads to an easier to read menu.
v2: handled cases where submenus have icons but parent menus don't.
v3: removed preference. Made checkboxes line up too.
Preferences removePreference: #useBlankMenuIcons

5825loadProjectFix-mir -- Michael Rueger -- 9 March 2004
Fixes a problem with loading projects through the world menu."

5826PseudoClassPrettyPrint-nk -- Ned Konz -- 9 March 2004
As reported by David Shaffer, 
If color pretty printing are enabled, if a method being viewed in the 
FileContentsBrowser includes an i-var reference which the PseudoClass 
can't find in it's scope table, you get the attached stack trace.  I'm 
not exactly sure how PseudoClass is supposed to work so I don't know if 
this is considered a bug (*) in that class but I think that the browser 
should non-pretty print the text if parsing fails.
This CS adds instVarNames to PseudoClass to avoid this bug.

5827testChronologyHours12-brp -- Brent Pinkney -- 12 March 2004
Fix test cases to match the implementation of DateAndTime>>#hour12.
The original implementation has been fixed by Avi. This just makes the
tests compliant"

5828chronologyClassComnts-brp -- Brent Pinkney -- 12 March 2004
Add missing class comments. Self approved as per instructions on
squeak-dev"

5829chronlgyTimeStampNow-brp -- Brent Pinkney -- 12 March 2004
Deprecated class TimeStamp has second precision.
After the introduction of the ANSI Chronology classes, TimeStamp is
implemented as a subclass of DateAndTime - inadvertantly inheriting
nano-second precision.
This changest ensure that TimeStamp class>>#now and TimeStamp
class>>current clear out the nanosecond field.
Note. This means that (TimeStamp now = TimeStamp now) could be true. Fix
TimeStampTest>>#testComparing to accomodate this."

5830DeclareClass-rr -- rr -- 4 March 2004
Adds an option when a global variable is not found,
which is to define a new class named like it, instead
of merely defining a global variable. Modifies a method
and adds one.
Example :
NewClass new inspect.
NewClass removeFromSystem.

5831asCommTest-ls -- Lex Spoon -- 28 October 2003
md: V2
	 moved to StringTest. 
A test case for #asSmalltalkComment, a method in the browseWithComments
enhancment."

5832DeclareInstVarFix-rr -- Romain Robbes -- 6 March 2004
v2: fixed to not uncomment the DeclareClass changes. -- md
       please file in DeclareClass-rr before.
Fixes the bug in the declaration of inst vars. Previously declaring an
instance variables
when an unknown variable was encountered could result in the wrong iv to
be referenced if there were instance variables in some of the class'
superclasses.
This was visible when the method's bytecode were decompiled. Recompiling
the method would solve the problem. 
This changes only adds a line to correctly compute the index, by taking
into account
ivs in the superclasses, and uncomments the menu entry as it works
correctly now.
No test is included as this is quite hard to automate. Try it in a class
with a superclass
which contains iv, and check the result in the decompiled view of the
method. "

5833SimpleButtonLabeling-sge -- Steve Elkins -- 11 March 2004
It's easy to demonstrate the 2 bugs this ChangeSet corrects.  Open the
Squeak flap, make a duplicate of the save button, drop it on the
desktop, and choose 'change label' from its menu.  The prompt string is
missing a word; after entering a label, font and emphasis information
from the previous one is lost."

5834AccunyInstall -- Ned Konz -- 15 March 2004
Installs the text style 'Accuny' from a compressed MIME encoding in the
postscript, originally edited by John McIntosh.
March 15: do a better job tracking down loose and derivative fonts.

5835GenieStubs-nk -- Ned Konz -- 11 March 2004
Version:			4
This package supplies replacements for a few methods that will let
Genie-aware applications run (without Genie) without change in an image
with Genie removed (i.e. in post-5764 images).
I recommend that this package be added to the update stream.

5836SystemDictRenameClasses-rr -- Romain Robbes -- 11 March 2004
The event triggered by the SystemChangeNotifier had a nil class
category, as it was fetching it after the class was renamed. This fix
stores the category in a temp before the renaming.

5837ShortQuantitiesEndian -- Yoshiki Ohshima -- 17 March 2004
Later fixes by:	Ned Konz
Restoring the endianness of 16-bit quantity array object are wrong from
a place to another.  This fixes the ones I noticed.
With this patch, you can:
	
	* save and restore the Squeaky Mouse.
	* save and restore TTFontDescriptions across the platforms.
7 Mar (Ned Konz): fixes to make ShortIntegerArray and ShortPointArray
work too:
* moved restoreEndianness up to ShortIntegerArray
* added bytesPerElement to ShortIntegerArray
17 March (Ned Konz):
	more fixes to ShortIntegerArray hierarchy

5838BitmapStreamTests -- Ned Konz -- 17 March 2004
v5 (17 March): added a couple more tests.
v4 (16 March): added tests with literals to verify absolute endianness
in addition to round-tripping.
v3 (7 March 2004): added MatrixTransform2x3
v2 (5 July 2003): added WordArray and several kinds of storage:
* ImageSegment on disk
* ReferenceStream on RWBinaryOrTextStream
* ReferenceStream on file
* SmartRefStream on RWBinaryOrTextStream
* SmartRefStream on file
This is an incomplete test suite for storing and reading various word-
and short-word subclasses of ArrayedCollection.
It demonstrates some problems with filing in of certain kinds of arrayed
objects.
In 3.6b-5331, I get 8 passed/6 failed/6 errors.
I ran into problems when trying to read back the SqueakLogo flash
character morph, after I'd done a 'save morph to disk' from its debug
menu.
The words within the ShortPointArrays and ShortRunArrays were reversed.

5839accurateDateTimeNow-avi -- Avi Bryant -- 21 February 2004
This fixes DateAndTime class>>now to ignore the millisecond clock and
simply return an accurate value with 1 second precision.  It also clears
out the class variables and #startUp/#initialize methods that were being
used to attempt to get (inaccurate) millisecond precision."

5840KCP185RespondsToCleans -- stephane ducasse -- 30 January 2004
remove some unnecessary respondsTo invocations.
(merged PNGReadWriter>>nextImage with 5810 -dew)

5841SMTPClientBracket-fbs -- Frank Shearer -- 23 March 2004
Allows sender email addresses of the form
	""Someone"" <someone at somewhere>
or
	<someone at somewhere>
as well as
	someone at somewhere
Upon further inspection (in RFC 2821), MAIL FROM takes a reverse-path.
So MailAddressParser Does The Right Thing already. Whee. Herewith
attached
then a changeset with my previously-mentioned implementation, plus a
suitably amended test case.  -- Frank
(Updated changeset comment. -dew)

5842KCP200BehaviorSubcls -- stéphane ducasse -- 14 March 2004
Behavior>>subclasses was not defined. Therefore a lot of the methods
of Behavior were defined in Behavior but could only be run on
ClassDescription instances. Breaking the principle that a class should
not rely on its subclasses. This fix implements a slow implementation of
subclasses that can be executed on Behavior instances. Tests provided"

5843TextStyleName -- sd -- 21 February 2004
add knowStyle without default information"

5844ANSICompatibility -- Alain Fischer -- 24 November 2002
I modified this changeset by removing the DateAndTime and Duration
changes.  I also removed the changes to TestRunner as I don't think they
belong here.
Note that the description below will be incorrect in reference to these
classes.  - Ken Causey
original comment continues:
This change set add ANSI compatibility to Squeak 3.2.
Now TestRunner with ANSI tests loaded show (2777 run, 2753 passed, 24
failed, 0 errors).
17 classes (8 new / 9 modified)
New classes:
ArithmeticError, DateAndTime, Duration, FloatingPointException, 
RuleDate, RuleIndexDate, RuleSelectionCodeDate, ScaledDecimal
Modified Classes:
BlockContext (added method #argumentCount)
Character (added method #codePoint)
Character class (added method #codePoint:)
Float (2 methods added, 3 methods #modified)
Float class (added method #one)
Fraction (1 method added, 1 method modified)
Fraction class (added method #one)
Integer (6 methods added, 1 method modified)
Integer class (added method #one)
Number (7 methods added, 2 methods modified)
Number class (modified method #readRemainderOf:from:base:withSign:)
PositionableStream (modified method #skip:)
String (3 methods added)
TestRunner (2 methods modified)
ZeroDivide is now subclass of ArithmeticError

5845BitstreamVeraSerifInstall -- Ned Konz -- 18 March 2004
Installs the text style 'BitstreamVeraSerif' from a compressed MIME
encoding in the postscript.
Requires Ned's latest endianness fix as a prerequisite."

5846BitstreamVeraSansInstall -- Ned Konz -- 18 March 2004
Installs the text style 'BitstreamVeraSans'
from a compressed MIME encoding in the postscript."

5847BitstreamVeraSansMonoInstall -- Ned Konz -- 18 March 2004
Installs the text style 'BitstreamVeraSansMono'
from a compressed MIME encoding in the postscript."

5848UtilitesAuthorName-fc -- Frank Caggiano -- 12 March 2004
Resubmitted, Ned pointd out that the original CS  was incompatable with
a recent change in ProjectLauncher>>startUp. This SC uses the latest
version of ProjectLauncher>>startUp.
Makes AuthorName behave the same as AuthorInitials before it is set for
the first time in a image.  That is it is set to the empty string as is
AuthorInitials."

5849TextMorphSelectionFix-rr -- Romain Robbes -- 23 March 2004
V3 : make the cursor disappear when there is no selection, and
the TextMorph is not focused.
V2 : provides more visual feedback by changing the selection
color upon focus change, as suggested by Hernán Tylim.
Makes the selected text in a TextMorph not
disappear when the morph loses focus,
by removing the call to releaseEditor in
TextMorph>>keyboardFocusChange:  .
This makes the TextMorphs' behavior more
consistent with text panes in the host platforms,
and makes Squeak a more consistent with itself,
as this will allow all menus to behave according to 
the menuKeyboardControl preference, including
the ones in a paragraph. 
Also included are the changes in PluggableTextMorph and
StrikeFont, to allow menus to be invoked modally, and
thus having keyboard control if the preference is set"

5850MPEGPlyrSubtitles-dgd-asm -- Alejandro Magistrello & Diego Gomez
Deck -- 8 March 2004
This changeset includes a lot of fixes/improvements to MPEGPlayer where
the most important are the support for subtitles files (format .sub) and
the full-screen option.
List of changes:
- support for subtitles of .sub format (see comment in class
MPEGSubtitles)
- full-screen mode
- the quit button is always present
- eToys vocabulary for #videoFileName and #subtitlesFileName.  Using
this new tiles with scripts in projects (or un book pages) in 'opening'
mode we can create presentation with video in a multiplatform-way.
- yellowbutton menu (usefull in full screen)
- keyboard controls (usefull in full screen)
- new UpdatingTextMorph class used to display the subtitles
IMPORTANT: The instances of MPEGPlayer created before this changeset
_will_ work including all the new stuff with the exception of the
button-row that _will not_ get updated.
Thanks to Alejandro Magistrello for the first version of this work!

5851DependentsSizeFix-nk -- Ned Konz -- 11 March 2004
I noticed in the ChangeSorter that if you add a postscript, then close
the editor window and try to remove the postscript that you can't.
Further examination showed that there is code in postscriptHasDependents
that says
	self postscript dependents size > 0
which returned true even though the dependents slots had been nil'd out.
Though counting dependents is probably questionable, this change set
makes DependentsArray>>size report the number of actual dependents (i.e.
does not count nils).

5852HiliteCurrentFonts-laza -- Alexander at Lazarevic.de -- 25 March 2004
- changes the Standard List Font menu so that the currently in use fonts
and point sizes are highlighted
- changes the Standard System Font menu so that it can be pinned and
stays up for consecutive font selections
(removed extra unused method with 'hilight' in the selector -dew)

5853TextStyleToChangeSet-nk -- Ned Konz -- 15 March 2004
Lets you write a TextStyle into a ChangeSet.
Will also read a family from a directory containing .sf2 files.
Could also work for TTCFonts, but requires endianness fixes first.
v2 (15 Mar): more complete font replacement.

5854DeselectGrabbedMenu-spfa -- Stephane Rollandin -- 13 March 2004
When we open a menu and grab or duplicate one of its item via the halo,
we get an highlighted item in the hand and there is no easy way to
deselect it without triggering its action.
This changeset modifies two methods of MenuItemMorph so that a menu item
grabbed or duplicated gets deselected.

5855PSPointSizeFix-nk -- Ned Konz -- 25 March 2004
Postscript output from Squeak has been in pixel units. However, we're
outputting requests for fonts in point units, making the fonts appear
3/4 as big as they should on output.
This change set fixes that problem by also requesting fonts in pixel
units.

5856q20renameVariable-yo -- Yoshiki Ohshima -- 18 January 2004, revised
3/17/04
			
Derived from Squeakland updates 0198renameVariable-yo.cs and
0203langChgFix-sw.cs.  Integrated with 3.7a/5816 by Scott Wallace 10
March 04.
Make the rename variable feature work.  As long as the variable is not
used in textually coded scripts, the cases like it is referenced in the
other player's script, multiple occurrence in more than one script, etc,
are solved.
This update also fixes the long-standing bug that the menu-title of the
slot-info-button could show an internal slot symbol (e.g.
useGradientFill) rather than an external variable name (e.g.
gradientFill).
Some refinements and fixes added by Scott Wallace 7 March 04."

5857q21scriptNameChoices-sw -- Scott Wallace -- 21 December 2003, 11
March 2004
Adapted for Squeak 3.7a from Squeakland update 0201scriptNameChoices-sw.
Fixes the script-name-choice popups and arrow-actions (on script-name
tiles in viewers and scriptors) so that...
S  Choice list is now dynamically determined; thus even script-names
established after the tile was created will now be offered.
S  The default choice on a new script-name tile is now #emptyScript
(Yoshiki's suggestion), rather than an actual user-script selector which
may or may not actually exist in a given player.
S  Script-names for scripts that have *parameters* are no longer offered
in the pop-ups of script-name-valued tiles.
S  The tell-all commands are bulletproofed against run-time MNU errors
in cases where a script of the given name does not exist in a player
being sent the request.
S  Appropriate help-message supplied on a script-name tile." 

5858q22easterEggs-sw -- Scott Wallace -- 10 March 2004, 18 March 2004
Adapted for Squeak 3.7a from Squeakland updates 0202easterEggs-sw and
0205varName-sw.  There was one babel-related collision to be fixed up.
Abolishes a few long-standing odd-ball wordings in the etoy
user-interface.
S  Makes the 'no help available' backstop message a little less
whimsical.
S  Makes the default names offered for launching new variables in a
viewer be all of the form var1, var2, etc.
S  Provides appropriate balloon help on symbol-list tiles."

5859q23referencesFix-sw -- Scott Wallace -- 15 March 2004
Adopted from Squeakland update 0204referencesFix-sw
Fixes two bugs occasionally seen with etoy tiles, as reported by Michael
Rueger:
*  Sometimes no internal name in References was being handed out for an
object.
*  Sometimes an internal name that coincided with a global was being
handed out.
An example scenario for recreating one of the bugs:
*  Get a Slider
*  Rename it to Slider (sic!)
*  Now refer to that object in the script of another object. 
*  The code in that script will be bound to the global 'Slider' object
(a class) because a name registered in the References table was not
handed out for this object."

5860browseObject -- Masashi Umezawa -- 11 March 2004
Add #browse method to Object.
The method is now on tools-browser package to minimize dependency.
Object>>browseHierarchy delegates SystemNavigation to keep consistency. 
Simple SUnit tests are also included.

5861addHorzScrollbar37v4-sps -- Steven Swerling -- 23 March 2004
(version changes at the bottom of this changeset preamble)
Repost of old changeset for adding horizontal scroll bars to
ScrollPanes. Updated and cleaned up for 3.7 (and only for 3.7). The
scroll pane now ignores the preference for showing scrollbars only when
needed -- this is now the default. If you don't like it for a particular
pane, you can call one of the #alwaysShow... or #hideXIndefinitely
options for the pane (see the method category, 'accessing options').
Calls to some obsolete methods that assume 1 scrollbar are now forwarded
to the corresponding method for the vertical scrollbar, see the
'obsolete' method category.
WARNING: The last thing you need is for a bug in ScrollPane, as it could
prevent the Debugger from functioning. I don't know of any in this code,
but better safe then sorry. So consider this a beta. Please tinker
around with your applications to make sure everything is working ok
before saving your image.
CAVEAT: When you file in this changeset, it will add an hScrollBar to
all existing ScrollPanes -- the color will be off on these. When you
open new windows, the horz scrollbar will take on the appropriate color.
Tested on a fresh 3.7 image w/ updates up to #5764.
v1: initial release.
v2: redirected calls to Font>>widthOfString to use new method
#widthOfStringOrText:. If it's a string or text without any sort of
emphasis, it returns the string width. If it's a text, it adds about 20%
to the string width and returns that. It does not calculate the precise
text width this version, which is deferred.
v3: Added Doug Way's fix for divide-by-zero bug on resize. Fixed
dissappearing hScrollbar in browsers. Replaced #hiddenScrollbars
preference with #alwaysShowVScrollbar and #alwaysShowHScrollbar, both of
which default to false.
v4: Changed #alwaysShowVScrollbar default to true. -dew

5862MonitorComments-fbs

5863BrowserCommentUpdate-nk -- Ned Konz -- 29 March 2004
Makes the separate comment pane update when you edit the class comment
in the single comment pane (via the '?' button)."

5864EventSensorInterpt-nk -- Ned Konz -- 18 March 2004
CS 5784NoEventSensorProcess-ar broke the ability to break out of a tight
UI loop.
This CS fixes that problem by checking from time to time whether it has
been too long since the last time that events were polled.
It also lays the groundwork for eventual use of the input semaphore by
Morphic by setting a flag if the input semaphore is actually being
signaled by the VM.

5865DefaultChangeSetDir-nk -- Ned Konz -- 24 March 2004
If you try to set the default change set directory to the full name of
the default directory, you get a walkback.
Also, if you try to set it to a directory whose name begins with the
name of the default directory but is not a subdirectory, the relative
path is calculated wrong.
This changeset fixes both of those problems.

5866MVCEventSensorFixes-nk -- Ned Konz -- 16 March 2004
Fixes the MVC hang upon switching between views that was introduced by
CS 5784NoEventSensorProcess-ar.
This was caused by waitNoButton and other tight delay loops calling
anyButtonPressed, which was returning mouseButtons without having a
chance to actually update that variable.
v1 (16 March)
v2 (17 March): more refactoring; made all tests and waits consistent.

5867DateTimeFactoredPrint-nk -- Ned Konz -- 30 March 2004
Makes all the Kernel-Chronology-Tests test cases pass in a 5816 image.
This requires the following prerequisites:
	accurateDateAndTimeNowV2-avi (21 February, Avi Bryant)
	testChronologyHours12-brp (12 March, Brent Pinkney)
	chronologyTimeStampNow-brp (12 March, Brent Pinkney)
v2 (30 March 2004):
- sped up DateAndTime comparisons considerably (very noticeable on BFAV)
- sped up DateAndTime creation (ticks:offset:)
- added default initialization of Duration to 0
- sped up Duration class>>seconds: and Duration class>>zero
- fixed broken test cases
- added timezone saving/restoring to test cases
- removed linefeeds
- removed some assumptions about strict monotonicity of Timestamps from
test cases
  (which is appropriate for this version of the Timestamp code, but may
need to
  be revisited if the Timestamp logic is changed).
v1 (12 March 2004):
- Factors DateAndTime>>printOn: into separate parts for easier use.
- Omits leading space by default in printOn:
- Adds alternative printOn:withLeadingSpace:
- Fixes DateAndTime test cases
- Omits recompilation of Deprecated>>defaultAction from test cases (why
was this done?)
- Fixes the spelling of 'Greenwich'
- Adds a class comment to Date
- Changes TimeZone default to report UTC rather than GMT

5868AdvanceTo37Beta -- Doug Way -- 1 April 2004
This is the last update for version 3.7alpha.  In its postscript is an
executable statement that will set the version forward to
Squeak3.7beta."




<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