<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Jaromir,<br>
<br>
On 12/1/2023 4:31 PM, Jaromir Matas via Cuis-dev wrote:
<blockquote
cite="mid:em9d10ac9e-b0c4-4450-9bec-4d9fc71fb4e7@ab6ea512.com"
type="cite">
<style id="css_styles" type="text/css"><!--blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
li[style='text-align: center;'], li[style='text-align: center; '], li[style='text-align: right;'], li[style='text-align: right; '] { list-style-position: inside;}
body { font-family: 'Segoe UI'; font-size: 12pt; }
.quote { margin-left: 1em; margin-right: 1em; border-left: 5px #ebebeb solid; padding-left: 0.3em; }
--></style>
<div>Hi Juan,
</div>
<div><br>
</div>
<div>Many thanks!
</div>
<div><br>
</div>
<div>> edit Cuis-Smalltalk-Dev/UserPrefs.txt to your liking
</div>
<div><br>
</div>
<div>perfect
</div>
<div><br>
</div>
<div>> You could do ./pullAllRepos.sh. </div>
<div><br>
</div>
<div>that didn't help but having been encouraged I tried
./clonePackageRepos.sh and then all core packages loaded
</div>
<div><br>
</div>
<div>> Anyway, unless you really want to load 'CorePackages',
I'd just skip that step.
</div>
<div><br>
</div>
<div>What I really wanted was BaseImageTests to access the tests.
Normally I don't do any Feature require - unless I need the
tests. Is this actually the right/easiest way to get there?
</div>
</blockquote>
<br>
For that you only need the main Cuis-Smalltalk-Dev repo, and just
evaluate `Feature require: 'BaseImageTests'`. Much quicker and
simpler. And no breackage in optional packages will affect you.<br>
<br>
<blockquote
cite="mid:em9d10ac9e-b0c4-4450-9bec-4d9fc71fb4e7@ab6ea512.com"
type="cite">
<div>I'm enclosing the updated changesets.
</div>
</blockquote>
<br>
Thanks. Just integrated them and pushed to GitHub.<br>
<br>
<blockquote
cite="mid:em9d10ac9e-b0c4-4450-9bec-4d9fc71fb4e7@ab6ea512.com"
type="cite">
<div>Two more unrelated questions:
</div>
<div><br>
</div>
<div>1) I've noticed all underscore assignments in
#runUntilErrorOrReturnFrom have been replaced with ':=' - have I
missed something?
</div>
</blockquote>
<br>
We are switching to saving all code in files with ':=' ANSI
assignments, to help with interoperability with other Smalltalk
dialects, but also for a better experience when viewing code with
external tools. They are still displayed as a left arrow inside the
image by default.<br>
<br>
<blockquote
cite="mid:em9d10ac9e-b0c4-4450-9bec-4d9fc71fb4e7@ab6ea512.com"
type="cite">
<div>2) I'm a bit hesitant to ask but what is a "quick return"? I
haven't come across this term until Facundo updated the
#runUntilErrorOrReturnFrom: method.
</div>
<div><br>
</div>
<div>I can see
</div>
<div><br>
</div>
<div> "Quick Push Const Methods"
</div>
<div> (256 nil) "primitivePushSelf"
</div>
<div> (257 nil) "primitivePushTrue"
</div>
<div> (258 nil) "primitivePushFalse"
</div>
<div> (259 nil) "primitivePushNil"
</div>
<div> (260 nil) "primitivePushMinusOne"
</div>
<div> (261 nil) "primitivePushZero"
</div>
<div> (262 nil) "primitivePushOne"
</div>
<div> (263 nil) "primitivePushTwo"
</div>
<div><br>
</div>
<div> "Quick Push Inst Var Methods"
</div>
<div> (264 519 nil) "primitiveLoadInstVar 0 - 255"
</div>
<div><br>
</div>
<div>but it still doesn't ring any bell why "quick return" ;)
</div>
</blockquote>
<br>
Just do Show... / byteCodes in any browser on a method whose only
code is to return self, true, false, nil, -1, 0, 1, 2 or an instance
variable. This is done via those primitives you listed, meaning that
there is no real method activation. It is an optimization that comes
(I believe) from Smalltalk-80. See #isQuick, #isReturnSpecial,
#isReturnField and #longPrintOn:indent: .<br>
<br>
<blockquote
cite="mid:em9d10ac9e-b0c4-4450-9bec-4d9fc71fb4e7@ab6ea512.com"
type="cite">
<div>Thanks again,
</div>
<div>best
</div>
<div>Jaromir</div>
<div style="clear: both;"><br>
</div>
<br>
</blockquote>
<br>
Thank you.<br>
Cheers!<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>