[Pkg] Tasks: Tasks-Squeak310-kph.16.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Sun Dec 7 07:07:25 UTC 2008


A new version of Tasks-Squeak310 was added to project Tasks:
http://www.squeaksource.com/Tasks/Tasks-Squeak310-kph.16.mcz

==================== Summary ====================

Name: Tasks-Squeak310-kph.16
Author: kph
Time: 7 December 2008, 7:07:21 am
UUID: 09ae3751-c4f6-4e17-a5a1-4080d001e11a
Ancestors: Tasks-Squeak310-kph.15

getting there

=============== Diff against Tasks-Squeak310-kph.15 ===============

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06893quotDoitquotlogcannotbe (in category 'new-open') -----
+ m06893quotDoitquotlogcannotbe
+ 
+ Installer mantis bug:6893 fix: 'DoItLogBlanksTrimmedFix-mu.1.cs'.
+ 
+ """"""
+ Bug ID: 0006893
+ Category: [Squeak] System
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 02-09-08 07:35
+ Date Updated: 02-11-08 03:41
+ Reporter: umejava
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006893: "Do it" log cannot be parsed if it includes leading spaces and multybyte string
+ Description: If you &quot;do it&quot; in Workspace, the log will be attached to .changes. And we can see the log from &quot;recently logged changes...&quot;. But if the expression includes leading whitespaces &amp; multibyte string, reading log fails. This is because we always skip leading whitespaces in parsing &quot;do it&quot; log and do not consider &quot;]lang[&quot; tag. <br />
+ This patch changes &quot;do it&quot; log not to include unnecessary leading whitespaces, so that parsing succeeds.
+ Additional Information: 
+ Notes: 
+ (0011758 - 89 - 121 - 121 - 121 - 121 - 121)
+ Keith_Hodges	02-11-08 03:41
+ "fix begin"
+ Installer mantis bug:6893 fix: 'DoItLogBlanksTrimmedFix-mu.1.cs'.
+ "fix end"
+ 
+ Files: #('DoItLogBlanksTrimmedFix-mu.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06937removeAllaCollectiondoesnt (in category 'assigned-open') -----
+ m06937removeAllaCollectiondoesnt
+ 
+ Installer mantis bug:6937 fix: 'OrderedCollection-removeAll-kwl-6937.st'.
+ 
+ """"""
+ Bug ID: 0006937
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 02-19-08 18:12
+ Date Updated: 05-29-08 17:35
+ Reporter: cdrick
+ View Status: public
+ Handler: kwl
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 3.10
+ Summary: 0006937: removeAll: aCollection doesn't do what we expect if aCollection==self
+ Description: This known error has had a revival originating from a mail of Sophie in the beginnner list... and I ended up opening a bug report...<br />
+ <br />
+ The problem is:<br />
+ <br />
+ col := #(1 2 3) asOrderedCollection.<br />
+ col  removeAll: col.<br />
+ ^col   returns an OrderedCollection(2) instead of an empty one as we would expect...
+ Additional Information: Explanation:<br />
+ <br />
+ &quot;If you start removing items from the collection, increasing the<br />
+ index will cause you to skip elements.&quot;  from Ron<br />
+ <br />
+ <br />
+ Ron suggested:<br />
+ &quot;I agree it is an error, but it's one that you hit pretty early in your<br />
+ Smalltalk career, I'm not sure anything really needs to change.  I would<br />
+ support just using a copy on the parameter and adding #removeAll:  Is this<br />
+ necessary?  It wouldn't hurt.&quot;<br />
+ <br />
+ col := #(1 2 3) asOrderedCollection.<br />
+ col  removeAll: col **copy**.<br />
+ ^col  returns an OrderedCollection() <br />
+ &nbsp;&nbsp;<br />
+ Goran:<br />
+ &quot;Because modifying the collection while iterating over the same is not<br />
+ safe generally. The above idiom is &quot;known&quot; - but of course it sucks. :)<br />
+ <br />
+ I advocated to add a #removeAll message in the protocol of Collection<br />
+ and then implement it in subclasses using efficient variants a looooong<br />
+ while back but it never got accepted. The climate today for such a<br />
+ change is much more... &quot;pragmatic&quot; I think and hope. So we should simply<br />
+ add it!!&quot;<br />
+ <br />
+ Concerning using copy...<br />
+ Klaus:<br />
+ &quot;Thumbs down, I do not want anybody copy a collection behind my back<br />
+ (however small or large it is) just because remove* has nothing to do with<br />
+ copy.&quot;<br />
+ <br />
+ I was suggesting raising an error as, it's quite &quot;strange&quot; (circular) to have an expression like:  aCol removeAll: aCol ...<br />
+ <br />
+ But Klaus promised a fix so ;)<br />
+ <br />
+ Notes: 
+ (0011843 - 109 - 109 - 109 - 109 - 109 - 109)
+ kwl	02-19-08 18:51
+ OrderedCollection-removeAll-kwl-6937.st tested with the 441 cases in the CollectionTests category, all green.
+ 
+ (0011846 - 556 - 642 - 642 - 642 - 642 - 642)
+ nicolas cellier	02-19-08 20:28
+ "As posted in beginners list, self == aCollection does not handle case when aCollection is just a wrapper on self...
+ So the change won't removeAll problems...
+ in a 3.9 image try this:"
+ | collec1 collec2 |
+ collec1 := OrderedCollection with: 'a' with: 'b' with: 'c'.
+ collec2 := MappedCollection collection: collec1 map: (3 to: 1 by: -1).
+ collec1 removeAll: collec2.
+ collec1 inspect
+ "Agree, yet, the problem lies in super...
+ Note: MappedCollection was removed from 3.10, but in spirit there can be other wrapper collections (i used some myself)."
+ 
+ (0011847 - 261 - 313 - 313 - 313 - 313 - 313)
+ nicolas cellier	02-19-08 21:09
+ "Oops, i copy/pasted the wrong test.
+ The one that fails is more obvious:"
+ | collec1 collec2 |
+ collec1 := OrderedCollection with: 'a' with: 'b' with: 'c'.
+ collec2 := MappedCollection collection: collec1 map: (1 to: 3).
+ collec1 removeAll: collec2.
+ collec1
+ 
+ (0011848 - 214 - 220 - 278 - 278 - 278 - 278)
+ kwl	02-19-08 21:41
+ @nicolas
+ as mentioned in beginners at lists.squeakfoundation.org, since 3.10 MappedCollection no longer exists. Do you have a counter example which fails indeed in Squeak 3.10; can you break the attached fix in 3.10?
+ 
+ (0011850 - 535 - 589 - 589 - 589 - 589 - 589)
+ nicolas cellier	02-19-08 22:43
+ Proposed change is OK to me. I vote for inclusion in 3.11.
+ It does not fail per se. super fails...
+ Simply, i wanted to point that it won't solve all the tricky cases.
+ So these cases will have to be handled at super level.
+ And adding a self == aCollection at super level will still have flaws.
+ MappedCollection is not mainstream anymore, but other wrappers could become, see LazyLists and LazyCollections in Squeak source... Collection wrapper is a classical pattern.
+ As long as they are used under your control, no problem.
+ 
+ (0011861 - 98 - 98 - 98 - 98 - 98 - 98)
+ kwl	02-22-08 23:35
+ There are perhaps other collections (besides OrderedCollection) which would benefit from such fix.
+ 
+ (0012222 - 97 - 129 - 129 - 129 - 129 - 129)
+ Keith_Hodges	05-29-08 17:35
+ "fix begin"
+ Installer mantis bug:6937 fix: 'OrderedCollection-removeAll-kwl-6937.st'.
+ "fix end"
+ 
+ Files: #('OrderedCollection-removeAll-kwl-6937.st')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06697NumbergtgtstoreOnbasedef (in category 'new-open') -----
+ m06697NumbergtgtstoreOnbasedef
+ 
+ Installer mantis bug: 6697 fix:'NumberStoreOnBase-M6697-Patch.1.cs'.
+ 
+ """"""
+ Bug ID: 0006697
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: N/A
+ Date Submitted: 09-25-07 00:25
+ Date Updated: 12-17-07 17:26
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006697: Number&gt;&gt;storeOn:base: default implementation is wrong
+ Description: It calls printOn:base:<br />
+ But modern definition of printOn:base: don't print the radix prefix.<br />
+ While storeOn:base: should.<br />
+ <br />
+ This is one cause of <a href="http://bugs.squeak.org/view.php?id=6695">http://bugs.squeak.org/view.php?id=6695</a> [<a href="http://bugs.squeak.org/view.php?id=6695" target="_blank">^</a>]<br />
+ <br />
+ Since the storeOn:base: method is defined in every subclass where relevant<br />
+ (except ScaledDecimal see <a href="http://bugs.squeak.org/view.php?id=6696),">http://bugs.squeak.org/view.php?id=6696),</a> [<a href="http://bugs.squeak.org/view.php?id=6696)," target="_blank">^</a>] I strongly suggest to implement self subclassResponsibility in Number like printOn:base:
+ Additional Information: <br />
+ Don't expect a test case for this bug. It is quite trivial and virtual, because it is in an abstract class and it is overriden in subclasses. But it is a bug. To show it, one need to define a new Number class defining just printOn:base: but not storeOn:base: SUPER-HEAVY-NONSENSE
+ Notes: 
+ (0011197 - 45 - 45 - 45 - 45 - 45 - 45)
+ nicolas cellier	09-25-07 00:31
+ The patch also add a comment to printOn:base:
+ 
+ (0011199 - 272 - 320 - 320 - 320 - 320 - 320)
+ nicolas cellier	09-25-07 00:57
+ edited on: 09-25-07 01:09	In 3.8 the code was correct because printOn:base: USED TO print the radix prefix
+ Who ever made the change SHOULD have taken care of all implementors and senders.
+ Was it a good decision anyway?
+ Standard compliant?
+ Has it been discussed in squeak-dev or somewhere?
+ 
+ (0011567 - 94 - 138 - 138 - 138 - 138 - 138)
+ Keith_Hodges	12-17-07 17:26
+ edited on: 01-18-08 09:40	"fix begin"
+ Installer mantis bug: 6697 fix:'NumberStoreOnBase-M6697-Patch.1.cs'.
+ "fix end"
+ 
+ Files: #('NumberStoreOnBase-M6697-Patch.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06870MessageCatcherconsideredharmf (in category 'feedback-open') -----
+ m06870MessageCatcherconsideredharmf
+ 
+ Installer mantis bug:6870 fix:'MessageCatcher.1.cs'.
+ 
+ """"""
+ Bug ID: 0006870
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 01-22-08 10:49
+ Date Updated: 04-25-08 00:01
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: Keith_Hodges
+ Priority: normal
+ Resolution: open
+ Status: feedback
+ Product Version: 3.10
+ Summary: 0006870: MessageCatcher considered harmful
+ Description: Consider removing Massage Catcher from the base image
+ Additional Information: for context, see <a href="http://www.nabble.com/Removing-things-td15009506.html#a15010934">http://www.nabble.com/Removing-things-td15009506.html#a15010934</a> [<a href="http://www.nabble.com/Removing-things-td15009506.html#a15010934" target="_blank">^</a>]
+ Notes: 
+ (0011701 - 76 - 108 - 108 - 108 - 108 - 108)
+ Keith_Hodges	01-22-08 10:50
+ "fix begin"
+ Installer mantis bug:6870 fix:'MessageCatcher.1.cs'.
+ "fix end"
+ 
+ (0011706 - 82 - 82 - 82 - 82 - 82 - 82)
+ KenCausey	01-22-08 21:52
+ Uhm, what? Why? How, when, and where? How about some sort of actual explanation?
+ 
+ (0012040 - 77 - 77 - 245 - 245 - 245 - 245)
+ Keith_Hodges	04-25-08 00:01
+ Has been added to http://installer.pbwiki.com/MinorFixesUnstable-Squeak3%3A10 [^]
+ 
+ Files: #('MessageCatcher.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07199ExposeSockettimeouttoProtoc (in category 'assigned-open') -----
+ m07199ExposeSockettimeouttoProtoc
+ 
+ Installer mantis bug: 7199 fix: 'ExposeSocketTimeout.1.cs'.
+ 
+ """"""
+ Bug ID: 0007199
+ Category: [Squeak] Network
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 09-22-08 23:38
+ Date Updated: 09-22-08 23:40
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: cdegroot
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 3.10.2
+ Summary: 0007199: Expose Socket timeout to ProtocolClients
+ Description: All of the Protocol client classes are stuck with the standard Socket timeout. Enable subclasses of the ProtocolClient to set their own standardTimeout.<br />
+ <br />
+ So for example WAMailSenderSmtp can define a 5-10 second timeout that would be ok for a web app.
+ Additional Information: 
+ Notes: 
+ (0012686 - 83 - 115 - 115 - 115 - 115 - 115)
+ Keith_Hodges	09-22-08 23:40
+ "fix begin"
+ Installer mantis bug: 7199 fix: 'ExposeSocketTimeout.1.cs'.
+ "fix end"
+ 
+ Files: #('ExposeSocketTimeout.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06797CompilerreduceScaledDecimalw (in category 'confirmed-open') -----
+ m06797CompilerreduceScaledDecimalw
+ 
+ Installer mantis bug: 6797 fix:'Compiler-Literal-M6797-nice-Patch.2.cs'.
+ "fix test"
+ Installer mantis bug: 6797 fix:'Compiler-literal-M6797-nice-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006797
+ Category: [Squeak] Compiler
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 12-03-07 20:47
+ Date Updated: 08-29-08 19:38
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: confirmed
+ Product Version: 3.10
+ Summary: 0006797: Compiler reduce ScaledDecimal with different scales to a single literal
+ Description: I encountered this while testing <a href="view.php?id=4378" title="[new] ScaledDecimal storeString incorrectly use printOn: and loose exactness">0004378</a>.<br />
+ Compiler try and reduce number of literals using equality test.<br />
+ Unfortunately, this breaks some ScaledDecimal test:<br />
+ <br />
+ &nbsp;&nbsp;self assert: 0.5s1 scale = 1.<br />
+ &nbsp;&nbsp;self assert: 0.5s2 scale = 2.<br />
+ <br />
+ Each assertion would work individually, but would break together.
+ Additional Information: 
+ Notes: 
+ (0011510 - 116 - 122 - 122 - 122 - 122 - 122)
+ nicolas cellier	12-03-07 21:14
+ Beware, Test.1.cs does define a CompilerTest TestCase.
+ If you have already one in your image, just load the method.
+ 
+ (0011917 - 183 - 249 - 249 - 249 - 249 - 249)
+ nicolas cellier	03-12-08 22:19
+ edited on: 04-06-08 16:39	"fix begin"
+ Installer mantis bug: 6797 fix:'Compiler-Literal-M6797-nice-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6797 fix:'Compiler-literal-M6797-nice-Test.1.cs'.
+ "fix end"
+ 
+ (0012535 - 424 - 470 - 470 - 470 - 470 - 470)
+ kwl	08-28-08 12:34
+ in NewCompiler this problem is solved with #literalEqual:
+ oneLiteral literalEqual: otherLiteral
+ and the literal objects decide equality for themselves (take Array for example). the compiler should not know anything about Array, ScaledDecimal and any other literal's equality.
+ the default implementation of #literalEqual: in Object takes class == into account, otherwise 'literal' would be = #literal, for example.
+ 
+ (0012536 - 660 - 732 - 732 - 732 - 732 - 732)
+ nicolas cellier	08-29-08 07:31
+ edited on: 08-29-08 07:34	Hi Klaus,
+ Thank you for your contribution.
+ I totally agree, my first patch is a quick and dirty lightweight hack,
+ compared to the clean and extensible solution adopted in NewCompiler.
+ You are right to remind us the Smalltalk way.
+ Please find two new versions based on your proposition.
+ NewCompiler-Literal-M6797-nice-Patch.1.cs to patch only the NewCompiler
+ Compiler-Literal-M6797-nice-Patch.2.cs to patch both the (Old)Compiler and NewCompiler.
+ The only problem i foresee doing so, is that loading NewCompiler then unloading it might remove #literalEqual: and thus prevent (Old)Compiler to compile literals. But that's a small packaging problem.
+ 
+ (0012538 - 153 - 165 - 165 - 165 - 165 - 165)
+ kwl	08-29-08 15:55
+ the new patches look good; I will inform the NewCompiler team (and Pharo team, for that matter) that there is something from you for them.
+ thanks nice
+ 
+ (0012540 - 181 - 235 - 235 - 235 - 235 - 235)
+ nicolas cellier	08-29-08 19:38
+ "fix begin"
+ Installer mantis bug: 6797 fix:'Compiler-Literal-M6797-nice-Patch.2.cs'.
+ "fix test"
+ Installer mantis bug: 6797 fix:'Compiler-literal-M6797-nice-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('NewCompiler-Literal-M6797-nice-Patch.1.cs' 'Compiler-Literal-M6797-nice-Patch.2.cs' 'Compiler-Literal-M6797-nice-Patch.1.cs' 'Compiler-literal-M6797-nice-Test.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06846MenuMorphscandropmousefocus (in category 'resolved-fixed') -----
+ m06846MenuMorphscandropmousefocus
+ 
+ Installer mantis bug:6846 fix:'MenuItemMorph-deselectTimeOut.st'.
+ 
+ """"""
+ Bug ID: 0006846
+ Category: [Squeak] Morphic
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 01-10-08 04:20
+ Date Updated: 01-11-08 07:30
+ Reporter: rootbeer
+ View Status: public
+ Handler: Damien Cassou
+ Priority: normal
+ Resolution: fixed
+ Status: resolved
+ Product Version: 
+ Summary: 0006846: MenuMorphs can drop mouse focus
+ Description: Control-click on the Squeak desktop to bring up a menu, then move the mouse off of the menu across the menu's lower edge; the menu loses mouse focus.<br />
+ <br />
+ Mouse focus is lost whenever the mouse leaves a menu item with a sub-menu, but doesn't arrive at a sub-menu or another menu item within 500 milliseconds (see MenuItemMorph&gt;&gt;mouseLeaveDragging:). This is easiest to do when the sub-menu item is at the top or bottom of the menu, or next to a divider line.
+ Additional Information: The bug seems to be in MenuItemMorph&gt;&gt;deselectTimeOut:, which sets the mouse focus to nil instead of owner. Here's the fixed method:<br />
+ <br />
+ deselectTimeOut: evt<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&quot;Deselect timout. Now really deselect&quot;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;owner selectedItem == self<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ifTrue:[<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;evt hand newMouseFocus: owner.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;owner selectItem: nil event: evt].<br />
+ Notes: 
+ (0011676 - 83 - 83 - 83 - 83 - 83 - 83)
+ Damien Cassou	01-11-08 07:13
+ I confirm the bug and the solution. Please include that fix in new Squeak versions.
+ 
+ (0011677 - 89 - 121 - 121 - 121 - 121 - 121)
+ Keith_Hodges	01-11-08 07:30
+ "fix begin"
+ Installer mantis bug:6846 fix:'MenuItemMorph-deselectTimeOut.st'.
+ "fix end"
+ 
+ Files: #('MenuItemMorph-deselectTimeOut.st')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06089TTFCacheSpeedup (in category 'closed-fixed') -----
+ m06089TTFCacheSpeedup
+ 
+ Installer mantis bug:6089 fix:'TTFSpeedUp-dgd.1.cs'.
+ 
+ """"""
+ Bug ID: 0006089
+ Category: [Squeak] TrueType
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 02-15-07 08:11
+ Date Updated: 09-11-08 17:49
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: andreas
+ Priority: normal
+ Resolution: fixed
+ Status: closed
+ Product Version: 3.9
+ Summary: 0006089: TTF Cache Speedup
+ Description: This is the TTF cache speedup fix as submitted to squeak-dev<br />
+ <br />
+ <br />
+ <a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-November/111338.html">http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-November/111338.html</a> [<a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-November/111338.html" target="_blank">^</a>]<br />
+ Additional Information: 
+ Notes: 
+ (0009826 - 78 - 122 - 122 - 122 - 122 - 122)
+ Keith_Hodges	02-15-07 08:12
+ edited on: 02-16-07 01:15	"fix begin"
+ Installer mantis bug:6089 fix:'TTFSpeedUp-dgd.1.cs'.
+ "fix end"
+ 
+ (0010677 - 662 - 905 - 905 - 905 - 905 - 905)
+ edgardec	05-08-07 14:43
+ edited on: 05-08-07 14:44	I copy the original code of Diego
+ text :=
+ ('Hello World\' withCRs asText addAttribute: TextColor red),
+ ('Hello World\' withCRs asText addAttribute: TextColor green),
+ ('Hello World\' withCRs asText addAttribute: TextColor blue).
+ text addAttribute: (TextFontReference toFont:
+ ((TextStyle named: 'BitstreamVeraSans') fontOfSize: 24)).
+ morph := TextMorph new contentsAsIs: text.
+ form := Form extent: morph fullBounds extent depth: 32.
+ Transcript cr; show: (
+ [1 to: 1000 do:[:i| morph fullDrawOn: form getCanvas]] timeToRun
+ ).
+ On my Mac and 3.10 7092 time = 11617
+ 3.10 7093 time = 728
+ Now this is 7093TTFSpeedUp.cs and is on the updates
+ 
+ (0012635 - 97 - 121 - 121 - 121 - 121 - 121)
+ KenCausey	09-11-08 17:49
+ edited on: 09-11-08 17:49	Harvested in update 7093 and released with 3.10
+ [edit: corrected update number s/7092/7093/]
+ 
+ Files: #('TTFSpeedUp-dgd.1.cs' 'TTFSpeedUp-dgd.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310Unstable>>m00474BUGFIXaccurateDateAndTimeN (in category 'closed-fixed') -----
+ m00474BUGFIXaccurateDateAndTimeN
+ 
+ Installer mantis bug: 474 fix: 'Improve Date And Time.6.cs'.
+ "fix test"
+ Installer mantis bug: 474 fix: 'ClassClonerTestResource.st'.
+ Installer mantis bug: 474 fix: 'DateAndTimeClockTest.st'.
+ Installer mantis bug: 474 fix: 'DateAndTimeTest-testReadFrom.st'.
+ Installer mantis bug: 474 fix: 'DateAndTime class-milliSecondsSinceMidnight.st'.
+ 
+ """"""
+ Bug ID: 0000474
+ Category: [Squeak] Kernel
+ Severity: feature
+ Reproducibility: always
+ Date Submitted: 10-28-04 15:38
+ Date Updated: 05-26-08 18:33
+ Reporter: MarcusDenker
+ View Status: public
+ Handler: KenCausey
+ Priority: normal
+ Resolution: fixed
+ Status: closed
+ Product Version: 3.10
+ Summary: 0000474: [BUG][FIX] accurateDateAndTimeNow-brp
+ Description: Subject:		[BUG][FIX] accurateDateAndTimeNow-brp<br />
+ Author:		Brent Pinkney<br />
+ Date Posted: 16 March 2004<br />
+ Archive ID: 21110<br />
+ Comments:	<br />
+ Avi,<br />
+ <br />
+ I have merged Avi's your accurateDateAndTimeNow-avi changeset (v2) with <br />
+ the original Chronology code.<br />
+ <br />
+ This now answers the correct time (sweet mercy) , but preserves the logic <br />
+ so that<br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp;(DateAndTime now) &lt;= (DateAndTime now) is always false.<br />
+ <br />
+ I took the liberty of renaming a few methods to be more consistent.<br />
+ <br />
+ On my box: [ 100000 timesRepeat: [ DateAndTime now] ] timeToRun  ==&gt; 17265<br />
+ <br />
+ This changeset passes all the relevant SUnit tests in the <br />
+ 'Kernel-Chronology-Tests' category.<br />
+ Additional Information: 
+ Notes: 
+ (0000554 - 1062 - 1319 - 1368 - 1368 - 1368 - 1368)
+ MarcusDenker	10-28-04 15:38
+ Subject:	[BUG][FIX] accurateDateAndTimeNow-brp ( [er] needs to be reviewed again )
+ Author:	brent.pinkney at aircom.co.za
+ Date Posted: 4 October 2004
+ Archive ID: 24957
+ Comments:	Needs to be reviewed with Ned's proposal:
+ If you assume that:
+ - the millisecond clock rate is accurate (which it had better be!!)
+ - the millisecond clock is an unsigned number, limited to SmallInteger maxVal / 2 (which it is; it's masked with 16r1FFFFFFF)
+ then you can do this:
+ globals:
+ BigMillisecondClock is an arbitrary-precision integer
+ LastMillisecondClock is a SmallInteger, a copy of the millisecondClock
+ the last time we looked at it
+ MaxMillisecondClockValue is the maximum value of the millisecond clock
+ on this platform
+ from time to time (that is, more often than MaxMillisecondClockValue):
+ now := Time millisecondClockValue.
+ delta := now - LastMillisecondClock.
+ delta < 0 ifTrue: [ "wrapped"
+ delta := delta + MaxMillisecondClockValue + 1 ].
+ BigMillisecondClock := BigMillisecondClock + delta.
+ LastMillisecondClock := now.
+ 
+ (0007658 - 238 - 291 - 291 - 291 - 291 - 291)
+ Keith_Hodges	10-12-06 14:50
+ DateAndTime-readFrom: stream is not handling the nano/milliseconds field correctly
+ ' 2002-05-16T17:20:45.1+01:01' asDateAndTime produces
+ 2002-05-16T17:20:45.000000001+01:01
+ also how about a millisecondAccessor on DateAndTime
+ 
+ (0007659 - 54 - 54 - 54 - 54 - 54 - 54)
+ Keith_Hodges	10-12-06 15:27
+ Fix to #readFrom so that nanoSecond is read correctly.
+ 
+ (0007667 - 195 - 220 - 220 - 220 - 220 - 220)
+ andreas	10-12-06 21:57
+ [ 100000 timesRepeat: [ DateAndTime now] ] timeToRun ==> 17265
+ This can't possibly be correct by one or two orders of magnitude. "DateAndTime now" should be a *lot* faster than 6000 calls/sec.
+ 
+ (0007669 - 1787 - 1944 - 1944 - 1944 - 1944 - 1944)
+ Keith_Hodges	10-13-06 08:07
+ edited on: 10-13-06 10:13	I made a variant which effectively uses the millisecond clock for the time, and the second clock for the date. I do this in anticipation of the day when the vm primitives give us useful milliseconds (or nanoseconds) since midnight. But this seems to work pretty well.
+ I also discovered that avoiding the use of Duration in the instanciation of DateAndTime improves performance by a factor of x3 on Brent's observation. Making an accessor to set the instance vars directly without normalizing (which I dont think is needed if you give it sensible values) boosts that to a factor of x4.
+ Then removing the semaphore and use of the class var LastTicks improves speed up to a pretty wizzy 90x the original.
+ Perhaps for those of us who dont care about this we could use this extra speed.
+ (DateAndTime now) <= (DateAndTime now) is always true*
+ I have uploaded DateAndTime3.st and Time.st which implement the above.
+ DateAndTime rightNow, is the fastest 'wizzy' DateAndTime nowUnique, uses the semaphore approach.
+ DateAndTime now, calls rightNow, and if it isnt different to the last time it falls back onto nowUnique for the best of both worlds. Note that if you time #now, you will get the results for #nowUnique which is not what you really want.
+ In class Time-#now, sets the nanoSeconds using #millisecondSinceMidnight in the time instance whereas before Time-#now only set the seconds.
+ NOTE: This is bleeding edge proof of concept. No testing has been done as yet, no assessment as been made as to what happens when the day rolls over, or when the millisecond clock rolls over.
+ enjoy
+ [ 100000 timesRepeat: [ self rightNow. ] ] timeToRun. 220ms (result normalised to be comparible with the above since my machine is approx 2.6 times slower than brents)
+ 
+ (0008710 - 874 - 1012 - 1012 - 1012 - 1012 - 1012)
+ Keith_Hodges	12-14-06 05:24
+ edited on: 05-23-08 22:52	I am pleased to announce a testable/tested incarnation of the millisecond clock implementation. It is much faster too. This handles the clock rollover, and midnight rollovers. If the clock is not used for a number of days and may have lost synchronisation then a sanity check is performed that will recalculate the offsets.
+ Files
+ 1. DateAndTimeTest-testReadFrom.st
+ 2. ClassClonerTestResource.st - for safely testing class side behaviour
+ 3. DateAndTimeClockTest.st
+ 4. Improve Date And Time.2.cs
+ "fix begin"
+ Installer mantis bug: 474 fix: 'Improve Date And Time.6.cs'.
+ "fix test"
+ Installer mantis bug: 474 fix: 'ClassClonerTestResource.st'.
+ Installer mantis bug: 474 fix: 'DateAndTimeClockTest.st'.
+ Installer mantis bug: 474 fix: 'DateAndTimeTest-testReadFrom.st'.
+ Installer mantis bug: 474 fix: 'DateAndTime class-milliSecondsSinceMidnight.st'.
+ "fix end"
+ 
+ (0010812 - 122 - 122 - 122 - 122 - 122 - 122)
+ Keith_Hodges	06-13-07 22:09
+ Improve Date And Time.4.cs caches the LocalTimeZoneOffset value, since some chronology packages were slowing it down a lot
+ 
+ (0010907 - 78 - 84 - 84 - 84 - 84 - 84)
+ edgardec	07-21-07 09:26
+ This now is 7128Improve Date And Time.cs and was in updates for 3.10
+ Thanks !!
+ 
+ (0011295 - 191 - 191 - 191 - 191 - 191 - 191)
+ simon	10-10-07 23:06
+ Edgar, the files ClassClonerTestResource.st and DateAndTimeClockTest.st above provide five tests for DateAndTimeClock, would you mind harvesting these also ? Any tests for this seem valuable.
+ 
+ (0011299 - 69 - 69 - 69 - 69 - 69 - 69)
+ edgardec	10-11-07 09:44
+ I do. When I do the update. Sorry I forget change state of bug report
+ 
+ (0011375 - 247 - 295 - 295 - 295 - 295 - 295)
+ Keith_Hodges	10-24-07 13:12
+ edited on: 10-24-07 14:16	The millisecond clock wraparound is incorrectly set at SmallInteger maxVal, it should be (so I am informed) SmallInteger maxVal // 2.
+ Method effected #millisecondSinceMidnight
+ Adjusted version of this method is now uploaded. (for 7143)
+ 
+ (0011377 - 316 - 438 - 438 - 438 - 438 - 438)
+ edgardec	10-24-07 13:54
+ OK. I change status to feedback.
+ Keith I load the Improve Date And Time.6.cs and only see DateAndTime >> localOffset
+ "Answer the duration we are offset from UTC"
+ ^ LocalOffset ifNil:[ LocalOffset := self localTimeZone offset ]
+ and milliSecondsSinceMidnight as As difference with 7158
+ It's correct ?
+ 
+ (0012150 - 172 - 172 - 172 - 172 - 172 - 172)
+ KenCausey	05-23-08 23:49
+ I have harvested Keith's DateAndTime class-milliSecondsSinceMidnight.st as update 7174. I hope that finalizes this issue. Please let me know ASAP if that is not the case.
+ 
+ (0012173 - 15 - 15 - 15 - 15 - 15 - 15)
+ KenCausey	05-26-08 18:33
+ Fixed in 3.10.1
+ 
+ Files: #('DateAndTime3.st' 'Improve Date And Time.3.cs' 'Improve Date And Time.6.cs' 'Time.st' 'ClassClonerTestResource.st' 'Improve Date And Time.2.cs' 'DateAndTime class-milliSecondsSinceMidnight.st' 'DateAndTimeTest-testReadFrom.st' 'Improve Date And Time.5.cs' 'DateAndTime class-readFrom.1.st' 'DateAndTime class-readFrom.st' 'accurateDateAndTimeNow-brp.1.cs.gz' 'DateAndTimeClockTest.st' 'Improve Date And Time.1.cs' 'Improve Date And Time.4.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06696ScaledDecimalcanreadinbase (in category 'new-open') -----
+ m06696ScaledDecimalcanreadinbase
+ 
+  
+ "fix test"
+ Installer mantis bug: 6696 fix:'ScaledDecimalPrintStringBase-M6696-Test.2.cs'.
+ 
+ """"""
+ Bug ID: 0006696
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 09-24-07 23:45
+ Date Updated: 12-17-07 17:23
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006696: ScaledDecimal can read in base 16 but cannot print in base 16
+ Description: (20.0s1 printStringBase: 16) raise a debugger<br />
+ 'My subclass should have overridden #printOn:base:'
+ Additional Information: 
+ Notes: 
+ (0011194 - 133 - 157 - 541 - 541 - 541 - 541)
+ nicolas cellier	09-24-07 23:47
+ see also
+ http://bugs.squeak.org/view.php?id=4378 [^]
+ http://bugs.squeak.org/view.php?id=5693 [^]
+ http://bugs.squeak.org/view.php?id=6482 [^]
+ 
+ (0011195 - 141 - 141 - 141 - 141 - 141 - 141)
+ nicolas cellier	09-24-07 23:58
+ Please someone delete ScaledDecimalPrintStringBase-M6696-Test.1.cs (wrong manipulations in the Browser because of unresponsive Squeak image!!)
+ 
+ (0011196 - 717 - 787 - 787 - 787 - 787 - 787)
+ nicolas cellier	09-25-07 00:07
+ The tests has been written as if printing in another base makes sense.
+ However, I am not sure it does.
+ The intention of the class is to print a number of digits in base 10 after the decimal point.
+ What would it mean in another base? Should it print with same number of digits, or with a number of digits leading to equivalent precision?
+ Maybe a self shouldNotImplement would make sense.
+ Alternatively all the base stuff in Number could be removed too (it is either re-defined or irrelevant in subclasses)
+ On the other hand, different radix are allowed on input as 16r14.0s1, so what?
+ Should the radix used to input the number be an instVar (this number keep n digits after the "decimal" point in base r).
+ 
+ (0011198 - 125 - 131 - 259 - 259 - 259 - 259)
+ nicolas cellier	09-25-07 00:33
+ If ever corrected, then both printOn:base: AND storeOn:base: need being defined.
+ See http://bugs.squeak.org/view.php?id=6697 [^]
+ 
+ (0011565 - 117 - 176 - 176 - 176 - 176 - 176)
+ Keith_Hodges	12-17-07 17:23
+ "fix begin"
+ "fix test"
+ Installer mantis bug: 6696 fix:'ScaledDecimalPrintStringBase-M6696-Test.2.cs'.
+ "fix end"
+ 
+ Files: #('ScaledDecimalPrintStringBase-M6696-Test.1.cs' 'ScaledDecimalPrintStringBase-M6696-Test.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m04378ScaledDecimalstoreStringincor (in category 'new-open') -----
+ m04378ScaledDecimalstoreStringincor
+ 
+ Installer mantis ensureFix: '6796 A ScaledDecimal is a literal but not isLiteral'.
+ Installer mantis bug: 4378 fix:'ScaledDecimal-storeOn-M4378-nice-Patch.3.cs'.
+ "fix test"
+ Installer mantis bug: 4378 fix:'ScaledDecimal-storeOn-M4378-Test.2.cs'.
+ 
+ """"""
+ Bug ID: 0004378
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 08-04-06 01:15
+ Date Updated: 12-17-07 16:55
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0004378: ScaledDecimal storeString incorrectly use printOn: and loose exactness
+ Description: &quot;Both results should be 1.<br />
+ ScaledDecimal representations are exact<br />
+ (though only scale digits or fractional part are printed)&quot;<br />
+ <br />
+ self assert:<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;(Compiler evaluate: (0.5s1 squared storeString)) * 4<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;= (0.5s1 squared * 4)
+ Additional Information: I signalled the bug to vwnc list and it was suggested to store as<br />
+ 1 / 4.0s1<br />
+ <br />
+ storeString should be something like<br />
+ ('(' , faction numerator storeString , '/' , (fraction denominator storeString) , 's' , scale storeString , ')')<br />
+ <br />
+ storeOn: aStream<br />
+ &nbsp;&nbsp;aStream<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;nextPut: $(;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;store: fraction numerator;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;nextPut: $/;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;store: fraction denominator;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;nextPut: $s;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;store: scale;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;nextPut: $)<br />
+ Notes: 
+ (0010706 - 326 - 470 - 470 - 470 - 470 - 470)
+ nicolas cellier	05-11-07 22:24
+ Even if store patch is applied, a lot of methods implicitly rely on Number printOn: can be used in place of storeOn:
+ Example of wrong code:
+ | interval1 interval2 |
+ interval1 := (0 to: 1 by: 0.5s1 squared).
+ interval2 := Compiler evaluate: interval1 storeString.
+ {interval1 size. interval2 size}
+ will answer "#(5 6)"
+ 
+ (0011509 - 245 - 281 - 281 - 375 - 375 - 375)
+ nicolas cellier	12-03-07 20:09
+ edited on: 12-03-07 20:22	Ah, first patch could break some decompiler tests because ScaledDecimal would not storeOn: literaly.
+ A better patch is Patch.3.cs but it requires prerequisite patch from 0006796
+ (don't bother with Patch.2.cs, i forgot to accept the method)
+ 
+ (0011562 - 272 - 344 - 344 - 344 - 344 - 344)
+ Keith_Hodges	12-17-07 16:55
+ edited on: 01-18-08 09:38	"fix begin"
+ Installer mantis ensureFix: '6796 A ScaledDecimal is a literal but not isLiteral'.
+ Installer mantis bug: 4378 fix:'ScaledDecimal-storeOn-M4378-nice-Patch.3.cs'.
+ "fix test"
+ Installer mantis bug: 4378 fix:'ScaledDecimal-storeOn-M4378-Test.2.cs'.
+ "fix end"
+ 
+ Files: #('ScaledDecimal-storeOn-M4378-nice-Patch.2.cs' 'ScaledDecimal-storeOn-M4378-nice-Patch.3.cs' 'ScaledDecimal-storeOn-M4378-Test.2.cs' 'ScaledDecimal-storeOn-Patch.1.cs' 'ScaledDecimal-storeOn-Test.1.cs')!

Item was changed:
  TasksRelease subclass: #ReleaseAfterSqueak310
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'Tasks-Squeak310'!
  
+ !ReleaseAfterSqueak310 commentStamp: 'auto 12/7/2008 05:46' prior: 0!
+ self taskGenerate run.
- !ReleaseAfterSqueak310 commentStamp: 'kph 6/3/2008 03:11' prior: 0!
- self taskGenerateTestCandidate run.
  self taskCleanDeprecated run.
  self taskCleanExcess run.
  self taskCleanTests run.!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m0678100raisedTo10unexpectedr (in category 'new-open') -----
+ m0678100raisedTo10unexpectedr
+ 
+ Installer mantis bug: 6781 fix:'NumberRaisedTo-M6781-nice-patch.2.cs'.
+ "fix test"
+ Installer mantis bug: 6781 fix:'NumberRaisedTo-M6781-nice-test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006781
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 11-23-07 22:13
+ Date Updated: 12-17-07 16:36
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006781: 0.0 raisedTo: -1.0 unexpected result
+ Description: (0.0 raisedTo: -1) correctly raise a ZeroDivide<br />
+ <br />
+ while<br />
+ <br />
+ (0.0 raisedTo: -1.0) ... well, answer 0.0, hem...
+ Additional Information: 
+ Notes: 
+ (0011453 - 39 - 39 - 39 - 39 - 39 - 39)
+ nicolas cellier	11-23-07 22:14
+ Sorry Ken, forgot to classify Kernel...
+ 
+ (0011505 - 2010 - 3521 - 3521 - 3521 - 3521 - 3521)
+ nicolas cellier	12-01-07 18:06
+ edited on: 12-01-07 18:29	Note:
+ i checked what does C (libm.so.6) in these cases:
+ pow(negativeZero,zero) -> 1.0
+ correct
+ pow(0.0,0.0) -> 1.0
+ questionable could as well answer NaN or raise exception
+ possible rationale: pow(-1.0/exp(100.0),0.0) will answer 1.0
+ so does pow(+1.0/exp(100.0),0.0) (there is no Float positiveZero)
+ pow(zero,negativeZero) -> 1.0
+ could as well be a division by zero
+ pow(negativeZero,0.5) -> 0.0
+ could as well be NaN (a negative number raised to non integer power)
+ pow(negativeZero,1.0) -> -0.0
+ correct
+ pow(nan,0.0) -> 1.0
+ possibly a bug of libm. Squeak does the same
+ pow(0.0,nan) -> nan
+ Here squeak does answer zero...
+ pow(0.0,inf) -> 0.0
+ questionable could as well be nan
+ pow(inf,0.0) -> 1.0
+ questionable could as well be nan
+ Note that libm pow seems to also handle raisedToInteger: case...
+ patch.1.cs does not exactly the same for negativeZero, so I upload patch.2.cs
+ but this raise a lot of questions when pushing IEEE 754 logic to the borders...
+ what is really in the standard anyway?
+ #include <math.h>
+ #include <stdio.h>
+ int main() {
+ double nz=-1.0/exp(1.0e100);
+ double nan=0.0/0.0;
+ double inf=exp(100.0);
+ printf("1.0/-0.0=%f\n",1.0/nz);
+ printf("pow(0.0,0.0)=%f\n",pow(0.0,0.0));
+ printf("pow(0.0,-0.0)=%f\n",pow(0.0,nz));
+ printf("pow(-0.0,0.0)=%f\n",pow(nz,0.0));
+ printf("pow(-0.0,0.5)=%f\n",pow(nz,0.5));
+ printf("pow(-0.0,1.0)=%f\n",pow(nz,1.0));
+ printf("pow(-1.0,0.5)=%f\n",pow(-1.0,0.5));
+ printf("pow(nan,0.0)=%f\n",pow(nan,0.0));
+ printf("pow(0.0,nan)=%f\n",pow(0.0,nan));
+ printf("pow(0.0,-1.0)=%f\n",pow(0.0,-1.0));
+ printf("pow(-0.0,-1.0)=%f\n",pow(nz,-1.0));
+ printf("pow(0.0,inf)=%f\n",pow(0.0,inf));
+ printf("pow(0.0,-inf)=%f\n",pow(0.0,-inf));
+ printf("pow(inf,0.0)=%f\n",pow(inf,0.0));
+ printf("pow(-inf,0.0)=%f\n",pow(-inf,0.0));
+ return 0;
+ }
+ 
+ (0011518 - 341 - 365 - 365 - 365 - 365 - 365)
+ nicolas cellier	12-06-07 20:45
+ Number raisedTo: also has the bug.
+ Since Float>>#raisedTo: is one of the not-relicenced method (though nothing more than 99% copy-paste from super), the best thing is to simply remove it and arrange for super to return a Float when it has to (using ^self class one).
+ So pick NumberRaisedTo-M6781-nice-patch.2.cs and forget other patches.
+ 
+ (0011558 - 179 - 245 - 245 - 245 - 245 - 245)
+ Keith_Hodges	12-17-07 16:36
+ edited on: 12-17-07 17:08	"fix begin"
+ Installer mantis bug: 6781 fix:'NumberRaisedTo-M6781-nice-patch.2.cs'.
+ "fix test"
+ Installer mantis bug: 6781 fix:'NumberRaisedTo-M6781-nice-test.1.cs'.
+ "fix end"
+ 
+ Files: #('NumberRaisedTo-M6781-nice-test.1.cs' 'FloatRaisedTo-M6781-nice-test.1.cs' 'FloatRaisedTo-M6781-nice-patch.1.cs' 'FloatRaisedTo-M6781-nice-patch.2.cs' 'NumberRaisedTo-M6781-nice-patch.1.cs' 'NumberRaisedTo-M6781-nice-patch.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06873BUGisPowerOfTwoincorrectfo (in category 'new-open') -----
+ m06873BUGisPowerOfTwoincorrectfo
+ 
+ Installer mantis ensureFix: 6874.
+ "fix test"
+ Installer mantis bug: 6873 fix:'isPowerOfTwo-Test-M6873-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0006873
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 01-25-08 21:44
+ Date Updated: 01-26-08 01:55
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 
+ Summary: 0006873: [BUG] isPowerOfTwo incorrect for some LargeNegativeInteger
+ Description: negative SmallInteger are never powers of two. So far, so good.<br />
+ neither should LargeNegativeInteger be.<br />
+ <br />
+ Unfortunately some will answer true to isPowerOfTwo, like:<br />
+ <br />
+ &nbsp;&nbsp;(31 to: 111 by: 8) allSatisfy: [:n | (2 raisedTo: n) negated isPowerOfTwo]<br />
+ <br />
+ Just too bad...<br />
+ One more case of algorithm correct in restricted area but not in general case...
+ Additional Information: <br />
+ Cure is easy, override isPowerOfTwo in LargeNegativeInteger to simply ^false
+ Notes: 
+ (0011711 - 173 - 227 - 227 - 227 - 227 - 227)
+ nicolas cellier	01-25-08 22:05
+ "fix begin"
+ Installer mantis bug: 6873 fix:'isPowerOfTwo-Patch-M6873-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 6873 fix:'isPowerOfTwo-Test-M6873-nice.1.cs'.
+ "fix end"
+ 
+ (0011712 - 198 - 234 - 234 - 315 - 315 - 315)
+ nicolas cellier	01-26-08 00:07
+ edited on: 01-26-08 01:57	Now i think algorithm was correct.
+ What is incorrect is #bitAnd: implemented in #digitLogic:op:length:
+ So my patch is only a workaround against a symptom...
+ forget the patch and look at 0006874
+ 
+ (0011715 - 138 - 192 - 192 - 192 - 192 - 192)
+ nicolas cellier	01-26-08 01:55
+ "fix begin"
+ Installer mantis ensureFix: 6874.
+ "fix test"
+ Installer mantis bug: 6873 fix:'isPowerOfTwo-Test-M6873-nice.1.cs'.
+ "fix end"
+ 
+ Files: #('isPowerOfTwo-Test-M6873-nice.1.cs' 'isPowerOfTwo-Patch-M6873-nice.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m05331abcbeginsWithabasWideSt (in category 'new-open') -----
+ m05331abcbeginsWithabasWideSt
+ 
+ Installer mantis ensureFix: 3574.
+ Installer mantis ensureFix: 6366.
+ Installer mantis ensureFix: 6367.
+ Installer mantis bug: 5331 fix:'beginsWithWideStringPatch.1.cs'.
+ "fix test"
+ Installer mantis bug: 5331 fix:'WideString-OrderRelation-Test.2.cs'.
+ Installer mantis bug: 5331 fix:'WideString-beginsWith-Test.1.cs'.
+ Installer mantis bug: 5331 fix:'WideString-compare-Test.2.cs'.
+ Installer mantis bug: 5331 fix:'WideString-endsWith-Test.1.cs'.
+ Installer mantis bug: 5331 fix:'WideString-match-Test.2.cs'.
+ 
+ """"""
+ Bug ID: 0005331
+ Category: [Squeak] Collections
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 10-31-06 03:47
+ Date Updated: 03-24-08 22:09
+ Reporter: johnmci
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0005331: 'abc' beginsWith: 'ab' asWideString   (returns wrong result)
+ Description: Given<br />
+ 'abc' match: 'abc' asWideString  true<br />
+ 'abc' asWideString match: 'abc' true  <br />
+ 'abc' = 'abc' asWideString  true<br />
+ 'abc' asWideString = 'abc'   true<br />
+ 'abc' asWideString beginsWith: 'ab'   true<br />
+ <br />
+ then likly<br />
+ 'abc' beginsWith: 'ab' asWideString  false<br />
+ is wrong
+ Additional Information: likely more tests are needed<br />
+ <br />
+ testStringWideString<br />
+ <br />
+ self assert: 'abc' = 'abc'.<br />
+ self assert: 'abc' = 'abc' asWideString.<br />
+ self assert: 'abc' asWideString = 'abc'.<br />
+ self assert: 'abc' asWideString = 'abc' asWideString.<br />
+ self assert: ('abc' = 'ABC') not.<br />
+ self assert: ('abc' = 'ABC' asWideString) not.<br />
+ self assert: ('abc' asWideString = 'ABC') not.<br />
+ self assert: ('abc' asWideString = 'abc' asWideString).<br />
+ self assert: ((ByteArray with: 97 with: 0 with: 0 with: 0) asString ~= 'a000' asWideString).<br />
+ self assert: ('a000' asWideString ~= (ByteArray with: 97 with: 0 with: 0 with: 0) asString).<br />
+ <br />
+ self assert: ('abc' sameAs: 'aBc' asWideString).<br />
+ self assert: ('aBc' asWideString sameAs: 'abc').<br />
+ self assert: ((ByteArray with: 97 with: 0 with: 0 with: 0) asString sameAs: 'Abcd' asWideString) not.<br />
+ self assert: ('a000' asWideString sameAs: (ByteArray with: 97 with: 0 with: 0 with: 0) asString) not.<br />
+ <br />
+ self assert: ('abc' beginsWith: 'ab').<br />
+ self assert: ('abc' beginsWith: 'ab' asWideString).<br />
+ self assert: ('abc' asWideString beginsWith: 'ab').<br />
+ self assert: ('abc' beginsWith: 'aX') not .<br />
+ self assert: ('abc' beginsWith: 'AB') not.<br />
+ self assert: ('abc' beginsWith: 'AB' asWideString) not .<br />
+ self assert: ('ABC' asWideString beginsWith: 'ab') not. <br />
+ <br />
+ self assert: ('abc' endsWith: 'bc').<br />
+ self assert: ('abc' endsWith: 'bc' asWideString).<br />
+ self assert: ('abc' asWideString endsWith: 'bc').<br />
+ self assert: ('abc' endsWith: 'bX') not .<br />
+ self assert: ('abc' endsWith: 'BC') not.<br />
+ self assert: ('abc' endsWith: 'BC' asWideString) not .<br />
+ self assert: ('ABC' asWideString endsWith: 'bc') not. <br />
+ <br />
+ <br />
+ <br />
+ self assert: ('ABC' caseInsensitiveLessOrEqual: 'abc').<br />
+ self assert: ('ABC' caseInsensitiveLessOrEqual: 'abd').<br />
+ self assert: ('ABD' caseInsensitiveLessOrEqual: 'abc') not.<br />
+ self assert: ('ABC' caseInsensitiveLessOrEqual: 'abc' asWideString).<br />
+ self assert: ('ABC' caseInsensitiveLessOrEqual: 'abd' asWideString).<br />
+ self assert: ('ABD' caseInsensitiveLessOrEqual: 'abc' asWideString) not.<br />
+ self assert: ('ABC' asWideString caseInsensitiveLessOrEqual: 'abc').<br />
+ self assert: ('ABC' asWideString caseInsensitiveLessOrEqual: 'abd').<br />
+ self assert: ('ABD' asWideString caseInsensitiveLessOrEqual: 'abc') not.<br />
+ self assert: ('ABC' asWideString caseInsensitiveLessOrEqual: 'abc' asWideString).<br />
+ self assert: ('ABC' asWideString caseInsensitiveLessOrEqual: 'abd' asWideString).<br />
+ self assert: ('ABD' asWideString caseInsensitiveLessOrEqual: 'abc' asWideString) not.<br />
+ <br />
+ <br />
+ self assert: ('abc' caseSensitiveLessOrEqual: 'abc').<br />
+ self assert: ('abc' caseSensitiveLessOrEqual: 'abd').<br />
+ self assert: ('abd' caseSensitiveLessOrEqual: 'abc') not.<br />
+ self assert: ('abc' caseSensitiveLessOrEqual: 'abc' asWideString).<br />
+ self assert: ('abc' caseSensitiveLessOrEqual: 'abd' asWideString).<br />
+ self assert: ('abd' caseSensitiveLessOrEqual: 'abc' asWideString) not.<br />
+ self assert: ('abc' asWideString caseSensitiveLessOrEqual: 'abc').<br />
+ self assert: ('abc' asWideString caseSensitiveLessOrEqual: 'abd').<br />
+ self assert: ('abd' asWideString caseSensitiveLessOrEqual: 'abc') not.<br />
+ self assert: ('abc' caseSensitiveLessOrEqual: 'ABC') not.<br />
+ <br />
+ self assert: ('abc' charactersExactlyMatching: 'abc') = 3.<br />
+ self assert: ('abd' charactersExactlyMatching: 'abc') = 2.<br />
+ self assert: ('abc' charactersExactlyMatching: 'abc' asWideString) = 3.<br />
+ self assert: ('abd' charactersExactlyMatching: 'abc' asWideString) = 2.<br />
+ self assert: ('abc' asWideString charactersExactlyMatching: 'abc') = 3.<br />
+ self assert: ('abd' asWideString charactersExactlyMatching: 'abc') = 2.<br />
+ self assert: ('abc' asWideString charactersExactlyMatching: 'abc' asWideString) = 3.<br />
+ self assert: ('abd' asWideString charactersExactlyMatching: 'abc' asWideString)= 2.<br />
+ self assert: ('abc' charactersExactlyMatching: 'ABC') = 0.<br />
+ <br />
+ self assert: ('abc' compare: 'abc') = 2.<br />
+ self assert: ('abc' compare: 'abd') = 1.<br />
+ self assert: ('abd' compare: 'abc') = 3.<br />
+ self assert: ('abc' compare: 'abC') = 2.<br />
+ self assert: ('abc' compare: 'abD') = 1.<br />
+ self assert: ('abd' compare: 'abC') = 3.<br />
+ self assert: ('aBc' compare: 'abC') = 2.<br />
+ self assert: ('aBc' compare: 'abD') = 1.<br />
+ self assert: ('aDd' compare: 'abC') = 3.<br />
+ <br />
+ <br />
+ self assert: ('abc' compare: 'abc' asWideString) = 2.<br />
+ self assert: ('abc' compare: 'abd' asWideString) = 1.<br />
+ self assert: ('abd' compare: 'abc' asWideString) = 3.<br />
+ self assert: ('abc' compare: 'abC' asWideString) = 2.<br />
+ self assert: ('abc' compare: 'abD' asWideString) = 1.<br />
+ self assert: ('abd' compare: 'abC' asWideString) = 3.<br />
+ self assert: ('aBc' compare: 'abC' asWideString) = 2.<br />
+ self assert: ('aBc' compare: 'abD' asWideString) = 1.<br />
+ self assert: ('aDd' compare: 'abC' asWideString) = 3.<br />
+ <br />
+ self assert: ('abc' asWideString compare: 'abc') = 2.<br />
+ self assert: ('abc' asWideString compare: 'abd') = 1.<br />
+ self assert: ('abd' asWideString compare: 'abc') = 3.<br />
+ self assert: ('abc' asWideString compare: 'abC') = 2.<br />
+ self assert: ('abc' asWideString compare: 'abD') = 1.<br />
+ self assert: ('abd' asWideString compare: 'abC') = 3.<br />
+ self assert: ('aBc' asWideString compare: 'abC') = 2.<br />
+ self assert: ('aBc' asWideString compare: 'abD') = 1.<br />
+ self assert: ('aDd' asWideString compare: 'abC') = 3.<br />
+ <br />
+ self assert: ('abc' asWideString compare: 'abc' asWideString) = 2.<br />
+ self assert: ('abc'  asWideString compare: 'abd' asWideString) = 1.<br />
+ self assert: ('abd'  asWideString compare: 'abc' asWideString) = 3.<br />
+ self assert: ('abc'  asWideString compare: 'abC' asWideString) = 2.<br />
+ self assert: ('abc'  asWideString compare: 'abD' asWideString) = 1.<br />
+ self assert: ('abd'  asWideString compare: 'abC' asWideString) = 3.<br />
+ self assert: ('aBc'  asWideString compare: 'abC' asWideString) = 2.<br />
+ self assert: ('aBc'  asWideString compare: 'abD' asWideString) = 1.<br />
+ self assert: ('aDd'  asWideString compare: 'abC' asWideString) = 3.<br />
+ <br />
+ self assert: ('abc' compare: 'abc' caseSensitive: true) = 2.<br />
+ self assert: ('abc' compare: 'abC' caseSensitive: false) = 2.<br />
+ self assert: ('abc' compare: 'abc' asWideString caseSensitive: true) = 2.<br />
+ self assert: ('abc' compare: 'abC' asWideString caseSensitive: false) = 2.<br />
+ self assert: ('abc' asWideString compare: 'abc' caseSensitive: true) = 2.<br />
+ self assert: ('abc' asWideString compare: 'abC' caseSensitive: false) = 2.<br />
+ self assert: ('abc' asWideString compare: 'abc' asWideString caseSensitive: true) = 2.<br />
+ self assert: ('abc' asWideString compare: 'abC' asWideString caseSensitive: false) = 2.<br />
+ <br />
+ self assert: ('*baz'		match: 'mobaz' ).<br />
+ self assert: ('*foo#zort'	match: 'afoo3zortthenfoo3zort' ).<br />
+ self assert: ('*baz'		match: 'mobaz' ).<br />
+ self assert: ('*foo#zort'	match: 'afoo3zortthenfoo3zort' ).<br />
+ <br />
+ self assert: ('*baz'		match: 'mobaz' asWideString).<br />
+ self assert: ('*foo#zort'	match: 'afoo3zortthenfoo3zort' asWideString).<br />
+ self assert: ('*baz'		match: 'mobaz' asWideString).<br />
+ self assert: ('*foo#zort'	match: 'afoo3zortthenfoo3zort' asWideString).<br />
+ <br />
+ self assert: ('*baz'	asWideString	match: 'mobaz' ).<br />
+ self assert: ('*foo#zort' asWideString	match: 'afoo3zortthenfoo3zort' ).<br />
+ self assert: ('*baz'	asWideString	match: 'mobaz' ).<br />
+ self assert: ('*foo#zort' asWideString	match: 'afoo3zortthenfoo3zort' ).<br />
+ <br />
+ self assert: ('*baz'	asWideString	match: 'mobaz' asWideString).<br />
+ self assert: ('*foo#zort' asWideString	match: 'afoo3zortthenfoo3zort' asWideString).<br />
+ self assert: ('*baz'	asWideString	match: 'mobaz' asWideString).<br />
+ self assert: ('*foo#zort' asWideString	match: 'afoo3zortthenfoo3zort' asWideString).<br />
+ <br />
+ <br />
+ self assert: ('aa' &lt; 'ab').<br />
+ self assert: ('aa' &lt;= 'ab').<br />
+ self assert: ('aa' &lt;= 'aa').<br />
+ self assert: ('ab' &gt; 'aa').<br />
+ self assert: ('ab' &gt;= 'aa').<br />
+ self assert: ('aa' &gt;= 'aa').<br />
+ <br />
+ self assert: ('aa' &lt; 'ab' asWideString).<br />
+ self assert: ('aa' &lt;= 'ab' asWideString).<br />
+ self assert: ('aa' &lt;= 'aa' asWideString).<br />
+ self assert: ('ab' &gt; 'aa' asWideString).<br />
+ self assert: ('ab' &gt;= 'aa' asWideString).<br />
+ self assert: ('aa' &gt;= 'aa' asWideString).<br />
+ <br />
+ self assert: ('aa' asWideString &lt; 'ab').<br />
+ self assert: ('aa' asWideString &lt;= 'ab').<br />
+ self assert: ('aa' asWideString &lt;= 'aa').<br />
+ self assert: ('ab' asWideString &gt; 'aa').<br />
+ self assert: ('ab' asWideString &gt;= 'aa').<br />
+ self assert: ('aa' asWideString &gt;= 'aa').<br />
+ <br />
+ self assert: ('aa' asWideString&lt; 'ab' asWideString).<br />
+ self assert: ('aa' asWideString&lt;= 'ab' asWideString).<br />
+ self assert: ('aa' asWideString&lt;= 'aa' asWideString).<br />
+ self assert: ('ab' asWideString&gt; 'aa' asWideString).<br />
+ self assert: ('ab' asWideString &gt;= 'aa' asWideString).<br />
+ self assert: ('aa' asWideString&gt;= 'aa' asWideString).<br />
+ <br />
+ Notes: 
+ (0010462 - 1235 - 1460 - 1460 - 1460 - 1460 - 1460)
+ nicolas cellier	03-22-07 23:16
+ edited on: 03-22-07 23:17	Other noticeable points:
+ =======================
+ 1) even if WideString receiver case is correct, it is incredibly inefficient. current implementation will search the substring argument not only at beginning but will scan the full receiver string... to finally reject it because it has not been found at index 1...
+ Even in the pure ByteString case, primitive will not be faster than super over a hundred of unmatched characters.
+ 2) findSubstring:in:startingAt:matching: is a utility not using self and should therefore be implemented in class side
+ 3) findSubstring:in:startingAt:matching: should fail the primitive in case the argument is a WideString instead of doing incorrect job
+ Actions to be taken:
+ ===================
+ 1) RESOLVE SLOWNESS
+ user super beginsWith: in the wide case to gain efficiency
+ either restrict use with a test, or implement only in Byte subclasses
+ 2) SOLVE PRIMITIVE BUG
+ cure the findSubstring:in:startingAt:matching: with something like (key class isBytes and: [body class isBytes]) ifFalse: [^self primitiveFail])
+ A partial Patch:
+ ===============
+ I move beginsWith: in ByteString and ByteSymbol to solve 1)
+ TODO:
+ ====
+ To solve 2) for Slang and VMMaker gurus...
+ 
+ (0010464 - 698 - 918 - 918 - 918 - 918 - 918)
+ andreas	03-23-07 06:39
+ Nice tests, thank you. I would propose the following fixes:
+ 1) For beginsWith: and endsWith: I would use
+ String>>beginsWith: prefix
+ "..."
+ prefix class == self class ifFalse:[^super beginsWith: prefix].
+ "..."
+ This avoids extra methods and the comment can be put there to explain what is going on.
+ 2) For the comparisons I would recomment implementing:
+ ByteString>>compare: aString caseSensitive: aBool
+ "Bounce the comparison off to the argument to fix some wide vs. byte string comparisons"
+ | map |
+ map := aBool ifTrue:[CaseSensitiveOrder] ifFalse:[CaseInsensitiveOrder].
+ ^4 - (aString compare: aString with: self collated: map)
+ With those fixes, the tests pass.
+ 
+ (0010483 - 759 - 945 - 945 - 945 - 945 - 945)
+ nicolas cellier	03-30-07 17:33
+ edited on: 03-30-07 17:35	Hi Andreas
+ Testing (self class==prefix class) is far better than my first attempt,
+ however, I do not entirely agree with your solution,
+ BECAUSE:
+ 1) above tests are icomplete because there is no Wide Character in these WideString
+ 2) WideString beginsWith: WideString can fail with your patch (see below, and note it does not fail with my patch applied)
+ 3) WideString beginsWith: WideString is still incredibly slow when answer is false
+ | w1 w2 |
+ w1 := WideString with: 402 asCharacter with: $a with: 400 asCharacter with: $b.
+ w2 := WideString with: 402 asCharacter.
+ "this one fails with your patch"
+ w1 beginsWith: w2.
+ "this one fails, not yet addressed by our patches - action 2) above"
+ w1 findString: w2 startingAt: 1.
+ Cheers
+ 
+ (0010940 - 280 - 310 - 310 - 310 - 310 - 310)
+ nicolas cellier	07-27-07 20:47
+ Finalmente,
+ (self class==prefix class) is bad because ByteString ~= ByteSymbol
+ (self class isBytes = prefix class isBytes) is possible, but weak, because it relies on having only two possibilities, bytes or not bytes.
+ Would be broken in case of String8 String16 String32...
+ 
+ (0010943 - 422 - 464 - 976 - 976 - 976 - 976)
+ nicolas cellier	07-28-07 21:33
+ All proposed WideString-*-Test.*.cs pass if you apply following patches:
+ http://bugs.squeak.org/view.php?id=5331 [^] beginsWithWideStringPatch.1.cs
+ http://bugs.squeak.org/view.php?id=6367 [^] WideString-substrings-Test.1.cs
+ http://bugs.squeak.org/view.php?id=6366 [^] Collection-WideString-findSubstring-Patch.1.cs
+ http://bugs.squeak.org/view.php?id=3574 [^] Collection-String-IndexOf-Patch.3.cs last one is already in 3.10 7137
+ 
+ (0011954 - 535 - 643 - 643 - 643 - 643 - 643)
+ nicolas cellier	03-24-08 22:09
+ edited on: 04-06-08 16:44	"fix begin"
+ Installer mantis ensureFix: 3574.
+ Installer mantis ensureFix: 6366.
+ Installer mantis ensureFix: 6367.
+ Installer mantis bug: 5331 fix:'beginsWithWideStringPatch.1.cs'.
+ "fix test"
+ Installer mantis bug: 5331 fix:'WideString-OrderRelation-Test.2.cs'.
+ Installer mantis bug: 5331 fix:'WideString-beginsWith-Test.1.cs'.
+ Installer mantis bug: 5331 fix:'WideString-compare-Test.2.cs'.
+ Installer mantis bug: 5331 fix:'WideString-endsWith-Test.1.cs'.
+ Installer mantis bug: 5331 fix:'WideString-match-Test.2.cs'.
+ "fix end"
+ 
+ Files: #('WideString-compare-Test.2.cs' 'WideString-OrderRelation-Test.2.cs' 'beginsWithWideStringPatch.1.cs' 'WideString-beginsWith-Test.1.cs' 'WideString-match-Test.2.cs' 'WideString-endsWith-Test.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07007togglebreakonentryfromme (in category 'new-open') -----
+ m07007togglebreakonentryfromme
+ 
+ Installer mantis bug: 7007 fix:'BreakPointManager_installInClassselector_Patch_M7007_nice.1.cs'.
+ "fix test".
+ 
+ """"""
+ Bug ID: 0007007
+ Category: [Squeak] Debugger
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 04-10-08 00:57
+ Date Updated: 04-13-08 17:58
+ Reporter: kbrown
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0007007: 'toggle break on entry' from method list pane doesn't work
+ Description: setting 'toggle break on entry' from the method list pane results in no highlight coloring, no annotation and also does not break.<br />
+ <br />
+ Additional Information: Operates the same way in sq3.10-7159dev08.04.1 as well as also reported by Stephen Pair to do the same in a 3.9 image
+ Notes: 
+ (0011999 - 141 - 141 - 141 - 272 - 272 - 272)
+ Damien Cassou	04-11-08 10:53
+ Nicolas Cellier made the following comment in report 0007008. I think his comment and patch apply here. I've attached his patch to this report.
+ 
+ (0012004 - 152 - 152 - 152 - 152 - 152 - 152)
+ kbrown	04-11-08 16:08
+ I don't see that this works yet, as well, the annotation for the method where the breakpoint has been set is not there in the debugger method list pane.
+ 
+ (0012006 - 693 - 747 - 747 - 747 - 747 - 747)
+ nicolas cellier	04-11-08 19:20
+ Hi Ken,
+ This patch is necessary so that the method with breakpoint be installed at the right place (in instance side instead of installing it on class side, or eventually in Metaclass if the method was yet on class side).
+ If you apply the patch, the break point will break normally.
+ This patch wont address any UI problem.
+ Though, the debugger opens with method emphasized bold with a [break] extension in stack list when a breakpoint is encountered.
+ If you toggle the breakpoint from within the debugger, the stack list is not updated and this new breakpoint is not emphasized. Toggle off from Debugger, and the Debugger won't display method source (or display it in a flash...).
+ 
+ (0012010 - 133 - 181 - 181 - 181 - 181 - 181)
+ nicolas cellier	04-11-08 20:34
+ "fix begin"
+ Installer mantis bug: 7007 fix:'BreakPointManager_installInClassselector_Patch_M7007_nice.1.cs'.
+ "fix test".
+ "fix end"
+ 
+ (0012016 - 112 - 124 - 124 - 124 - 124 - 124)
+ kbrown	04-11-08 21:44
+ Refer to 0007008 as well. There was some sort of issue with this fix not getting into my image.
+ Now it works!!
+ 
+ Files: #('BreakPointManager_installInClassselector_Patch_M7007_nice.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06805Timenowsecondsreturnsafrac (in category 'closed-fixed') -----
+ m06805Timenowsecondsreturnsafrac
+ 
+ Installer mantis bug: 6805 fix: 'Mantis6805-FixTimeNowSeconds.1.cs'.
+ 
+ """"""
+ Bug ID: 0006805
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 12-08-07 21:41
+ Date Updated: 05-24-08 14:14
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: KenCausey
+ Priority: normal
+ Resolution: fixed
+ Status: closed
+ Product Version: 3.10
+ Summary: 0006805: Time now seconds returns a fraction.
+ Description: Before Squeak 3.10<br />
+ <br />
+ Time now seconds.<br />
+ <br />
+ returned a SmallInteger.<br />
+ <br />
+ Now it returns a Fraction.
+ Additional Information: 
+ Notes: 
+ (0011520 - 92 - 124 - 124 - 124 - 124 - 124)
+ Keith_Hodges	12-08-07 21:49
+ "fix begin"
+ Installer mantis bug: 6805 fix: 'Mantis6805-FixTimeNowSeconds.1.cs'.
+ "fix end"
+ 
+ (0012085 - 50 - 62 - 62 - 191 - 191 - 191)
+ KenCausey	05-12-08 20:35
+ edited on: 05-12-08 20:35	See 0007036 for a proposed fix intended for 3.10.1
+ 
+ (0012158 - 44 - 44 - 44 - 173 - 173 - 173)
+ KenCausey	05-24-08 14:14
+ This issue was separately addressed in 0007036
+ 
+ Files: #('Mantis6805-FixTimeNowSeconds.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310Unstable>>m06466LazyListMorphlistChagedfixupl (in category 'new-open') -----
+ m06466LazyListMorphlistChagedfixupl
+ 
+ Installer mantis bug: 6466 fix:  'LazyListMorph-listChanged.st'.
+ 
+ """"""
+ Bug ID: 0006466
+ Category: [Squeak] Morphic
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 05-06-07 15:02
+ Date Updated: 05-07-07 18:24
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006466: LazyListMorph-listChaged fixuploaded to squeak-dev
+ Description: This fixes the fact that some list morphs need to be resized in order to be used, this is particularly noticable in 3.9 buy opening a PackagePaneBrowser, the left hand list is not scrollable.
+ Additional Information: 
+ Notes: 
+ (0010668 - 88 - 120 - 120 - 120 - 120 - 120)
+ Keith_Hodges	05-06-07 15:03
+ "fix begin"
+ Installer mantis bug: 6466 fix: 'LazyListMorph-listChanged.st'.
+ "fix end"
+ 
+ (0010669 - 427 - 475 - 475 - 475 - 475 - 475)
+ wiz	05-06-07 20:54
+ Hi Keith,
+ Tried it. Fix works for PackagePaneBrowsers.
+ I did notice that the fileout uses unix line endings (lfs) which made the source look like it was all on one line on my Mac.
+ I am also wondering what an appropriate test would be. Genning up a package browser and mucking around in its package list looking at scrollbars would seem to be excessive. I wonder if there is an easier way to demostrate the problem.
+ 
+ (0010670 - 11 - 11 - 11 - 11 - 11 - 11)
+ KenCausey	05-07-07 18:24
+ categorized
+ 
+ Files: #('LazyListMorph-listChanged.st')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m05640additionaltestsandfixesfor (in category 'new-open') -----
+ m05640additionaltestsandfixesfor
+ 
+ Installer mantis bug: 5640 fix:'Number-printShowingDecimalPlace-Patch-M5640-nice.2.cs'.
+ "fix test"
+ Installer mantis bug: 5640 fix:'Number-printShowingDecimalPlace-Test-M5640-nice.2.cs'.
+ 
+ """"""
+ Bug ID: 0005640
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 12-15-06 06:33
+ Date Updated: 09-16-08 21:22
+ Reporter: franksergeant
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0005640: additional tests and fixes for Number&gt;&gt;printShowingDecimalPlaces:
+ Description: I noticed three problems with Number&gt;&gt;printShowingDecimalPlaces:<br />
+ <br />
+ &nbsp;1. the leading minus sign was missing for negative numbers between 0 and -1,<br />
+ &nbsp;2. rounding was screwy for both negative and positive numbers,<br />
+ &nbsp;3. the category of the method is 'converting' but should be 'printing'.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;<br />
+ I have added several tests to NumberTest&gt;&gt;testPrintShowingDecimalPlaces to<br />
+ illustrate the problems.  I included a test for the category in the<br />
+ tests and changed the category from 'converting' to 'printing' (but<br />
+ left it commented out?  Feel free to email me to explain what I should have<br />
+ done if different -- <a href="mailto:frank at pygmy.utoh.org.<br">frank at pygmy.utoh.org.<br</a> />
+ <br />
+ Then, I modified Number&gt;&gt;printShowingDecimalPlaces: so the old and the new tests of NumberTest pass.<br />
+ Additional Information: In particular, <br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-0.98 printShowingDecimalPlaces: 2<br />
+ <br />
+ fails to show the minus sign, and<br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.567 printShowingDecimalPlaces: 2<br />
+ <br />
+ answers '2.56' but should answer '2.57'.<br />
+ <br />
+ The new version of #printShowingDecimalPlaces attached fixes those problems and still passes the other NumberTest tests.<br />
+ <br />
+ <br />
+ &nbsp;
+ Notes: 
+ (0009796 - 519 - 597 - 597 - 597 - 597 - 597)
+ franksergeant	02-14-07 22:00
+ edited on: 02-14-07 22:01	Scott Wallace pointed out that the version of #printShowingDecimalPlaces: in fcsPrintShowingDecimals.cs.gz (15 Dec 2006) fails in cases such as
+ '0.01' printShowingDecimalPlaces: 2
+ I added an additional test for that and also a test for the case where the sign of the result should be different from the sign of the original number, e.g.
+ '-0.001' printShowingDecimalPlaces: 2
+ Then I simplified the method considerably, and again all its tests pass. This newer version is fcsPrintShowingDecimals.3.cs.gz.
+ 
+ (0010524 - 294 - 318 - 318 - 318 - 318 - 318)
+ user291	04-11-07 16:27
+ I was having problems with: (953/100) printShowingDecimalPlaces: 2
+ in Squeak 3.9 7067. The 3.9 version prodces 9.52 but the correct result should be 9.53. The fcsNumberPrintShowingDecimals.3.cs.gz change set fixed this problem and hasn't caused me any problems in my development image.
+ 
+ (0011456 - 204 - 372 - 372 - 372 - 372 - 372)
+ nicolas cellier	11-24-07 00:43
+ I totally agree with second patch, though i would maybe write:
+ ^sign , (integerString
+ copyReplaceFrom: integerString size - placesDesired + 1
+ to: integerString size - placesDesired
+ with: '.').
+ 
+ (0011457 - 83 - 89 - 89 - 89 - 89 - 89)
+ edgardec	11-24-07 10:25
+ This now is 7157fcsPrintShowingDecimals.cs and was in 3.10 updates.
+ Thanks Frank !!
+ 
+ (0011951 - 921 - 1070 - 1070 - 1070 - 1070 - 1070)
+ nicolas cellier	03-24-08 14:35
+ edited on: 03-24-08 16:13	Unfortunately i can exhibit some failure tests.
+ First try this little overflow:
+ (1.0d306 printShowingDecimalPlaces: 3).
+ I can also build another case with an inexact rounding:
+ 5000000000000001.0 printShowingDecimalPlaces: 0. "-> 5000000000000002"
+ Above number is on 53 bits and thus represented exactly asFloat, it should therefore print exactly, but rounded algorithm is inexact....
+ Funnily, this number works with any other decimal places than 0.
+ I can exploit the Float rounded inexact operation to construct a test case that fails with more decimal places:
+ 50000000000001.25 printShowingDecimalPlaces: 2. "-> 50000000000001.26"
+ 50000000000001.25 is also represented exactly (200000000000005.0 timesTwoPower: -2, with 200000000000005 highBit -> 48).
+ The only way to do it exactly is to convert early to costly arithmetic:
+ self asTrueFraction roundTo: (10 raisedTo: placesDesired) reciprocal.
+ 
+ (0011952 - 211 - 265 - 265 - 265 - 265 - 265)
+ nicolas cellier	03-24-08 16:12
+ "fix begin"
+ Installer mantis bug: 5640 fix:'Number-printShowingDecimalPlace-Patch-M5640-nice.1.cs '
+ "fix test"
+ Installer mantis bug: 5640 fix:'Number-printShowingDecimalPlace-Test-M5640-nice.1.cs'.
+ "fix end"
+ 
+ (0012032 - 361 - 451 - 451 - 635 - 635 - 635)
+ nicolas cellier	04-23-08 22:46
+ edited on: 04-23-08 23:02	Arg, i blindly approved and copied the stupid padded right bug reported at 0007028 Here we go again...
+ test.2.cs also includes a test for 0007028
+ "fix begin"
+ Installer mantis bug: 5640 fix:'Number-printShowingDecimalPlace-Patch-M5640-nice.2.cs '
+ "fix test"
+ Installer mantis bug: 5640 fix:'Number-printShowingDecimalPlace-Test-M5640-nice.2.cs'.
+ "fix end"
+ 
+ (0012063 - 211 - 265 - 265 - 265 - 265 - 265)
+ Keith_Hodges	05-09-08 18:35
+ "fix begin"
+ Installer mantis bug: 5640 fix:'Number-printShowingDecimalPlace-Patch-M5640-nice.2.cs'.
+ "fix test"
+ Installer mantis bug: 5640 fix:'Number-printShowingDecimalPlace-Test-M5640-nice.2.cs'.
+ "fix end"
+ 
+ (0012672 - 125 - 131 - 131 - 223 - 223 - 223)
+ nicolas cellier	09-16-08 21:22
+ I suggest this issue be closed (if harvested in 7157 as announced).
+ Any follow-up discussion should then take place at 0007028
+ 
+ Files: #('Number-printShowingDecimalPlace-Test-M5640-nice.1.cs' 'Number-printShowingDecimalPlace-Patch-M5640-nice.1.cs' 'Number-printShowingDecimalPlace-Patch-M5640-nice.2.cs' 'fcsPrintShowingDecimals.cs.gz' 'fcsNumberPrintShowingDecimals.3.cs.gz' 'Number-printShowingDecimalPlace-Test-M5640-nice.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06456BUGIntervalofFloatdoinf (in category 'new-open') -----
+ m06456BUGIntervalofFloatdoinf
+ 
+ Installer mantis bug: 6456 fix:'Interval-InfiniteLoop-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6456 fix:'Interval-InfiniteLoop-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006456
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 04-29-07 19:45
+ Date Updated: 02-02-08 20:57
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006456: [BUG] Interval of Float do: infinite loop
+ Description: A very simple example:<br />
+ <br />
+ | x |<br />
+ x := (1.0 timesTwoPower: 53).<br />
+ (x to: x + 2) size.<br />
+ x to: x+2 do: [:i | Transcript cr; show: i printString]
+ Additional Information: do: should be defined with this arithmetic inside loop:<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;value := start + (n * step)<br />
+ that would be compatible both with size and at:<br />
+ rather than:<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;value := value + step<br />
+ <br />
+ Same for reverseDo:<br />
+ This is related to bugs 1602, 1603, 6438, 6455<br />
+ <br />
+ If one will argue not to use Float, I answer in advance why don't you remove Float from the image?
+ Notes: 
+ (0010630 - 341 - 407 - 407 - 407 - 407 - 407)
+ wiz	04-29-07 22:16
+ another data point:
+ on my system ( iMac 400Hz running Os9.1 SqVM3.8.9b7 and 3.9 7067)
+ the above example does not infinitly loop. (It actual does not iterations inside the do.
+ (x - 2 to: x) do: [:i | Transcript cr; show: i printString]	on the other hand does loop infinitely.
+ Yours in curiosity and service, --Jerome Peace
+ 
+ (0010633 - 195 - 213 - 213 - 213 - 213 - 213)
+ nicolas cellier	04-30-07 16:55
+ Hi Jerome.
+ Very strange, i thought Squeak did strict IEEE 754 double precision and would execute bit-wise whatever the machine.
+ You can also increase intervak size (x to: x+4) or (x to: x+8).
+ 
+ (0010655 - 348 - 428 - 428 - 428 - 428 - 428)
+ nicolas cellier	05-03-07 23:40
+ As noted on vwnc list, another detail is that optimized to:do: loop still use the:
+ value := value + step
+ So once the patch is loaded, you obtain a non null count with this one:
+ | eps count |
+ eps := 1.0 timesTwoPower: -52.
+ count := 0.
+ 1 + eps to: 2 do: [:x | count := count + 1].
+ (1 + eps to: 2) do: [:x | count := count - 1].
+ ^count
+ 
+ (0011731 - 169 - 223 - 223 - 223 - 223 - 223)
+ nicolas cellier	02-02-08 20:57
+ "fix begin"
+ Installer mantis bug: 6456 fix:'Interval-InfiniteLoop-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6456 fix:'Interval-InfiniteLoop-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('Interval-InfiniteLoop-Test.1.cs' 'Interval-InfiniteLoop-Patch.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06778SkipListcopyisshallow (in category 'new-open') -----
+ m06778SkipListcopyisshallow
+ 
+ Installer mantis bug: 6778 fix:'SkipList-copy-Patch-M6778-nice.2.cs'.
+ "fix test".
+ Installer mantis bug: 6778 fix:'SkipList-copy-Test-M6778-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0006778
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 11-20-07 01:07
+ Date Updated: 03-26-08 23:29
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006778: SkipList copy is shallow
+ Description: &quot;changing the copy changes the original&quot;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;| original copy |<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;original := SkipList new.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;original at: 3 put: '3333'.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;copy := original copy.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;copy remove: 3.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;self assert: (original includes: 3).<br />
+ Additional Information: same as <a href="view.php?id=6777" title="[new] [BUG] CharacterSet copy is shallow...">0006777</a>
+ Notes: 
+ (0011959 - 176 - 230 - 230 - 230 - 230 - 230)
+ nicolas cellier	03-26-08 22:59
+ "fix begin"
+ Installer mantis bug: 6778 fix:'SkipList-copy-Patch-M6778-nice.1.cs'.
+ "fix test".
+ Installer mantis bug: 6778 fix:'SkipList-copy-Test-M6778-nice.1.cs'.
+ "fix end"
+ 
+ (0011960 - 232 - 320 - 320 - 320 - 320 - 320)
+ nicolas cellier	03-26-08 23:26
+ edited on: 09-16-08 20:59	"Ah, my first patch is bad, i forgot sortBlock..."
+ "fix begin"
+ Installer mantis bug: 6778 fix:'SkipList-copy-Patch-M6778-nice.2.cs'.
+ "fix test".
+ Installer mantis bug: 6778 fix:'SkipList-copy-Test-M6778-nice.1.cs'.
+ "fix end"
+ 
+ Files: #('SkipList-copy-Test-M6778-nice.1.cs' 'SkipList-copy-Patch-M6778-nice.1.cs' 'SkipList-copy-Patch-M6778-nice.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06732Undopolygonpaintingcausedrw (in category 'confirmed-open') -----
+ m06732Undopolygonpaintingcausedrw
+ 
+ Installer mantis bug: 6732 fix:'SketchPolygonUndo-M6732-Patch.2.cs'.
+ "fix test"
+ 
+ """"""
+ Bug ID: 0006732
+ Category: [Squeak] Etoys
+ Severity: feature
+ Reproducibility: always
+ Date Submitted: 10-15-07 15:51
+ Date Updated: 01-11-08 21:42
+ Reporter: valente
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: confirmed
+ Product Version: 3.9
+ Summary: 0006732: Undo polygon painting cause drwaing not functioning anymore
+ Description: When using the polygon tool of the paintbox, in Squeak 3.9, if we hit the undo botton, the tool dont draws anymore. But if we close de paint area and edit it again, the paint tool polygon came back functional.
+ Additional Information: OS: XP and Vista 32 bits
+ Notes: 
+ (0011326 - 131 - 155 - 155 - 155 - 155 - 155)
+ wiz	10-15-07 18:31
+ What did you do to before the undo button.
+ Please describe from a fresh image exactly how to get to the problem.
+ Cheers, -Jer
+ 
+ (0011327 - 333 - 339 - 339 - 339 - 339 - 339)
+ valente	10-15-07 19:35
+ Started new project. I started the painttool by openning it from the menubar. Choosed the desired color and draw a polygon. I decide to change the width of the lines, so, I hit the undo button. Surprisingly i can't draw a polygon until close the paint tool and start it again.
+ Used a new fresh squeak image (version 3.9, build 7067)
+ 
+ (0011340 - 525 - 609 - 609 - 609 - 609 - 609)
+ wiz	10-16-07 23:13
+ Ok. From a fresh sq 7067 WorldMenu>Flaps>Paint Flap (paint flap appears)
+ Then opened the flap and selected the polygon tool
+ made some polygons and then
+ pressed undo (last polygon created disappeared)
+ I tried to create more polys but could not.
+ Then I tried the other four tools all worked even after undoing them once or twice. Then switch back to polygon tool.
+ (still was unable to create more polys)
+ Once I tossed this drawing an created a fresh one I could again create polygons up until the first undo.
+ 
+ (0011341 - 340 - 370 - 370 - 370 - 370 - 370)
+ wiz	10-16-07 23:16
+ I was using a iMac running OS9.1 so the problem is a cross platform squeak image problem. Beyond that I haven't a clue at the moment.
+ Questions to answer:
+ Does it work in 3.8? or OPLC if so what is the difference.
+ For that matter what is the difference between the polygon tool and the other four tools that don't have this trouble?
+ 
+ (0011344 - 164 - 164 - 164 - 164 - 164 - 164)
+ valente	10-17-07 18:49
+ The same error is found on the 3.8.1 full image, 3.8 image from small-land and etoys of OLPC downloaded at 1st October!! Dont know if it occurs on previous releases.
+ 
+ (0011345 - 121 - 127 - 127 - 127 - 127 - 127)
+ nicolas cellier	10-17-07 20:44
+ Joined a first patch attempt. Not a perfect one...
+ Due to the handles, polygon has a complex state handling machinery...
+ 
+ (0011346 - 33 - 33 - 33 - 33 - 33 - 33)
+ nicolas cellier	10-17-07 20:53
+ Ah Patch.2.cs is a little better.
+ 
+ (0011349 - 72 - 78 - 78 - 78 - 78 - 78)
+ valente	10-18-07 00:32
+ Many thanks Nicolas!!
+ You are kind people. Tried the path 2. It works!!!!!!
+ 
+ (0011678 - 104 - 152 - 152 - 152 - 152 - 152)
+ nicolas cellier	01-11-08 21:42
+ "fix begin"
+ Installer mantis bug: 6732 fix:'SketchPolygonUndo-M6732-Patch.2.cs'.
+ "fix test"
+ "fix end"
+ 
+ Files: #('polygon_error.jpg' 'SketchPolygonUndo-M6732-Patch.1.cs' 'SketchPolygonUndo-M6732-Patch.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06779ScaledDecimalreadFrom53w (in category 'new-open') -----
+ m06779ScaledDecimalreadFrom53w
+ 
+ Installer mantis ensureFix: 7169.
+ Installer mantis bug: 6779 fix:'ScaledDecimal-readFrom-M6779-nice-Patch.2.cs'.
+ "fix test"
+ Installer mantis bug: 6779 fix:'ScaledDecimal-readFrom-M6779-nice-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006779
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 11-22-07 21:21
+ Date Updated: 08-29-08 20:30
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006779: ScaledDecimal readFrom: '5.3' would not answer a ScaledDecimal
+ Description: <br />
+ It inherits this method from Number and Answer a Float...<br />
+ Adding a posteriori asScaledDecimal conversion <br />
+ - is not easy (How many digits?)<br />
+ - is not good, passing through a Float will introduce roundOff errors<br />
+ <br />
+ It is better hacking SqNumberParser
+ Additional Information: 
+ Notes: 
+ (0011563 - 195 - 261 - 261 - 261 - 261 - 261)
+ Keith_Hodges	12-17-07 17:03
+ edited on: 12-17-07 17:10	"fix begin"
+ Installer mantis bug: 6779 fix:'ScaledDecimal-readFrom-M6779-nice-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6779 fix:'ScaledDecimal-readFrom-M6779-nice-Test.1.cs'.
+ "fix end"
+ 
+ (0012542 - 230 - 302 - 302 - 302 - 302 - 302)
+ nicolas cellier	08-29-08 20:11
+ edited on: 08-29-08 20:27	"fix begin"
+ Installer mantis ensureFix: 7169.
+ Installer mantis bug: 6779 fix:'ScaledDecimal-readFrom-M6779-nice-Patch.2.cs'.
+ "fix test"
+ Installer mantis bug: 6779 fix:'ScaledDecimal-readFrom-M6779-nice-Test.1.cs'.
+ "fix end"
+ 
+ (0012544 - 190 - 238 - 238 - 360 - 360 - 360)
+ nicolas cellier	08-29-08 20:30
+ edited on: 08-29-08 20:30	Patch number 1 is bugged as every SqNumberParser method for reading ScaledDecimal:
+ self assert: (ScaledDecimal readFrom: '0.50') = (1/2)
+ Patch number 2 correct this
+ See also 0007169
+ 
+ Files: #('ScaledDecimal-readFrom-M6779-nice-Patch.1.cs' 'ScaledDecimal-readFrom-M6779-nice-Test.1.cs' 'ScaledDecimal-readFrom-M6779-nice-Patch.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07175CharacterSetComplementcannotp (in category 'new-open') -----
+ m07175CharacterSetComplementcannotp
+ 
+ Installer mantis bug: 7175 fix:'CharacterSetComplement-M6367-nice-printing.1.cs'.
+ "fix test"
+ Installer mantis bug: 7175 fix:'CharacterSetComplement-printString-Test-M7175-nice.2.cs'.
+ 
+ """"""
+ Bug ID: 0007175
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 09-02-08 07:37
+ Date Updated: 09-02-08 08:38
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0007175: CharacterSetComplement cannot printString
+ Description: super printString is implemented with #do:<br />
+ #do: has been forbidden because it is not a good idea to iterate other a very large CharacterSet.<br />
+ Thus printString must be redefined.<br />
+ <br />
+ A change set was part of <a href="view.php?id=6367" title="[closed] [BUG] WideString substrings broken">0006367</a> report to correct this bug, but was not harvested in 3.10 image (CharacterSetComplement-M6367-nice-printing.1.cs)<br />
+ <br />
+ According to Mantis maintainers (Ken) and release team harvesters (Keith) it is better opening a new issue. Here it is.
+ Additional Information: 
+ Notes: 
+ (0012571 - 208 - 262 - 262 - 262 - 262 - 262)
+ nicolas cellier	09-02-08 08:38
+ "fix begin"
+ Installer mantis bug: 7175 fix:'CharacterSetComplement-M6367-nice-printing.1.cs'.
+ "fix test"
+ Installer mantis bug: 7175 fix:'CharacterSetComplement-printString-Test-M7175-nice.2.cs'.
+ "fix end"
+ 
+ Files: #('CharacterSetComplement-M6367-nice-printing.1.cs' 'CharacterSetComplement-printString-Test-M7175-nice.1.cs' 'CharacterSetComplement-printString-Test-M7175-nice.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06521Targetsettingdoesntworkfor (in category 'new-open') -----
+ m06521Targetsettingdoesntworkfor
+ 
+ Installer mantis bug: 6521 fix: 'targetOffsetFixes-wiz.6.cs'.
+ 
+ """"""
+ Bug ID: 0006521
+ Category: [squeakland] any
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 06-03-07 06:13
+ Date Updated: 10-09-08 03:23
+ Reporter: wiz
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 
+ Summary: 0006521: Target setting doesn't work for buttons and sliders
+ Description: &nbsp;See reports <a href="view.php?id=503" title="[closed] [FIX] target setting menu items for sliders and buttons have never worked">0000503</a>, <a href="view.php?id=2589" title="[closed] [Fix] Now that we have targetsighting for sliders its time to fix buttons and menus.">0002589</a>,<a href="view.php?id=5392" title="[closed] [Fix] Sighting targets for sliders has problem when slider is tilted.">0005392</a> and <a href="view.php?id=5567" title="[closed] hand targetOffset has been misused more times than it has been used correctly.">0005567</a>
+ Additional Information: Those reports were applied to squeakdev squeak.. The problem is a long standing, viral snafu and AFAIK still broken in 3.8<br />
+ <br />
+ I have not been following the squeakland branch to know how to adapt these repairs to the current version of 3.8.<br />
+ <br />
+ If someone could direct me to the latest development image (and update stream) I might be able to be of more help.<br />
+ Notes: 
+ (0010764 - 179 - 237 - 411 - 411 - 411 - 411)
+ ScottWallace	06-04-07 06:34
+ Hi, Jerome. The squeakland dev image/changes can be downloaded from:
+ http://www.squeakland.org/installers/SqueakPluginImage-dev.zip [^]
+ ... then load updates.
+ -- Scott
+ 
+ (0010771 - 18 - 30 - 30 - 30 - 30 - 30)
+ wiz	06-05-07 05:34
+ Hi Scott,
+ Thanx
+ 
+ (0010789 - 2177 - 2476 - 2604 - 2604 - 2604 - 2604)
+ wiz	06-10-07 01:08
+ edited on: 06-22-07 02:18	Uploaded targetOffsetFixes-wiz.6.cs for evaluation.
+ This is a compilation of a bunch of fixes for the viral targetOffset bug.
+ It implements targetsighting for sliders buttons and menus.
+ It adds #targetPoint to handMorph and it replaces the ill used " evt hand targetOffset" with either "evt hand targetPoint " or "evt targetPoint"
+ Causal inspection in squeakland-dev 0556 shows that it works for sliders and buttons the way I had intended.
+ It also works for menus but less well. For some menu items it works as intended. It will be easy to target the wrong thing for some menu items.
+ Also retargeting menus with non-morph targets fails because #isHandMorph is not defined above morph .
+ A simple:
+ Object>>isHandMorph
+ ^false . )
+ would solve the problem.
+ It would also be possible to just provide the fix w/o the menu retargeting changes.
+ My recommendation is to start here and help fix the problems encountered. The ability to retarget is fundamental to the usefulness of morphic.
+ It works expecially well for buttons and sliders. Once you get a button or slider set up to do what you want. Just copy it and retarget it and it bingo instant gui. See:
+ http://csl.ensm-douai.fr/EasyMorphicGUI [^]
+ There are more issues with menu items. This was a good start. My experience is that squeak has a lot of vestigial non-working code in it. That does not cause problems because it can not be run. This also means it cannot be fixed or removed. I found a lot of that as I delved into this bug. The repair here can be used to add a lot of power to squeak. As well as to uncover other remaining problems. Feedback will be helpful. Lone self-funded bug trackers lack resources to do everything that needs doing. But I believe this is a really good start.
+ [OT] Some of the targetOffset problem affect SketchMorph and MovieMorph. The bugs prevent the creation of Movies from a sketch morph. This seems a severe and fixable limitation. The question is what is the story for MovieMorph. Is it used? Has it been supplanted? Does anyone want it fixed? Or does it want to be removed?
+ Yours in curiosity and service, --Jerome Peace
+ 
+ (0012708 - 85 - 117 - 117 - 117 - 117 - 117)
+ Keith_Hodges	09-30-08 22:49
+ "fix begin"
+ Installer mantis bug: 6521 fix: 'targetOffsetFixes-wiz.6.cs'.
+ "fix end"
+ 
+ (0012729 - 255 - 303 - 303 - 303 - 303 - 303)
+ wiz	10-09-08 03:23
+ Hi Keith,
+ Just a note to remind you these are fixes compiled for squeakland from ones I've already gotten into 3.9/3.10.
+ So far no one on the squeakland side has picked up on these.
+ Maybe its time to bring them to scotts attention.
+ Cheers -jer
+ 
+ Files: #('targetOffsetFixes-wiz.6.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06933MultiByteFileStreamgtgtupTo (in category 'new-open') -----
+ m06933MultiByteFileStreamgtgtupTo
+ 
+ Installer mantis bug: 6933 fix:'MultiByteFileStream-binaryUpTo-M6933-Patch-ky-nice.2.cs'.
+ "fix test"
+ Installer mantis bug: 6933 fix:'MultiByteFileStream-binaryUpTo-M6933-Test-nice.2.cs'.
+ 
+ """"""
+ Bug ID: 0006933
+ Category: [Squeak] Kernel
+ Severity: crash
+ Reproducibility: always
+ Date Submitted: 02-18-08 01:18
+ Date Updated: 10-17-08 19:22
+ Reporter: ykoubo
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006933: MultiByteFileStream&gt;&gt;upTo: fails for binary
+ Description: In the binary mode, MultiByteFileStream&gt;&gt;upTo: raises error to read non-character contents. <br />
+ Additional Information: That method uses a String as a temporary buffur, and String could not accept non-character data.
+ Notes: 
+ (0011820 - 54 - 54 - 54 - 54 - 54 - 54)
+ ykoubo	02-18-08 01:22
+ I attached a fix to use a ByteArray buffer for binary.
+ 
+ (0011821 - 507 - 636 - 636 - 636 - 636 - 636)
+ wiz	02-18-08 03:18
+ Hi ykoubo,
+ Thanks for your report and fix.
+ Can you provide an sunit test that fails before the patch and works after.
+ testBinaryUpTo:
+ <something>
+ self shouldnt: [ <something that failed ] raise: Error
+ etc
+ would be the likely pattern.
+ Also any other good tortures for the streams you can think of would probably helpful.
+ The test will help harvesters know your fix works.
+ Also your test will prevent the fix from getting undone.
+ Yours in service and curiosity, --Jerome Peace
+ 
+ (0011871 - 194 - 260 - 260 - 260 - 260 - 260)
+ nicolas cellier	02-25-08 21:02
+ edited on: 04-06-08 16:47	"fix begin"
+ Installer mantis bug: 6933 fix:'MultiByteFileStream-binaryUpTo.1.cs'.
+ "fix test"
+ Installer mantis bug: 6933 fix:'MultiByteFileStream-binaryUpTo-M6933-Test-nice.1.cs'.
+ "fix end"
+ 
+ (0012745 - 210 - 249 - 249 - 249 - 249 - 249)
+ nicolas cellier	10-17-08 19:19
+ edited on: 10-17-08 19:22	I reviewed more carefully for Pharo, and saw that:
+ 1) my test was wrong (1 2 3 4) upTo: 3 -> (1 2) (upTo: is excluding delimiter)
+ 2) ky patch has a remaining ^'' So please find updates proposed in Pharo
+ 
+ (0012746 - 212 - 266 - 266 - 266 - 266 - 266)
+ nicolas cellier	10-17-08 19:22
+ "fix begin"
+ Installer mantis bug: 6933 fix:'MultiByteFileStream-binaryUpTo-M6933-Patch-ky-nice.2.cs'.
+ "fix test"
+ Installer mantis bug: 6933 fix:'MultiByteFileStream-binaryUpTo-M6933-Test-nice.2.cs'.
+ "fix end"
+ 
+ Files: #('MultiByteFileStream-binaryUpTo-M6933-Test-nice.2.cs' 'MultiByteFileStream-binaryUpTo.1.cs' 'MultiByteFileStream-binaryUpTo-M6933-Test-nice.1.cs' 'MultiByteFileStream-binaryUpTo-M6933-Patch-ky-nice.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07134Floatroundedisinexact (in category 'new-open') -----
+ m07134Floatroundedisinexact
+ 
+ Installer mantis bug: 7134 fix:'Float-rounded-Patch-M7134-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 7134 fix:'Float-rounded-Test-M7134-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0007134
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 07-23-08 23:42
+ Date Updated: 07-26-08 01:27
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0007134: Float rounded is inexact
+ Description: try 5000000000000001.0 rounded -&gt; 5000000000000002<br />
+ <br />
+ Since 5000000000000001 highBit -&gt; 53, this number is represented exactly<br />
+ - you can check with 5000000000000001.0 asTrueFraction -&gt; 5000000000000001 -<br />
+ it should convert correctly to nearest integer.
+ Additional Information: This is a minor thing but one step toward ISO/IEC 10967-2<br />
+ NEAREST F-&gt;I §15.3 page 38 on draft found at <a href="http://www.cs.chalmers.se/~kent/ISOStandards/SC22/WG11/LIA-2/N424.ps">http://www.cs.chalmers.se/~kent/ISOStandards/SC22/WG11/LIA-2/N424.ps</a> [<a href="http://www.cs.chalmers.se/~kent/ISOStandards/SC22/WG11/LIA-2/N424.ps" target="_blank">^</a>]<br />
+ <br />
+ This rounded problem had been reported previously in a note at <a href="view.php?id=5640" title="[new] additional tests and fixes for Number&gt;&gt;printShowingDecimalPlaces:">0005640</a>
+ Notes: 
+ (0012404 - 175 - 229 - 229 - 229 - 229 - 229)
+ nicolas cellier	07-24-08 00:11
+ "fix begin"
+ Installer mantis bug: 7134 fix:'Float-rounded-Patch-M7134-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 7134 fix:'Float-rounded-Test-M7134-nice.1.cs'.
+ "fix end"
+ 
+ Files: #('Float-rounded-Patch-M7134-nice.1.cs' 'Float-rounded-Test-M7134-nice.1.cs')!

Item was changed:
  ----- Method: ReleaseAfterSqueak310 class>>fixesMotherOfDocumentation (in category 'fixes - documentation') -----
  fixesMotherOfDocumentation
  	
  	^ self dependingOn: {
  	
+ 		
- 		 '0007191: Add class comments to TParseNode and TMethod'. 
- 	
  	}!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07169SqNumberParserdoesnotparseS (in category 'new-open') -----
+ m07169SqNumberParserdoesnotparseS
+ 
+ Installer mantis bug: 7169 fix:'SqNumberParser-ScaledDecimal-Patch-M7169-nice.2.cs'.
+ "fix test"
+ Installer mantis bug: 7169 fix:'SqNumberParser-ScaledDecimal-Test-M7169-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0007169
+ Category: [Squeak] Kernel
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 08-29-08 19:54
+ Date Updated: 08-29-08 20:26
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0007169: SqNumberParser does not parse ScaledDecimal with trailing zeros correctly.
+ Description: <br />
+ self assert: (SqNumberParser readFrom: '0.50s2' = (1/2))
+ Additional Information: 
+ Notes: 
+ (0012541 - 207 - 273 - 273 - 273 - 273 - 273)
+ nicolas cellier	08-29-08 20:08
+ edited on: 08-29-08 20:26	"fix begin"
+ Installer mantis bug: 7169 fix:'SqNumberParser-ScaledDecimal-Patch-M7169-nice.2.cs'.
+ "fix test"
+ Installer mantis bug: 7169 fix:'SqNumberParser-ScaledDecimal-Test-M7169-nice.1.cs'.
+ "fix end"
+ 
+ Files: #('SqNumberParser-ScaledDecimal-Test-M7169-nice.1.cs' 'SqNumberParser-ScaledDecimal-Patch-M7169-nice.1.cs' 'SqNumberParser-ScaledDecimal-Patch-M7169-nice.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310Unstable>>m07191AddclasscommentstoTParseNod (in category 'assigned-open') -----
+ m07191AddclasscommentstoTParseNod
+ 
+ Installer mantis bug: 7191 fix: 'TMethod-TParseNode-comments-dtl.4.cs'.
+ 
+ """"""
+ Bug ID: 0007191
+ Category: [Squeak] VM
+ Severity: trivial
+ Reproducibility: always
+ Date Submitted: 09-15-08 13:13
+ Date Updated: 11-17-08 02:52
+ Reporter: lewis
+ View Status: public
+ Handler: lewis
+ Priority: low
+ Resolution: open
+ Status: assigned
+ Product Version: 
+ Summary: 0007191: Add class comments to TParseNode and TMethod
+ Description: Add class comments to root translation classes.
+ Additional Information: !!TMethod commentStamp: 'dtl 9/15/2008 09:06' prior: 0!!<br />
+ A TMethod is a translation method, representing a MethodNode that is to be translated to C source. It has a parseTree of translation nodes that mirrors the parse tree of the corresponding Smalltalk method.!!<br />
+ <br />
+ <br />
+ !!TParseNode commentStamp: 'dtl 9/15/2008 09:05' prior: 0!!<br />
+ A TParseNode is node in the parse tree of a TMethod. Subclasses correspond to different types of nodes in a method parse tree. The tree of translation parse nodes mirrors the parse tree of a Smalltalk method, and is used for translating a Smalltalk method to C source.!!<br />
+ Notes: 
+ (0012710 - 95 - 127 - 127 - 127 - 127 - 127)
+ Keith_Hodges	10-01-08 00:34
+ "fix begin"
+ Installer mantis bug: 7191 fix: 'TMethod-TParseNode-comments-dtl.4.cs'.
+ "fix end"
+ 
+ (0012719 - 44 - 44 - 44 - 44 - 44 - 44)
+ Keith_Hodges	10-06-08 02:36
+ Where are these Traits? They are not in 3.10
+ 
+ (0012773 - 75 - 75 - 75 - 75 - 75 - 75)
+ lewis	11-17-08 02:52
+ Added the class comments to VMMaker-dtl.95 on SqueakSource VMMaker project.
+ 
+ Files: #('TMethod-TParseNode-comments-dtl.4.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06861Servicesmenusbuttonsarenot (in category 'new-open') -----
+ m06861Servicesmenusbuttonsarenot
+ 
+ Installer mantis bug:6861 fix: 'ServiceBaseTranslated-mu.4.cs'.
+ 
+ """"""
+ Bug ID: 0006861
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 01-19-08 11:22
+ Date Updated: 02-11-08 03:58
+ Reporter: umejava
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006861: Services menus/buttons are not translated
+ Description: Services-Base package does not send #translated for building menu and button labels. Added patch will fix the problem.
+ Additional Information: 
+ Notes: 
+ (0011755 - 70 - 70 - 70 - 70 - 70 - 70)
+ umejava	02-09-08 07:22
+ ServiceBaseTranslated-mu.4.cs: added #translated send in #description.
+ 
+ (0011760 - 87 - 119 - 119 - 119 - 119 - 119)
+ Keith_Hodges	02-11-08 03:58
+ "fix begin"
+ Installer mantis bug:6861 fix: 'ServiceBaseTranslated-mu.4.cs'.
+ "fix end"
+ 
+ Files: #('ServiceBaseTranslated-mu.4.cs' 'ServiceBaseTranslated-mu.3.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07219ImproveStreamsUsageReadabili (in category 'assigned-open') -----
+ m07219ImproveStreamsUsageReadabili
+ 
+ Installer mantis bug: 7219 fix: 'Stream-Readability.2.cs'.
+ 
+ """"""
+ Bug ID: 0007219
+ Category: [Squeak] Collections
+ Severity: feature
+ Reproducibility: always
+ Date Submitted: 11-02-08 01:20
+ Date Updated: 11-06-08 16:44
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: Keith_Hodges
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 3.10.2
+ Summary: 0007219: Improve Streams Usage Readability
+ Description: For making code gen more readable<br />
+ <br />
+ Used in Sake/Pacakges and Css generation code for much improved readability.
+ Additional Information: Part of what was Kernel-Extensions for 3.10/LPF. Is now no longer needed for LPF, but is needed for Sake.
+ Notes: 
+ (0012758 - 84 - 128 - 128 - 128 - 128 - 128)
+ Keith_Hodges	11-02-08 01:21
+ edited on: 11-06-08 16:44	"fix begin"
+ Installer mantis bug: 7219 fix: 'Stream-Readability.2.cs'.
+ "fix end"
+ 
+ Files: #('Stream-Readability.2.cs' 'Stream-Readability.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310Unstable>>m06805Timenowsecondsreturnsafrac (in category 'closed-fixed') -----
+ m06805Timenowsecondsreturnsafrac
+ 
+ Installer mantis bug: 6805 fix: 'Mantis6805-FixTimeNowSeconds.1.cs'.
+ 
+ """"""
+ Bug ID: 0006805
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 12-08-07 21:41
+ Date Updated: 05-24-08 14:14
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: KenCausey
+ Priority: normal
+ Resolution: fixed
+ Status: closed
+ Product Version: 3.10
+ Summary: 0006805: Time now seconds returns a fraction.
+ Description: Before Squeak 3.10<br />
+ <br />
+ Time now seconds.<br />
+ <br />
+ returned a SmallInteger.<br />
+ <br />
+ Now it returns a Fraction.
+ Additional Information: 
+ Notes: 
+ (0011520 - 92 - 124 - 124 - 124 - 124 - 124)
+ Keith_Hodges	12-08-07 21:49
+ "fix begin"
+ Installer mantis bug: 6805 fix: 'Mantis6805-FixTimeNowSeconds.1.cs'.
+ "fix end"
+ 
+ (0012085 - 50 - 62 - 62 - 191 - 191 - 191)
+ KenCausey	05-12-08 20:35
+ edited on: 05-12-08 20:35	See 0007036 for a proposed fix intended for 3.10.1
+ 
+ (0012158 - 44 - 44 - 44 - 173 - 173 - 173)
+ KenCausey	05-24-08 14:14
+ This issue was separately addressed in 0007036
+ 
+ Files: #('Mantis6805-FixTimeNowSeconds.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06866ReferencespreventremovalofC (in category 'new-open') -----
+ m06866ReferencespreventremovalofC
+ 
+ Installer mantis bug:6866 fix:'RemoveCurrentProjectRefactoring.2.cs'.
+ 
+ """"""
+ Bug ID: 0006866
+ Category: [Squeak] System
+ Severity: trivial
+ Reproducibility: always
+ Date Submitted: 01-21-08 17:32
+ Date Updated: 01-21-08 21:47
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006866: References prevent removal of CurrentProjectRefactoring
+ Description: Although marked as 39Deprecated some references linger
+ Additional Information: 
+ Notes: 
+ (0011691 - 95 - 139 - 139 - 139 - 139 - 139)
+ Keith_Hodges	01-21-08 17:33
+ edited on: 01-21-08 21:47	"fix begin"
+ Installer mantis bug:6866 fix:'RemoveCurrentProjectRefactoring.2.cs'.
+ "fix end"
+ 
+ Files: #('RemoveCurrentProjectRefactoring.1.cs' 'RemoveCurrentProjectRefactoring.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07205MonticelloSnapshotSpeedupvia (in category 'resolved-fixed') -----
+ m07205MonticelloSnapshotSpeedupvia
+ 
+ Installer mantis bug: 7205 fix: 'MethodReference-category-M7205.2.cs'.
+ 
+ """"""
+ Bug ID: 0007205
+ Category: [Squeak] Monticello
+ Severity: tweak
+ Reproducibility: N/A
+ Date Submitted: 10-04-08 17:14
+ Date Updated: 10-05-08 04:58
+ Reporter: matthewf
+ View Status: public
+ Handler: matthewf
+ Priority: normal
+ Resolution: fixed
+ Status: resolved
+ Product Version: 
+ Summary: 0007205: Monticello Snapshot Speedup via new MethodReference ivar
+ Description: Adding the ivar 'category' to methodReference allows a 25% speedup in Monticello snapshotting, after source caching. This capability is exploited as of PackageInfo-Base-mtf.56
+ Additional Information: 
+ Notes: 
+ (0012717 - 96 - 140 - 140 - 140 - 140 - 140)
+ matthewf	10-04-08 17:21
+ edited on: 10-05-08 04:57	"fix begin"
+ Installer mantis bug: 7205 fix: 'MethodReference-category-M7205.2.cs'.
+ "fix end"
+ 
+ (0012718 - 60 - 60 - 60 - 60 - 60 - 60)
+ matthewf	10-05-08 04:58
+ oops; the changeset didn't actually have the class def. oops
+ 
+ Files: #('MethodReference-category-M7205.2.cs' 'MethodReference-category-M7205.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06777BUGCharacterSetcopyisshal (in category 'new-open') -----
+ m06777BUGCharacterSetcopyisshal
+ 
+ Installer mantis bug: 6777 fix:'CharacterSet-copy-Patch-M6777-nice.1.cs'.
+ "fix test".
+ Installer mantis bug: 6777 fix:'CharacterSet-copy-Test-M6777-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0006777
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 11-19-07 23:23
+ Date Updated: 07-04-08 06:24
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006777: [BUG] CharacterSet copy is shallow...
+ Description: &quot;If we change the copy, we change the original&quot;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;| cs1 cs2 |<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;cs1 := CharacterSet separators.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;cs2 := cs1 copy.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;cs2 remove: Character tab.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;^self should: (cs1 includes: Character tab).
+ Additional Information: We just have to define a #postCopy.<br />
+ I noticed few classes do.<br />
+ They rather override #copy.
+ Notes: 
+ (0011568 - 184 - 238 - 238 - 238 - 238 - 238)
+ Keith_Hodges	12-17-07 17:32
+ "fix begin"
+ Installer mantis bug: 6777 fix:'CharacterSet-copy-Patch-M6777-nice.1.cs'.
+ "fix test".
+ Installer mantis bug: 6777 fix:'CharacterSet-copy-Test-M6777-nice.1.cs'.
+ "fix end"
+ 
+ (0012336 - 14 - 14 - 14 - 14 - 14 - 14)
+ noha	07-04-08 06:24
+ in pharo 10049
+ 
+ Files: #('CharacterSet-copy-Patch-M6777-nice.1.cs' 'CharacterSet-copy-Test-M6777-nice.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m05851RefactorSmalltalkImagesaveAs (in category 'new-open') -----
+ m05851RefactorSmalltalkImagesaveAs
+ 
+ Installer mantis bug: 5851 fix: 'SmalltalkImage-M5851.3.cs'.
+ 
+ """"""
+ Bug ID: 0005851
+ Category: [Squeak] Kernel
+ Severity: trivial
+ Reproducibility: always
+ Date Submitted: 01-29-07 01:58
+ Date Updated: 06-10-08 04:35
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0005851: Refactor SmalltalkImage saveAs
+ Description: Refactor SmalltalkImage-#saveAs to pull out the code that actually saves the image under a new name, into #saveAs: newName<br />
+ <br />
+ Refactor some other methods that duplicate the use of the same code, to use #saveAs:
+ Additional Information: 
+ Notes: 
+ (0009235 - 80 - 124 - 124 - 124 - 124 - 124)
+ Keith_Hodges	01-29-07 01:59
+ edited on: 02-14-07 12:15	"fix begin"
+ Installer mantis bug: 5851 fix: 'SmalltalkImage.2.cs'.
+ "fix end"
+ 
+ (0009762 - 76 - 76 - 76 - 76 - 76 - 76)
+ Keith_Hodges	02-14-07 12:14
+ SmalltalkImage.2.cs ensures that the resuming flag is returned from #saveAs:
+ 
+ (0012290 - 84 - 116 - 116 - 116 - 116 - 116)
+ matthewf	06-10-08 04:35
+ "fix begin"
+ Installer mantis bug: 5851 fix: 'SmalltalkImage-M5851.3.cs'.
+ "fix end"
+ 
+ (0012291 - 58 - 58 - 58 - 58 - 58 - 58)
+ matthewf	06-10-08 04:35
+ SmalltalkImage-M5851.3.cs removes an underscore assignment
+ 
+ Files: #('SmalltalkImage-M5851.3.cs' 'SmalltalkImage.1.cs' 'SmalltalkImage.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06086CannotuseCrLfFileStreamon (in category 'assigned-open') -----
+ m06086CannotuseCrLfFileStreamon
+ 
+ Installer mantis bug: 6086 fix: 'MultiByteFileStream.1.cs'.
+ 
+ """"""
+ Bug ID: 0006086
+ Category: [Squeak] Files
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 02-15-07 03:49
+ Date Updated: 02-15-07 04:23
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: cdegroot
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 3.9
+ Summary: 0006086: Cannot use CrLfFileStream on '/dev/stdout'
+ Description: In the process of #detectLineEndConvention a primitive fails trying to obtain the position of '/dev/stdout'.<br />
+ <br />
+ Additional Information: 
+ Notes: 
+ (0009824 - 83 - 115 - 115 - 115 - 115 - 115)
+ Keith_Hodges	02-15-07 04:21
+ "fix begin"
+ Installer mantis bug: 6086 fix: 'MultiByteFileStream.1.cs'.
+ "fix end"
+ 
+ (0009825 - 171 - 183 - 183 - 183 - 183 - 183)
+ Keith_Hodges	02-15-07 04:23
+ MultiByteFileStream.1.cs
+ enables user to explicitly specify the lineEndConvention as an argument to #wantsLineEndConversion: doing so bypasses #detectLineEndConvention.
+ 
+ Files: #('MultiByteFileStream.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07059IntheObjectExplorerthemen (in category 'assigned-open') -----
+ m07059IntheObjectExplorerthemen
+ 
+ Installer mantis bug: 7059 fix: 'ObjectExplorer-explore-pointers-M7059.cs'.
+ 
+ """"""
+ Bug ID: 0007059
+ Category: [Squeak] Tools
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 05-20-08 19:17
+ Date Updated: 05-20-08 19:20
+ Reporter: matthewf
+ View Status: public
+ Handler: matthewf
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 
+ Summary: 0007059: In the Object Explorer, the menu item 'explore pointers' is broken
+ Description: If you select an object in the object explorer, and 'explore pointers', you get an pointer explorer on an empty string, rather than the selected object. The attached change set fixes that
+ Additional Information: The problem is that the menu item is hacked into object explorer from the Inspector, without properly porting the action.
+ Notes: 
+ (0012126 - 101 - 145 - 145 - 145 - 145 - 145)
+ matthewf	05-20-08 19:19
+ edited on: 05-20-08 19:21	"fix begin"
+ Installer mantis bug: 7059 fix: 'ObjectExplorer-explore-pointers-M7059.cs'.
+ "fix end"
+ 
+ Files: #('ObjectExplorer-explore-pointers-M7059.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06366BUGWideStringfindStringsta (in category 'new-open') -----
+ m06366BUGWideStringfindStringsta
+ 
+ Installer mantis bug: 6366 fix:'Collection-WideString-findSubstring-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6366 fix:'Collection-WideString-findSubstring-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006366
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 03-23-07 00:10
+ Date Updated: 03-24-08 22:08
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 
+ Summary: 0006366: [BUG] WideString findString:startingAt: and other matchTable problems
+ Description: self assert:<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;((WideString with: 300 asCharacter with: 400 asCharacter)<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;findString: (WideString with: 300 asCharacter) startingAt: 1)<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;= 1.<br />
+ <br />
+ fails with an exception
+ Additional Information: Because underlying algorithm use CaseSensitiveOrder matchTable which is single byte based...<br />
+ <br />
+ 1) either outOfBounds error should be handled<br />
+ 2) or a ifAbsent: block argument provided to the matchTable<br />
+ 3) or a more ellaborate class be used (maybe a WideCharacterDictionary like WideCharacterSet patch at <a href="http://bugs.squeak.org/view.php?id=3574)">http://bugs.squeak.org/view.php?id=3574)</a> [<a href="http://bugs.squeak.org/view.php?id=3574)" target="_blank">^</a>]<br />
+ <br />
+ This bug is also related to <a href="http://bugs.squeak.org/view.php?id=5331">http://bugs.squeak.org/view.php?id=5331</a> [<a href="http://bugs.squeak.org/view.php?id=5331" target="_blank">^</a>]
+ Notes: 
+ (0010941 - 61 - 67 - 67 - 67 - 67 - 67)
+ nicolas cellier	07-27-07 22:53
+ A test and patch are provided here.
+ Please, someone check...
+ 
+ (0011953 - 199 - 265 - 265 - 265 - 265 - 265)
+ nicolas cellier	03-24-08 22:08
+ edited on: 04-06-08 16:43	"fix begin"
+ Installer mantis bug: 6366 fix:'Collection-WideString-findSubstring-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6366 fix:'Collection-WideString-findSubstring-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('Collection-WideString-findSubstring-Test.1.cs' 'Collection-WideString-findSubstring-Patch.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m00474BUGFIXaccurateDateAndTimeN (in category 'closed-fixed') -----
+ m00474BUGFIXaccurateDateAndTimeN
+ 
+ Installer mantis bug: 474 fix: 'Improve Date And Time.6.cs'.
+ "fix test"
+ Installer mantis bug: 474 fix: 'ClassClonerTestResource.st'.
+ Installer mantis bug: 474 fix: 'DateAndTimeClockTest.st'.
+ Installer mantis bug: 474 fix: 'DateAndTimeTest-testReadFrom.st'.
+ Installer mantis bug: 474 fix: 'DateAndTime class-milliSecondsSinceMidnight.st'.
+ 
+ """"""
+ Bug ID: 0000474
+ Category: [Squeak] Kernel
+ Severity: feature
+ Reproducibility: always
+ Date Submitted: 10-28-04 15:38
+ Date Updated: 05-26-08 18:33
+ Reporter: MarcusDenker
+ View Status: public
+ Handler: KenCausey
+ Priority: normal
+ Resolution: fixed
+ Status: closed
+ Product Version: 3.10
+ Summary: 0000474: [BUG][FIX] accurateDateAndTimeNow-brp
+ Description: Subject:		[BUG][FIX] accurateDateAndTimeNow-brp<br />
+ Author:		Brent Pinkney<br />
+ Date Posted: 16 March 2004<br />
+ Archive ID: 21110<br />
+ Comments:	<br />
+ Avi,<br />
+ <br />
+ I have merged Avi's your accurateDateAndTimeNow-avi changeset (v2) with <br />
+ the original Chronology code.<br />
+ <br />
+ This now answers the correct time (sweet mercy) , but preserves the logic <br />
+ so that<br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp;(DateAndTime now) &lt;= (DateAndTime now) is always false.<br />
+ <br />
+ I took the liberty of renaming a few methods to be more consistent.<br />
+ <br />
+ On my box: [ 100000 timesRepeat: [ DateAndTime now] ] timeToRun  ==&gt; 17265<br />
+ <br />
+ This changeset passes all the relevant SUnit tests in the <br />
+ 'Kernel-Chronology-Tests' category.<br />
+ Additional Information: 
+ Notes: 
+ (0000554 - 1062 - 1319 - 1368 - 1368 - 1368 - 1368)
+ MarcusDenker	10-28-04 15:38
+ Subject:	[BUG][FIX] accurateDateAndTimeNow-brp ( [er] needs to be reviewed again )
+ Author:	brent.pinkney at aircom.co.za
+ Date Posted: 4 October 2004
+ Archive ID: 24957
+ Comments:	Needs to be reviewed with Ned's proposal:
+ If you assume that:
+ - the millisecond clock rate is accurate (which it had better be!!)
+ - the millisecond clock is an unsigned number, limited to SmallInteger maxVal / 2 (which it is; it's masked with 16r1FFFFFFF)
+ then you can do this:
+ globals:
+ BigMillisecondClock is an arbitrary-precision integer
+ LastMillisecondClock is a SmallInteger, a copy of the millisecondClock
+ the last time we looked at it
+ MaxMillisecondClockValue is the maximum value of the millisecond clock
+ on this platform
+ from time to time (that is, more often than MaxMillisecondClockValue):
+ now := Time millisecondClockValue.
+ delta := now - LastMillisecondClock.
+ delta < 0 ifTrue: [ "wrapped"
+ delta := delta + MaxMillisecondClockValue + 1 ].
+ BigMillisecondClock := BigMillisecondClock + delta.
+ LastMillisecondClock := now.
+ 
+ (0007658 - 238 - 291 - 291 - 291 - 291 - 291)
+ Keith_Hodges	10-12-06 14:50
+ DateAndTime-readFrom: stream is not handling the nano/milliseconds field correctly
+ ' 2002-05-16T17:20:45.1+01:01' asDateAndTime produces
+ 2002-05-16T17:20:45.000000001+01:01
+ also how about a millisecondAccessor on DateAndTime
+ 
+ (0007659 - 54 - 54 - 54 - 54 - 54 - 54)
+ Keith_Hodges	10-12-06 15:27
+ Fix to #readFrom so that nanoSecond is read correctly.
+ 
+ (0007667 - 195 - 220 - 220 - 220 - 220 - 220)
+ andreas	10-12-06 21:57
+ [ 100000 timesRepeat: [ DateAndTime now] ] timeToRun ==> 17265
+ This can't possibly be correct by one or two orders of magnitude. "DateAndTime now" should be a *lot* faster than 6000 calls/sec.
+ 
+ (0007669 - 1787 - 1944 - 1944 - 1944 - 1944 - 1944)
+ Keith_Hodges	10-13-06 08:07
+ edited on: 10-13-06 10:13	I made a variant which effectively uses the millisecond clock for the time, and the second clock for the date. I do this in anticipation of the day when the vm primitives give us useful milliseconds (or nanoseconds) since midnight. But this seems to work pretty well.
+ I also discovered that avoiding the use of Duration in the instanciation of DateAndTime improves performance by a factor of x3 on Brent's observation. Making an accessor to set the instance vars directly without normalizing (which I dont think is needed if you give it sensible values) boosts that to a factor of x4.
+ Then removing the semaphore and use of the class var LastTicks improves speed up to a pretty wizzy 90x the original.
+ Perhaps for those of us who dont care about this we could use this extra speed.
+ (DateAndTime now) <= (DateAndTime now) is always true*
+ I have uploaded DateAndTime3.st and Time.st which implement the above.
+ DateAndTime rightNow, is the fastest 'wizzy' DateAndTime nowUnique, uses the semaphore approach.
+ DateAndTime now, calls rightNow, and if it isnt different to the last time it falls back onto nowUnique for the best of both worlds. Note that if you time #now, you will get the results for #nowUnique which is not what you really want.
+ In class Time-#now, sets the nanoSeconds using #millisecondSinceMidnight in the time instance whereas before Time-#now only set the seconds.
+ NOTE: This is bleeding edge proof of concept. No testing has been done as yet, no assessment as been made as to what happens when the day rolls over, or when the millisecond clock rolls over.
+ enjoy
+ [ 100000 timesRepeat: [ self rightNow. ] ] timeToRun. 220ms (result normalised to be comparible with the above since my machine is approx 2.6 times slower than brents)
+ 
+ (0008710 - 874 - 1012 - 1012 - 1012 - 1012 - 1012)
+ Keith_Hodges	12-14-06 05:24
+ edited on: 05-23-08 22:52	I am pleased to announce a testable/tested incarnation of the millisecond clock implementation. It is much faster too. This handles the clock rollover, and midnight rollovers. If the clock is not used for a number of days and may have lost synchronisation then a sanity check is performed that will recalculate the offsets.
+ Files
+ 1. DateAndTimeTest-testReadFrom.st
+ 2. ClassClonerTestResource.st - for safely testing class side behaviour
+ 3. DateAndTimeClockTest.st
+ 4. Improve Date And Time.2.cs
+ "fix begin"
+ Installer mantis bug: 474 fix: 'Improve Date And Time.6.cs'.
+ "fix test"
+ Installer mantis bug: 474 fix: 'ClassClonerTestResource.st'.
+ Installer mantis bug: 474 fix: 'DateAndTimeClockTest.st'.
+ Installer mantis bug: 474 fix: 'DateAndTimeTest-testReadFrom.st'.
+ Installer mantis bug: 474 fix: 'DateAndTime class-milliSecondsSinceMidnight.st'.
+ "fix end"
+ 
+ (0010812 - 122 - 122 - 122 - 122 - 122 - 122)
+ Keith_Hodges	06-13-07 22:09
+ Improve Date And Time.4.cs caches the LocalTimeZoneOffset value, since some chronology packages were slowing it down a lot
+ 
+ (0010907 - 78 - 84 - 84 - 84 - 84 - 84)
+ edgardec	07-21-07 09:26
+ This now is 7128Improve Date And Time.cs and was in updates for 3.10
+ Thanks !!
+ 
+ (0011295 - 191 - 191 - 191 - 191 - 191 - 191)
+ simon	10-10-07 23:06
+ Edgar, the files ClassClonerTestResource.st and DateAndTimeClockTest.st above provide five tests for DateAndTimeClock, would you mind harvesting these also ? Any tests for this seem valuable.
+ 
+ (0011299 - 69 - 69 - 69 - 69 - 69 - 69)
+ edgardec	10-11-07 09:44
+ I do. When I do the update. Sorry I forget change state of bug report
+ 
+ (0011375 - 247 - 295 - 295 - 295 - 295 - 295)
+ Keith_Hodges	10-24-07 13:12
+ edited on: 10-24-07 14:16	The millisecond clock wraparound is incorrectly set at SmallInteger maxVal, it should be (so I am informed) SmallInteger maxVal // 2.
+ Method effected #millisecondSinceMidnight
+ Adjusted version of this method is now uploaded. (for 7143)
+ 
+ (0011377 - 316 - 438 - 438 - 438 - 438 - 438)
+ edgardec	10-24-07 13:54
+ OK. I change status to feedback.
+ Keith I load the Improve Date And Time.6.cs and only see DateAndTime >> localOffset
+ "Answer the duration we are offset from UTC"
+ ^ LocalOffset ifNil:[ LocalOffset := self localTimeZone offset ]
+ and milliSecondsSinceMidnight as As difference with 7158
+ It's correct ?
+ 
+ (0012150 - 172 - 172 - 172 - 172 - 172 - 172)
+ KenCausey	05-23-08 23:49
+ I have harvested Keith's DateAndTime class-milliSecondsSinceMidnight.st as update 7174. I hope that finalizes this issue. Please let me know ASAP if that is not the case.
+ 
+ (0012173 - 15 - 15 - 15 - 15 - 15 - 15)
+ KenCausey	05-26-08 18:33
+ Fixed in 3.10.1
+ 
+ Files: #('DateAndTime3.st' 'Improve Date And Time.3.cs' 'Improve Date And Time.6.cs' 'Time.st' 'ClassClonerTestResource.st' 'Improve Date And Time.2.cs' 'DateAndTime class-milliSecondsSinceMidnight.st' 'DateAndTimeTest-testReadFrom.st' 'Improve Date And Time.5.cs' 'DateAndTime class-readFrom.1.st' 'DateAndTime class-readFrom.st' 'accurateDateAndTimeNow-brp.1.cs.gz' 'DateAndTimeClockTest.st' 'Improve Date And Time.1.cs' 'Improve Date And Time.4.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m03574StringgtgtfindFirstInString (in category 'new-open') -----
+ m03574StringgtgtfindFirstInString
+ 
+ Installer mantis bug: 3574 fix:'Collection-String-IndexOf-Test.3.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-M3574-Patch.1.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-M3574-nice-hashPatch.1.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-M3574-nice-newFrom.1.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-copy-Patch-M3574-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 3574 fix:'Collection-String-IndexOf-Test.3.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-M3574-nice-Test.1.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-copy-Test-M3574-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0003574
+ Category: [Squeak] Collections
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 05-09-06 07:08
+ Date Updated: 07-03-08 20:30
+ Reporter: johnmci
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0003574: String&gt;&gt;findFirstInString:inSet:startingAt: does not work if character of interest is last character in String, also WideString
+ Description: IN the XMLWriter class try <br />
+ <br />
+ String findFirstInString: ' &quot;' inSet: XMLTranslationMap startingAt: 1.<br />
+ <br />
+ This should return 2, because &quot; is an entry in the XMLTranslationMap, however it return 0, because the code does not consider the last character in the string could be a character we are interested in. <br />
+ <br />
+ Perhaps code should look like <br />
+ <br />
+ String&gt;&gt;findFirstInString: aString inSet: inclusionMap startingAt: start<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&quot;Trivial, non-primitive version&quot;<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;| i stringSize ascii more |<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;inclusionMap size ~= 256 ifTrue: [^ 0].<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;stringSize _ aString size.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;more _ true.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;i _ start - 1.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;[more and: [i + 1 &lt;= stringSize]] whileTrue: [<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i _ i + 1.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ascii _ (aString at: i) asciiValue.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;more _ ascii &lt; 256 ifTrue: [(inclusionMap at: ascii + 1) = 0] ifFalse: [true].<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;].<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;(more not and: [i = stringSize]) ifTrue: [^i].<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;i + 1 &gt; stringSize ifTrue: [^ 0].<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;^ i<br />
+ <br />
+ Also see WideString which is also I think is broken.<br />
+ Additional Information: 
+ Notes: 
+ (0004895 - 201 - 222 - 222 - 222 - 222 - 222)
+ nicolas cellier	05-09-06 20:20
+ [FIX] provided in attachment.
+ With this patch, we can now search for ordinary characters (asciiValue < 256) in WideString.
+ This patch still does not handle searching the index of wide characters...
+ 
+ (0004896 - 277 - 319 - 319 - 319 - 319 - 319)
+ nicolas cellier	05-10-06 00:26
+ edited on: 05-10-06 00:58	[FIX] second fix and test in attachment
+ Now, there is a WideCharacterSet transparentely handling Wide Characters (thanks to CharacterSet>>become:).
+ We can search wide Characters in ByteString (use existing primitive with byte character subsets), and also in WideString.
+ 
+ (0005946 - 13 - 13 - 13 - 13 - 13 - 13)
+ MarcusDenker	07-15-06 18:03
+ test is added
+ 
+ (0008793 - 133 - 133 - 133 - 133 - 133 - 133)
+ black	01-02-07 22:24
+ This fix was posted 7 months ago. Unless there is reason to believe that it is defective, isn't it time to include it in the image?
+ 
+ (0008828 - 179 - 233 - 233 - 233 - 233 - 233)
+ Keith_Hodges	01-05-07 09:25
+ "fix begin"
+ Installer mantis bug: 3574 fix: 'Collection-String-IndexOf-Patch.2.cs'.
+ "fix test"
+ Installer mantis bug: 3574 fix: 'Collection-String-IndexOf-Test.2.cs'.
+ "fix end"
+ 
+ (0010444 - 315 - 782 - 782 - 782 - 782 - 782)
+ johnmci	03-15-07 00:14
+ findFirstInString: aString inCharacterSet: aCharacterSet startingAt: start "Trivial, non-primitive version"
+ 1
+ to: aString size
+ do: [:i | (aCharacterSet
+ includes: (aString at: i))
+ ifTrue: [^ i]].
+ ^ 0
+ This changed method does not consider 'start', thus apparently does the wrong thing.
+ 
+ (0010445 - 233 - 305 - 305 - 305 - 305 - 305)
+ nicolas cellier	03-15-07 20:04
+ Oops... well found!!
+ Obviously a lack of testing !!
+ "fix begin"
+ Installer mantis bug: 3574 fix: 'Collection-String-IndexOf-Patch.3.cs'.
+ "fix test"
+ Installer mantis bug: 3574 fix: 'Collection-String-IndexOf-Test.3.cs'.
+ "fix end"
+ 
+ (0010481 - 98 - 104 - 104 - 104 - 104 - 104)
+ edgardec	03-30-07 13:46
+ This now is 7071StringFindFirstInStringinSetstartingAt.cs and was in the 3.10 updates.
+ Thanks all
+ 
+ (0011206 - 224 - 242 - 242 - 242 - 242 - 242)
+ nicolas cellier	09-25-07 19:05
+ Gasp!! in 3.10 image, i browsed the senders of self, and WideCharacterSet is, the classical bug of omitting the period at the end of previous sentence!!
+ So I reopen the bug. Please upload WideCharacterSet-M3574-Patch.1.cs
+ 
+ (0011438 - 373 - 409 - 621 - 621 - 621 - 621)
+ nicolas cellier	11-15-07 20:29
+ Following http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-November/122292.html, [^]
+ hash is bugged. it sends an unimplemented message (due to some untested refactoring).
+ moreover, since WideCharacterSet can equal ordinary CharacterSet, hash has to care of it, what it did not.
+ WideCharacterSet-M3574-nice-hashPatch.1.cs is a patch correcting this behavior.
+ 
+ (0011440 - 113 - 125 - 125 - 125 - 125 - 125)
+ nicolas cellier	11-15-07 21:35
+ A convenient #newFrom: instance creation method was missing.
+ WideCharacterSet-M3574-nice-newFrom.1.cs adds it.
+ 
+ (0011446 - 88 - 88 - 88 - 88 - 88 - 88)
+ nicolas cellier	11-19-07 22:33
+ WideCharacterSet-M3574-nice-Test.1.cs now adds a few tests to WideCharacterSet itself...
+ 
+ (0011449 - 69 - 75 - 75 - 160 - 160 - 160)
+ nicolas cellier	11-19-07 23:55
+ copy is bugged also (see 0006777).
+ Please find test and patch again...
+ 
+ (0011570 - 631 - 733 - 733 - 733 - 733 - 733)
+ Keith_Hodges	12-17-07 17:46
+ edited on: 01-18-08 09:42	"fix begin"
+ Installer mantis bug: 3574 fix:'Collection-String-IndexOf-Test.3.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-M3574-Patch.1.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-M3574-nice-hashPatch.1.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-M3574-nice-newFrom.1.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-copy-Patch-M3574-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 3574 fix:'Collection-String-IndexOf-Test.3.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-M3574-nice-Test.1.cs'.
+ Installer mantis bug: 3574 fix:'WideCharacterSet-copy-Test-M3574-nice.1.cs'.
+ "fix end"
+ 
+ (0012328 - 14 - 14 - 14 - 14 - 14 - 14)
+ ducasse	07-03-08 20:30
+ in pharo 10049
+ 
+ Files: #('WideCharacterSet-M3574-nice-hashPatch.1.cs' 'Collection-String-IndexOf-Test.3.cs' 'Collection-String-IndexOf-Patch.2.cs' 'Collection-String-IndexOf-Patch.1.cs' 'Collection-String-IndexOf-Test.2.cs' 'WideCharacterSet-M3574-nice-newFrom.1.cs' 'WideCharacterSet-copy-Test-M3574-nice.1.cs' 'Collection-String-IndexOf-Test.1.cs' 'WideCharacterSet-copy-Patch-M3574-nice.1.cs' 'WideCharacterSet-M3574-Patch.1.cs' 'WideCharacterSet-M3574-nice-Test.1.cs' 'Collection-String-IndexOf-Patch.3.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06869fixObsoleteReferencesredundanc (in category 'new-open') -----
+ m06869fixObsoleteReferencesredundanc
+ 
+ ScriptLoader removeSelector: #fixObsoleteReferences.
+ ReleaseBuilder removeSelector: #fixObsoleteReferences.
+ Installer mantis bug:6869 fix: 'ReleaseBuilderFor3dot10-makeSqueakThreeTenReleasePhaseCleanup.st'.
+ 
+ """"""
+ Bug ID: 0006869
+ Category: [Squeak] System
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 01-21-08 23:01
+ Date Updated: 01-21-08 23:02
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 
+ Summary: 0006869: fixObsoleteReferences redundancy
+ Description: this method appears 3 times in the image
+ Additional Information: 
+ Notes: 
+ (0011695 - 234 - 290 - 290 - 290 - 290 - 290)
+ Keith_Hodges	01-21-08 23:02
+ edited on: 01-21-08 23:02	"fix begin"
+ ScriptLoader removeSelector: #fixObsoleteReferences.
+ ReleaseBuilder removeSelector: #fixObsoleteReferences.
+ Installer mantis bug:6869 fix: 'ReleaseBuilderFor3dot10-makeSqueakThreeTenReleasePhaseCleanup.st'.
+ "fix end"
+ 
+ Files: #('ReleaseBuilderFor3dot10-makeSqueakThreeTenReleasePhaseCleanup.st')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07121addbeforeIndexandaddafterI (in category 'new-open') -----
+ m07121addbeforeIndexandaddafterI
+ 
+ Installer mantis bug: 7121 fix: 'FixAddBeforeAndAfter.1.cs'.
+ "fix test"
+ 
+ """"""
+ Bug ID: 0007121
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 07-16-08 06:14
+ Date Updated: 07-16-08 20:49
+ Reporter: andreas
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.8
+ Summary: 0007121: add:beforeIndex: and add:afterIndex: do not work as advertised
+ Description: <a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-July/130222.html">http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-July/130222.html</a> [<a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-July/130222.html" target="_blank">^</a>]
+ Additional Information: &quot;Change Set:		FixAddBeforeAndAfter<br />
+ Date:			15 July 2008<br />
+ Author:			Andreas Raab<br />
+ <br />
+ Fixes OrderedCollection&gt;&gt;add:beforeIndex: and add:afterIndex: and provides tests to prove the point.&quot;<br />
+ Notes: 
+ (0012385 - 96 - 144 - 144 - 144 - 144 - 144)
+ nicolas cellier	07-16-08 20:49
+ "fix begin"
+ Installer mantis bug: 7121 fix: 'FixAddBeforeAndAfter.1.cs'.
+ "fix test"
+ "fix end"
+ 
+ Files: #('FixAddBeforeAndAfter.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07114BUGSmallIntegerminValhighB (in category 'new-open') -----
+ m07114BUGSmallIntegerminValhighB
+ 
+ Installer mantis bug: 7114 fix:'SmallInteger-highBitOfMagnitude-Patch-M7114-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 7114 fix:'SmallInteger-highBitOfMagnitude-Test-M7114-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0007114
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 07-08-08 00:30
+ Date Updated: 07-08-08 00:55
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0007114: [BUG] SmallInteger minVal highBit
+ Description: <br />
+ Try it, you get a DNU.<br />
+ This is because SmallInteger minVal abs class ~~ SmallInteger
+ Additional Information: 
+ Notes: 
+ (0012347 - 84 - 90 - 90 - 90 - 90 - 90)
+ nicolas cellier	07-08-08 00:32
+ Sorry, it's a little late.
+ I meant SmallInteger minVal highBitOfMagnitude of course
+ 
+ (0012348 - 14 - 14 - 14 - 108 - 108 - 108)
+ nicolas cellier	07-08-08 00:47
+ See also 0007113
+ 
+ (0012351 - 211 - 265 - 265 - 265 - 265 - 265)
+ nicolas cellier	07-08-08 00:55
+ "fix begin"
+ Installer mantis bug: 7114 fix:'SmallInteger-highBitOfMagnitude-Patch-M7114-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 7114 fix:'SmallInteger-highBitOfMagnitude-Test-M7114-nice.1.cs'.
+ "fix end"
+ 
+ Files: #('SmallInteger-highBitOfMagnitude-Patch-M7114-nice.1.cs' 'SmallInteger-highBitOfMagnitude-Test-M7114-nice.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07196HTTPSocketUserAgenthardcode (in category 'assigned-open') -----
+ m07196HTTPSocketUserAgenthardcode
+ 
+ Installer mantis bug: 7196 fix: 'HTTPSocket-UserAgent.1.cs'.
+ 
+ """"""
+ Bug ID: 0007196
+ Category: [Squeak] Network
+ Severity: tweak
+ Reproducibility: N/A
+ Date Submitted: 09-21-08 18:51
+ Date Updated: 09-21-08 20:22
+ Reporter: philb
+ View Status: public
+ Handler: cdegroot
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 3.10.2
+ Summary: 0007196: HTTPSocket User Agent hard-coded
+ Description: It is often useful to be able to override the default User Agent string for sites that sniff the UA string or to identify an application making requests.  Currently, the UA string is hard-coded to the Squeak version  (i.e. 'Squeak3.10.2-7179')  The attached changeset adds a class variable which stores the UA string which defaults to the Squeak version but does allow it to be changed via a new userAgentString: class method.
+ Additional Information: 
+ Notes: 
+ (0012680 - 84 - 116 - 116 - 116 - 116 - 116)
+ Keith_Hodges	09-21-08 20:22
+ "fix begin"
+ Installer mantis bug: 7196 fix: 'HTTPSocket-UserAgent.1.cs'.
+ "fix end"
+ 
+ Files: #('HTTPSocket-UserAgent.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06726REQCompiledMethodprintenhan (in category 'new-open') -----
+ m06726REQCompiledMethodprintenhan
+ 
+ Installer mantis bug: 6726 fix:'CompiledMethodPrintEnhancement-M6726.1.cs'.
+ "fix test"
+ 
+ """"""
+ Bug ID: 0006726
+ Category: [Squeak] Kernel
+ Severity: feature
+ Reproducibility: N/A
+ Date Submitted: 10-12-07 20:34
+ Date Updated: 12-17-07 17:47
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006726: REQ: CompiledMethod print enhancement
+ Description: I'd like the method class and selector to be printed.
+ Additional Information: 
+ Notes: 
+ (0011571 - 111 - 159 - 159 - 159 - 159 - 159)
+ Keith_Hodges	12-17-07 17:47
+ "fix begin"
+ Installer mantis bug: 6726 fix:'CompiledMethodPrintEnhancement-M6726.1.cs'.
+ "fix test"
+ "fix end"
+ 
+ Files: #('CompiledMethodPrintEnhancement-M6726.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310Unstable>>m07199ExposeSockettimeouttoProtoc (in category 'assigned-open') -----
+ m07199ExposeSockettimeouttoProtoc
+ 
+ Installer mantis bug: 7199 fix: 'ExposeSocketTimeout.1.cs'.
+ 
+ """"""
+ Bug ID: 0007199
+ Category: [Squeak] Network
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 09-22-08 23:38
+ Date Updated: 09-22-08 23:40
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: cdegroot
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 3.10.2
+ Summary: 0007199: Expose Socket timeout to ProtocolClients
+ Description: All of the Protocol client classes are stuck with the standard Socket timeout. Enable subclasses of the ProtocolClient to set their own standardTimeout.<br />
+ <br />
+ So for example WAMailSenderSmtp can define a 5-10 second timeout that would be ok for a web app.
+ Additional Information: 
+ Notes: 
+ (0012686 - 83 - 115 - 115 - 115 - 115 - 115)
+ Keith_Hodges	09-22-08 23:40
+ "fix begin"
+ Installer mantis bug: 7199 fix: 'ExposeSocketTimeout.1.cs'.
+ "fix end"
+ 
+ Files: #('ExposeSocketTimeout.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m01035Strangebehaviorpolygonmorph (in category 'new-open') -----
+ m01035Strangebehaviorpolygonmorph
+ 
+ Installer mantis bug: 1035 fix: 'PolygonMorph-extent-Patch-M1035-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 1035 fix: 'PolygonMorph-extent-Test-M1035-kosik-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0001035
+ Category: [Squeak] Morphic
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 04-02-05 15:28
+ Date Updated: 10-26-08 21:13
+ Reporter: kosik
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0001035: Strange behavior polygon morph added to a rectangle morph with proportional layout
+ Description: When I do this:<br />
+ <br />
+ &nbsp;&nbsp;submorph := (PolygonMorph vertices: {0 at 0. 100 at 0. 0 at 100} color: Color red   borderWidth: 0 borderColor: Color transparent) color: Color red.<br />
+ &nbsp;&nbsp;submorph openInWorld.<br />
+ <br />
+ &nbsp;&nbsp;morph := Morph new<br />
+ &nbsp;&nbsp;color: Color blue;<br />
+ &nbsp;&nbsp;layoutPolicy: ProportionalLayout new;<br />
+ &nbsp;&nbsp;addMorph: submorph<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;fullFrame: (LayoutFrame fractions: (0.1 @ 0.1 corner: 0.9 @ 0.9));<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;openInWorld.<br />
+ <br />
+ &nbsp;&nbsp;morph position:<a href="mailto: 100 at 100.<br"> 100 at 100.<br</a> />
+ <br />
+ So far everything works as one would expect. However, when I do this:<br />
+ <br />
+ &nbsp;&nbsp;morph extent:<a href="mailto: 100 at 100.<br"> 100 at 100.<br</a> />
+ <br />
+ Strage things happen. The (polygon) submorph is misplaced relatively to its supermorph.<br />
+ <br />
+ Strangely, when I resize the supermorph with the yellow halo, the submorph becomes positioned correctly.<br />
+ <br />
+ When we use something else (e.g. RectangleMorph) instead of the PolygonMorph, this problem will not occur.
+ Additional Information: 
+ Notes: 
+ (0003427 - 1036 - 1150 - 1210 - 1210 - 1210 - 1210)
+ wiz	01-05-06 05:16
+ edited on: 01-05-06 05:23	More Clues:
+ I followed the implementers for the growth handle actions and discovered that the growth hanlde eventually just calls morph extent: anExtent. so in theory there should be no difference.
+ Of course in practice there is. Initial setting the extent displays the morphs triangle submorph in the wrong place. But after I did it a few times the odd behavior stopped. To see what I mean:
+ Move the morph, then resize the morph w/ growth handle then using a workspace perform a doit on:
+ morph position: 100 at 100 .
+ morph extent: 100 at 100 .
+ The strange behaviour disappears and the triangle appears positioned inside the morph where it should be.
+ It also looked to me that the triangle was being set to the correct size but merely positioned wrong when the strange behavior was occuring. So this would suggest that something was not getting initialized properly in LayoutFrame until...?
+ Thank you kosik for a good reproducible report. Hope these observations help.
+ Yours in service -- (wiz) Jerome Peace
+ 
+ (0011814 - 2027 - 3051 - 3382 - 3382 - 3382 - 3382)
+ nicolas cellier	02-16-08 01:03
+ Hard to debug code while World is stepping.
+ But you can play the bug without any interaction, don't openInWorld:
+ submorph := (PolygonMorph
+ vertices: {0 at 0. 100 at 0. 0 at 100}
+ color: Color red borderWidth: 0 borderColor: Color transparent)
+ color: Color red.
+ submorph bounds. "0 at 0 corner: 100 at 100"
+ morph := Morph new
+ color: Color blue;
+ layoutPolicy: ProportionalLayout new;
+ addMorph: submorph
+ fullFrame: (LayoutFrame fractions: (0.1 @ 0.1 corner: 0.9 @ 0.9)).
+ submorph bounds. "0 at 0 corner: 100 at 100 NOT YET UPDATED"
+ morph fullBounds. "0 at 0 corner: 50 at 40. CORRECT"
+ submorph bounds. "5 at 4 corner: 45 at 36 NOW UPDATED OK"
+ morph extent: 100 at 100. />
+ submorph bounds. "5 at 4 corner: 45 at 36 NOT YET UPDATED"
+ morph fullBounds. "-10 at -14 corner: 100 at 100 WRONG"
+ submorph bounds. "-10 at -14 corner: 70 at 66 NOW WRONG POSITION (BUT RIGHT EXTENT)"
+ self assert: (submorph bounds = (10 at 10 corner: 90 at 90)) "would fail..."
+ Then you happily debugIt and find the guilty:
+ Morph>>#bounds: newBounds
+ | oldExtent newExtent |
+ oldExtent _ self extent.
+ newExtent _ newBounds extent.
+ (oldExtent dotProduct: oldExtent) <= (newExtent dotProduct: newExtent) ifTrue:[
+ "We're growing. First move then resize."
+ self position: newBounds topLeft; extent: newExtent.
+ ] ifFalse:[
+ "We're shrinking. First resize then move."
+ self extent: newExtent; position: newBounds topLeft.
+ ].
+ First fullBounds call triggered a shrinking submorph extent: that worked, while second triggered a growing extent: that failed...
+ Well, these two operations are not commutative because PolygonMorph is resized with its center being invariant. So when you change its extent, you also change its origin. So it should always adjust the position afterwards...
+ I guess PolygonMorph>>#extent: is not behaving correctly.
+ Here two choices:
+ - either correct PolygonMorph>>#extent: (will this imply other bugs?)
+ - or implement bounds: in PolygonMorph as a workaround for this bug
+ Jerome?
+ 
+ (0011815 - 107 - 125 - 125 - 125 - 125 - 125)
+ nicolas cellier	02-16-08 01:35
+ edited on: 02-16-08 01:35	Cowardly chosed option # 2, implement PolygonMorph>>#bounds: in PolygonMorph-extent-Patch-M1035-nice.1.cs
+ 
+ (0011819 - 2433 - 2625 - 2625 - 2625 - 2625 - 2625)
+ wiz	02-16-08 20:08
+ edited on: 02-27-08 04:14	Hmm, At one point I looked into the differences between morphs with submorphs (and no layout policy).
+ The submorphs of polygons acted differently than the submorphs of rectangles (and ellipses) when extent was changed. That was because rectangles use the origin (topLeft) as the invarient point and the submorphs will keep an invarient distance from the origin. So stretching a rectange appears to have no effect on its submorphs size or position. And of course when rectangles are rotated the transformMorph will make the submorphs appear to rotate and scale with the rectangle.
+ Polygons using the same policy (submorphs an invarient distance from the topLeft of bounds). Behave differently because the topLeft of bounds is not the invarient. And polygons do not use transformMorphs for rotation or scaling.
+ My desired repair was to collect the reference points of a polygons submorphs and treat them to the same transformation (stretching and/or reflection, scaling and/or rotation) as the polygon.
+ The polygon could then ask the submorphs politely if they would like to internally transform as well.
+ This had some pleasing results but also some implications for what rectangles submorphs would have to do to be consistent with that.
+ I thought of tackling that but wondered if I could sell it to anyone.
+ Then, I realized all I was doing would have to be integrated with layout policy . And put it on a back burner until I knew enough about layout to know what was feasable.
+ I have no great conclusion. I still don't know how layout is to be properly done. Left to my own devices I would think that scaling the submorph and then laying out its owner to fit would work better than scaling the polygon first and then pretending the rectangular bounds was good for the layout.
+ I worked hard to make polygons able to mimic either rectangle or ellipses.
+ The principle I would like to see carried out in layout policy would be that polygons act enough like rectangles and ellipses that the mimicry is undetectable. But I don't know how to do that. And I am aware that there will be changes that have to happen on the rectangle side as well as the polygon side for things to work right.
+ I've been reading John Maloney's code for scratch blocks. The part where he does relayout on scratch blocks was insightful. I'll look at the patch.
+ Hth,
+ Yours in curiosity and service, --Jerome Peace
+ 
+ (0012755 - 195 - 249 - 249 - 249 - 249 - 249)
+ nicolas cellier	10-26-08 21:13
+ "fix begin"
+ Installer mantis bug: 1035 fix: 'PolygonMorph-extent-Patch-M1035-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 1035 fix: 'PolygonMorph-extent-Test-M1035-kosik-nice.1.cs'.
+ "fix end"
+ 
+ Files: #('PolygonMorph-extent-Test-M1035-kosik-nice.1.cs' 'PolygonMorph-extent-Patch-M1035-nice.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m0699000significandAsIntegeristoo (in category 'new-open') -----
+ m0699000significandAsIntegeristoo
+ 
+ Installer mantis bug: 6990 fix:'Float-zero-significandAsInteger-Patch-M6990-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 6990 fix:'Float-zero-significandAsInteger-Test-M6990-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0006990
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 03-23-08 01:28
+ Date Updated: 03-23-08 15:07
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006990: 0.0 significandAsInteger is too big
+ Description: It will answer (1 bitShift: 52), the implied 53rd bit.<br />
+ It should not.<br />
+ <br />
+ exponent does answer -1 (why ?). This leads to:<br />
+ <br />
+ 0.0 significandAsInteger asFloat timesTwoPower: 0.0 biasedExponent. &quot;-&gt;0.5&quot;<br />
+ <br />
+ where biasedExponent is (self exponent max: -1022) - 52
+ Additional Information: 
+ Notes: 
+ (0011949 - 213 - 279 - 279 - 279 - 279 - 279)
+ nicolas cellier	03-23-08 15:07
+ edited on: 04-06-08 16:48	"fix begin"
+ Installer mantis bug: 6990 fix:'Float-zero-significandAsInteger-Patch-M6990-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 6990 fix:'Float-zero-significandAsInteger-Test-M6990-nice.1.cs'.
+ "fix end"
+ 
+ Files: #('Float-zero-significandAsInteger-Test-M6990-nice.1.cs' 'Float-zero-significandAsInteger-Patch-M6990-nice.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07181improveHandMorphgtgtshadow (in category 'new-open') -----
+ m07181improveHandMorphgtgtshadow
+ 
+ Installer mantis bug: 7181 fix: 'HandMorph-shadowForm-M7181-pv.1.cs.gz'.
+ "fix test"
+ Installer mantis bug: 7181 fix: 'HandMorphTest-M7181-pv.1.cs.gz'.
+ 
+ """"""
+ Bug ID: 0007181
+ Category: [Squeak] Morphic
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 09-10-08 22:27
+ Date Updated: 10-01-08 02:26
+ Reporter: Pascal Vollmer
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0007181: improve HandMorph&gt;&gt;shadowForm
+ Description: Say you want to know which is the color of the morph under the mouse pointer. Also say that the mouse pointer has no morphs attached to it.<br />
+ You might use touchesColor: in order to do this. <br />
+ When sending touchesColor: to a HandMorph-object you will send shadowForm to this HandMorph-object. <br />
+ If at this moment the mouse pointer has no submorphs shadowForm will fail.<br />
+ The remedy in this case is to send shadowForm to super.&quot;
+ Additional Information: 
+ Notes: 
+ (0012628 - 72 - 84 - 84 - 84 - 84 - 84)
+ Pascal Vollmer	09-10-08 22:31
+ edited on: 09-10-08 22:32	Added a fix. (Thanks to Ken Causey for his video how to report bugs !!)
+ 
+ (0012649 - 425 - 479 - 479 - 479 - 479 - 479)
+ wiz	09-12-08 22:47
+ Hi Pascal,
+ Thanks for the fix. It would be good if you could also include an Sunit test. One which fails before the fix is installed and passes afterwards. This will build confidence in the fix. It will also stop someone from removing the fix w/o noticing that they have done so.
+ I have been asking this of all submitters so as to make life easier on harvesters.
+ Yours in curiosity and service, --Jerome Peace
+ 
+ (0012652 - 887 - 977 - 977 - 977 - 977 - 977)
+ wiz	09-12-08 23:56
+ Hmmm.
+ Without the patch ActiveHand shadowForm raises an error and with the patch it does not. So that could be the basis for a test.
+ I did take a look at the patch. It is an improvement of the current state of affairs. I am not sure how it handles the case when the cursor is blank and there are also no submorphs. But that would be a bug in its own right. I have known it to happen. A handle is used as a submorph. The cursor is set to
+ blank and something causes the handle to be removed.
+ So I am wondering if instead of calling super a onebit shadowForm with an offset equal to the cursor position would not be a good alternative?
+ That is as far as I have gotten in my thinking.
+ If you have time to spend on this I would suggest making the tests first then fiddling (iff you wish) with the code itself. Your current patch is still an improvement.
+ Cheers -Jer
+ 
+ (0012681 - 164 - 176 - 176 - 176 - 176 - 176)
+ Pascal Vollmer	09-22-08 20:26
+ Hi Jerome,
+ I've added a unit test as you requested. It tests touchesColor: with and w/o the fix and shows that the fix is useful for this use case.
+ cheers, Pascal
+ 
+ (0012715 - 175 - 229 - 229 - 229 - 229 - 229)
+ Keith_Hodges	10-01-08 02:24
+ "fix begin"
+ Installer mantis bug: 7181 fix: 'HandMorph-shadowForm-M7181-pv.1.cs.gz'.
+ "fix test"
+ Installer mantis bug: 7181 fix: 'HandMorphTest-M7181-pv.1.cs.gz'.
+ "fix end"
+ 
+ Files: #('HandMorph-shadowForm-M7181-pv.1.cs.gz' 'HandMorphTest-M7181-pv.1.cs.gz')!

Item was changed:
  ----- Method: ReleaseAfterSqueak310 class>>taskPackageUpgrades (in category 'as yet unclassified') -----
  taskPackageUpgrades
  
  	^ self define: [ :task |	
  		task action: [ 
  	 			
  			Installer ss project: 'Testing'; installQuietly: 'SUnit' ; install: 'SUnitGUI'.
  			Installer ss project: 'XMLSupport'; install: 'XML-Parser-mir.9'.
  			Installer ss project: 'universes'; install: 'Universes'.
+  			Installer ss project: 'Logging'; installQuietly: 'ProcessSpecific'.
   
  			Installer goran project: ''; installQuietly: 'SMBase'; installQuietly: 'SMLoader'.
  		]
  	].!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06584SymbolallInstancesdoesntwor (in category 'new-open') -----
+ m06584SymbolallInstancesdoesntwor
+ 
+ Installer mantis bug: 6584 fix:'SymbolAllintancesFix.1.cs'.
+ "fix test"
+ 
+ """"""
+ Bug ID: 0006584
+ Category: [Squeak] System
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 08-01-07 17:24
+ Date Updated: 02-01-08 22:58
+ Reporter: pmm
+ View Status: public
+ Handler: 
+ Priority: high
+ Resolution: open
+ Status: new
+ Product Version: 3.8
+ Summary: 0006584: Symbol allInstances doesn't work anymore
+ Description: Since the WideString refactoring Symbol is an abstract class like String. It doesn't have any instances anymore. Yet there are still senders of it in ImageSegment related code. They store it into a temprory variable to prevent them from beeing garbage collected. This is clearly broken now. The correct way to fix this is to send Symbol allSymbols.
+ Additional Information: 
+ Notes: 
+ (0010954 - 452 - 548 - 548 - 548 - 548 - 548)
+ wiz	08-02-07 01:50
+ Can you provide sunit tests with it.
+ At least one simple one that fails before the patch and passes after
+ a method that does
+ self shouldnt: [ something that fails before the patch] raise: Error.
+ would at least flag if the patch is missing.
+ If you can think of other ways to check the pieces even better.
+ Your in service, --Jerome Peace
+ Note: I didn't test the code.
+ Just glanced at it to notice that it is several methods long.
+ 
+ (0010957 - 153 - 153 - 153 - 153 - 153 - 153)
+ pmm	08-02-07 11:51
+ The patch is not several methods long. The methods that are patched (one line is changed in each) are several methods long. So the patch is only 3 lines.
+ 
+ (0011191 - 340 - 358 - 358 - 358 - 358 - 358)
+ nicolas cellier	09-24-07 22:18
+ I guaranty this patch as valid and non-regressive.
+ It seems to me like a non-sense to write long-long-crooked tests for something so obvious and already discussed in Squeak-dev.
+ If you wait for a test of ImageSegment to appear (that would make sense), you might let these bugs rot in the image for several years. Please include in 3.10!!
+ 
+ (0011201 - 2288 - 2483 - 2483 - 2483 - 2483 - 2483)
+ wiz	09-25-07 05:24
+ Hi nicolas, hi pmm
+ I track bugs. The patterns I see are that a patched bug usually receives other patches. Often done by several code cooks. Tests prevent reversion of fixes by demonstrating a difference. And in that sense they make me feel more comfortable about the future of the image.
+ Nicolas what made you sure this patch is valid and non-regressive? What stops you from putting that in a simple bug test? >It seems to me like a non-sense to write long-long-crooked tests for something so obvious and already discussed in Squeak-dev.
+ Why would the test be long-long-crooked? Testing any simple aspect of the fix that demonstrates the difference is a sufficeint first approximation of what is needed. I read your comments to mean that the methods in question don't have much test coverage at the moment and that the task of giving them some would be onerous, especially to someone who just wants the bug fixed. I agree, it would be an imposition to ask for repairs that should belong to the code authors. I just ask that patchers take the responsibility of proving their own code is 1) necessary because there is a test that fails if the the code is not included.
+ 2) sufficient because the test passes when the patch is in place.
+ Even superficial tests with the above two properties would be benificial to the integrity of squeak. I take your word, Nicolas, at great value. You are particular about things and have high standards.If you vouch for the code I accept that the code is good code.
+ The tests are to insure it remains so.
+ I track and fix bugs, I don't harvest them. My requests are just that, requests. They are not demands or preconditions for acceptance.
+ I have learned that the first rule of trouble shooting is first hand information. Tests are important because they provide that and point to the problem area when they fail.
+ I believe your word. But it only applies to the here and now. Not for what the code might be patched to in the future. Or what else might be added to squeak that would interact with it.
+ I figure if I can get the good folks to write tests for their good code that gives us all a place to stand when we ask the same of the stumblers.
+ Cheers,
+ Yours in curiosity and service, --Jerome Peace
+ 
+ (0011205 - 799 - 859 - 859 - 859 - 859 - 859)
+ nicolas cellier	09-25-07 08:21
+ Hi Jerome,
+ Agree with your general comments, but every rule has exceptions.
+ I cannot tell if new code is really good, I can only tell it is obviously better than older because it fixes an obvious bug.
+ Old code call (Symbol allInstances) which is now a NON SENSE because Symbol is now an Abstract class. (Symbol allSymbols) is a well-known-far-better solution.
+ Maybe the simple test could be to scan source code and check that such a construct is not used, based on Abstract Syntax Tree Analysis.
+ Should we really test all possible such ill-constructions?
+ I believe tests should rather concentrate on asserting the functionality and the intention of the messages.
+ So this lead to the long-long way, that is to test ImageSegment, which very few can understand I guess. So it won't happen.
+ 
+ (0011729 - 95 - 143 - 143 - 143 - 143 - 143)
+ nicolas cellier	02-01-08 22:58
+ "fix begin"
+ Installer mantis bug: 6584 fix:'SymbolAllintancesFix.1.cs'.
+ "fix test"
+ "fix end"
+ 
+ Files: #('SymbolAllintancesFix.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06868SystemNavigationobsoleteBehav (in category 'new-open') -----
+ m06868SystemNavigationobsoleteBehav
+ 
+ Installer mantis bug: 6868 fix: 'SystemNavigation-obsoleteBehaviors.1.st'.
+ 
+ """"""
+ Bug ID: 0006868
+ Category: [Squeak] System
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 01-21-08 22:30
+ Date Updated: 01-22-08 21:53
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 
+ Summary: 0006868: SystemNavigation-#obsoleteBehaviours chokes on ProtoObjects
+ Description: Traversing all objects in the system, breaks on ProtoObjects which do not implement #isBehavior<br />
+ Additional Information: 
+ Notes: 
+ (0011694 - 100 - 144 - 144 - 144 - 144 - 144)
+ Keith_Hodges	01-21-08 22:36
+ edited on: 01-22-08 11:37	"fix begin"
+ Installer mantis bug: 6868 fix: 'SystemNavigation-obsoleteBehaviors.1.st'.
+ "fix end"
+ 
+ (0011696 - 219 - 243 - 243 - 243 - 243 - 243)
+ Keith_Hodges	01-22-08 00:01
+ edited on: 01-22-08 11:08	SystemNavigation-obsoleteBehaviors.1.st is a reimplementation in terms of (obj inheritsFrom: Behavior)
+ As an alternative ProtoObject-isBehavior.1.cs moves the implementation of isBehavior from Object to ProtoObject
+ 
+ Files: #('SystemNavigation-obsoleteBehaviors.st' 'ProtoObject-isBehavior.1.cs' 'SystemNavigation-obsoleteBehaviors.1.st')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07131SyntaxErrordialogsraisemore (in category 'new-open') -----
+ m07131SyntaxErrordialogsraisemore
+ 
+ Installer mantis bug: 7131 fix: 'SyntaxErrorUsesNonInteractiveParser-M7131.1.cs'.
+ 
+ """"""
+ Bug ID: 0007131
+ Category: [Squeak] Compiler
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 07-22-08 04:33
+ Date Updated: 07-22-08 04:36
+ Reporter: matthewf
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 
+ Summary: 0007131: Syntax Error dialogs raise more errors than does the calling Parser
+ Description: A syntax error dialog is created to fix a very specific error in a non-interactive parser; however, it runs in interactive mode, so it rejects code that the calling parser would have accepted. The syntax error dialog should accept exactly the same code as the calling parser would have - no more, no less.
+ Additional Information: In non-interactive mode, the following errors prompt for user interaction in the form of a SyntaxError dialog:<br />
+ - Syntax error<br />
+ <br />
+ In interactive mode, the following errors cause user interaction in the form of pop-ups and text prompts:<br />
+ - Syntax error<br />
+ - Unknown global variable/local variable/selector<br />
+ - Changing some special selectors
+ Notes: 
+ (0012400 - 97 - 97 - 97 - 97 - 97 - 97)
+ matthewf	07-22-08 04:34
+ The attached change set makes SyntaxError dialogs compile in non-interactive mode, fixing the bug
+ 
+ (0012401 - 105 - 137 - 137 - 137 - 137 - 137)
+ matthewf	07-22-08 04:36
+ "fix begin"
+ Installer mantis bug: 7131 fix: 'SyntaxErrorUsesNonInteractiveParser-M7131.1.cs'.
+ "fix end"
+ 
+ Files: #('SyntaxErrorUsesNonInteractiveParser-M7131.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07166speedupallSelectorsaddallSel (in category 'new-open') -----
+ m07166speedupallSelectorsaddallSel
+ 
+ Installer mantis bug: 7166 fix: 'Speedup-AllSelectors-M7166.1.cs'.
+ 
+ """"""
+ Bug ID: 0007166
+ Category: [Squeak] Kernel
+ Severity: tweak
+ Reproducibility: always
+ Date Submitted: 08-27-08 21:43
+ Date Updated: 09-28-08 16:26
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10.2
+ Summary: 0007166: speedup allSelectors add allSelectorsBelow:
+ Description: Firstly #allSelectors inefficiently creates multiple intermediate collections. Refactoring this yields a 27% speed improvement. <br />
+ <br />
+ Secondly many users of #allSelectors forget that when applied to the class side it doesnt stop at ProtoObject class, it continues to Class ClassDescription, Behavior, Object and ProtoObject. This is catered for by adding #allSelectorsBelow:<br />
+ <br />
+ Magritte and SUnit are heavy users which benefit.
+ Additional Information: 
+ Notes: 
+ (0012533 - 88 - 120 - 120 - 120 - 120 - 120)
+ Keith_Hodges	08-27-08 21:44
+ "fix begin"
+ Installer mantis bug: 7166 fix: 'Speedup-AllSelectors-M7166.cs'.
+ "fix end"
+ 
+ (0012702 - 141 - 141 - 141 - 141 - 141 - 141)
+ Damien Cassou	09-28-08 14:01
+ I've sent that fix to PharoInbox. I replaced 'withAllSuperclasses do:' by 'withAllSuperclassDo:' to avoid the creation of another collection.
+ 
+ (0012703 - 283 - 343 - 343 - 343 - 343 - 343)
+ Damien Cassou	09-28-08 14:47
+ I also added the following test:
+ testAllSelectors
+ self assert: ProtoObject allSelectors = ProtoObject selectors.
+ self assert: Object allSelectors = (Object selectors union: ProtoObject selectors).
+ self assert: (Object allSelectorsBelow: ProtoObject) = (Object selectors).
+ 
+ (0012704 - 90 - 122 - 122 - 122 - 122 - 122)
+ Damien Cassou	09-28-08 16:26
+ "fix begin"
+ Installer mantis bug: 7166 fix: 'Speedup-AllSelectors-M7166.1.cs'.
+ "fix end"
+ 
+ Files: #('Speedup-AllSelectors-M7166.1.cs' 'Speedup-AllSelectors-M7166.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06859IntegergtgtparseFromString (in category 'new-open') -----
+ m06859IntegergtgtparseFromString
+ 
+ Installer mantis bug: 6859 fix: 'IntegerParseFromString.1.cs'.
+ 
+ """"""
+ Bug ID: 0006859
+ Category: [Squeak] Kernel
+ Severity: feature
+ Reproducibility: N/A
+ Date Submitted: 01-17-08 00:41
+ Date Updated: 01-18-08 12:45
+ Reporter: Zulq
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006859: Integer&gt;&gt;parseFromString:base:ifFail:
+ Description: Add methods to parse integers from entire strings allowing an action when the parse fails. Similar to Integer.parseInt(String) in Java.<br />
+ <br />
+ For example,<br />
+ <br />
+ <pre>
+ Integer parseFromString: '' base: 10 ifFail: [#fail] &quot;= #fail&quot;
+ Integer parseFromString: '123' base: 10 ifFail: [#fail] &quot;= 123&quot;
+ Integer parseFromString: '123abc' base: 10 ifFail: [#fail] &quot;= #fail&quot;
+ Integer parseFromString: '1.1' base: 10 ifFail: [#fail] &quot;= #fail&quot;
+ </pre><br />
+ <br />
+ The attached changeset includes an implementation and unit tests. Utility methods have been included so senders do not have to specify the base or fail block if they wish.
+ Additional Information: 
+ Notes: 
+ (0011688 - 86 - 118 - 118 - 118 - 118 - 118)
+ Keith_Hodges	01-18-08 12:45
+ "fix begin"
+ Installer mantis bug: 6859 fix: 'IntegerParseFromString.1.cs'.
+ "fix end"
+ 
+ Files: #('IntegerParseFromString.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06695FloatstoreStringBasedoesnot (in category 'new-open') -----
+ m06695FloatstoreStringBasedoesnot
+ 
+ Installer mantis bug: 6695 fix:'FloatStoreStringBase-M6695-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6695 fix:'FloatStoreStringBase-M6695-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006695
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 09-24-07 23:12
+ Date Updated: 12-17-07 17:25
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006695: Float storeStringBase: does not store the radix
+ Description: self should: (20.0 storeStringBase: 16) = '16r14.0'<br />
+ <br />
+ It would answer '14.0' instead... Ouch!!
+ Additional Information: There have been a lot of mess with theses messages and patches are still uncomplete (not counting the hex mess)<br />
+ <br />
+ related:<br />
+ <br />
+ <a href="http://bugs.squeak.org/view.php?id=4996">http://bugs.squeak.org/view.php?id=4996</a> [<a href="http://bugs.squeak.org/view.php?id=4996" target="_blank">^</a>]<br />
+ <br />
+ <a href="http://bugs.squeak.org/view.php?id=3493">http://bugs.squeak.org/view.php?id=3493</a> [<a href="http://bugs.squeak.org/view.php?id=3493" target="_blank">^</a>]
+ Notes: 
+ (0011566 - 179 - 233 - 233 - 233 - 233 - 233)
+ Keith_Hodges	12-17-07 17:25
+ "fix begin"
+ Installer mantis bug: 6695 fix:'FloatStoreStringBase-M6695-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6695 fix:'FloatStoreStringBase-M6695-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('FloatStoreStringBase-M6695-Test.1.cs' 'FloatStoreStringBase-M6695-Patch.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m02701DependentsArraymightpotential (in category 'new-open') -----
+ m02701DependentsArraymightpotential
+ 
+ Installer mantis bug:2701 fix: 'DependentsPatch.4.cs'.
+ "fix test"
+ Installer mantis bug:2701 fix: 'DependentsTest.2.cs'.
+ 
+ """"""
+ Bug ID: 0002701
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 02-09-06 22:51
+ Date Updated: 02-22-07 06:21
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.8
+ Summary: 0002701: DependentsArray might potentially be misused
+ Description: Problem identified is the risk of having a window closed without saving the changes among others.<br />
+ <br />
+ I can exhibit a failure test case built on a silly example (see attachment uploaded),<br />
+ but i do not know if the potential problem will express in a real case,<br />
+ because this bug was found from bottom up code analysis.<br />
+ <br />
+ See subject (DependentsArray size how does it work ?) on squeak-dev for details.<br />
+ <br />
+ I also attached an incomplete unsatisfying patch not robust to future code evolutions. See additional info and attachments.<br />
+ Additional Information: evaluating<br />
+ &nbsp;&nbsp;dep := self dependents.<br />
+ &nbsp;&nbsp;1 to: dep size do: [:i | (dep at: i) doSomething]<br />
+ might not be correct.<br />
+ <br />
+ if some weak dependent has been reclaimed by garbage collector (see definition of class DependentsArray), then it is replaced by nil in dependents collection.<br />
+ The above loop might end prematurely because #size will count only the non nil.<br />
+ The loop might be evaluated with some nilled elements and not evaluated with some non nil dependents.<br />
+ <br />
+ It happens that such (1 to:self size do:) construction is called indirectly in 3.8 image either via message #do:without: and also with #includes:.<br />
+ <br />
+ Also, a (self dependents first) is called in TestRunner that could incorrectly answer nil. I presume this cannot be the case while the window is opened.<br />
+ <br />
+ Check calls on #dependents.<br />
+ <br />
+ Attached patch is non satisfying regarding lack of robustness to future code evolution: i just redefined afew collection messages in DependentArray so as not to use super #to:do: construct.<br />
+ <br />
+ Almost each and every SequenceableCollection messages use this to:do: construct... If one ever send an unprotected message to its dependents, some other bug will potentially appear.<br />
+ <br />
+ Maybe DependentsArray could also redefine #at:, but i do not know if it might break some methods and it would transform loop budget from n to n*n...<br />
+ <br />
+ More robust solution should be searched for. <br />
+ <br />
+ I suggest this bug remain open, or stored somewhere until better patch found.
+ Notes: 
+ (0010072 - 228 - 240 - 240 - 240 - 240 - 240)
+ nicolas cellier	02-21-07 23:22
+ A new test is added in DependentsTest.2.cs showing how trivially broken is the current implementation of DependentsArray.
+ I just add twice the same dependents, which should be prevented by the includes: test in #addDependent:
+ 
+ (0010073 - 408 - 477 - 477 - 477 - 477 - 477)
+ nicolas cellier	02-21-07 23:28
+ Ah, i found a good example of broken dependents consequence in 3.9 7067 image:
+ Open a regular browser,
+ Select a class (you should see class comment),
+ Save and quit the image,
+ Restart the image,
+ Select a method:
+ -> you see the place of class comment pane is not recycled...
+ Load DependentsPatch4.cs and replay above test
+ Ah it seems to work better...
+ Still not convinced about pending nasty bugs?
+ 
+ (0010094 - 145 - 199 - 199 - 199 - 199 - 199)
+ Keith_Hodges	02-22-07 06:21
+ "fix begin"
+ Installer mantis bug:2701 fix: 'DependentsPatch.4.cs'.
+ "fix test"
+ Installer mantis bug:2701 fix: 'DependentsTest.2.cs'.
+ "fix end"
+ 
+ Files: #('DependentsTest.1.cs' 'DependentsPatch.4.cs' 'DependentsTest.2.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06466LazyListMorphlistChagedfixupl (in category 'new-open') -----
+ m06466LazyListMorphlistChagedfixupl
+ 
+ Installer mantis bug: 6466 fix:  'LazyListMorph-listChanged.st'.
+ 
+ """"""
+ Bug ID: 0006466
+ Category: [Squeak] Morphic
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 05-06-07 15:02
+ Date Updated: 05-07-07 18:24
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006466: LazyListMorph-listChaged fixuploaded to squeak-dev
+ Description: This fixes the fact that some list morphs need to be resized in order to be used, this is particularly noticable in 3.9 buy opening a PackagePaneBrowser, the left hand list is not scrollable.
+ Additional Information: 
+ Notes: 
+ (0010668 - 88 - 120 - 120 - 120 - 120 - 120)
+ Keith_Hodges	05-06-07 15:03
+ "fix begin"
+ Installer mantis bug: 6466 fix: 'LazyListMorph-listChanged.st'.
+ "fix end"
+ 
+ (0010669 - 427 - 475 - 475 - 475 - 475 - 475)
+ wiz	05-06-07 20:54
+ Hi Keith,
+ Tried it. Fix works for PackagePaneBrowsers.
+ I did notice that the fileout uses unix line endings (lfs) which made the source look like it was all on one line on my Mac.
+ I am also wondering what an appropriate test would be. Genning up a package browser and mucking around in its package list looking at scrollbars would seem to be excessive. I wonder if there is an easier way to demostrate the problem.
+ 
+ (0010670 - 11 - 11 - 11 - 11 - 11 - 11)
+ KenCausey	05-07-07 18:24
+ categorized
+ 
+ Files: #('LazyListMorph-listChanged.st')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06980LoadingFFIkernelmakesNetNam (in category 'assigned-open') -----
+ m06980LoadingFFIkernelmakesNetNam
+ 
+ Installer mantis bug: 6980 fix: 'SystemDictionary-recreateSpecialObjectsArray-M6980.st'.
+ 
+ """"""
+ Bug ID: 0006980
+ Category: [Squeak] FFI
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 03-13-08 20:51
+ Date Updated: 08-02-08 21:13
+ Reporter: tbn
+ View Status: public
+ Handler: andreas
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 3.9
+ Summary: 0006980: Loading FFI kernel makes NetNameResolver unresponsive
+ Description: Image:  Squeak 3.10beta7159 and Squeak 3.9#7067<br />
+ VM:     Squeak 3.10.6 (from Aug 30, 2007) on Win Vista<br />
+ <br />
+ Evaluate:<br />
+ &nbsp;&nbsp;NetNameResolver addressForName: 'www.squeaksource.com' timeout: 20<br />
+ <br />
+ this returns a ByteArray with the IP.<br />
+ <br />
+ After loading FFI 3.9.1 using Universe Browser the above code does not<br />
+ return. (you can only break using cmd-dot)<br />
+ <br />
+ This starts to happen directly after FFI-Kernel-ar-8.mcz is loaded<br />
+ via install script from source.squeakfoundation.org/FFI<br />
+ (with FFI-Kernel-ar7.mcz leads to the same problem)<br />
+ <br />
+ When loading FFI-Kernel-ar6.mcz it works as expected - the IP is <br />
+ instantly returned. So the problem seems to depend on the change <br />
+ from version 6 to 7.<br />
+ <br />
+ Tested on a Squeak3.9 and Squeak3.10 image (see above)<br />
+ <br />
+ <br />
+ <br />
+ &nbsp;&nbsp;<br />
+ <br />
+ <br />
+ Additional Information: 
+ Notes: 
+ (0011918 - 1791 - 2208 - 2208 - 2208 - 2208 - 2208)
+ andreas	03-14-08 01:26
+ How does one recreate that problem? I got stuck when trying to "update list from network" with UPackage>>decodeFromXMLElement: so I can't investigate the problem (stack below).
+ UndefinedObject(Object)>>doesNotUnderstand: #contents
+ UPackage class>>getXMLPartNamed:from:
+ UPackage class>>decodeFromXMLElement:
+ [] in UPackage class>>decodePackagesFromXMLStream: {[:element | self decodeFromXMLElement: element]}
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ OrderedCollection>>collect:
+ UPackage class>>decodePackagesFromXMLStream:
+ UStandardUniverse>>updatePackagesViaWWW
+ [] in UUniverseBrowser>>requestPackageList {[universe updatePackagesViaWWW]}
+ [] in Utilities class>>informUser:during: {[aBlock value]}
+ MVCMenuMorph>>displayAt:during:
+ Utilities class>>informUser:during:
+ UUniverseBrowser>>requestPackageList
+ PluggableButtonMorph>>performAction
+ [] in PluggableButtonMorph>>mouseUp: {[:m | (m containsPoint: evt cursorPoint) ifTrue: [m performAction]]}
+ Array(SequenceableCollection)>>do:
+ PluggableButtonMorph>>mouseUp:
+ PluggableButtonMorph(Morph)>>handleMouseUp:
+ MouseButtonEvent>>sentTo:
+ PluggableButtonMorph(Morph)>>handleEvent:
+ PluggableButtonMorph(Morph)>>handleFocusEvent:
+ [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent := anEvent. result := focusHolder han...]}
+ [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
+ BlockContext>>on:do:
+ PasteUpMorph>>becomeActiveDuring:
+ HandMorph>>sendFocusEvent:to:clear:
+ HandMorph>>sendEvent:focus:clear:
+ HandMorph>>sendMouseEvent:
+ HandMorph>>handleEvent:
+ HandMorph>>processEvents
+ [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents. capturingGesture := capturingGest...]}
+ Array(SequenceableCollection)>>do:
+ WorldState>>handsDo:
+ 
+ (0011919 - 1131 - 1389 - 1785 - 1785 - 1785 - 1785)
+ tbn	03-14-08 07:31
+ Even if the help -> about tells me "Squeak 3.10beta7159" as version it's the gamma package I downloaded.
+ Please try: http://ftp.squeak.org/3.10alpha/Squeak3.10.gamma.7159.zip [^] and
+ make sure to use the image in a new directory.
+ Steps I've done and that worked to reproduce: 1. World menu "Open" -> "Universe Browser Basic"
+ 2. Button "Update list from network"
+ 3. Select "System" and "FFI version 3.9.1" in the tree 4. Select "Select package" and "Install selections"
+ If you have a problem with package universe browser again we should open another issue.
+ However, the universe browser points to http://map.squeak.org/accountbyid/cf58c358-46ee-465e-b6db-2740e9b32a53/files/InstallFFI3.st [^]
+ a simple script loading FFI-Kernel-ar-8.mcz first and then other packages.
+ To reproduce you can also just add source.squeakfoundation.org/FFI as
+ HTTP repo to Monticello and load FFI-Kernel-ar-8.mcz manually. After that
+ the NetNameResolver addressForName: 'www.squeaksource.com' timeout: 20
+ does not return anymore.
+ If you load FFI-Kernel-ar6.mcz manually it still works as before loading the FFI Kernel.
+ 
+ (0011962 - 718 - 932 - 1136 - 1136 - 1136 - 1136)
+ tbn	03-27-08 21:27
+ Andreas commented at http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-March/127208.html [^]
+ Yeah, I had forgotten about the problem. The issue comes from a call to Smalltalk>>recreateSpecialObjectsArray (which is required for the FFI to work correctly) and which accidentally nukes the external semaphore table. The fix is simple: Replace the following line in SystemDictionary>>recreateSpecialObjectsArray
+ newArray at: 39 put: Array new.
+ by
+ "Preserve external semaphores when recreating splObjs"
+ newArray at: 39 put: (self specialObjectsArray at: 39).
+ Also, saving and restarting the image after loading the FFI is good temporary workaround for this problem.
+ Cheers,
+ - Andreas
+ 
+ (0012219 - 112 - 144 - 144 - 144 - 144 - 144)
+ Keith_Hodges	05-29-08 15:43
+ "fix begin"
+ Installer mantis bug: 6980 fix: 'SystemDictionary-recreateSpecialObjectsArray-M6980.st'.
+ "fix end"
+ 
+ Files: #('SystemDictionary-recreateSpecialObjectsArray-M6980.st')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m01602ENHIntervalmethodindexOf (in category 'closed-fixed') -----
+ m01602ENHIntervalmethodindexOf
+ 
+ Installer mantis bug: 1602 fix:'Interval-IndexOf-M1602-Patch-nice-BG.1.cs'.
+ "fix test"
+ Installer mantis bug: 1602 fix:'Interval-indexOf-M1602-Test-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0001602
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 08-03-05 23:05
+ Date Updated: 09-10-08 17:40
+ Reporter: BGaertner
+ View Status: public
+ Handler: KenCausey
+ Priority: normal
+ Resolution: fixed
+ Status: closed
+ Product Version: 
+ Summary: 0001602: [ENH] Interval method indexOf:
+ Description: &quot;Change Set:  IntervalIndexEnh<br />
+ Date:   15 June 2004<br />
+ Author:   Boris Gaertner<br />
+ <br />
+ Interval inherits #indexOf:startingAt:ifAbsent: from SequenceableCollection.<br />
+ The inherited method enumerates all elements until it finds a hit. Try<br />
+ <br />
+ &nbsp;(1 to: 100000 by: 0.01) indexOf: 99999<br />
+ <br />
+ to see that this can be extremely time consuming. For Intervals, we can do<br />
+ better.<br />
+ <br />
+ This enhancement assumes that the elements of an Interval are Numbers.<br />
+ It is tempting to use intervals that contain instances of DataAndTime, but<br />
+ this would require the generalization of some methods. &quot;
+ Additional Information: 
+ Notes: 
+ (0002100 - 630 - 863 - 907 - 907 - 907 - 907)
+ KenCausey	08-03-05 23:09
+ "Boris Gaertner" <Boris.Gaertner at gmx.net>:
+ "The code that I posted earlier today is wrong:
+ For
+ (1 to: 10 by: 0.1) indexOf: 1000
+ the correct answer is 0, but my code answers 9991,
+ This is a stupid mistake, because the check that is
+ needed here, is available - I simply did not use
+ what is available. The method
+ indexOf:startingAt:ifAbsent:
+ has to check:
+ (self rangeIncludes: anElement)
+ ifFalse: [^0].
+ The attached change set contaisn a method that performs
+ that check.
+ In a separate mail, I will post two additional tests.
+ My apologies for my mistake"
+ (attaching IntervalIndexEnh.3.cs.gz)
+ 
+ (0002101 - 83 - 83 - 83 - 83 - 83 - 83)
+ KenCausey	08-03-05 23:11
+ I was able to load both changesets without errors, but I did not test them further.
+ 
+ (0010516 - 149 - 185 - 185 - 185 - 185 - 185)
+ edgardec	04-10-07 12:28
+ In a 3.10alpha.7083
+ Before the fileIn
+ MessageTally time: [(1 to: 100000 by: 0.01) indexOf: 99999] 53772
+ After 0
+ I collecting in a 3.10 update
+ 
+ (0010540 - 76 - 82 - 82 - 82 - 82 - 82)
+ edgardec	04-13-07 21:03
+ This now is 7084CollectionEnh.cs and was in updates for 3.10
+ Thanks Boris !!
+ 
+ (0010628 - 1123 - 1342 - 1342 - 1848 - 1848 - 1848)
+ nicolas cellier	04-29-07 19:18
+ edited on: 02-03-08 20:38	As explained by german at 0001603 , this patch is wrong
+ (100000000000000 to: 500000000000000 by: 100000000000000)
+ indexOf: 250000000000000
+ should answer 0
+ See uploaded test provided.
+ German said code should be (val fractionPart abs * 100000000 < 1)
+ This trick is there to answer true for Float that fall near one of the elements.
+ As explained by me at 0006455 ,
+ 1) This is QUESTIONNABLE
+ 2) This is still wrong
+ Code should rather test
+ (val - val rounded) abs * 100000000 < 1.
+ This is programmed in patch number 4.
+ And there, why 8 decimals? or 10 or whatever?
+ Interval-indexOf-M1602-Test-nice.1.cs contains tests for 0001602 and 0006455 .
+ Last thing, Boris patch must not be dissociated from 0001603. So Interval>>#includes: is also removed by Interval-IndexOf-M1602-Patch-nice-BG.1.cs.
+ Otherwise, you will have different results with includes: and indexOf:
+ If arithmetic is exact (Integer, Fraction, ScaledDecimal...), then no fuzzy inclusion test takes place.
+ Note that super indexOf: would behave better if 0006456 is applied, but with strict equality, as done by self asArray indexOf:.
+ 
+ (0011733 - 186 - 252 - 252 - 252 - 252 - 252)
+ nicolas cellier	02-03-08 19:40
+ edited on: 02-03-08 20:37	"fix begin"
+ Installer mantis bug: 1602 fix:'Interval-IndexOf-M1602-Patch-nice-BG.1.cs'.
+ "fix test"
+ Installer mantis bug: 1602 fix:'Interval-indexOf-M1602-Test-nice.1.cs'.
+ "fix end"
+ 
+ (0012392 - 833 - 947 - 947 - 947 - 947 - 947)
+ nicolas cellier	07-19-08 20:52
+ One more thing about Interval of Float: we know they are nasty things due to inexact arithmetic and should better be avoided.
+ Here, i exhibit an example of Float Interval that does not includes its elements, whatever the efforts to make the includes: test fuzzy...
+ | eps i |
+ eps := (1.0 timesTwoPower: -52) * 1.25.
+ i := (1 to: 1+(99*eps) by: eps).
+ ^(i includes: (i at: 2))
+ How many elements are not in the collection?
+ | eps i |
+ eps := (1.0 timesTwoPower: -52) * 1.25.
+ i := (1 to: 1+(99*eps) by: eps).
+ (i count: [:e | (i includes: e) not]) / i size asFloat.
+ You see, 75% ...
+ Fuzziness efforts are vain...
+ You won't find a generic threshold deserving to be written in the Kernel stone.
+ Should be up to application to decide about the threshold and the policy if they really insist on using Interval of Floats...
+ 
+ (0012603 - 542 - 542 - 542 - 542 - 542 - 542)
+ KenCausey	09-09-08 14:58
+ Would someone familiar with this issue please consider opening a new report based on it's status now (post-3.10.2) or point to existing issues that cover it so that this issue can be closed? It gets very confusing to have long histories on these issues and we really need to change to a system where when an issue is harvested the issue is immediately marked resolved and discussion stops (with the exception of adding relationships and pointing out those relationships). And when a release is issued the issue should be immediately closed.
+ 
+ (0012620 - 241 - 265 - 265 - 378 - 378 - 378)
+ nicolas cellier	09-09-08 20:26
+ IMO, better a long history than no history.
+ However, yes, what a tedious job to read verbose notes!!
+ A new issue has now be opened at 0007180 :
+ - because patch uploaded in 3.10 does not solve the problem.
+ - so that this issue can be closed.
+ 
+ (0012627 - 142 - 142 - 142 - 226 - 226 - 226)
+ KenCausey	09-10-08 17:40
+ Thanks again Nicolas. Partially harvested in update 7084, released with 3.10. The saga continues at 0001603, please continue discussion there.
+ 
+ Files: #('Interval-IndexOf-M1602-Patch-nice-BG.1.cs' 'Interval-indexOf-Test.1.cs' 'Interval-indexOf-M1602-Test-nice.1.cs' 'IntervalIndexEnh.1.cs.gz' 'IntervalIndexEnh.3.cs.gz' 'IntervalIndexEnh.4.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06812InspectingachangingWeakSetw (in category 'new-open') -----
+ m06812InspectingachangingWeakSetw
+ 
+ Installer mantis bug: 6812 fix: 'WeakSetInspector-M6812-nice-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6812 fix: 'WeakSetInspector-M6812-nice-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006812
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 12-14-07 20:41
+ Date Updated: 12-17-07 15:45
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006812: Inspecting a changing WeakSet will raise a Debugger
+ Description: How to reproduce: evaluate:<br />
+ <br />
+ &nbsp;&nbsp;(Symbol classPool at: #SymbolTable) inspect.<br />
+ <br />
+ Then scroll the inspector left pane and you should see a debugger coming after a few flashes, saying something like 'Error: subscript is out of bounds: 687'<br />
+ Additional Information: Inspector should not fail when the WeakSet changes.<br />
+ However this also raise the question: why does it change?<br />
+ <br />
+ This must be related to some short-lived Symbol created then reclaimed.<br />
+ But why to create such short-lived Symbol?<br />
+ Is it another bug?
+ Notes: 
+ (0011541 - 734 - 824 - 824 - 824 - 824 - 824)
+ nicolas cellier	12-15-07 10:26
+ edited on: 12-15-07 11:17	OK, got it.
+ It has nothing to do with short-lived Symbols, because these ones are created in another class variable (NewSymbols).
+ The problem is that (WeakArray species = WeakArray).
+ Thus, when WeakSetInspector>>#fieldList collect a list of non-nil slot indices, it gather results in a WeakArray.
+ This weakArray will contain only SmallInteger printString which will soon trigger a reclamation, and make the weakArray shrink.
+ This leads to a constantly changing list of indices for the WeakSetInspector.
+ Cure: change WeakArray species? Here i don't know all the implications... Need some guru advice and support.
+ Other workaround: hack WeakSetInspector>>#fieldList with a object array asArray or something like that...
+ 
+ (0011542 - 152 - 176 - 176 - 176 - 176 - 176)
+ nicolas cellier	12-15-07 10:55
+ Oops... I uploaded wrong cs (WideCharacterSet) please forget.
+ Use WeakSetInspector-M6812 test and patch.
+ Maybe category could be requalified Tools
+ 
+ (0011557 - 185 - 251 - 251 - 251 - 251 - 251)
+ Keith_Hodges	12-17-07 15:45
+ edited on: 12-17-07 17:07	"fix begin"
+ Installer mantis bug: 6812 fix: 'WeakSetInspector-M6812-nice-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6812 fix: 'WeakSetInspector-M6812-nice-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('WideCharacterSet-copy-Patch-M3574-nice.1.cs' 'WideCharacterSet-copy-Test-M3574-nice.1.cs' 'WeakSetInspector-M6812-nice-Patch.1.cs' 'WeakSetInspector-M6812-nice-Test.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07095Dictionarygtgtcollectansw (in category 'new-open') -----
+ m07095Dictionarygtgtcollectansw
+ 
+ Installer mantis bug: 7095 fix: 'DictCollect-ar.cs'.
+ "fix test"
+ 
+ """"""
+ Bug ID: 0007095
+ Category: [Squeak] Collections
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 06-13-08 07:27
+ Date Updated: 08-29-08 21:13
+ Reporter: andreas
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 
+ Summary: 0007095: Dictionary&gt;&gt;collect: answers OrderedCollection not Dictionary
+ Description: Which is clearly wrong. Attached change set fixes it and also provides tests to cover the behavior of #select:, #reject: and #collect:.
+ Additional Information: Here is what ANSI says:<br />
+ <br />
+ 5.7.2.6 Message Refinement: collect: transformer<br />
+ Synopsis<br />
+ Answer a new collection constructed by gathering the results of evaluating transformer with each element of the receiver.<br />
+ <br />
+ Definition: &lt;collection&gt;<br />
+ For each element of the receiver, transformer is evaluated with the element as the parameter. The results of these evaluations are collected into a new collection. The elements are traversed in the order specified by the #do: message for the receiver. Unless specifically refined, this message is defined to answer an object conforming to the same protocol as the receiver.<br />
+ <br />
+ Refinement: &lt;abstractDictionary&gt;<br />
+ Answer a new instance of the receiver's type with the same keys. For each key of the answer, a new element is obtained by evaluating transformer with the corresponding element of the receiver as the parameter.<br />
+ Notes: 
+ (0012329 - 87 - 135 - 135 - 135 - 135 - 135)
+ nicolas cellier	07-03-08 20:42
+ "fix begin"
+ Installer mantis bug: 7095 fix: 'Dictionary-ar.cs'.
+ "fix test"
+ "fix end"
+ 
+ (0012330 - 779 - 855 - 855 - 855 - 855 - 855)
+ nicolas cellier	07-03-08 20:52
+ I support this request as the most logical of the month.
+ Two good reasons to not answer an OrderedCollection are:
+ 1) Dictionary behaves more like Bag than OrderedCollection because Dictionary values are Unordered (order is arbitrary and can change at any time if Dictionary happens to grow).
+ 2) Answering an OrderedCollection is an operation
+ - replacing user assigned crafted keys
+ - with totally arbitrarily assigned keys (from: 1 to: self size)
+ Some discussion on squeak-dev incorrectly stated that Dictionary should return anOrderedCollection because a collection of values is expected...
+ But wait, what a Dictionary is? Just a Bag of values with user assigned keys!!
+ So answering a Dictionary is the clever thing to do, that's not only an opinion, that's facts.
+ 
+ (0012545 - 88 - 136 - 136 - 136 - 136 - 136)
+ Keith_Hodges	08-29-08 21:13
+ "fix begin"
+ Installer mantis bug: 7095 fix: 'DictCollect-ar.cs'.
+ "fix test"
+ "fix end"
+ 
+ Files: #('DictCollect-ar.cs')!

Item was changed:
  ----- Method: ReleaseAfterSqueak310 class>>taskTidyMorphs (in category 'as yet unclassified') -----
  taskTidyMorphs
  
  	"thanks edgar"
  
  	^ [
  	 
  | objFl aButton  partBin unwantedMorph |
  aButton _ SimpleButtonMorph new label: 'Tools'.
  			aButton actWhen: #buttonDown.
  objFl := Flaps globalFlapTabWithID: 'Objects'.
  objFl referent showCategory: 'Tools' fromButton: aButton.
  partBin := objFl referent submorphs at: 1.
  unwantedMorph := partBin submorphThat: [:any| (any arguments at: 2) = 'SUnit Runner'] ifNone: [].
  unwantedMorph delete.
  2 timesRepeat: [unwantedMorph := partBin submorphThat: [:any| (any arguments at: 2) = 'Package Loader'] ifNone: []. "we have two of this "
  unwantedMorph delete].
  objFl := Flaps globalFlapTabWithID: 'Tools'.
  partBin := objFl referent.
  unwantedMorph := partBin submorphThat: [:any| (any arguments at: 2) = 'Package Loader'] ifNone: [].
+ unwantedMorph ifNotNilDo: [ :m | m delete ].
- unwantedMorph delete.
  unwantedMorph := partBin submorphThat: [:any| (any arguments at: 2) = 'SUnit Runner'] ifNone: [].
+ unwantedMorph ifNotNilDo: [ :m | m delete ].
- unwantedMorph delete.
  	].!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07177removeAllfailsforDictionarie (in category 'new-open') -----
+ m07177removeAllfailsforDictionarie
+ 
+ Installer mantis bug: 7177 fix: 'Set-Dictionary-fast-removeAll-M7177.1.cs'.
+ 
+ """"""
+ Bug ID: 0007177
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 09-03-08 14:06
+ Date Updated: 09-03-08 14:08
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10.2
+ Summary: 0007177: removeAll fails for Dictionaries
+ Description: The standard implementation of #removeAll is slow, and doesnt cover any of the varieties of Dictionary. Simply replacing #removeAll with an initialize solves both of these problems
+ Additional Information: 
+ Notes: 
+ (0012578 - 99 - 131 - 131 - 131 - 131 - 131)
+ Keith_Hodges	09-03-08 14:08
+ "fix begin"
+ Installer mantis bug: 7177 fix: 'Set-Dictionary-fast-removeAll-M7177.1.cs'.
+ "fix end"
+ 
+ Files: #('Set-Dictionary-fast-removeAll-M7177.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06834DelayclassgtgttimeoutSemap (in category 'new-open') -----
+ m06834DelayclassgtgttimeoutSemap
+ 
+ Installer mantis bug: 6834 fix: 'DelaySemaphore-6834-v1-laza.06Jan0659.cs'.
+ 
+ """"""
+ Bug ID: 0006834
+ Category: [Squeak] Kernel
+ Severity: block
+ Reproducibility: always
+ Date Submitted: 01-04-08 23:32
+ Date Updated: 05-29-08 16:06
+ Reporter: rootbeer
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006834: Delay class&gt;&gt;timeoutSemaphore:afterMSecs: doesn't.
+ Description: The implementation for Delay class&gt;&gt;timeoutSemaphore:afterMSecs: doesn't even use its first parameter, so it can't do what it says it does.<br />
+ <br />
+ This method should be deprecated or removed entirely.
+ Additional Information: 
+ Notes: 
+ (0011624 - 728 - 936 - 936 - 936 - 936 - 936)
+ wiz	01-05-08 01:51
+ Ha rootbeer, Good bug find.
+ more data
+ 'laza 1/30/2005 22:13 Delay class timeoutSemaphore:afterMSecs: {instance creation}'
+ ^ (self forMilliseconds: anInteger) schedule 'jm 9/15/97 17:10 Delay class timeoutSemaphore:afterMSecs: {instance creation}'
+ anInteger < 0 ifTrue: [self error: 'delay times cannot be negative'].
+ ^ (self new setDelay: anInteger forSemaphore: aSemaphore) schedule
+ are the current and former version of the method. (gleaned from sq 7053 before the new 39sources were created.
+ strangely laza's method does not appear in any change set that sq 7053 knows about.
+ The earlier sq 7067 shows only jm's method so laza's was definitely introduced during the 3.9 release process.
+ 
+ (0011625 - 43 - 55 - 55 - 55 - 55 - 55)
+ wiz	01-05-08 01:52
+ Reminder sent to: lazaHi laza,
+ can you shed any light on this?
+ 
+ (0011626 - 252 - 342 - 342 - 436 - 436 - 436)
+ laza	01-05-08 07:06
+ Hm, yes I introduced this bug with 0000854. Nobody seemed to have had a look at it!! :]
+ The method should be
+ timeoutSemaphore: aSemaphore afterMSecs: anInteger
+ "...comment..."
+ ^ (self new setDelay: anInteger forSemaphore: aSemaphore) schedule
+ 
+ (0011632 - 251 - 279 - 279 - 279 - 279 - 279)
+ laza	01-06-08 06:03
+ I've uploaded a fix for 3.9. From the preamble:
+ "Delay>>timeoutSemaphore: aSemaphore afterMSecs: anInteger did not use aSemaphore. This changeset reverts the method to use the provided semaphore again. It also contains a testSemaphore in DelayTest"
+ 
+ (0012220 - 99 - 131 - 131 - 131 - 131 - 131)
+ Keith_Hodges	05-29-08 16:06
+ "fix begin"
+ Installer mantis bug: 6834 fix: 'DelaySemaphore-6834-v1-laza.06Jan0659.cs'.
+ "fix end"
+ 
+ Files: #('DelaySemaphore-6834-v1-laza.06Jan0659.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07218ClassOrganizercategoriesbreak (in category 'new-open') -----
+ m07218ClassOrganizercategoriesbreak
+ 
+ Installer mantis bug: 7218 fix: 'Categorizer-categories.st'.
+ 
+ """"""
+ Bug ID: 0007218
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 10-26-08 02:01
+ Date Updated: 10-26-08 02:22
+ Reporter: Keith_Hodges
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10.2
+ Summary: 0007218: ClassOrganizer categories breaks if given an empty array
+ Description: ClassOrganizer categories: attempts to ensure that the list of categories matches the existing ones. However if the class has no methods/elements this test fails.<br />
+ <br />
+ So if you call categorizer with an empty array, on a class with no elements/methods the net result is that the data structure is corrupted.<br />
+ <br />
+ categoryStops gets set to #() when it should be at least #(0)
+ Additional Information: 
+ Notes: 
+ (0012752 - 84 - 116 - 116 - 116 - 116 - 116)
+ Keith_Hodges	10-26-08 02:19
+ "fix begin"
+ Installer mantis bug: 7218 fix: 'Categorizer-categories.st'.
+ "fix end"
+ 
+ (0012753 - 71 - 71 - 71 - 71 - 71 - 71)
+ Keith_Hodges	10-26-08 02:22
+ SystemEditor was the culprit that calls categories: with an empty array
+ 
+ Files: #('Categorizer-categories.st')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06367BUGWideStringsubstringsbro (in category 'closed-fixed') -----
+ m06367BUGWideStringsubstringsbro
+ 
+ Installer mantis bug: 6367 fix:'WideString-substrings-Patch.1.cs'.
+ Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-hashPatch.1.cs'.
+ Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-printing.1.cs'.
+ Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-patchCopy.1.cs'.
+ Installer mantis bug: 6367 fix:'CharacterSetComplement-postCopy-M6367-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 6367 fix:'WideString-substrings-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006367
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 03-23-07 00:30
+ Date Updated: 09-09-08 15:07
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: fixed
+ Status: closed
+ Product Version: 
+ Summary: 0006367: [BUG] WideString substrings broken
+ Description: | w |<br />
+ w := WideString with: 401 asCharacter with: $a with: 402 asCharacter with: $b.<br />
+ self assert: w substrings first = w.
+ Additional Information: CharacterSet complement does not take WideCharacter into account...<br />
+ Thus CSNonSeparators String classVar is incomplete...<br />
+ <br />
+ Possible cure: create a CharacterSetComplement class that handles includes: test as a negation of its characterSet instVar includes:
+ Notes: 
+ (0010463 - 52 - 58 - 58 - 58 - 58 - 58)
+ nicolas cellier	03-23-07 01:31
+ Test and patch added.
+ Any volunteer to cross check?
+ 
+ (0011439 - 141 - 159 - 369 - 369 - 369 - 369)
+ nicolas cellier	11-15-07 20:42
+ Following http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-November/122283.html [^]
+ find a patch for CharacterSetComplement>>#hash.
+ 
+ (0011447 - 142 - 148 - 148 - 148 - 148 - 148)
+ nicolas cellier	11-19-07 22:51
+ CharacterSetComplement cannot be printed, because they refuse to #do:
+ CharacterSetComplement-M6367-nice-printing.1.cs patches this behaviour.
+ 
+ (0011448 - 441 - 622 - 750 - 750 - 750 - 750)
+ nicolas cellier	11-19-07 23:35
+ CharacterSetComplement when created omit to do a copy.
+ If complement is futher changed, it will change the original changeSet.
+ Example:
+ | cs1 cs2 |
+ cs1 := CharacterSet separators.
+ cs2 := cs1 complement.
+ cs2 add: Character tab.
+ ^cs1 includes: Character tab.
+ CharacterSetComplement-M6367-nice-patchCopy.1.cs patches this behaviour.
+ IF AND ONLY IF CharacterSet copy is patched itself
+ See http://bugs.squeak.org/view.php?id=6777 [^]
+ 
+ (0011450 - 106 - 112 - 112 - 112 - 112 - 112)
+ nicolas cellier	11-20-07 00:00
+ And of course, #postCopy has to be defined too...
+ This is CharacterSetComplement-postCopy-M6367-nice.1.cs
+ 
+ (0011569 - 503 - 581 - 581 - 581 - 581 - 581)
+ Keith_Hodges	12-17-07 17:39
+ "fix begin"
+ Installer mantis bug: 6367 fix:'WideString-substrings-Patch.1.cs'.
+ Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-hashPatch.1.cs'.
+ Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-printing.1.cs'.
+ Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-patchCopy.1.cs'.
+ Installer mantis bug: 6367 fix:'CharacterSetComplement-postCopy-M6367-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 6367 fix:'WideString-substrings-Test.1.cs'.
+ "fix end"
+ 
+ (0012334 - 14 - 14 - 14 - 14 - 14 - 14)
+ noha	07-04-08 06:23
+ in pharo 10049
+ 
+ (0012566 - 375 - 411 - 589 - 589 - 589 - 589)
+ KenCausey	09-01-08 18:04
+ http://ftp.squeak.org/updates/7073CollectionAndCollectionTest.cs [^] (for 3.10)
+ harvests WideString-substrings-Test.1.cs, WideString-substrings-Patch.1.cs, CharacterSetComplement-M6367-nice-hashPatch.1.cs, CharacterSetComplement-M6367-nice-patchCopy.1.cs, and CharacterSetComplement-postCopy-M6367-nice.1.cs
+ but NOT CharacterSetComplement-M6367-nice-printing.1.cs
+ *sigh*
+ 
+ (0012570 - 118 - 118 - 118 - 207 - 207 - 207)
+ nicolas cellier	09-02-08 07:40
+ Since CharacterSetComplement-M6367-nice-printing.1.cs has not been harvested, printString bug is now reported at 0007175
+ 
+ (0012604 - 106 - 106 - 106 - 195 - 195 - 195)
+ KenCausey	09-09-08 15:06
+ Thank you Nicolas. Most patches harvested with update 7073 and released in 3.10. See 0007175 for followup.
+ 
+ Files: #('CharacterSetComplement-M6367-nice-patchCopy.1.cs' 'CharacterSetComplement-M6367-nice-printing.1.cs' 'WideString-substrings-Test.1.cs' 'CharacterSetComplement-postCopy-M6367-nice.1.cs' 'WideString-substrings-Patch.1.cs' 'CharacterSetComplement-M6367-nice-hashPatch.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06894StartUpListorderisbrokenaft (in category 'new-open') -----
+ m06894StartUpListorderisbrokenaft
+ 
+ Installer mantis bug:6894 fix: 'FixOrderOfRegisteringStartUpList-mu.1.cs'.
+ 
+ """"""
+ Bug ID: 0006894
+ Category: [Squeak] Kernel
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 02-11-08 02:26
+ Date Updated: 02-11-08 03:23
+ Reporter: umejava
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006894: StartUpList order is broken after the Delay patch installation
+ Description: If you install DelayStartup changeSet in Squeak, LanguageEnvironment is placed after FileDirectory in StartUpList.<br />
+ However, LanguageEnvironment should precede FileDirectory in start up process, because FileDirectory class &gt;&gt;startUp relies on encoded pathname which must be configured by LanguageEnvironment.<br />
+ This order is dangerous because Squeak fails to start if you move the image to other encoded path platforms (eg. from Mac to Windows).<br />
+ <br />
+ I submit a patch for fix this order.
+ Additional Information: 3.8.2 &amp; 3.10 has bad ordered list, because of the DelayStartup patch.
+ Notes: 
+ (0011757 - 98 - 130 - 130 - 130 - 130 - 130)
+ Keith_Hodges	02-11-08 03:23
+ "fix begin"
+ Installer mantis bug:6894 fix: 'FixOrderOfRegisteringStartUpList-mu.1.cs'.
+ "fix end"
+ 
+ Files: #('FixOrderOfRegisteringStartUpList-mu.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06482BUGIntervalstoreOnincorre (in category 'new-open') -----
+ m06482BUGIntervalstoreOnincorre
+ 
+ Installer mantis ensureFix: 4378.
+ Installer mantis bug: 6482 fix:'Interval-storeOn-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6482 fix:'Interval-storeOn-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006482
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 05-11-07 22:39
+ Date Updated: 12-17-07 17:06
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006482: [BUG] Interval storeOn: incorrect for some ScaledDecimal
+ Description: Some ScaledDecimal have more bits than printed.<br />
+ Example: 0.5s1 squared will print 0.2s1<br />
+ However 0.5s1 squared * 4 = 1<br />
+ <br />
+ Thus (0 to: 1 by: 0.5s1 squared) size = 5<br />
+ (0 0.25 0.5 0.75 1)<br />
+ <br />
+ If you storeString and reinterpret, you get size 6<br />
+ (0 0.2 0.4 0.6 0.8 1.0)
+ Additional Information: Interval SHOULD use storeOn: and not rely on Number&gt;&gt;printOn:<br />
+ <br />
+ This is some sort of violation of encapsulation.<br />
+ And it is defeated by introduction of a new species of Number (ScaledDecimal)...<br />
+ <br />
+ Note that ScaledDecimal storeOn: has to be patched first<br />
+ see bug <a href="view.php?id=4378" title="[new] ScaledDecimal storeString incorrectly use printOn: and loose exactness">0004378</a>
+ Notes: 
+ (0011564 - 196 - 268 - 268 - 268 - 268 - 268)
+ Keith_Hodges	12-17-07 17:06
+ edited on: 12-17-07 17:11	"fix begin"
+ Installer mantis ensureFix: 4378.
+ Installer mantis bug: 6482 fix:'Interval-storeOn-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6482 fix:'Interval-storeOn-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('Interval-storeOn-Patch.1.cs' 'Interval-storeOn-Test.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06729InfinitycloseToInfinity (in category 'new-open') -----
+ m06729InfinitycloseToInfinity
+ 
+ Installer mantis bug: 6729 fix:'FloatInfinityCloseTo-M6729-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6729 fix:'FloatInfinityCloseTo-M6729-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006729
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 10-13-07 22:14
+ Date Updated: 12-17-07 16:46
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006729: -Infinity closeTo: Infinity
+ Description: <br />
+ self deny: (Float infinity negated closeTo: Float infinity)<br />
+ <br />
+ Though, considering a straight line as the limit of a circle when radius grows infinite, they might be closer than I think...
+ Additional Information: MethodFinder methodFor: {{Float infinity}. Float infinity.}.<br />
+ <br />
+ will thus find #negated. Warf!!
+ Notes: 
+ (0011312 - 159 - 165 - 165 - 165 - 165 - 165)
+ nicolas cellier	10-13-07 22:34
+ Even (Float infinity closeTo: Float infinity) is arguable...
+ Knowing that (Float infinity - Float infinity) isNan, how can IEEE 754 let me compare them equal?
+ 
+ (0011347 - 1119 - 1503 - 1503 - 1503 - 1503 - 1503)
+ nicolas cellier	10-17-07 22:12
+ SHOULD this really be so:
+ self assert: (Float infinity closeTo: Float infinity).
+ IEEE 754 states it should:
+ self assert: Float infinity = Float infinity.
+ However, comparing inf is somewhat messy:
+ (lim (x->inf) 2*x) = inf
+ (lim (x->inf) x) = inf
+ (lim (x->inf) 2*x-x) = inf
+ Hmm these inf are not even close...
+ IEEE 754 has the right answer and contradict itself with:
+ self assert: (Float infinity - Float infinity) isNan.
+ So why consider them equal?
+ I would better understand:
+ self deny: (Float infinity closeTo: Float infinity).
+ Like nan, infinity cannot compare. All we can assert is isInfinite, but not = Float infinity.
+ Until someone comes with a good rationale to contradict me.
+ ----------------------------------------------------------------------------
+ Provided patch will
+ assert: (Float infinity closeTo: Float infinity)
+ If we want to deny it, it is as easy as
+ (self isInfinite or: [num isInfinite]) ifTrue: [^ false].
+ But changing IEEE 754 behaviour (Float infinity ~= Float infinity) accordingly is not that simple...
+ (I consider this a BAD rationale!!)
+ 
+ (0011560 - 181 - 247 - 247 - 247 - 247 - 247)
+ Keith_Hodges	12-17-07 16:46
+ edited on: 12-17-07 17:08	"fix begin"
+ Installer mantis bug: 6729 fix:'FloatInfinityCloseTo-M6729-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6729 fix:'FloatInfinityCloseTo-M6729-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('FloatInfinityCloseTo-M6729-Test.1.cs' 'FloatInfinityCloseTo-M6729-Patch.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06892Choosingdefaultbrowsermenui (in category 'new-open') -----
+ m06892Choosingdefaultbrowsermenui
+ 
+ Installer mantis bug:6892 fix: 'DefaultBrowserSelectTranslated-mu.1.cs'.
+ 
+ """"""
+ Bug ID: 0006892
+ Category: [Squeak] Tools
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 02-09-08 07:26
+ Date Updated: 02-11-08 03:47
+ Reporter: umejava
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.9
+ Summary: 0006892: Choosing default browser menu is not translated
+ Description: From window button menu, we can select default Browser. But the menu is not translated. This patch adds #translated sends.
+ Additional Information: 
+ Notes: 
+ (0011759 - 96 - 128 - 128 - 128 - 128 - 128)
+ Keith_Hodges	02-11-08 03:47
+ "fix begin"
+ Installer mantis bug:6892 fix: 'DefaultBrowserSelectTranslated-mu.1.cs'.
+ "fix end"
+ 
+ Files: #('DefaultBrowserSelectTranslated-mu.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06843TrivialfixinSMTPClientgtg (in category 'assigned-open') -----
+ m06843TrivialfixinSMTPClientgtg
+ 
+ Installer mantis bug:6843 fix:'FixSMTPAuthEncoding.1.cs.gz'.
+ 
+ """"""
+ Bug ID: 0006843
+ Category: [Squeak] Network
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 01-09-08 01:51
+ Date Updated: 01-18-08 13:02
+ Reporter: gokr
+ View Status: public
+ Handler: cdegroot
+ Priority: normal
+ Resolution: open
+ Status: assigned
+ Product Version: 3.10
+ Summary: 0006843: Trivial fix in SMTPClient&gt;&gt;encodeString: so that it does not include NULL characters
+ Description: Discovered debugging a picky Exim v4 saying:<br />
+ <br />
+ &quot;501 NULL characters are not allowed in SMTP&quot;<br />
+ Additional Information: 
+ Notes: 
+ (0011690 - 84 - 116 - 116 - 116 - 116 - 116)
+ Keith_Hodges	01-18-08 13:02
+ "fix begin"
+ Installer mantis bug:6843 fix:'FixSMTPAuthEncoding.1.cs.gz'.
+ "fix end"
+ 
+ Files: #('FixSMTPAuthEncoding.1.cs.gz')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m01780Stayupmenushaveaconfusing (in category 'assigned-fixed') -----
+ m01780Stayupmenushaveaconfusing
+ 
+ PackageOrganizer default packageNamed: 'Pinesoft-Widgets' ifAbsent: [
+ Installer mantis bug: 1780 fix: 'MenuMorph-BetterMouseHandling.2.cs'].
+ 
+ """"""
+ Bug ID: 0001780
+ Category: [Squeak] Morphic
+ Severity: tweak
+ Reproducibility: always
+ Date Submitted: 09-11-05 05:41
+ Date Updated: 09-03-08 14:03
+ Reporter: wiz
+ View Status: public
+ Handler: matthewf
+ Priority: low
+ Resolution: fixed
+ Status: assigned
+ Product Version: 3.8
+ Summary: 0001780: Stay up menus have a confusing and dangerous behavior when obscured.
+ Description: For this one.<br />
+ Pop up a world menu.<br />
+ Make is stay up by removing the pin.<br />
+ <br />
+ Get a workspace. Or add browsers.<br />
+ <br />
+ Stay up menus have a low z order so they easily get obscured.<br />
+ <br />
+ Obsure the menu items but let the left half of the menu show.<br />
+ I.E. you can see the menu but have no idea what the menu item<br />
+ is showing.<br />
+ <br />
+ Now click on a menu item.  <br />
+ <br />
+ The MENU ITEM ACTIVATES.<br />
+ <br />
+ This is what makes this a major problem. If you are unlucky you could save an experimental image over a safe checkpoint image.<br />
+ <br />
+ Or any of the other wonderful things that menus can do.<br />
+ <br />
+ Additional Information: This is potentially very dangerous. And spoils stay up menus as a working  option.<br />
+ <br />
+ The correct behavior IMHO is that clicking on any item in an obsucured menu should &quot;activate&quot; the menu like a system window. Bring it to the front and then clicking on an item should activate that item.<br />
+ <br />
+ This is what happens if you click the header of the menu but not the items of the menu.
+ Notes: 
+ (0002638 - 480 - 480 - 480 - 480 - 480 - 480)
+ laza	09-11-05 10:46
+ I think the problem is, that the morphicLayerNumber will not have an effect after moving a window from one place to another. As one can see in MenuMorph, pinned (stayUp) menus have the highest morphicLayerNumber 100. But a SystemWindow will be readded to the world after a move with addMorphFirst:, which makes it the top most morph regardless of any morphicLayerNumber. So pinned menus and flaps can get obscured by system windows, even when they are intended to stay above them.
+ 
+ (0003552 - 313 - 319 - 319 - 319 - 319 - 319)
+ acon	01-19-06 10:10
+ If the comment in MenuMorph>>morphicLayerNumber is correct, higher numbered layers are placed behind lower numbered layers. The code in said method places pinned menus in the default layer, since normal morphs are also placed in layer 100. If this is as it should be, pinned menus should be obscurable by windows.
+ 
+ (0003554 - 183 - 183 - 183 - 183 - 183 - 183)
+ laza	01-19-06 15:38
+ I think I should have written 10 and not 100, but I can't remember. But the problem is still the the same if you change the mehtod for pinned menus to have a morphicLayerNumber of 10.
+ 
+ (0003576 - 681 - 795 - 795 - 795 - 795 - 795)
+ wiz	01-20-06 07:33
+ Hi laza and acon.
+ Thanks for your interest.
+ The desired behavior for pinned menu items is that unless they are in an activated menu clicking on them should activate and bring the menu to the front and no other action. Then if clicked when actived they should perform the menu action.
+ This behavior would be similar to a system window behavior.
+ Right now to get that behavior you have to click on the menu header or a line item.
+ So items need to ask amIactivated and if not ask their menu owner to activate.
+ something like:
+ self owner areWeActivated
+ ifTrue: [ ^self boyDoIKnowHowToBeActive]
+ ifFalse: [ ^self owner whyNotActivateUs ]
+ Cheers - Jerome Peace
+ 
+ (0011167 - 589 - 643 - 643 - 778 - 778 - 778)
+ matthewf	09-20-07 05:27
+ edited on: 09-20-07 06:24	Uploaded a quick hack to make this work. Ideally, a sticky MenuMorph should behave like a SystemWindow, ie, be able to be the single active entity in the world. This is not possible, as that facility is closed to morphs other than SystemWindow. The "active" window is actually handled as a class variable of SystemWindow, rather than as a property of the world, so it is quite "hackish" itself. (reported as bug 0006690)
+ The only issue with this hack is that the menu will stay on top until you activate another system window, or drag the currently active one, to bring it back "on top"
+ 
+ (0011171 - 131 - 131 - 131 - 218 - 218 - 218)
+ matthewf	09-20-07 12:50
+ This bug interacts with 0006687. See there for more information. Uploaded MenuMorph-BetterMouseHandling which fixes both bugs at once
+ 
+ (0011172 - 347 - 365 - 365 - 365 - 365 - 365)
+ matthewf	09-20-07 12:57
+ edited on: 09-20-07 13:08	The fix for this issue is slightly messy, but I can't think of a better way to do it without signifigantly changing SystemWindow. In MenuItemMorph>>mouseDown: , I query world to see if the owning menu is underneath anything else, and if so, bring the owning menu to the front and exit without activating or giving mouse focus to the owning menu.
+ 
+ (0011173 - 776 - 810 - 810 - 945 - 945 - 945)
+ matthewf	09-20-07 13:05
+ edited on: 09-20-07 13:11	The "issue" that the menu stays in front if it overlaps the currently active SystemWindow already existed without this fix. To demonstrate it, open a world menu very close to the active window, so that it partially obscures the active window, then make the menu sticky. You can still interact with the partially-obscured window. Fixing this would depend on bug 0006690 to be fixed.
+ If this were fixed by promoting sticky menus to be activated/passivated like SystemWindows, you would always have to click twice to use a sticky menu; once to activate the menu, whether it is obscured or not. The first click would activate the menu and passivate the previously active window, the second click would activate the clicked item. Not sure whether that would be preferable or not
+ 
+ (0011179 - 1201 - 1324 - 1324 - 1324 - 1324 - 1324)
+ wiz	09-23-07 02:13
+ Hi Matthew,
+ Thanks for taking a run at this.
+ While I haven't tried the code yet I took a quick look at it. You are not doing anything with MenuItemMorphs and I suspect that is where the problem is at least for the activate-while-still obscured bug.
+ Also I still claim this is of major severity. It is not a tweak. The bug is real and dangerous since it can wipe out a saved image. The exact circimstances for this to occur are rare but a heavy programmer will run into once too often every few years.
+ The way to mark this is major severity ( heavy impact on users) and low priority (which deals with when it will get fixed).
+ Consider the two terms to be mostly orthoganal. This problem has been on a back burner for me exactly because I need to know more about menus inorder to come up with a good fix (one that sticks). Maybe a good step would be working on an sunit test that demo's the problem and which a fix can pass.
+ Yours in curiosity and service, --Jerome Peace
+ P.S. [OT] Thanks Matthew for taking responsibility for organizing and collecting the reports. Its good to have an someone else who "gets" how important it is to use mantis well and fully.
+ Cheers --Jer
+ 
+ (0011180 - 469 - 475 - 475 - 562 - 562 - 562)
+ matthewf	09-23-07 03:09
+ hi wiz. Not sure what code you are looking at, but the code modifies MenuItemMorph>>mouseDown:. There is no simple query isOnTop or anything, so I do a quick search of all top-level morphs to see if any are above my menu. It seems to work. just file it in and test. The short change set (bringMenuToFrontHack.cs) is just one method and fixes this bug; the longer one (MenuMorph-betterMouseHandling.cs) fixes both this bug and 0006687 at once, since they kind-of interfere
+ 
+ (0011202 - 554 - 614 - 614 - 614 - 614 - 614)
+ wiz	09-25-07 05:44
+ Hi Matthew, I am not refering to any specific code. I have not made a study of this problem yet. My notion was that the events were being passed to the MenuItemMorphs and they were activating. From what you say that notion seems to be wrong.
+ Is it the case that the event goes directly to the menu. The menu then uses the event position to select the menu item in question, Highlight the item and perform the items action?
+ If that's so, then you are probably on the right track and I should pipe down and just try the code. Cheers, -Jer
+ 
+ (0011203 - 303 - 309 - 309 - 309 - 309 - 309)
+ matthewf	09-25-07 06:58
+ Yes, when an event is sent, it goes to the most specific morph under the hand, and, in this bug, that morph is a MenuItemMorph. I'm not sure, but I don't think the menu gets a chance to see the event before the MenuItemMorph does. Thus, this fix is implemented entirely within MenuItemMorph>>mouseDown:.
+ 
+ (0011208 - 1080 - 1204 - 1204 - 1204 - 1204 - 1204)
+ wiz	09-25-07 22:41
+ edited on: 09-25-07 23:03	Hi Matthew,
+ Ha. I was more confused by your answer that I was before. The cure was the same play with the code, then understand.
+ I really like that you solved my problem and the menu will come to front before the items get activated. Kudos and a good fix.
+ Now the other uncovered problems. Menu keyboarding.
+ If you have the shift key down when you press the mouse the label editor activates (menu becomes twice as wide with the selection you are on highlighted once in red then in black . You can type one letter and that replaces the label. Subsequent typing "filters the menu" by elimiating labels that do not match what is typed.
+ Basicly this is two features in confilct.
+ One circa 1999 (di and ar) meant to allow dynamicly changing menu labels.
+ The other added later meant for selecting menu items via keyboard input.
+ The second steals and hordes keyboard focus after the first keystroke.
+ I haven't looked for the problems but it would seem the next step is to decide what is to go. I supect the label editing feature should be eliminated for now.
+ 
+ (0011277 - 216 - 222 - 222 - 517 - 517 - 517)
+ matthewf	10-09-07 23:15
+ Added the fix for 0005608 to MenuMorph-BetterMouseHandling.2.cs, since 0005608 was added to the 3.10 update stream, and 0006687 interferes with that one (both modify MenuMorph>>addTitle:icon:updatingSelector:updateTarget:)
+ 
+ (0011278 - 284 - 284 - 284 - 284 - 284 - 284)
+ matthewf	10-09-07 23:29
+ I've been using this fix for a while now to see if it has any issues. One issue I have found is that when a menu (any menu) is underneath an always-on-top morph (like an interupted ProgessMorph), it will never be able to be activated until either the menu or the on-top morph is moved
+ 
+ (0011481 - 194 - 200 - 200 - 200 - 200 - 200)
+ edgardec	11-26-07 10:22
+ I beg both test 3.10.1 once you have 7158 update.
+ If any code for this and related *0005608* is missed, then send me a note saying wich .cs I must take and do the Monticello for current release
+ 
+ (0011699 - 93 - 137 - 137 - 137 - 137 - 137)
+ matthewf	01-22-08 06:40
+ edited on: 01-22-08 06:42	"fix begin"
+ Installer mantis bug:1780 fix:'MenuMorph-BetterMouseHandling.2.cs'.
+ "fix end"
+ 
+ (0011976 - 477 - 527 - 655 - 655 - 655 - 655)
+ kbrown	04-08-08 00:39
+ As part of LPF + MinorFixesUnstable, loading 1780 into sq3.10-7159dev08.04.1appears to cause an anomaly with System Browser 'find class', if there are multiple choices, they cannot be selected. Offending Installer script entry is:
+ " http://bugs.squeak.org/view.php?id=1780 [^] "
+ Installer mantis ensureFix: '1780: Stay up menus have a confusing and dangerous behavior when obscured.'. "kph: not sure this works as intended, menus cease to work at all if partially obscured"
+ 
+ (0011979 - 560 - 620 - 620 - 620 - 620 - 620)
+ matthewf	04-08-08 04:36
+ Ok. this patch interacts nastily with the chooser in Pinesoft Widgets UIManager. To reproduce:
+ - Get an image with Pinesoft widgets. squeak-dev-beta has it
+ - Open a class browser (ST80 or OB; it doesn't matter)
+ - try finding the class 'morph'
+ - You should get a huge list with lots of columns
+ Without MenuMorph-BetterMouseHandling.2.cs: you are able to click on any item in the columns and it activates
+ With MenuMorph-BetterMouseHandling.2.cs: clicking on any item rearranges the columns, and does not activate the item
+ I'll have to look into this
+ 
+ (0011980 - 400 - 412 - 548 - 548 - 548 - 548)
+ matthewf	04-08-08 04:56
+ edited on: 04-08-08 05:43	hmm. This fix is already included in the Pinesoft-Widgets package. It was included at some point between Pinesoft-Widgets-gvc.263 and Pinesoft-Widgets-gvs.272, in the squeaksource repository: http://www.squeaksource.com/UIEnhancements/ [^] . The widgets package has logic to not enable the bring to front behavior if the menu is not a direct child of world, which fixes the issue reported by Ken Brown
+ 
+ (0011981 - 225 - 269 - 269 - 269 - 269 - 269)
+ matthewf	04-08-08 05:51
+ "fix begin"
+ ((Smalltalk includesKey: #MCPackage)
+ and: [MCWorkingCopy registry includesKey: (MCPackage named: 'Pinesoft-Widgets')])
+ ifFalse: [Installer mantis bug: 1780 fix: 'MenuMorph-BetterMouseHandling.2.cs'].
+ "fix end"
+ 
+ (0011985 - 137 - 137 - 137 - 137 - 137 - 137)
+ GazzaGuru	04-08-08 22:31
+ Hi Matt. The fixes were incorporated in Pinesoft-Widgets-gvc.268. I can upload that and surrounding versions to SqueakSource if you want.
+ 
+ (0011986 - 127 - 127 - 127 - 127 - 127 - 127)
+ matthewf	04-09-08 00:12
+ Hi Gary. It would be nice to have all the versions available, but don't hurt yourself. I don't know of a way to do this in bulk
+ 
+ (0011987 - 70 - 70 - 70 - 70 - 70 - 70)
+ GazzaGuru	04-09-08 12:31
+ I've filled in the gaps from version Pinesoft-Widgets-gvc.260 onwards.
+ 
+ (0012577 - 165 - 203 - 203 - 203 - 203 - 203)
+ Keith_Hodges	09-03-08 14:03
+ "fix begin"
+ PackageOrganizer default packageNamed: 'Pinesoft-Widgets' ifAbsent: [
+ Installer mantis bug: 1780 fix: 'MenuMorph-BetterMouseHandling.2.cs'].
+ "fix end"
+ 
+ Files: #('MenuMorph-BetterMouseHandling.2.cs' 'BringMenuToFrontHack.1.cs' 'MenuMorph-BetterMouseHandling.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m07136BUGLinkedListaddafterfai (in category 'new-open') -----
+ m07136BUGLinkedListaddafterfai
+ 
+ Installer mantis bug: 7136 fix:'LinkedList-addafter-Patch-M7136-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 7136 fix:'LinkedList-addafter-Test-M7136-nice.1.cs'.
+ 
+ """"""
+ Bug ID: 0007136
+ Category: [Squeak] Collections
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 07-28-08 20:32
+ Date Updated: 08-25-08 09:49
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0007136: [BUG] LinkedList add:after: fails to update lastLink
+ Description: <br />
+ Just browse LinkedList&gt;&gt;#add:before: and see how it cares to update firstLink.<br />
+ <br />
+ Now browse LinkedList&gt;&gt;#add:after: and see how it fails to update lastLink.<br />
+ <br />
+ I will provide a trivial test<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;(just try and use addLast: after a add:after: last)<br />
+ and a trivial fix<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;(just test otherLink == lastLink ifTrue: [^self addLast: aLink]).
+ Additional Information: 
+ Notes: 
+ (0012419 - 187 - 241 - 241 - 241 - 241 - 241)
+ nicolas cellier	07-28-08 20:41
+ "fix begin"
+ Installer mantis bug: 7136 fix:'LinkedList-addafter-Patch-M7136-nice.1.cs'.
+ "fix test"
+ Installer mantis bug: 7136 fix:'LinkedList-addafter-Test-M7136-nice.1.cs'.
+ "fix end"
+ 
+ (0012522 - 20 - 20 - 20 - 20 - 20 - 20)
+ MarcusDenker	08-25-08 09:49
+ fixed in pharo 10064
+ 
+ Files: #('LinkedList-addafter-Test-M7136-nice.1.cs' 'LinkedList-addafter-Patch-M7136-nice.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m06796AScaledDecimalisaliteralbu (in category 'new-open') -----
+ m06796AScaledDecimalisaliteralbu
+ 
+ Installer mantis bug: 6796 fix:'ScaledDecimal-isLiteral-M6796-nice-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6796 fix:'ScaledDecimal-isLiteral-M6796-nice-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006796
+ Category: [Squeak] Kernel
+ Severity: minor
+ Reproducibility: always
+ Date Submitted: 12-03-07 19:07
+ Date Updated: 12-17-07 16:51
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006796: A ScaledDecimal is a literal but not isLiteral
+ Description: self assert: 0.02s2 isLiteral.<br />
+ <br />
+ &quot;obviously, isn't it?&quot;
+ Additional Information: 
+ Notes: 
+ (0011506 - 81 - 81 - 81 - 81 - 81 - 81)
+ nicolas cellier	12-03-07 19:10
+ Hem, Ken, do i win medal for worse-behaved reporter? classify Kernel of course...
+ 
+ (0011507 - 39 - 39 - 39 - 39 - 39 - 39)
+ KenCausey	12-03-07 19:35
+ You are working hard at it at least. ;)
+ 
+ (0011508 - 356 - 392 - 392 - 732 - 732 - 732)
+ nicolas cellier	12-03-07 19:54
+ Less obvious is (1/3.00s2). Since ScaledDecimal retain infinite precision, it cannot store literaly but with an infinite number of digits.
+ So it would not make a good literal.
+ I propose in test and patch that it answer false for this reason.
+ Note that this is connected to 0004378 and 0006482.
+ So a better patch to 0004378 could now use isLiteral test...
+ 
+ (0011511 - 157 - 169 - 169 - 169 - 169 - 169)
+ nicolas cellier	12-03-07 21:32
+ However, just thought of this one: 0.001s1 can be represented as a literal, but won't print as isSelfEvaluating... (it will print '0.0s1')
+ This is tricky.
+ 
+ (0011515 - 487 - 549 - 549 - 549 - 549 - 549)
+ nicolas cellier	12-04-07 09:27
+ Since Squeak accept ScaledDecimals literals input in other bases, (1/3.0s2) has a literal representation finally:
+ 3r0.10s2
+ We can print up to base 36... meaning we can represent denominators that can be decomposed in the form a1^n1 * ... * ap^np
+ where (a1...aP) tuple can be any of (0) (1) (2) (3) (5) (2,3) (7) (2,5) (11) (13) (2,7) (3,5) (17) (19) (3,7) (2,11) (23) (2,13) (29) (2,3,5) (31) (3,11) (2,17) (5,7)
+ Well, sure that's not really original meaning of deci-mal...
+ 
+ (0011561 - 197 - 263 - 263 - 263 - 263 - 263)
+ Keith_Hodges	12-17-07 16:51
+ edited on: 12-17-07 17:09	"fix begin"
+ Installer mantis bug: 6796 fix:'ScaledDecimal-isLiteral-M6796-nice-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6796 fix:'ScaledDecimal-isLiteral-M6796-nice-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('ScaledDecimal-isLiteral-M6796-nice-Patch.1.cs' 'ScaledDecimal-isLiteral-M6796-nice-Test.1.cs')!

Item was added:
+ ----- Method: ReleaseAfterSqueak310>>m0678210FloatArraywith20u (in category 'new-open') -----
+ m0678210FloatArraywith20u
+ 
+ Installer mantis bug: 6782 fix:'FloatArray-adapt-M6782-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6782 fix:'FloatArray-adapt-M6782-Test.1.cs'.
+ 
+ """"""
+ Bug ID: 0006782
+ Category: [Squeak] Collections
+ Severity: major
+ Reproducibility: always
+ Date Submitted: 11-23-07 22:38
+ Date Updated: 12-17-07 16:39
+ Reporter: nicolas cellier
+ View Status: public
+ Handler: 
+ Priority: normal
+ Resolution: open
+ Status: new
+ Product Version: 3.10
+ Summary: 0006782: 1.0 / (FloatArray with: 2.0)  unexpected result
+ Description: Try:<br />
+ &nbsp;&nbsp;1.0 / (FloatArray with: 2.0)<br />
+ Answer is? <br />
+ (FloatArray with: 2.0)<br />
+ <br />
+ Hem...
+ Additional Information: bug is in FloatArray&gt;&gt;adaptToNumber:andSend:
+ Notes: 
+ (0011454 - 49 - 49 - 49 - 49 - 49 - 49)
+ nicolas cellier	11-23-07 22:39
+ Oops, Ken twice sorry, this one for Collection...
+ 
+ (0011455 - 274 - 365 - 365 - 365 - 365 - 365)
+ nicolas cellier	11-23-07 23:03
+ Obvious patch is:
+ selector == #/ ifTrue:[^self reciprocal * rcvr].
+ However, this is bad, because of gradual underflow:
+ self reciprocal can give Infinity, while result is computable.
+ For example:
+ self should:
+ (1.0e-39 / (FloatArray with: 1.0e-39)) first < 2
+ 
+ (0011559 - 173 - 239 - 239 - 239 - 239 - 239)
+ Keith_Hodges	12-17-07 16:39
+ edited on: 12-17-07 17:08	"fix begin"
+ Installer mantis bug: 6782 fix:'FloatArray-adapt-M6782-Patch.1.cs'.
+ "fix test"
+ Installer mantis bug: 6782 fix:'FloatArray-adapt-M6782-Test.1.cs'.
+ "fix end"
+ 
+ Files: #('FloatArray-adapt-M6782-Test.1.cs' 'FloatArray-adapt-M6782-Patch.1.cs')!



More information about the Packages mailing list