<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-14150</id>
	<title>Nabble - Smalltalk</title>
	<updated>2008-07-04T02:47:25Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/Smalltalk-f14150.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Smalltalk-f14150.html" />
	<subtitle type="html">Smalltalk home is &lt;a href=&quot;http://www.smalltalk.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-18276336</id>
	<title>Re: [squeak-dev] Re: [Squeak-dev Images] About the different flavors</title>
	<published>2008-07-04T02:47:25Z</published>
	<updated>2008-07-04T02:47:25Z</updated>
	<author>
		<name>Edgar J. De Cleene</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;br&gt;El 7/3/08 8:37 PM, &amp;quot;Rob Rothwell&amp;quot; &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18276336&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;r.j.rothwell@...&lt;/a&gt;&amp;gt; escribió:
&lt;br&gt;&lt;br&gt;&amp;gt; Where, by the way, can I get that from? &amp;nbsp;I miss the animated mouse head! &amp;nbsp;Do I
&lt;br&gt;&amp;gt; have to go get an old image and find the class?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Rob
&lt;br&gt;&lt;br&gt;Read &lt;a href=&quot;http://wiki.squeak.org/squeak/6056&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.squeak.org/squeak/6056&lt;/a&gt;&lt;br&gt;&lt;br&gt;Edgar
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev---Squeak-dev-Images--About-the-different-flavors-tp18233471p18276336.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18274857</id>
	<title>Re: Totally dumbfounded!!</title>
	<published>2008-07-04T01:05:18Z</published>
	<updated>2008-07-04T01:05:18Z</updated>
	<author>
		<name>Michael van der Gulik-2</name>
	</author>
	<content type="html">On Fri, 4 Jul 2008 14:04:52 +0800
&lt;br&gt;Stephen Ng &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18274857&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephen.ng@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi everyone,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; First off, I am really new to smalltalk. I have tons of experience &amp;nbsp;
&lt;br&gt;&amp;gt; with languages like C but have never made the move to OO type languages.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Secondly, I've been reading up as much as I can on OO concepts and &amp;nbsp;
&lt;br&gt;&amp;gt; perhaps I can say that I feel comfortable with smalltalk syntax. My &amp;nbsp;
&lt;br&gt;&amp;gt; question is how does one start learning about the MVC or Morphic &amp;nbsp;
&lt;br&gt;&amp;gt; interfaces in order to use smalltalk in writing programs that make use &amp;nbsp;
&lt;br&gt;&amp;gt; of lots of windows with text fields etc like in traditional business &amp;nbsp;
&lt;br&gt;&amp;gt; systems? I cannot seem to find complete info on these topics. Many &amp;nbsp;
&lt;br&gt;&amp;gt; tutorials just spend lots of time painting pretty lines and patterns &amp;nbsp;
&lt;br&gt;&amp;gt; and fall short of showing someone like me how best to use the MVC, &amp;nbsp;
&lt;br&gt;&amp;gt; Graphics-* or Morphic-* class categories and their classes. I &amp;nbsp;
&lt;br&gt;&amp;gt; understand Morphic is the new wave as far as Squeak is concerned and I &amp;nbsp;
&lt;br&gt;&amp;gt; would be just as happy to use it. However, all the literature on the &amp;nbsp;
&lt;br&gt;&amp;gt; web is really disparate and does not approach the subject in a &amp;nbsp;
&lt;br&gt;&amp;gt; holistic way. I've even tried looking at the classes themselves in the &amp;nbsp;
&lt;br&gt;&amp;gt; Browser but the whole thing just gets very confusing.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'd appreciate it if anyone can provide some pointers, direction, &amp;nbsp;
&lt;br&gt;&amp;gt; literature (up to date with Squeak) etc.
&lt;/div&gt;&lt;br&gt;&lt;br&gt;Hi Stephen.
&lt;br&gt;&lt;br&gt;Welcome to the community! 
&lt;br&gt;&lt;br&gt;For traditional business programs in Squeak, I think that Morphic is the hard way to do it. I tried, made a bit of progress but then gave up in disgust.
&lt;br&gt;&lt;br&gt;What I recommend is that you start from our documentation page - &lt;a href=&quot;http://www.squeak.org/Documentation/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.squeak.org/Documentation/&lt;/a&gt;. The book to read is &amp;quot;Squeak By Example&amp;quot;.
&lt;br&gt;&lt;br&gt;For business information system development, I'd recommend getting in to web development using Seaside: &lt;a href=&quot;http://www.seaside.st/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.seaside.st/&lt;/a&gt;. Your applications in this environment will look a lot more professional than they would in Morphic.
&lt;br&gt;&lt;br&gt;And do ask questions here, or join us on the IRC channel on freenode.net, #squeak. Often there are people there :-).
&lt;br&gt;&lt;br&gt;Gulik.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Michael van der Gulik &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18274857&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mikevdg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;_______________________________________________
&lt;br&gt;Beginners mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18274857&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Beginners@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.squeakfoundation.org/mailman/listinfo/beginners&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.squeakfoundation.org/mailman/listinfo/beginners&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Beginners-f15572.html&quot; embed=&quot;fixTarget[15572]&quot; target=&quot;_top&quot; &gt;Squeak - Beginners&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Totally-dumbfounded%21%21-tp18273397p18274857.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18274256</id>
	<title>Re: [squeak-dev] back to the original question: cpan-like system for squeak?</title>
	<published>2008-07-04T00:20:51Z</published>
	<updated>2008-07-04T00:20:51Z</updated>
	<author>
		<name>NorbertHartl</name>
	</author>
	<content type="html">On Thu, 2008-07-03 at 21:54 +0200, Claus Kick wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Keith Hodges wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Having tried Hg, I have found Bzr to be preferable.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Hg doesnt have a lightweight checkout, Bzr does. i.e. you can deploy the 
&lt;br&gt;&amp;gt; &amp;gt; latest, without the whole history.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I have setup a public (ish) bzr server at bzr.warwick.st with 160Gb of 
&lt;br&gt;&amp;gt; &amp;gt; space. We will be using this for managing and distributing the results 
&lt;br&gt;&amp;gt; &amp;gt; of automated image builds in the near future.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Just trying to bring everything back to the core question:
&lt;br&gt;&amp;gt; What about having something like CPAN (with a CPAN installer) for Squeak?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am trying to follow the discussions, but to me it seems as if this 
&lt;br&gt;&amp;gt; central question is not really discussed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Instead, there are interesting topics, like Squeak-To-SVN, 
&lt;br&gt;&amp;gt; advantages/disadvantages of other Versioning Tools (whose names I have 
&lt;br&gt;&amp;gt; not even heard, was in ENVY/Manager, SVN and ClearCase land too long it 
&lt;br&gt;&amp;gt; seems), nameing and so on...
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&amp;gt; What about the central question?
&lt;br&gt;&amp;gt; What about having something like CPAN (with a CPAN installer) for Squeak?
&lt;br&gt;&amp;gt; 
&lt;br&gt;What makes you think CPAN is a good solution or appropriate for squeak?
&lt;br&gt;For me CPAN means a lot of things. Maybe you should go into detail about
&lt;br&gt;it to show the good things that would be valuable for squeak.
&lt;br&gt;&lt;br&gt;I personally read a lot of good points in the discussion what could be
&lt;br&gt;appropriate for squeak. Especially the tension not to build another tool
&lt;br&gt;but to enhance/migrate the existing ones.
&lt;br&gt;&lt;br&gt;Norbert
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Perl-is-to-CPAN-as-Squeak-is-to-%28what%29--tp18141657p18274256.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18274193</id>
	<title>[squeak-dev] Re: Joshua Gargus?</title>
	<published>2008-07-04T00:14:59Z</published>
	<updated>2008-07-04T00:14:59Z</updated>
	<author>
		<name>Serge Stinckwich-2</name>
	</author>
	<content type="html">Joshua Gargus a écrit :
&lt;br&gt;&amp;gt; Well, it's not like I dropped off the planet (I did post earlier 
&lt;br&gt;&amp;gt; today). &amp;nbsp;What can I do for you?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; (BTW, I tried to update SqueakMap years ago, but my email was invalid 
&lt;br&gt;&amp;gt; and I forgot my password, so I didn't bother... who's in charge of 
&lt;br&gt;&amp;gt; SqueakMap these days?)
&lt;br&gt;&lt;br&gt;You can also publish your software on SqueakSource.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Serge Stinckwich
&lt;br&gt;&lt;a href=&quot;http://blog.doesnotunderstand.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.doesnotunderstand.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Joshua-Gargus--tp18270541p18274193.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18273397</id>
	<title>Totally dumbfounded!!</title>
	<published>2008-07-03T23:04:52Z</published>
	<updated>2008-07-03T23:04:52Z</updated>
	<author>
		<name>Stephen Ng-2</name>
	</author>
	<content type="html">Hi everyone,
&lt;br&gt;&lt;br&gt;First off, I am really new to smalltalk. I have tons of experience &amp;nbsp;
&lt;br&gt;with languages like C but have never made the move to OO type languages.
&lt;br&gt;&lt;br&gt;Secondly, I've been reading up as much as I can on OO concepts and &amp;nbsp;
&lt;br&gt;perhaps I can say that I feel comfortable with smalltalk syntax. My &amp;nbsp;
&lt;br&gt;question is how does one start learning about the MVC or Morphic &amp;nbsp;
&lt;br&gt;interfaces in order to use smalltalk in writing programs that make use &amp;nbsp;
&lt;br&gt;of lots of windows with text fields etc like in traditional business &amp;nbsp;
&lt;br&gt;systems? I cannot seem to find complete info on these topics. Many &amp;nbsp;
&lt;br&gt;tutorials just spend lots of time painting pretty lines and patterns &amp;nbsp;
&lt;br&gt;and fall short of showing someone like me how best to use the MVC, &amp;nbsp;
&lt;br&gt;Graphics-* or Morphic-* class categories and their classes. I &amp;nbsp;
&lt;br&gt;understand Morphic is the new wave as far as Squeak is concerned and I &amp;nbsp;
&lt;br&gt;would be just as happy to use it. However, all the literature on the &amp;nbsp;
&lt;br&gt;web is really disparate and does not approach the subject in a &amp;nbsp;
&lt;br&gt;holistic way. I've even tried looking at the classes themselves in the &amp;nbsp;
&lt;br&gt;Browser but the whole thing just gets very confusing.
&lt;br&gt;&lt;br&gt;I'd appreciate it if anyone can provide some pointers, direction, &amp;nbsp;
&lt;br&gt;literature (up to date with Squeak) etc.
&lt;br&gt;&lt;br&gt;Thanks in &amp;nbsp;advance.
&lt;br&gt;&lt;br&gt;Stephen
&lt;br&gt;_______________________________________________
&lt;br&gt;Beginners mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18273397&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Beginners@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.squeakfoundation.org/mailman/listinfo/beginners&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.squeakfoundation.org/mailman/listinfo/beginners&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Beginners-f15572.html&quot; embed=&quot;fixTarget[15572]&quot; target=&quot;_top&quot; &gt;Squeak - Beginners&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Totally-dumbfounded%21%21-tp18273397p18273397.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18273128</id>
	<title>Re: [squeak-dev] Re: [Squeak-dev Images] About the different flavors</title>
	<published>2008-07-03T22:32:28Z</published>
	<updated>2008-07-03T22:32:28Z</updated>
	<author>
		<name>Herbert König</name>
	</author>
	<content type="html">Hello Stéphane,
&lt;br&gt;&lt;br&gt;without quoting anything particular from your post, it expresses some
&lt;br&gt;of my feelings about Squeak.
&lt;br&gt;&lt;br&gt;Thanks for raising your voice.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;Herbert &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev---Squeak-dev-Images--About-the-different-flavors-tp18233471p18273128.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18273112</id>
	<title>Re: [vwnc] RBSUnitExtensions for VW7.6...?</title>
	<published>2008-07-03T22:25:20Z</published>
	<updated>2008-07-03T22:25:20Z</updated>
	<author>
		<name>Richard E. Flower</name>
	</author>
	<content type="html">Nevermind.. I found the version from the installation directory which &amp;nbsp;
&lt;br&gt;apparently is newer than
&lt;br&gt;the version on the public store.. Anyway, it loaded fine.. I'll try it &amp;nbsp;
&lt;br&gt;out.. Sorry..
&lt;br&gt;&lt;br&gt;-- Rick
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;vwnc mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18273112&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vwnc@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.cs.uiuc.edu/mailman/listinfo/vwnc&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.cs.uiuc.edu/mailman/listinfo/vwnc&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/VisualWorks-f14163.html&quot; embed=&quot;fixTarget[14163]&quot; target=&quot;_top&quot; &gt;VisualWorks&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-vwnc--RBSUnitExtensions-for-VW7.6...--tp18273043p18273112.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18273043</id>
	<title>[vwnc] RBSUnitExtensions for VW7.6...?</title>
	<published>2008-07-03T22:16:48Z</published>
	<updated>2008-07-03T22:16:48Z</updated>
	<author>
		<name>Richard E. Flower</name>
	</author>
	<content type="html">I am working on a few unit tests again and found that I was missing &amp;nbsp;
&lt;br&gt;the RBSUnitExtensions package that I was using with 7.5.. Anyway, I &amp;nbsp;
&lt;br&gt;tried loading the latest version (7.5 CS11.NFR.5) and it doesn't load &amp;nbsp;
&lt;br&gt;properly.. Is there a version that works or something else that adds a &amp;nbsp;
&lt;br&gt;run-test sort of feature to the browser in 7.6? &amp;nbsp;Thanks!
&lt;br&gt;&lt;br&gt;By the way, below is the error I get when loading the &amp;nbsp;
&lt;br&gt;RBSUnitExtensions package in 7.6:
&lt;br&gt;&lt;br&gt;Unhandled exception: BlockClosure [] in Object&amp;gt;&amp;gt;doesNotUnderstand:
&lt;br&gt;Refactory 
&lt;br&gt;.Browser.SUnitCodeToolSelectionPolicy(Object)&amp;gt;&amp;gt;doesNotUnderstand:
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy&amp;gt;&amp;gt;replaceSameNamePolicy
&lt;br&gt;optimized [] in Refactory.Browser.SUnitCodeToolSelectionPolicy &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;addSelectionPolicy
&lt;br&gt;Array(ArrayedCollection)&amp;gt;&amp;gt;detect:ifNone:
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy class&amp;gt;&amp;gt;addSelectionPolicy
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy class&amp;gt;&amp;gt;initialize
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy &amp;nbsp;
&lt;br&gt;class(ClassDescription)&amp;gt;&amp;gt;postLoad:
&lt;br&gt;optimized [] in Store.Package&amp;gt;&amp;gt;initializeClasses:
&lt;br&gt;optimized [] in OrderedCollection&amp;gt;&amp;gt;collect:
&lt;br&gt;OrderedCollection&amp;gt;&amp;gt;do:
&lt;br&gt;OrderedCollection&amp;gt;&amp;gt;collect:
&lt;br&gt;Store.Package&amp;gt;&amp;gt;initializeClasses:
&lt;br&gt;Store.Package&amp;gt;&amp;gt;doSourceLoad:within:
&lt;br&gt;optimized [] in [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;optimized [] in [] in [] in Notice &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;ensure:
&lt;br&gt;Cursor&amp;gt;&amp;gt;showWhile:
&lt;br&gt;optimized [] in [] in Notice class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;on:do:
&lt;br&gt;optimized [] in Notice class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;ensure:
&lt;br&gt;Notice class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;optimized [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;optimized [] in Store.XMainChangeSet class&amp;gt;&amp;gt;ignoreMainChangesWhile:
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;ensure:
&lt;br&gt;Store.XMainChangeSet class&amp;gt;&amp;gt;ignoreMainChangesWhile:
&lt;br&gt;optimized [] in Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;optimized [] in Store.BasicPackagePolicy&amp;gt;&amp;gt;forcePackage:while:
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;ensure:
&lt;br&gt;Store.BasicPackagePolicy&amp;gt;&amp;gt;forcePackage:while:
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Store.Package&amp;gt;&amp;gt;loadWithin:useBinIfAvailable:warnReplace:
&lt;br&gt;Store.Package&amp;gt;&amp;gt;loadSrcWithin:warnReplace:
&lt;br&gt;optimized [] in Store.Package&amp;gt;&amp;gt;loadSrc
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;on:do:
&lt;br&gt;Store.Package&amp;gt;&amp;gt;loadSrc
&lt;br&gt;Store.Package(Store.Pundle)&amp;gt;&amp;gt;loadSrcWithImgPundle:
&lt;br&gt;[] in Store.VersionBrowser(Store.AbstractTool)&amp;gt;&amp;gt;loadPundle
&lt;br&gt;OrderedCollection&amp;gt;&amp;gt;do:
&lt;br&gt;Store.VersionBrowser(Store.AbstractTool)&amp;gt;&amp;gt;loadPundle
&lt;br&gt;Store.MultiSequenceController(SequenceController)&amp;gt;&amp;gt;dispatchMenuSymbol:
&lt;br&gt;Store 
&lt;br&gt;.MultiSequenceController(SequenceController)&amp;gt;&amp;gt;dispatchMenuSelection:
&lt;br&gt;Store 
&lt;br&gt;.MultiSequenceController(ControllerWithMenu)&amp;gt;&amp;gt;processMenu:at:centered:
&lt;br&gt;Store 
&lt;br&gt;.MultiSequenceController(ControllerWithMenu)&amp;gt;&amp;gt;processMenuAt:centered:
&lt;br&gt;Store 
&lt;br&gt;.MultiSequenceController(ControllerWithMenu)&amp;gt;&amp;gt;yellowButtonPressedEvent:
&lt;br&gt;Store 
&lt;br&gt;.MultiSequenceController(SequenceController)&amp;gt;&amp;gt;yellowButtonPressedEvent:
&lt;br&gt;YellowButtonPressedEvent&amp;gt;&amp;gt;dispatchTo:
&lt;br&gt;Store.MultiSequenceController(ControllerWithMenu)&amp;gt;&amp;gt;handleEvent:
&lt;br&gt;EventDispatcher&amp;gt;&amp;gt;dispatch:to:
&lt;br&gt;EventDispatcher&amp;gt;&amp;gt;dispatchEvent:
&lt;br&gt;YellowButtonPressedEvent(Event)&amp;gt;&amp;gt;dispatch
&lt;br&gt;YellowButtonPressedEvent(Event)&amp;gt;&amp;gt;dispatchForWindowManager:
&lt;br&gt;optimized [] in WindowManager&amp;gt;&amp;gt;safelyDispatchForWindowManager:
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;on:do:
&lt;br&gt;WindowManager&amp;gt;&amp;gt;safelyDispatchForWindowManager:
&lt;br&gt;WindowManager&amp;gt;&amp;gt;processNextEvent
&lt;br&gt;optimized [] in [] in WindowManager&amp;gt;&amp;gt;newProcess
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;on:do:
&lt;br&gt;optimized [] in WindowManager&amp;gt;&amp;gt;newProcess
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;on:do:
&lt;br&gt;optimized [] in Process class&amp;gt;&amp;gt;forBlock:priority:
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Refactory 
&lt;br&gt;.Browser.SUnitCodeToolSelectionPolicy(Object)&amp;gt;&amp;gt;doesNotUnderstand:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Refactory.Browser.SUnitCodeToolSelectionPolicy
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; codeModel = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sourceSelectionPolicy = nil
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aMessage = a Message with selector: #replaceSameNamePolicy and &amp;nbsp;
&lt;br&gt;arguments: #()
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; excpt = a MessageNotUnderstood
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; resumeValue = nil
&lt;br&gt;Context PC = 25
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy&amp;gt;&amp;gt;replaceSameNamePolicy
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Refactory.Browser.SUnitCodeToolSelectionPolicy
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; codeModel = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sourceSelectionPolicy = nil
&lt;br&gt;Context PC = 5
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in Refactory.Browser.SUnitCodeToolSelectionPolicy &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;addSelectionPolicy
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .inst = a Refactory.Browser.SUnitCodeToolSelectionPolicy
&lt;br&gt;Context PC = 6
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Array(ArrayedCollection)&amp;gt;&amp;gt;detect:ifNone:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an Array
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in &amp;nbsp;
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy class&amp;gt;&amp;gt;addSelectionPolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exceptionBlock = BlockClosure [] in &amp;nbsp;
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy class&amp;gt;&amp;gt;addSelectionPolicy
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i = 1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; each = nil
&lt;br&gt;Context PC = 31
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy class&amp;gt;&amp;gt;addSelectionPolicy
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Refactory.Browser.SUnitCodeToolSelectionPolicy class
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; superclass = Refactory.Browser.CodeToolSelectionPolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methodDict = a MethodDictionary[10]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format = 16386
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; instanceVariables = an Array[1]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; organization = ('initialize-release' #for:)
&lt;br&gt;('accessing' #categoryIncludesTest: #codeComponentIncludesTest: &amp;nbsp;
&lt;br&gt;#hasTestsSelected #name #toolClass)
&lt;br&gt;('copying' #postCopy)
&lt;br&gt;('converting' #replaceSameNamePolicy #unwrapWrappedPolicy &amp;nbsp;
&lt;br&gt;#wrappedPolicy)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = #SUnitCodeToolSelectionPolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classPool = a NameSpaceOfClass[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; environment = a NameSpace[267]
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inst = a Refactory.Browser.SUnitCodeToolSelectionPolicy
&lt;br&gt;Context PC = 17
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy class&amp;gt;&amp;gt;initialize
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Refactory.Browser.SUnitCodeToolSelectionPolicy class
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; superclass = Refactory.Browser.CodeToolSelectionPolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methodDict = a MethodDictionary[10]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format = 16386
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; instanceVariables = an Array[1]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; organization = ('initialize-release' #for:)
&lt;br&gt;('accessing' #categoryIncludesTest: #codeComponentIncludesTest: &amp;nbsp;
&lt;br&gt;#hasTestsSelected #name #toolClass)
&lt;br&gt;('copying' #postCopy)
&lt;br&gt;('converting' #replaceSameNamePolicy #unwrapWrappedPolicy &amp;nbsp;
&lt;br&gt;#wrappedPolicy)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = #SUnitCodeToolSelectionPolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classPool = a NameSpaceOfClass[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; environment = a NameSpace[267]
&lt;br&gt;Context PC = 16
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Refactory.Browser.SUnitCodeToolSelectionPolicy &amp;nbsp;
&lt;br&gt;class(ClassDescription)&amp;gt;&amp;gt;postLoad:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Refactory.Browser.SUnitCodeToolSelectionPolicy class
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; superclass = Refactory.Browser.CodeToolSelectionPolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methodDict = a MethodDictionary[10]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format = 16386
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; instanceVariables = an Array[1]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; organization = ('initialize-release' #for:)
&lt;br&gt;('accessing' #categoryIncludesTest: #codeComponentIncludesTest: &amp;nbsp;
&lt;br&gt;#hasTestsSelected #name #toolClass)
&lt;br&gt;('copying' #postCopy)
&lt;br&gt;('converting' #replaceSameNamePolicy #unwrapWrappedPolicy &amp;nbsp;
&lt;br&gt;#wrappedPolicy)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = #SUnitCodeToolSelectionPolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classPool = a NameSpaceOfClass[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; environment = a NameSpace[267]
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aParcel = {'RBSUnitExtensions'-'7.5 CS11.NFR.5'-25080}
&lt;br&gt;Context PC = 10
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in Store.Package&amp;gt;&amp;gt;initializeClasses:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cls = ClassRecord{74484-SUnitCodeToolSelectionPolicy}
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj = Refactory.Browser.SUnitCodeToolSelectionPolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .super = {'RBSUnitExtensions'-'7.5 CS11.NFR.5'-25080}
&lt;br&gt;Context PC = 14
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in OrderedCollection&amp;gt;&amp;gt;collect:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; each = ClassRecord{74484-SUnitCodeToolSelectionPolicy}
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .newCollection = an OrderedCollection[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .aBlock = BlockClosure [] in Store.Package&amp;gt;&amp;gt;initializeClasses:
&lt;br&gt;Context PC = 7
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;OrderedCollection&amp;gt;&amp;gt;do:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an OrderedCollection
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; firstIndex = 1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lastIndex = 2
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in OrderedCollection&amp;gt;&amp;gt;collect:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; index = 1
&lt;br&gt;Context PC = 17
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;OrderedCollection&amp;gt;&amp;gt;collect:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an OrderedCollection
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; firstIndex = 1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lastIndex = 2
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in Store.Package&amp;gt;&amp;gt;initializeClasses:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newCollection = an OrderedCollection[0]
&lt;br&gt;Context PC = 16
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Store.Package&amp;gt;&amp;gt;initializeClasses:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Store.Package
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; primaryKey = 25080
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = 'RBSUnitExtensions'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeStamp = 436420285
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version = '7.5 CS11.NFR.5'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; userName = 'niallr'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trace = 25079
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbIdentifier = #psql_public_cst_2007
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; blessingLevel = 70
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commentID = 779943
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertiesID = 779908
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; properties = an IdentityDictionary[7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyRecords = an OrderedCollection[7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commentStr = 'This package adds an extensio... test case from the &amp;nbsp;
&lt;br&gt;browser.'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; namespaces = an OrderedCollection[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classes = an OrderedCollection[2]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; metaclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methods = an OrderedCollection[66]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; binFile = ''
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data = an OrderedCollection[1]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; overrides = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parcelID = nil
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbClasses = an OrderedCollection[2]
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; toPostLoad = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; toInit = nil
&lt;br&gt;Context PC = 8
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Store.Package&amp;gt;&amp;gt;doSourceLoad:within:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Store.Package
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; primaryKey = 25080
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = 'RBSUnitExtensions'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeStamp = 436420285
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version = '7.5 CS11.NFR.5'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; userName = 'niallr'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trace = 25079
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbIdentifier = #psql_public_cst_2007
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; blessingLevel = 70
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commentID = 779943
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertiesID = 779908
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; properties = an IdentityDictionary[7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyRecords = an OrderedCollection[7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commentStr = 'This package adds an extensio... test case from the &amp;nbsp;
&lt;br&gt;browser.'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; namespaces = an OrderedCollection[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classes = an OrderedCollection[2]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; metaclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methods = an OrderedCollection[66]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; binFile = ''
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data = an OrderedCollection[1]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; overrides = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parcelID = nil
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imPkg = [RBSUnitExtensions]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parentBundle = nil
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbClasses = an OrderedCollection[2]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbNamespaces = an OrderedCollection[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; retry = an OrderedCollection[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unloadable = an OrderedCollection[0]
&lt;br&gt;Context PC = 51
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .super = {'RBSUnitExtensions'-'7.5 CS11.NFR.5'-25080}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .imPkg = [RBSUnitExtensions]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .parentBundle = nil
&lt;br&gt;Context PC = 8
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in [] in [] in Notice &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .aBlock = BlockClosure [] in [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; res = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newValue = 1.02899
&lt;br&gt;Context PC = 5
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;ensure:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a BlockClosure
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; method = CompiledBlock [] in [] in [] in Notice &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; outerContext = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; copiedValues = an Array[2]
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in Cursor&amp;gt;&amp;gt;showWhile:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = nil
&lt;br&gt;Context PC = 4
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Cursor&amp;gt;&amp;gt;showWhile:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Cursor
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; errorCode = 0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; handle = a ByteArray[4]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; image = Depth1Image(extent: 16@16 depth: 1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mask = Depth1Image(extent: 16@16 depth: 1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hotSpot = 0@0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = 'wait'
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in [] in [] in Notice &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oldcursor = Cursor normal
&lt;br&gt;Context PC = 23
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in [] in Notice class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .aBlock = BlockClosure [] in [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; res = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newValue = 1.02899
&lt;br&gt;Context PC = 13
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;on:do:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a BlockClosure
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; method = CompiledBlock [] in [] in Notice &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; outerContext = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; copiedValues = an Array[2]
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; anExceptionSelector = IncrementNotification
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; handlerBlock = BlockClosure [] in [] in Notice &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;Context PC = 18
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in Notice class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .aBlock = BlockClosure [] in [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; res = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newValue = 1.02899
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .noticeModel = a Notice
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .progress = a ValueHolder on: 1.02899
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .increment = 0.0144928
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .title = 'Store : &amp;lt;1s&amp;gt;%% done'
&lt;br&gt;Context PC = 19
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;ensure:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a BlockClosure
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; method = CompiledBlock [] in Notice &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; outerContext = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; copiedValues = an Array[6]
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in Notice &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = nil
&lt;br&gt;Context PC = 4
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Notice class&amp;gt;&amp;gt;showProgress:complete:while:title:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Notice class
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; superclass = ApplicationModel
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methodDict = a MethodDictionary[9]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format = 16390
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; instanceVariables = an Array[2]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; organization = ('interface opening' #postOpenWith:)
&lt;br&gt;('aspects' #message: #notice #show: #textView)
&lt;br&gt;('updating' #changedMessages)
&lt;br&gt;('private' #invokePostOpen #on:)
&lt;br&gt;('interface closing' #requestForWindowClose)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = #Notice
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classPool = a NameSpaceOfClass[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; environment = a NameSpace[582]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; savedWindowInformation = an IdentityDictionary[3]
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aString = 'Loading package RBSUnitExtensions(7.5 CS11.NFR.5,niallr)'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; anInteger = 69
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; titleString = an UserMessage('Store', #Store, #store)
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; noticeModel = a Notice
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int = 69
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; increment = 0.0144928
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; progress = a ValueHolder on: 1.02899
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; res = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; title = 'Store : &amp;lt;1s&amp;gt;%% done'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newValue = 1.02899
&lt;br&gt;Context PC = 123
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .imPkg = [RBSUnitExtensions]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .parentBundle = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .super = {'RBSUnitExtensions'-'7.5 CS11.NFR.5'-25080}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loadRes = nil
&lt;br&gt;Context PC = 40
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in Store.XMainChangeSet class&amp;gt;&amp;gt;ignoreMainChangesWhile:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .aBlock = BlockClosure [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Context PC = 9
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;ensure:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a BlockClosure
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; method = CompiledBlock [] in Store.XMainChangeSet &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;ignoreMainChangesWhile:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; outerContext = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; copiedValues = BlockClosure [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in Store.XMainChangeSet &amp;nbsp;
&lt;br&gt;class&amp;gt;&amp;gt;ignoreMainChangesWhile:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = nil
&lt;br&gt;Context PC = 4
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Store.XMainChangeSet class&amp;gt;&amp;gt;ignoreMainChangesWhile:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Store.XMainChangeSet class
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; superclass = Store.XChangeSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methodDict = a MethodDictionary[108]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format = 20486
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; instanceVariables = an Array[2]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; organization = ('public-method changes' #addSelector:class:toPackage: &amp;nbsp;
&lt;br&gt;#changeSelector:class:toPackage: #correctSelector:class:toPackage: &amp;nbsp;
&lt;br&gt;#removeSelector:class: #removeSelector:class:fromPackage: &amp;nbsp;
&lt;br&gt;#removeSelectorChanges:class: #revertData:owner: #revertSelector:class:)
&lt;br&gt;('public-data changes' #addDataKey:class:package: &amp;nbsp;
&lt;br&gt;#addDataKey:nameSpace:package: #changeDataKey:class: &amp;nbsp;
&lt;br&gt;#changeDataKey:class:package: #changeDataKey:nameSpace: &amp;nbsp;
&lt;br&gt;#changeDataKey:nameSpace:package: #relocateBinding:from:to: &amp;nbsp;
&lt;br&gt;#removeBinding:in: #removeChangesDataKey:class: #removeDataKey:class: &amp;nbsp;
&lt;br&gt;#removeDataKey:class:from: #removeDataKey:nameSpace: &amp;nbsp;
&lt;br&gt;#removeDataKey:nameSpace:from: #renameBinding:in:as:)
&lt;br&gt;('public-fileIn/Out' #putStatsOn:)
&lt;br&gt;('public-other changes' #addDoIt: #addPatch: #removeDoIt: &amp;nbsp;
&lt;br&gt;#reorganizeClassData: #reorganizeSystem)
&lt;br&gt;('public-testing' #isEmpty #isMainChangeSet)
&lt;br&gt;('public-package movement' #moveClassDefinition:from:toPackage: &amp;nbsp;
&lt;br&gt;#moveClassDefinition:toPackage: #moveClassModel:to: &amp;nbsp;
&lt;br&gt;#moveClassName:from:to: #moveDataKey:class:toPackage: &amp;nbsp;
&lt;br&gt;#moveDataKey:nameSpace:toPackage: #moveDataKey:owner:toPackage: &amp;nbsp;
&lt;br&gt;#moveDefinition:toPackage: #moveNameSpaceDefinition:from:toPackage: &amp;nbsp;
&lt;br&gt;#moveNameSpaceDefinition:toPackage: #moveNameSpaceModel:to: &amp;nbsp;
&lt;br&gt;#moveObject:from:to: #moveSelector:class:fromPackage: &amp;nbsp;
&lt;br&gt;#moveSelector:class:toPackage: #moveSelectors:class:toPackage: &amp;nbsp;
&lt;br&gt;#moveUnpackagedClassDefinition:toPackage: &amp;nbsp;
&lt;br&gt;#moveUnpackagedDataKey:nameSpace:toPackage: &amp;nbsp;
&lt;br&gt;#moveUnpackagedInWholeClass:toPackage: &amp;nbsp;
&lt;br&gt;#moveUnpackagedInWholeNameSpace:toPackage: &amp;nbsp;
&lt;br&gt;#moveUnpackagedNameSpaceDefinition:toPackage: &amp;nbsp;
&lt;br&gt;#moveUnpackagedSelector:class:toPackage: #moveWholeClass:toPackage: &amp;nbsp;
&lt;br&gt;#moveWholeNameSpace:toPackage: #moveWholeObject:toPackage:)
&lt;br&gt;('events' #addBinding:in: #addBinding:in:attributes: #addClass: &amp;nbsp;
&lt;br&gt;#addClass:attributes: #addNameSpace: #addNameSpace:attributes: &amp;nbsp;
&lt;br&gt;#addSelector:class: #addSelector:class:attributes: #changeBinding:in: &amp;nbsp;
&lt;br&gt;#changeBinding:in:attributes: #changeClass: #changeClass:attributes: &amp;nbsp;
&lt;br&gt;#changeNameSpace: #changeNameSpace:attributes: #changeSelector:class: &amp;nbsp;
&lt;br&gt;#changeSelector:class:attributes: #changeSelector:class:documentation: &amp;nbsp;
&lt;br&gt;#changeSelector:class:protocol: #packageFromAttributes: &amp;nbsp;
&lt;br&gt;#reorganizeClass: #update:with:from:)
&lt;br&gt;('public-namespace changes' #addNameSpace:toPackage: &amp;nbsp;
&lt;br&gt;#addNameSpaceDefinition:toPackage: #changeNameSpace:toPackage: &amp;nbsp;
&lt;br&gt;#commentNameSpace: #component:property:value: #component:renamedTo: &amp;nbsp;
&lt;br&gt;#relocateNameSpace:from:to: #removeNameSpace: #renameNameSpace:as: &amp;nbsp;
&lt;br&gt;#reorganizeNameSpace:)
&lt;br&gt;('public-class changes' #addClass:toPackage: &amp;nbsp;
&lt;br&gt;#addClassDefinition:toPackage: #changeClass:toPackage: &amp;nbsp;
&lt;br&gt;#changeDefinitionClass: #commentClass: #relocateClass:from:to: &amp;nbsp;
&lt;br&gt;#removeChangesPropagatingClass: #removeClass: #removeClass:from: &amp;nbsp;
&lt;br&gt;#removeClassChanges: #renameClass:as:)
&lt;br&gt;('private- cascade changes' #cascadeRelocateNameSpace:to: &amp;nbsp;
&lt;br&gt;#renameClass:asAbsoluteSymbol: #renameNameSpace:asAbsoluteSymbol:)
&lt;br&gt;('private-fileIn/Out' #fileOutSpecialOn:)
&lt;br&gt;('events-parcels' #installedClasses:toPackage: &amp;nbsp;
&lt;br&gt;#installedMethods:toPackage: #installedNameSpaces:toPackage: &amp;nbsp;
&lt;br&gt;#installedOverrideMethods:toPackage:)
&lt;br&gt;('db phantoms' #addRemoveClass:package: #addRemoveNameSpace:package: &amp;nbsp;
&lt;br&gt;#addRemoveSelector:className:meta:package: &amp;nbsp;
&lt;br&gt;#addRemoveStatic:ownerName:isInNameSpace:package:)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = #XMainChangeSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classPool = a NameSpaceOfClass[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; environment = a NameSpace[255]
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentCS = a Store.XMainChangeSet[2033]
&lt;br&gt;Context PC = 15
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .imPkg = [RBSUnitExtensions]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .parentBundle = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .super = {'RBSUnitExtensions'-'7.5 CS11.NFR.5'-25080}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loadRes = nil
&lt;br&gt;Context PC = 12
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;optimized [] in Store.BasicPackagePolicy&amp;gt;&amp;gt;forcePackage:while:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; an UndefinedObject
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .aPackage = [RBSUnitExtensions]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .super = a Store.BasicPackagePolicy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .aBlock = BlockClosure [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; retVal = nil
&lt;br&gt;Context PC = 8
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;BlockClosure&amp;gt;&amp;gt;ensure:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a BlockClosure
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; method = CompiledBlock [] in &amp;nbsp;
&lt;br&gt;Store.BasicPackagePolicy&amp;gt;&amp;gt;forcePackage:while:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; outerContext = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; copiedValues = an Array[4]
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in &amp;nbsp;
&lt;br&gt;Store.BasicPackagePolicy&amp;gt;&amp;gt;forcePackage:while:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = nil
&lt;br&gt;Context PC = 4
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Store.BasicPackagePolicy&amp;gt;&amp;gt;forcePackage:while:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Store.BasicPackagePolicy
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alwaysUse = [RBSUnitExtensions]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newClassUseCurrent = true
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newNameSpaceUseCurrent = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newMethodUseCurrent = true
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newMethodUseClassIfNoCurrent = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newMethodUseClassIfCurrentSame = false
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newMethodUseClass = true
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newDatumUseCurrent = true
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newDatumUseClassIfNoCurrent = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newDatumUseClassIfCurrentSame = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newDatumUseClass = true
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; warnOnFirstModification = nil
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aPackage = [RBSUnitExtensions]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aBlock = BlockClosure [] in &amp;nbsp;
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; old = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; retVal = nil
&lt;br&gt;Context PC = 20
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Store.Package&amp;gt;&amp;gt;sourceLoadFromDBloadWithin:warnReplace:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Store.Package
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; primaryKey = 25080
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = 'RBSUnitExtensions'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeStamp = 436420285
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version = '7.5 CS11.NFR.5'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; userName = 'niallr'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trace = 25079
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbIdentifier = #psql_public_cst_2007
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; blessingLevel = 70
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commentID = 779943
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertiesID = 779908
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; properties = an IdentityDictionary[7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyRecords = an OrderedCollection[7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commentStr = 'This package adds an extensio... test case from the &amp;nbsp;
&lt;br&gt;browser.'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; namespaces = an OrderedCollection[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classes = an OrderedCollection[2]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; metaclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methods = an OrderedCollection[66]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; binFile = ''
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data = an OrderedCollection[1]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; overrides = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parcelID = nil
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parentBundle = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; warnReplace = true
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imPkg = [RBSUnitExtensions]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loadRes = nil
&lt;br&gt;Context PC = 34
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;Store.Package&amp;gt;&amp;gt;loadWithin:useBinIfAvailable:warnReplace:
&lt;br&gt;Receiver:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a Store.Package
&lt;br&gt;Instance Variables:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; primaryKey = 25080
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = 'RBSUnitExtensions'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeStamp = 436420285
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version = '7.5 CS11.NFR.5'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; userName = 'niallr'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trace = 25079
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbIdentifier = #psql_public_cst_2007
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; blessingLevel = 70
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commentID = 779943
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertiesID = 779908
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; properties = an IdentityDictionary[7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyRecords = an OrderedCollection[7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commentStr = 'This package adds an extensio... test case from the &amp;nbsp;
&lt;br&gt;browser.'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; namespaces = an OrderedCollection[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classes = an OrderedCollection[2]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; metaclasses = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; methods = an OrderedCollection[66]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; binFile = ''
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data = an OrderedCollection[1]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; overrides = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parcelID = nil
&lt;br&gt;Arguments:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parentBundle = nil
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; binOK = true
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; warnReplace = true
&lt;br&gt;Temporaries:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imPkg = nil
&lt;br&gt;Context PC = 20
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;vwnc mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18273043&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vwnc@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.cs.uiuc.edu/mailman/listinfo/vwnc&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.cs.uiuc.edu/mailman/listinfo/vwnc&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/VisualWorks-f14163.html&quot; embed=&quot;fixTarget[14163]&quot; target=&quot;_top&quot; &gt;VisualWorks&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-vwnc--RBSUnitExtensions-for-VW7.6...--tp18273043p18273043.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18272420</id>
	<title>Re: [squeak-dev] Subcanvas</title>
	<published>2008-07-03T21:00:22Z</published>
	<updated>2008-07-03T21:00:22Z</updated>
	<author>
		<name>Igor Stasenko</name>
	</author>
	<content type="html">2008/7/4 Michael van der Gulik &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18272420&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mikevdg@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Fri, Jul 4, 2008 at 2:16 PM, Igor Stasenko &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18272420&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;siguctua@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2008/7/4 Michael van der Gulik &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18272420&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mikevdg@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; What I was considering doing was making the Canvas the source of events.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Every Canvas has a model which must implement event handling methods and
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; a
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; #drawOn:bounds: method. A Canvas can ask the model to redraw itself when
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Canvas becomes dirty (e.g. when sub-canvases move and the canvas has no
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; cached state).
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; A dirty/clean is a not a basic canvas capability.
&lt;br&gt;&amp;gt;&amp;gt; Needless to say, that for some devices (including GL) sometimes its
&lt;br&gt;&amp;gt;&amp;gt; easier and faster to redraw everything from scratch rather than care
&lt;br&gt;&amp;gt;&amp;gt; about dirty areas. &amp;nbsp;Some devices (like printers) have nothing to do
&lt;br&gt;&amp;gt;&amp;gt; with dirty/clean approach.
&lt;br&gt;&amp;gt;&amp;gt; Don't let a premature optimizations influence the basic model! :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On reflection, yes, it is a premature optimisation. Hmm...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Right, also, don't forget about relative mouse pointer motion. A good
&lt;br&gt;&amp;gt;&amp;gt; illustration of capturing a relative mouse movement is 3D first person
&lt;br&gt;&amp;gt;&amp;gt; shooter game :) It is not interesting where mouse cursor is, its only
&lt;br&gt;&amp;gt;&amp;gt; interested in amount of mouse movement along its two axises.
&lt;br&gt;&amp;gt;&amp;gt; And in fact, mouse, as device generates relative events, is knows
&lt;br&gt;&amp;gt;&amp;gt; nothing about screen size , or where mouse cursor are allowed to be.
&lt;br&gt;&amp;gt;&amp;gt; So, binding mouse to a screen space is wrong by its nature. Event
&lt;br&gt;&amp;gt;&amp;gt; should generate a relative movement, and then World (or top-level
&lt;br&gt;&amp;gt;&amp;gt; handler) can translate such events to absolute coordinates in its own
&lt;br&gt;&amp;gt;&amp;gt; space (if it cares).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; IIRC, mouse pointer events normally contain absolute coordinates in most
&lt;br&gt;&amp;gt; windowing systems, including Squeak.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mouse velocity could be passed as extra information in the event. Mouse
&lt;br&gt;&amp;gt; pointer capture could be done using some key combination, although this is a
&lt;br&gt;&amp;gt; &amp;quot;nice-to-have&amp;quot; feature that I won't implement in the first release.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;I don't like to centralize event system around single device such as
&lt;br&gt;mouse. It needs an abstraction.
&lt;br&gt;Think about different devices, such as stylus pen, or multi-touch sensor screen.
&lt;br&gt;Any device can generate a 'click' event, or some gestures which then
&lt;br&gt;transformed to events.
&lt;br&gt;Event system should be flexible enough to able to work with wide range
&lt;br&gt;of input devices , not only mouse.
&lt;br&gt;&lt;br&gt;&amp;gt; Gulik.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://people.squeakfoundation.org/person/mikevdg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.squeakfoundation.org/person/mikevdg&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gulik.pbwiki.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gulik.pbwiki.com/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best regards,
&lt;br&gt;Igor Stasenko AKA sig.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Subcanvas-tp18269877p18272420.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18272343</id>
	<title>Re: [squeak-dev] Anyone know the following about Slang?</title>
	<published>2008-07-03T20:49:50Z</published>
	<updated>2008-07-03T20:49:50Z</updated>
	<author>
		<name>Igor Stasenko</name>
	</author>
	<content type="html">2008/7/4 tim Rowledge &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18272343&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tim@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; As mentioned this is likely &amp;nbsp;a bit of precautionary restriction implemented
&lt;br&gt;&amp;gt; way back, probably by John Maloney when at Apple. Any cCode stuff stops
&lt;br&gt;&amp;gt; inlining.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Given the fairly small set of types (ab)used you might specialise to the
&lt;br&gt;&amp;gt; form #declareCharStar: #foo etc and instead of catching the various forms of
&lt;br&gt;&amp;gt; #var:declareC: etc in TMethod&amp;gt;recordDeclarations it would let them through.
&lt;br&gt;&amp;gt; There'd be some ugly fixups elsewhere though, guaranteed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It has to be said that the current state of the Slang translation is just
&lt;br&gt;&amp;gt; insane. It was a fairly ugly hack to start with and has been mangled,
&lt;br&gt;&amp;gt; folded, spindled and mutilated ever since. As an example gleaned whilst
&lt;br&gt;&amp;gt; taking a quick look for a solution for you, consider
&lt;br&gt;&amp;gt; &amp;nbsp;- TMethod&amp;gt;inlineCaseStatementBranchesIn:localizingVars: and its use of
&lt;br&gt;&amp;gt; #hasNoCCode and
&lt;br&gt;&amp;gt; &amp;nbsp;- CCodeGenerator&amp;gt;collectInlineList and its non-use of hasCCode but a
&lt;br&gt;&amp;gt; mangled inline almost equivalent.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The textual inlining is terribly poorly factored and horribly hacked. It
&lt;br&gt;&amp;gt; makes decisions based on nonsense metrics like how many nodes in a tree and
&lt;br&gt;&amp;gt; are there more than an arbitrary magic number. The code probably won't work
&lt;br&gt;&amp;gt; if you don't inline! At least it didn't a while back. The
&lt;br&gt;&amp;gt; inlining/internalising of the bytecode loop is nasty, resulting in near
&lt;br&gt;&amp;gt; duplicates of many methods for no very good reason.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My guess - and it is only a guess based on a few limited experiments ages
&lt;br&gt;&amp;gt; ago - is that it would be smarter to drop the textual inlining completely,
&lt;br&gt;&amp;gt; make the inline: pragma result in placement of a gcc __inline__ (or whatever
&lt;br&gt;&amp;gt; the hell it is these days) on the function declaration line and let the
&lt;br&gt;&amp;gt; compiler handle it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Or better yet, completely rewrite the whole damn thing to do the job
&lt;br&gt;&amp;gt; properly. Invent a better Slang. Add those bitfileds handling capabilities
&lt;br&gt;&amp;gt; you need, and structures.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;After couple of month of hacking slang to make Hydra working, i looked
&lt;br&gt;for a ways how to overcome such shortcomings, which introduces a
&lt;br&gt;translation to C.
&lt;br&gt;And as result , i invented own translation from smalltalk AST to
&lt;br&gt;lambda message sends. And even started prototyping a C translation
&lt;br&gt;backend for it. But then i thought: why the hell i need to translate
&lt;br&gt;things to &amp;nbsp;C, if i have Exupery on hands, with which i can control any
&lt;br&gt;operation up to smaller details i need.
&lt;br&gt;First thing, which i made is native method inlining, which inlines
&lt;br&gt;code based not on knowledge about variable names or their types, but
&lt;br&gt;based on AST , which makes it truly indifferent to what you want to
&lt;br&gt;inline or perform. In essence lambdas its an abstract algorithm
&lt;br&gt;representation, so it possible to easily translate them to any form
&lt;br&gt;(be it C , native code or anything else) :)
&lt;br&gt;&lt;br&gt;&amp;gt; tim
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; tim Rowledge; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18272343&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tim@...&lt;/a&gt;; &lt;a href=&quot;http://www.rowledge.org/tim&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.rowledge.org/tim&lt;/a&gt;&lt;br&gt;&amp;gt; Fractured Idiom:- MONAGE A TROIS - I am three years old
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best regards,
&lt;br&gt;Igor Stasenko AKA sig.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Anyone-know-the-following-about-Slang--tp18270580p18272343.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18272071</id>
	<title>Re: [squeak-dev] Anyone know the following about Slang?</title>
	<published>2008-07-03T20:23:16Z</published>
	<updated>2008-07-03T20:23:16Z</updated>
	<author>
		<name>John M McIntosh</name>
	</author>
	<content type="html">Six some years back I looked at C inlining and found it did a poor &amp;nbsp;
&lt;br&gt;job. Maybe that has changed.
&lt;br&gt;Also I had changed the inline logic to say oh, if this method &amp;nbsp;
&lt;br&gt;shouldn't be inlined, we lie, please force an inlining based on the &amp;nbsp;
&lt;br&gt;method name.
&lt;br&gt;&lt;br&gt;At the time there was only two methods that seemed likely candidates &amp;nbsp;
&lt;br&gt;so it was never put into VMMaker.
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Jul 3, 2008, at 7:38 PM, tim Rowledge wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; As mentioned this is likely &amp;nbsp;a bit of precautionary restriction &amp;nbsp;
&lt;br&gt;&amp;gt; implemented way back, probably by John Maloney when at Apple. Any &amp;nbsp;
&lt;br&gt;&amp;gt; cCode stuff stops inlining.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;= 
&lt;br&gt;= 
&lt;br&gt;= 
&lt;br&gt;========================================================================
&lt;br&gt;John M. McIntosh &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18272071&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;johnmci@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Corporate Smalltalk Consulting Ltd. &amp;nbsp;&lt;a href=&quot;http://www.smalltalkconsulting.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.smalltalkconsulting.com&lt;/a&gt;&lt;br&gt;= 
&lt;br&gt;= 
&lt;br&gt;= 
&lt;br&gt;========================================================================
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Anyone-know-the-following-about-Slang--tp18270580p18272071.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271871</id>
	<title>Re: [squeak-dev] Subcanvas</title>
	<published>2008-07-03T19:58:07Z</published>
	<updated>2008-07-03T19:58:07Z</updated>
	<author>
		<name>Michael van der Gulik-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Jul 4, 2008 at 2:16 PM, Igor Stasenko &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271871&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;siguctua@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;div class=&quot;Ih2E3d&quot;&gt;2008/7/4 Michael van der Gulik &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271871&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mikevdg@...&lt;/a&gt;&amp;gt;:&lt;br&gt;
&lt;/div&gt;&lt;div class=&quot;Ih2E3d&quot;&gt;&lt;br&gt;
&amp;gt; What I was considering doing was making the Canvas the source of events.&lt;br&gt;
&amp;gt; Every Canvas has a model which must implement event handling methods and a&lt;br&gt;
&amp;gt; #drawOn:bounds: method. A Canvas can ask the model to redraw itself when the&lt;br&gt;
&amp;gt; Canvas becomes dirty (e.g. when sub-canvases move and the canvas has no&lt;br&gt;
&amp;gt; cached state).&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;A dirty/clean is a not a basic canvas capability.&lt;br&gt;
Needless to say, that for some devices (including GL) sometimes its&lt;br&gt;
easier and faster to redraw everything from scratch rather than care&lt;br&gt;
about dirty areas. &amp;nbsp;Some devices (like printers) have nothing to do&lt;br&gt;
with dirty/clean approach.&lt;br&gt;
Don&amp;#39;t let a premature optimizations influence the basic model! :)&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;br&gt;On reflection, yes, it is a premature optimisation. Hmm...&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Right, also, don&amp;#39;t forget about relative mouse pointer motion. A good&lt;br&gt;
illustration of capturing a relative mouse movement is 3D first person&lt;br&gt;
shooter game :) It is not interesting where mouse cursor is, its only&lt;br&gt;
interested in amount of mouse movement along its two axises.&lt;br&gt;
And in fact, mouse, as device generates relative events, is knows&lt;br&gt;
nothing about screen size , or where mouse cursor are allowed to be.&lt;br&gt;
So, binding mouse to a screen space is wrong by its nature. Event&lt;br&gt;
should generate a relative movement, and then World (or top-level&lt;br&gt;
handler) can translate such events to absolute coordinates in its own&lt;br&gt;
space (if it cares).&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;IIRC, mouse pointer events normally contain absolute coordinates in most windowing systems, including Squeak.&lt;br&gt;&lt;br&gt;Mouse velocity could be passed as extra information in the event. Mouse pointer capture could be done using some key combination, although this is a &amp;quot;nice-to-have&amp;quot; feature that I won&amp;#39;t implement in the first release.&lt;br&gt;
&lt;br&gt;Gulik.&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;&lt;a href=&quot;http://people.squeakfoundation.org/person/mikevdg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.squeakfoundation.org/person/mikevdg&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://gulik.pbwiki.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gulik.pbwiki.com/&lt;/a&gt;
&lt;br /&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Subcanvas-tp18269877p18271871.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271718</id>
	<title>Re: [squeak-dev] Anyone know the following about Slang?</title>
	<published>2008-07-03T19:39:16Z</published>
	<updated>2008-07-03T19:39:16Z</updated>
	<author>
		<name>Igor Stasenko</name>
	</author>
	<content type="html">2008/7/4 Eliot Miranda &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271718&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;eliot.miranda@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; GCC will inline your method anyways, so why bother?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The current sources use the localIP localSP localHomeContext
&lt;br&gt;&amp;gt; localReturnContext localReturnValue scheme to get important variables in
&lt;br&gt;&amp;gt; registers. &amp;nbsp;The translator rips out methods it can't inline that refer to
&lt;br&gt;&amp;gt; these. &amp;nbsp;So lots of methods end up getting deleted unless they're inlined.
&lt;br&gt;&lt;br&gt;Well, then i see no exit , other than use sqInt everywhere, and put
&lt;br&gt;conversions at each place where it needs to be.
&lt;br&gt;&lt;br&gt;Or, you can rewrite the method above, to assign to localSP directly,
&lt;br&gt;without returning a value (also declare localFP in same way as other
&lt;br&gt;localFoes):
&lt;br&gt;&lt;br&gt;setCallerSP
&lt;br&gt;&amp;quot;Set the SP of the caller provided localFP is not a base frame.
&lt;br&gt;This points to the hottest item on the frame's stack.&amp;quot;
&lt;br&gt;self assert: (self isBaseFrame: localFP) not.
&lt;br&gt;localSP := &amp;nbsp;localFP + FoxCallerSavedIP + ((self frameNumArgs: localFP)
&lt;br&gt;+ 2 * BytesPerWord)
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The localFoo scheme may or may not be important for performance. &amp;nbsp;I don't
&lt;br&gt;&amp;gt; want to rip it out until I can measure in a working VM whether it has any
&lt;br&gt;&amp;gt; effect or not. &amp;nbsp;I want to measure my new VM not the old one &amp;nbsp;The benefit of
&lt;br&gt;&amp;gt; having localFP (the frame pointer) in a register in my VM is likely to be
&lt;br&gt;&amp;gt; quite high.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;localFoo along with gnuifier makes a lot difference - about 30% speedup.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I only want the type declarations to eliminate warnings. &amp;nbsp;So its easier to
&lt;br&gt;&amp;gt; do without the declarations. &amp;nbsp;But I'd like my cake and eat it too, dammit :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt;&amp;gt; Igor Stasenko AKA sig.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; best
&lt;br&gt;&amp;gt; Eliot
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best regards,
&lt;br&gt;Igor Stasenko AKA sig.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Anyone-know-the-following-about-Slang--tp18270580p18271718.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271710</id>
	<title>Re: [squeak-dev] Anyone know the following about Slang?</title>
	<published>2008-07-03T19:38:27Z</published>
	<updated>2008-07-03T19:38:27Z</updated>
	<author>
		<name>tim Rowledge</name>
	</author>
	<content type="html">As mentioned this is likely &amp;nbsp;a bit of precautionary restriction &amp;nbsp;
&lt;br&gt;implemented way back, probably by John Maloney when at Apple. Any &amp;nbsp;
&lt;br&gt;cCode stuff stops inlining.
&lt;br&gt;&lt;br&gt;Given the fairly small set of types (ab)used you might specialise to &amp;nbsp;
&lt;br&gt;the form #declareCharStar: #foo etc and instead of catching the &amp;nbsp;
&lt;br&gt;various forms of #var:declareC: etc in TMethod&amp;gt;recordDeclarations it &amp;nbsp;
&lt;br&gt;would let them through. There'd be some ugly fixups elsewhere though, &amp;nbsp;
&lt;br&gt;guaranteed.
&lt;br&gt;&lt;br&gt;It has to be said that the current state of the Slang translation is &amp;nbsp;
&lt;br&gt;just insane. It was a fairly ugly hack to start with and has been &amp;nbsp;
&lt;br&gt;mangled, folded, spindled and mutilated ever since. As an example &amp;nbsp;
&lt;br&gt;gleaned whilst taking a quick look for a solution for you, consider
&lt;br&gt;&amp;nbsp; - TMethod&amp;gt;inlineCaseStatementBranchesIn:localizingVars: and its use &amp;nbsp;
&lt;br&gt;of #hasNoCCode and
&lt;br&gt;&amp;nbsp; - CCodeGenerator&amp;gt;collectInlineList and its non-use of hasCCode but a &amp;nbsp;
&lt;br&gt;mangled inline almost equivalent.
&lt;br&gt;&lt;br&gt;The textual inlining is terribly poorly factored and horribly hacked. &amp;nbsp;
&lt;br&gt;It makes decisions based on nonsense metrics like how many nodes in a &amp;nbsp;
&lt;br&gt;tree and are there more than an arbitrary magic number. The code &amp;nbsp;
&lt;br&gt;probably won't work if you don't inline! At least it didn't a while &amp;nbsp;
&lt;br&gt;back. The inlining/internalising of the bytecode loop is nasty, &amp;nbsp;
&lt;br&gt;resulting in near duplicates of many methods for no very good reason.
&lt;br&gt;&lt;br&gt;My guess - and it is only a guess based on a few limited experiments &amp;nbsp;
&lt;br&gt;ages ago - is that it would be smarter to drop the textual inlining &amp;nbsp;
&lt;br&gt;completely, make the inline: pragma result in placement of a gcc &amp;nbsp;
&lt;br&gt;__inline__ (or whatever the hell it is these days) on the function &amp;nbsp;
&lt;br&gt;declaration line and let the compiler handle it.
&lt;br&gt;&lt;br&gt;Or better yet, completely rewrite the whole damn thing to do the job &amp;nbsp;
&lt;br&gt;properly. Invent a better Slang. Add those bitfileds handling &amp;nbsp;
&lt;br&gt;capabilities you need, and structures.
&lt;br&gt;&lt;br&gt;&lt;br&gt;tim
&lt;br&gt;--
&lt;br&gt;tim Rowledge; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271710&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tim@...&lt;/a&gt;; &lt;a href=&quot;http://www.rowledge.org/tim&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.rowledge.org/tim&lt;/a&gt;&lt;br&gt;Fractured Idiom:- MONAGE A TROIS - I am three years old
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Anyone-know-the-following-about-Slang--tp18270580p18271710.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271520</id>
	<title>Re: [squeak-dev] Subcanvas</title>
	<published>2008-07-03T19:16:28Z</published>
	<updated>2008-07-03T19:16:28Z</updated>
	<author>
		<name>Igor Stasenko</name>
	</author>
	<content type="html">2008/7/4 Michael van der Gulik &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271520&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mikevdg@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Fri, Jul 4, 2008 at 12:10 PM, Igor Stasenko &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271520&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;siguctua@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2008/7/4 Michael van der Gulik &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271520&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mikevdg@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Features of it are:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; * Some canvases can have child canvases, each with a z-index. These
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; could be
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; used, e.g., to implement movable windows, sprites, clipped scrollable
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; areas,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; or flyweight graphics. This will use the underlying graphics system's
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; capabilities.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; mmm.. i like this idea in general, but please, lets make it more
&lt;br&gt;&amp;gt;&amp;gt; general: no z-index (or any early binding to coordinate system).
&lt;br&gt;&amp;gt;&amp;gt; Simply child canvas concept.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; A parent canvas could have multiple children. When the Canvas architecture
&lt;br&gt;&amp;gt; wants to render these, it needs to know the distance each child is from the
&lt;br&gt;&amp;gt; shared parent. You also need to know the distance between child and parent
&lt;br&gt;&amp;gt; if you want to add relection, shadows and lighting in the OpenGL version
&lt;br&gt;&amp;gt; :-D.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Lets keep GL things aside. Its up to developer how to render
&lt;br&gt;reflections and what distance(s) come to play with his techniques.
&lt;br&gt;And scheme you proposing better fit to a layers concept, not
&lt;br&gt;child-parent relations. Maybe you should introduce layers then?
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; * An event handling system will also be part of this package. Mouse
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; events
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; will have a canvas (or sub-canvas) coordinate; keyboard events will be
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; sent
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; to the canvas that has the &amp;quot;keyboard focus&amp;quot;.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Please don't. An event subsystem should not be connected directly with
&lt;br&gt;&amp;gt;&amp;gt; canvases.
&lt;br&gt;&amp;gt;&amp;gt; It should be a separate layer for applications.
&lt;br&gt;&amp;gt;&amp;gt; Any coordinate translations should come this way: Event -&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; morph(widget) -&amp;gt; canvas.
&lt;br&gt;&amp;gt;&amp;gt; But never Event-&amp;gt;canvas.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Suppose you moving a scrollbar knob. For this you would need 2
&lt;br&gt;&amp;gt;&amp;gt; different coordinates in result:
&lt;br&gt;&amp;gt;&amp;gt; - one to update hand position
&lt;br&gt;&amp;gt;&amp;gt; - second to update knob position
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Or, suppose you dragging something in 3D space. You may move mouse to
&lt;br&gt;&amp;gt;&amp;gt; the left or right, but movements will be translated in different way
&lt;br&gt;&amp;gt;&amp;gt; (dragging object(s) closer/farther from eye).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It is up to morphs/UI how to deal with events and then how to update
&lt;br&gt;&amp;gt;&amp;gt; themselves on screen as a reaction on such event.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Every Canvas has it's own coordinate system; they can be positioned anywhere
&lt;br&gt;&amp;gt; on the screen, but still have (0@0) in their bottom-left corner. This means
&lt;br&gt;&amp;gt; that mouse-based events with a position are relevant only for a particular
&lt;br&gt;&amp;gt; Canvas.
&lt;br&gt;&amp;gt;
&lt;/div&gt;Screen? Who said that Canvas draws on screen? And who said that you
&lt;br&gt;have a mouse?
&lt;br&gt;&lt;br&gt;&amp;gt; What I was considering doing was making the Canvas the source of events.
&lt;br&gt;&amp;gt; Every Canvas has a model which must implement event handling methods and a
&lt;br&gt;&amp;gt; #drawOn:bounds: method. A Canvas can ask the model to redraw itself when the
&lt;br&gt;&amp;gt; Canvas becomes dirty (e.g. when sub-canvases move and the canvas has no
&lt;br&gt;&amp;gt; cached state).
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;A dirty/clean is a not a basic canvas capability.
&lt;br&gt;Needless to say, that for some devices (including GL) sometimes its
&lt;br&gt;easier and faster to redraw everything from scratch rather than care
&lt;br&gt;about dirty areas. &amp;nbsp;Some devices (like printers) have nothing to do
&lt;br&gt;with dirty/clean approach.
&lt;br&gt;Don't let a premature optimizations influence the basic model! :)
&lt;br&gt;&lt;br&gt;&amp;gt; I've implemented a scroll bar using this kind of system. The scroll bar just
&lt;br&gt;&amp;gt; needs to remember where the original mouseDown event was. I don't understand
&lt;br&gt;&amp;gt; what your point was here.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;The point is , that you may never know what portions of screen need to
&lt;br&gt;be updated as a reaction on mouseDown (or any other) event.
&lt;br&gt;I can write a simple code which updates an opposite point of screen to
&lt;br&gt;where mouse located. Or i can write a code which writes a character $A
&lt;br&gt;in file each time you clicking a mouse. I don't see how and why canvas
&lt;br&gt;should take part in event handling.
&lt;br&gt;&lt;br&gt;&amp;gt; As with dragging things in 3-D space, I'll need to invent some way of making
&lt;br&gt;&amp;gt; mouse capture secure.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Right, also, don't forget about relative mouse pointer motion. A good
&lt;br&gt;illustration of capturing a relative mouse movement is 3D first person
&lt;br&gt;shooter game :) It is not interesting where mouse cursor is, its only
&lt;br&gt;interested in amount of mouse movement along its two axises.
&lt;br&gt;And in fact, mouse, as device generates relative events, is knows
&lt;br&gt;nothing about screen size , or where mouse cursor are allowed to be.
&lt;br&gt;So, binding mouse to a screen space is wrong by its nature. Event
&lt;br&gt;should generate a relative movement, and then World (or top-level
&lt;br&gt;handler) can translate such events to absolute coordinates in its own
&lt;br&gt;space (if it cares).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Do you still think this is a bad design?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I don't know how to handle fonts - I don't know what the pros/cons of
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; having
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; a font API built in to the canvas is, or whether it is better to have
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; font drawing done externally by each application.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Lets discuss that a bit, before you going to start implementing it.
&lt;br&gt;&amp;gt;&amp;gt; Recently, we discussed a lot of ideas with Gary about canvases/events.
&lt;br&gt;&amp;gt;&amp;gt; I think you should be aware of what conclusions we had, at least.
&lt;br&gt;&amp;gt;&amp;gt; Gary, can you refresh my memory about ordinates &amp; events ideas we
&lt;br&gt;&amp;gt;&amp;gt; discussed? :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This is why I posted here :-).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; IRC logs would be good, if they can be found.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Gulik.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://people.squeakfoundation.org/person/mikevdg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.squeakfoundation.org/person/mikevdg&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gulik.pbwiki.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gulik.pbwiki.com/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best regards,
&lt;br&gt;Igor Stasenko AKA sig.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Subcanvas-tp18269877p18271520.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271487</id>
	<title>Re: [Squeak-ja: 3943] Re: [北海道]「OLPC Night ～ OLPCが開く教育の未来」開催のお知らせ</title>
	<published>2008-07-03T19:09:13Z</published>
	<updated>2008-07-03T19:09:13Z</updated>
	<author>
		<name>Masato Sumi</name>
	</author>
	<content type="html">鷲見です。
&lt;br&gt;&lt;br&gt;いくつか、OSC2008-Do での Squeak-ja 関連のコメントを見かけました。
&lt;br&gt;把握しているものを以下にあげてみます。
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://d.hatena.ne.jp/critbit/20080629/1214758161&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://d.hatena.ne.jp/critbit/20080629/1214758161&lt;/a&gt;&lt;br&gt;OSC2008に参加してきました - critbitの日記
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://tmaeda.s45.xrea.com/td/20080628.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://tmaeda.s45.xrea.com/td/20080628.html&lt;/a&gt;&lt;br&gt;OSC2008-do - tmaeda 日記
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.inohome.net/kuma/blog/archives/2008/06/post_1445.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.inohome.net/kuma/blog/archives/2008/06/post_1445.html&lt;/a&gt;&lt;br&gt;林檎屋 » OSC2008-Hokkaido
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://macchaeleven.blog63.fc2.com/blog-entry-229.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://macchaeleven.blog63.fc2.com/blog-entry-229.html&lt;/a&gt;&lt;br&gt;ダイナマイト航海日誌 OSC-Do 2008 ふりかえり
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://d.hatena.ne.jp/potappo/20080629/1214669712&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://d.hatena.ne.jp/potappo/20080629/1214669712&lt;/a&gt;&lt;br&gt;OSC 2008 Hokkaido に参加してきました - A Better Project＠はてなダイアリー
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://ytaro.blogspot.com/2008/06/osc2008-hokkaido.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ytaro.blogspot.com/2008/06/osc2008-hokkaido.html&lt;/a&gt;&lt;br&gt;徒然日記: OSC2008 Hokkaido
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Masato Sumi
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Japan-f14186.html&quot; embed=&quot;fixTarget[14186]&quot; target=&quot;_top&quot; &gt;Squeak - Japan&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-Squeak-ja%3A-3929---%E5%8C%97%E6%B5%B7%E9%81%93-%E3%80%8COLPC-Night-%E3%80%9C-OLPC%E3%81%8C%E9%96%8B%E3%81%8F%E6%95%99%E8%82%B2%E3%81%AE%E6%9C%AA%E6%9D%A5%E3%80%8D%E9%96%8B%E5%82%AC%E3%81%AE%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B-tp17877745p18271487.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271321</id>
	<title>Re: [squeak-dev] Namespaces</title>
	<published>2008-07-03T18:49:13Z</published>
	<updated>2008-07-03T18:49:13Z</updated>
	<author>
		<name>Igor Stasenko</name>
	</author>
	<content type="html">2008/7/4 Michael van der Gulik &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271321&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mikevdg@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; Hi all.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My Namespaces architecture(1) seems stable enough for other people to look
&lt;br&gt;&amp;gt; at.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Great!
&lt;br&gt;&lt;br&gt;&amp;gt; I'd like to release an image so that other people can check it out. Is there
&lt;br&gt;&amp;gt; somewhere I could put an image?
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;If there is no other alternatives, i think best would be to put it at
&lt;br&gt;squeak.org. Ken, can you help with it?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Gulik.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; (1) &lt;a href=&quot;http://gulik.pbwiki.com/Namespaces&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gulik.pbwiki.com/Namespaces&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://people.squeakfoundation.org/person/mikevdg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.squeakfoundation.org/person/mikevdg&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gulik.pbwiki.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gulik.pbwiki.com/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best regards,
&lt;br&gt;Igor Stasenko AKA sig.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Namespaces-tp18269976p18271321.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271280</id>
	<title>[squeak-dev] Karatsuba multiplication in a plugin using slang, is it doable ?</title>
	<published>2008-07-03T18:43:09Z</published>
	<updated>2008-07-03T18:43:09Z</updated>
	<author>
		<name>nicolas cellier</name>
	</author>
	<content type="html">&lt;br&gt;Karatsuba algorithm is a simple divide and conquer algorithm to fast up 
&lt;br&gt;LargeInteger multiplications which is worth above a few thousand bits.
&lt;br&gt;(see &lt;a href=&quot;http://en.wikipedia.org/wiki/Karatsuba_algorithm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Karatsuba_algorithm&lt;/a&gt;).
&lt;br&gt;&lt;br&gt;I would like to implement it in the LargeIntegersPlugin,
&lt;br&gt;But:
&lt;br&gt;- the algorithm is recursive
&lt;br&gt;- it will create short-lived LargeIntegers at each recursion
&lt;br&gt;&lt;br&gt;So that makes me wonder if it is really doable in a plugin in slang, 
&lt;br&gt;given that relocation might occur and mess the pointers...
&lt;br&gt;&lt;br&gt;The idea to handle the algorithm in pure C is just so boring...
&lt;br&gt;(in which case, it would be simpler to handcraft a GMP plugin).
&lt;br&gt;&lt;br&gt;Any advice?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Karatsuba-multiplication-in-a-plugin-using-slang%2C-is-it-doable---tp18271280p18271280.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271131</id>
	<title>Re: [squeak-dev] Anyone know the following about Slang?</title>
	<published>2008-07-03T18:29:31Z</published>
	<updated>2008-07-03T18:29:31Z</updated>
	<author>
		<name>Eliot Miranda-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Jul 3, 2008 at 6:19 PM, Igor Stasenko &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271131&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;siguctua@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;Wj3C7c&quot;&gt;2008/7/4 Eliot Miranda &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271131&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;eliot.miranda@...&lt;/a&gt;&amp;gt;:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; On Thu, Jul 3, 2008 at 5:48 PM, Igor Stasenko &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271131&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;siguctua@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; 2008/7/4 Eliot Miranda &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271131&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;eliot.miranda@...&lt;/a&gt;&amp;gt;:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Hi All,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; does anyone know (or even better has anyone fixed it) how hard it is&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; to&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; make Slang inline methods that contain simple type declarations?&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; I would like to eliminate compile-time integer/pointer mismatch errors&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; in&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; the new StackInterpreter I&amp;#39;m writing. &amp;nbsp;I&amp;#39;d like to say things like:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; callerSPOf: theFP&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;quot;Answer the SP of the caller provided theFP is not a base frame.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; This points to the hottest item on the frame&amp;#39;s stack.&amp;quot;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; self var: #theFP type: &amp;#39;char *&amp;#39;.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; self returnTypeC: &amp;#39;char *&amp;#39;.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; self assert: (self isBaseFrame: theFP) not.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; ^theFP + FoxCallerSavedIP + ((self frameNumArgs: theFP) + 2 *&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; BytesPerWord)&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; but Slang refuses to inline anything that has C declarations. &amp;nbsp;I&amp;#39;m&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; guessing&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; that the issue is moving the type information from the method to its&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; inlined&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; form. &amp;nbsp;It took me half a day to discover where Slang refuses to inline&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; (should have looked in the obvious place&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; CCodeGenerator&amp;gt;&amp;gt;collectInlineList,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; instead of in the inlining code :/ ). &amp;nbsp;So I&amp;#39;m afraid to waste the time&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; trying to find out where the restriction bites. &amp;nbsp;Anyone know how to fix&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; this&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; or better still have a fix?&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Doesn&amp;#39;t &amp;#39;self inline: true&amp;#39; helps?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; No. &amp;nbsp;Slang refuses to inline anything containing a C declaration&lt;br&gt;
&amp;gt; (retrnTypeC:, var:type: cCode:inSmalltalk: etc)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Or, can&amp;#39;t you circumvent that by coercing a value to corresponding&lt;br&gt;
&amp;gt;&amp;gt; type at call site? Like:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; newSP := self cCoerce: (self callerSPOf: blabla) to: &amp;#39;char *&amp;#39;.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; That&amp;#39;s worse than the disease :) &amp;nbsp;There are many more uses than definitions.&lt;br&gt;
&amp;gt; &amp;nbsp;So I want the uses to look clean and I&amp;#39;ll tolerate noisy definition. &amp;nbsp;There&lt;br&gt;
&amp;gt; are also argument types to consider. &amp;nbsp;localIP has type char * for example,&lt;br&gt;
&amp;gt; so where it is used as an argument I want the argument type to be char * or&lt;br&gt;
&amp;gt; void *, etc.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;I guess i know why it refusing to inline methods with declarations,&lt;br&gt;
because you may write like:&lt;br&gt;
&lt;br&gt;
method: arg1&lt;br&gt;
&lt;br&gt;
| foo |&lt;br&gt;
self var: #foo declareInC: &amp;#39;void **foo = malloc(arg1)&amp;#39;.&lt;br&gt;
&lt;br&gt;
^ foo.&lt;br&gt;
&lt;br&gt;
inliner simply moving any temps into enclosing method.&lt;br&gt;
But here, a situation, where you have a C style declaration and&lt;br&gt;
assignment both.&lt;br&gt;
And ANSI C prohibits declaring vars not in the first lines of function&lt;br&gt;
body. C++ allows it :)&lt;br&gt;
&lt;br&gt;
Try comment a line of code in &amp;nbsp;collectInlineList.&lt;br&gt;
&lt;br&gt;
hasCCode := false. &amp;quot;m declarations size &amp;gt; 0.&amp;quot;&lt;br&gt;
&lt;br&gt;
Its not safe, and you&amp;#39;ll get a lot of compiler errors.&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;br&gt;I did that. &amp;nbsp;I got lots of errors :)&lt;br&gt;&amp;nbsp;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
GCC will inline your method anyways, so why bother?&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;The current sources use the localIP localSP localHomeContext localReturnContext localReturnValue scheme to get important variables in registers. &amp;nbsp;The translator rips out methods it can&amp;#39;t inline that refer to these. &amp;nbsp;So lots of methods end up getting deleted unless they&amp;#39;re inlined.&lt;br&gt;
&lt;br&gt;The localFoo scheme may or may not be important for performance. &amp;nbsp;I don&amp;#39;t want to rip it out until I can measure in a working VM whether it has any effect or not. &amp;nbsp;I want to measure my new VM not the old one &amp;nbsp;The benefit of having localFP (the frame pointer) in a register in my VM is likely to be quite high.&lt;br&gt;
&lt;br&gt;I only want the type declarations to eliminate warnings. &amp;nbsp;So its easier to do without the declarations. &amp;nbsp;But I&amp;#39;d like my cake and eat it too, dammit :)&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;&lt;br&gt;
--&lt;br&gt;
&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;Wj3C7c&quot;&gt;Best regards,&lt;br&gt;
Igor Stasenko AKA sig.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;best&lt;br&gt;Eliot&lt;br&gt;
&lt;br /&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Anyone-know-the-following-about-Slang--tp18270580p18271131.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271147</id>
	<title>[squeak-dev] Re: LargeInteger negative bitShift (Rshift) not optimized on byte boundary?</title>
	<published>2008-07-03T18:27:25Z</published>
	<updated>2008-07-03T18:27:25Z</updated>
	<author>
		<name>nicolas cellier</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; I marked as Kernel, but should rather be VM. Ken, can you here me?
&lt;br&gt;ear?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--LargeInteger-negative-bitShift-%28Rshift%29-not-optimized-on-byte-boundary--tp18216169p18271147.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271090</id>
	<title>[squeak-dev] Re: LargeInteger negative bitShift (Rshift) not optimized on byte boundary?</title>
	<published>2008-07-03T18:23:22Z</published>
	<updated>2008-07-03T18:23:22Z</updated>
	<author>
		<name>nicolas cellier</name>
	</author>
	<content type="html">nicolas cellier a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I checked VW7.5 on same machine to get a reference:
&lt;br&gt;&amp;gt; | x |
&lt;br&gt;&amp;gt; x := SmallInteger maxVal raisedTo: 100.
&lt;br&gt;&amp;gt; OrderedCollection new
&lt;br&gt;&amp;gt; &amp;nbsp;add: (Time millisecondsToRun: [100000 timesRepeat: [x bitShift: -1600]]);
&lt;br&gt;&amp;gt; &amp;nbsp;add: (Time millisecondsToRun: [100000 timesRepeat: [x bitShift: -1597]]);
&lt;br&gt;&amp;gt; &amp;nbsp;add: (Time millisecondsToRun: [100000 timesRepeat: [x bitShift: 1597]]);
&lt;br&gt;&amp;gt; &amp;nbsp;add: (Time millisecondsToRun: [100000 timesRepeat: [x bitShift: 1600]]);
&lt;br&gt;&amp;gt; &amp;nbsp;asArray
&lt;br&gt;&amp;gt; VW: #(29 29 92 92)
&lt;br&gt;&amp;gt; squeak: &amp;nbsp;#(164 172 315 120)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm surprised by the factor 3 in VW...
&lt;br&gt;&amp;gt; But since more bytes are allocated in Lshift...
&lt;br&gt;&amp;gt; The byteBounded Lshift is not far from VW.
&lt;br&gt;&amp;gt; every other operation is definitly improvable.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;I just pushed &lt;a href=&quot;http://bugs.squeak.org/view.php?id=7109&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.squeak.org/view.php?id=7109&lt;/a&gt;&amp;nbsp;for a small 
&lt;br&gt;improvment of bitShift:.
&lt;br&gt;&lt;br&gt;I marked as Kernel, but should rather be VM. Ken, can you here me?
&lt;br&gt;&lt;br&gt;Above test shows a little speed up (don't compare to above results, my 
&lt;br&gt;machine is sloooower):
&lt;br&gt;&lt;br&gt;Regular 3.10-1unix VM: &amp;nbsp;#(503 550 933 489)
&lt;br&gt;Patched 3.10-1nice VM: &amp;nbsp;#(357 416 673 495)
&lt;br&gt;VWNC 7.6 reference VM: &amp;nbsp;#(124 138 347 344)
&lt;br&gt;&lt;br&gt;Now that i exercized a bit with plugins, I will try a Karatsuba * 
&lt;br&gt;implementation. The algorithm is very simple.
&lt;br&gt;However naive algorithm should still be used when the smaller Integer 
&lt;br&gt;operand is sparse, like (1 &amp;lt;&amp;lt; 1000 + 1)*(1 &amp;lt;&amp;lt; 10000 - 1)...
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--LargeInteger-negative-bitShift-%28Rshift%29-not-optimized-on-byte-boundary--tp18216169p18271090.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271039</id>
	<title>Re: [squeak-dev] Anyone know the following about Slang?</title>
	<published>2008-07-03T18:19:01Z</published>
	<updated>2008-07-03T18:19:01Z</updated>
	<author>
		<name>Igor Stasenko</name>
	</author>
	<content type="html">2008/7/4 Eliot Miranda &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271039&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;eliot.miranda@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Thu, Jul 3, 2008 at 5:48 PM, Igor Stasenko &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271039&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;siguctua@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2008/7/4 Eliot Miranda &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271039&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;eliot.miranda@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Hi All,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; does anyone know (or even better has anyone fixed it) how hard it is
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; to
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; make Slang inline methods that contain simple type declarations?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I would like to eliminate compile-time integer/pointer mismatch errors
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; in
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; the new StackInterpreter I'm writing. &amp;nbsp;I'd like to say things like:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; callerSPOf: theFP
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;quot;Answer the SP of the caller provided theFP is not a base frame.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; This points to the hottest item on the frame's stack.&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; self var: #theFP type: 'char *'.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; self returnTypeC: 'char *'.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; self assert: (self isBaseFrame: theFP) not.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; ^theFP + FoxCallerSavedIP + ((self frameNumArgs: theFP) + 2 *
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; BytesPerWord)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; but Slang refuses to inline anything that has C declarations. &amp;nbsp;I'm
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; guessing
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; that the issue is moving the type information from the method to its
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; inlined
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; form. &amp;nbsp;It took me half a day to discover where Slang refuses to inline
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; (should have looked in the obvious place
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; CCodeGenerator&amp;gt;&amp;gt;collectInlineList,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; instead of in the inlining code :/ ). &amp;nbsp;So I'm afraid to waste the time
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; trying to find out where the restriction bites. &amp;nbsp;Anyone know how to fix
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; this
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; or better still have a fix?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Doesn't 'self inline: true' helps?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No. &amp;nbsp;Slang refuses to inline anything containing a C declaration
&lt;br&gt;&amp;gt; (retrnTypeC:, var:type: cCode:inSmalltalk: etc)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Or, can't you circumvent that by coercing a value to corresponding
&lt;br&gt;&amp;gt;&amp;gt; type at call site? Like:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; newSP := self cCoerce: (self callerSPOf: blabla) to: 'char *'.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That's worse than the disease :) &amp;nbsp;There are many more uses than definitions.
&lt;br&gt;&amp;gt; &amp;nbsp;So I want the uses to look clean and I'll tolerate noisy definition. &amp;nbsp;There
&lt;br&gt;&amp;gt; are also argument types to consider. &amp;nbsp;localIP has type char * for example,
&lt;br&gt;&amp;gt; so where it is used as an argument I want the argument type to be char * or
&lt;br&gt;&amp;gt; void *, etc.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;I guess i know why it refusing to inline methods with declarations,
&lt;br&gt;because you may write like:
&lt;br&gt;&lt;br&gt;method: arg1
&lt;br&gt;&lt;br&gt;| foo |
&lt;br&gt;self var: #foo declareInC: 'void **foo = malloc(arg1)'.
&lt;br&gt;&lt;br&gt;^ foo.
&lt;br&gt;&lt;br&gt;inliner simply moving any temps into enclosing method.
&lt;br&gt;But here, a situation, where you have a C style declaration and
&lt;br&gt;assignment both.
&lt;br&gt;And ANSI C prohibits declaring vars not in the first lines of function
&lt;br&gt;body. C++ allows it :)
&lt;br&gt;&lt;br&gt;Try comment a line of code in &amp;nbsp;collectInlineList.
&lt;br&gt;&lt;br&gt;hasCCode := false. &amp;quot;m declarations size &amp;gt; 0.&amp;quot;
&lt;br&gt;&lt;br&gt;Its not safe, and you'll get a lot of compiler errors.
&lt;br&gt;&lt;br&gt;GCC will inline your method anyways, so why bother?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best regards,
&lt;br&gt;Igor Stasenko AKA sig.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Anyone-know-the-following-about-Slang--tp18270580p18271039.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18271062</id>
	<title>Working Copy of WxSqueak</title>
	<published>2008-07-03T18:19:00Z</published>
	<updated>2008-07-03T18:19:00Z</updated>
	<author>
		<name>Rob Rothwell-2</name>
	</author>
	<content type="html">Just wondering if anyone out there has a working copy of WxSqueak.&lt;br&gt;&lt;br&gt;Long ago I was able to make it run, but now I can&amp;#39;t seem to. &amp;nbsp;I just get a window frame with nothing in it.&lt;br&gt;&lt;br&gt;Just wondering. &amp;nbsp;I finally know enough about Squeak to probably be able to figure out how to use it!&lt;br&gt;
&lt;br&gt;Rob
&lt;br /&gt;_______________________________________________
&lt;br&gt;Beginners mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18271062&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Beginners@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.squeakfoundation.org/mailman/listinfo/beginners&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.squeakfoundation.org/mailman/listinfo/beginners&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Beginners-f15572.html&quot; embed=&quot;fixTarget[15572]&quot; target=&quot;_top&quot; &gt;Squeak - Beginners&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Working-Copy-of-WxSqueak-tp18271062p18271062.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18270866</id>
	<title>Re: [squeak-dev] Anyone know the following about Slang?</title>
	<published>2008-07-03T18:00:03Z</published>
	<updated>2008-07-03T18:00:03Z</updated>
	<author>
		<name>Eliot Miranda-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Jul 3, 2008 at 5:48 PM, Igor Stasenko &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18270866&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;siguctua@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
2008/7/4 Eliot Miranda &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18270866&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;eliot.miranda@...&lt;/a&gt;&amp;gt;:&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;Wj3C7c&quot;&gt;&amp;gt; Hi All,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; does anyone know (or even better has anyone fixed it) how hard it is to&lt;br&gt;
&amp;gt; make Slang inline methods that contain simple type declarations?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I would like to eliminate compile-time integer/pointer mismatch errors in&lt;br&gt;
&amp;gt; the new StackInterpreter I&amp;#39;m writing. &amp;nbsp;I&amp;#39;d like to say things like:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; callerSPOf: theFP&lt;br&gt;
&amp;gt; &amp;quot;Answer the SP of the caller provided theFP is not a base frame.&lt;br&gt;
&amp;gt; This points to the hottest item on the frame&amp;#39;s stack.&amp;quot;&lt;br&gt;
&amp;gt; self var: #theFP type: &amp;#39;char *&amp;#39;.&lt;br&gt;
&amp;gt; self returnTypeC: &amp;#39;char *&amp;#39;.&lt;br&gt;
&amp;gt; self assert: (self isBaseFrame: theFP) not.&lt;br&gt;
&amp;gt; ^theFP + FoxCallerSavedIP + ((self frameNumArgs: theFP) + 2 * BytesPerWord)&lt;br&gt;
&amp;gt; but Slang refuses to inline anything that has C declarations. &amp;nbsp;I&amp;#39;m guessing&lt;br&gt;
&amp;gt; that the issue is moving the type information from the method to its inlined&lt;br&gt;
&amp;gt; form. &amp;nbsp;It took me half a day to discover where Slang refuses to inline&lt;br&gt;
&amp;gt; (should have looked in the obvious place CCodeGenerator&amp;gt;&amp;gt;collectInlineList,&lt;br&gt;
&amp;gt; instead of in the inlining code :/ ). &amp;nbsp;So I&amp;#39;m afraid to waste the time&lt;br&gt;
&amp;gt; trying to find out where the restriction bites. &amp;nbsp;Anyone know how to fix this&lt;br&gt;
&amp;gt; or better still have a fix?&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;Doesn&amp;#39;t &amp;#39;self inline: true&amp;#39; helps?&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;No. &amp;nbsp;Slang refuses to inline anything containing a C declaration (retrnTypeC:, var:type: cCode:inSmalltalk: etc)&lt;br&gt;&amp;nbsp;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
&lt;br&gt;
Or, can&amp;#39;t you circumvent that by coercing a value to corresponding&lt;br&gt;
type at call site? Like:&lt;br&gt;
&lt;br&gt;
newSP := self cCoerce: (self callerSPOf: blabla) to: &amp;#39;char *&amp;#39;.&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;That&amp;#39;s worse than the disease :) &amp;nbsp;There are many more uses than definitions. &amp;nbsp;So I want the uses to look clean and I&amp;#39;ll tolerate noisy definition. &amp;nbsp;There are also argument types to consider. &amp;nbsp;localIP has type char * for example, so where it is used as an argument I want the argument type to be char * or void *, etc.&lt;br&gt;
&lt;br&gt;&amp;nbsp;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;And don&amp;#39;t touch the return type of function.&lt;br&gt;
&lt;br&gt;
&amp;gt; best&lt;br&gt;
&amp;gt; Eliot&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
Best regards,&lt;br&gt;
Igor Stasenko AKA sig.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Anyone-know-the-following-about-Slang--tp18270580p18270866.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18270851</id>
	<title>[squeak-dev] Re: Bug in Method Finder dating from 3.8</title>
	<published>2008-07-03T17:59:26Z</published>
	<updated>2008-07-03T17:59:26Z</updated>
	<author>
		<name>nicolas cellier</name>
	</author>
	<content type="html">Serge Stinckwich a écrit :
&lt;br&gt;&amp;gt; Damien Cassou a écrit :
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I think this one is related to 3.10. I told them at least 5 times to
&lt;br&gt;&amp;gt;&amp;gt; include the existing fix, but nobody did it.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Ok and where is the fix, Damien ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&lt;br&gt;Serge, are you black listing me?
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://bugs.squeak.org/view.php?id=5641&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.squeak.org/view.php?id=5641&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://bugs.squeak.org/view.php?id=6402&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.squeak.org/view.php?id=6402&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://bugs.squeak.org/view.php?id=6418&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.squeak.org/view.php?id=6418&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://bugs.squeak.org/view.php?id=6691&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.squeak.org/view.php?id=6691&lt;/a&gt;&lt;br&gt;&lt;br&gt;My image is patched with my own:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Installer mantis bug: 6691 fix: 'StringVersion-Patch-M6691.2.cs'.
&lt;br&gt;&lt;br&gt;But, maybe Keith did correct other things too...
&lt;br&gt;Since he pushed his own corrections for his own bug, so you should trust 
&lt;br&gt;him and try:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Installer ensureFix: 6402.
&lt;br&gt;&lt;br&gt;Nicolas
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Squeak---Dev-f14154.html&quot; embed=&quot;fixTarget[14154]&quot; target=&quot;_top&quot; &gt;Squeak - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-squeak-dev--Bug-in-Method-Finder-dating-from-3.8-tp18254114p18270851.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18270830</id>
	<title>Re: [squeak-dev] Subcanvas</title>
	<published>2008-07-03T17:55:43Z</published>
	<updated>2008-07-03T17:55:43Z</updated>
	<author>
		<name>Michael van der Gulik-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Jul 4, 2008 at 12:10 PM, Igor Stasenko &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18270830&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;siguctua@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
2008/7/4 Michael van der Gulik &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18270830&amp;i=1