[squeak-smalltalk/squeak-object-memory] DoItFirst `--filein` cannot compile new methods because SourceFiles are not yet opened (Issue #165)

Christoph Thiede via Squeak-dev <[email protected]> Sun, 02 Aug 2026 13:08:14 -0700
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <squeak-smalltalk/squeak-object-memory/issues/[email protected]>
--===============5604241821795412746==
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6a6fa3aed53fc_f61160800075b";
 charset=UTF-8
Content-Transfer-Encoding: 7bit


----==_mimepart_6a6fa3aed53fc_f61160800075b
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

LinqLover created an issue (squeak-smalltalk/squeak-object-memory#165)

Hi Dave, all,

consider this example:

```bash
$ squeak squeak/FreshTrunk-tmp-DoItFirst-troubleshootable.image --filein ~/squeak/SpaceTallyTest.st
file in /home/christoph/squeak/SpaceTallyTest.st
vvvvvvvvvvvvvvvvvv MessageNotUnderstood: UndefinedObject>>position vvvvvvvvvvvvvvvvvv
The time is 2026-08-02T22:00:34.203288+02:00
UndefinedObject(Object)>>doesNotUnderstand: #position
CompiledMethodTrailer class>>sourcePointerInFile:
SpaceTallyTest class(Behavior)>>defaultMethodTrailerIfLogSource:
SpaceTallyTest class(ClassDescription)>>compileCue:classified:withStamp:logSource:
SpaceTallyTest class(ClassDescription)>>compile:environment:classified:withStamp:notifying:logSource:
SpaceTallyTest class(ClassDescription)>>compile:classified:withStamp:notifying:logSource:
SpaceTallyTest class(ClassDescription)>>compile:classified:withStamp:notifying:
ClassCategoryReader>>scanFrom:
[] in [] in [] in MultiByteFileStream(PositionableStream)>>fileInFor:announcing:
FullBlockClosure(BlockClosure)>>on:do:
[] in [] in MultiByteFileStream(PositionableStream)>>fileInFor:announcing:
FullBlockClosure(BlockClosure)>>on:do:
[] in MultiByteFileStream(PositionableStream)>>fileInFor:announcing:
[] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
FullBlockClosure(BlockClosure)>>on:do:
[] in MorphicUIManager>>displayProgress:at:from:to:during:
FullBlockClosure(BlockClosure)>>ensure:
MorphicUIManager>>displayProgress:at:from:to:during:
ProgressInitiationException>>defaultResumeValue
ProgressInitiationException(Exception)>>resume
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
ByteString(String)>>displayProgressAt:from:to:during:
ByteString(String)>>displayProgressFrom:to:during:
MultiByteFileStream(PositionableStream)>>fileInFor:announcing:
MultiByteFileStream(PositionableStream)>>fileInAnnouncing:
MultiByteFileStream(FileStream)>>fileIn
MultiByteFileStream>>fileIn
[] in [] in DoItFirst>>fileIn:
FullBlockClosure(BlockClosure)>>on:do:
[] in DoItFirst>>fileIn:
OrderedCollection>>do:
DoItFirst>>fileIn:
[] in DoItFirst>>parse:
DoItFirst>>evaluateArgs
DoItFirst class>>startUp:
[] in SmalltalkImage>>send:toClassesNamedIn:with:
OrderedCollection>>do:
SmalltalkImage>>send:toClassesNamedIn:with:
SmalltalkImage>>processStartUpList:
SmalltalkImage>>startUpPostSnapshot:
SmalltalkImage>>snapshot:andQuit:withExitCode:embedded:
SmalltalkImage>>snapshot:andQuit:embedded:
SmalltalkImage>>snapshot:andQuit:
SmalltalkImage>>saveImageInFileNamed:
SmalltalkImage>>saveAs:
SmalltalkImage>>saveAs
TheWorldMainDockingBar>>saveImageAs
[] in MenuItemMorph>>invokeWithEvent:
FullBlockClosure(BlockClosure)>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
MenuItemMorph(Morph)>>processEvent:
[] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
Array(SequenceableCollection)>>do:
DockingBarMenuMorph(Morph)>>submorphsDo:
TableLayout(LayoutPolicy)>>submorphsOf:do:
MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
DockingBarMenuMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>doProcessingForFocusEvent:with:
MorphicEventDispatcher>>dispatchFocusEventFully:with:
DockingBarMenuMorph(MenuMorph)>>processFocusEvent:using:
DockingBarMenuMorph(Morph)>>processFocusEvent:
[] in [] in [] in HandMorph>>sendFocusEvent:to:clear:
[] in ActiveEventVariable class(DynamicVariable class)>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveEventVariable class(DynamicVariable class)>>value:during:
[] in ActiveEventVariable class>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveEventVariable class>>value:during:
MouseButtonEvent(MorphicEvent)>>becomeActiveDuring:
[] in [] in HandMorph>>sendFocusEvent:to:clear:
[] in ActiveHandVariable class(DynamicVariable class)>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveHandVariable class(DynamicVariable class)>>value:during:
[] in ActiveHandVariable class>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveHandVariable class>>value:during:
HandMorph>>becomeActiveDuring:
[] in HandMorph>>sendFocusEvent:to:clear:
[] in ActiveWorldVariable class(DynamicVariable class)>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveWorldVariable class(DynamicVariable class)>>value:during:
[] in ActiveWorldVariable class>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveWorldVariable class>>value:during:

^^^^^^^^^^^^^^^^^^ MessageNotUnderstood: UndefinedObject>>position ^^^^^^^^^^^^^^^^^^
```

(The detailed stacktrace is due to System-ct.1530 (inbox), otherwise you would only see `MessageNotUnderstood: UndefinedObject>>position`.)

The cause of this issue seems to be that `CompiledMethodTrailer class>>#sourcePointerInFile:` attempts to read a source file while compiling a method, but the source files have not been opened at this point.

Should `DoItFirst>>#parse:` thus do a full `FileDirectory startUp` maybe? But that method seems not idempotent? Were you having any other precautions in mind when you wrote this? :-)

-- 
Reply to this email directly or view it on GitHub:
https://github.com/squeak-smalltalk/squeak-object-memory/issues/165
You are receiving this because you are subscribed to this thread.

Message ID: <squeak-smalltalk/squeak-object-memory/issues/[email protected]>
----==_mimepart_6a6fa3aed53fc_f61160800075b
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div style=3D"display: flex; flex-wrap: wrap; white-space: pre-wrap; alig=
n-items: center; "><img height=3D"20" width=3D"20" style=3D"border-radius=
:50%; margin-right: 4px;" decoding=3D"async" src=3D"https://avatars.githu=
busercontent.com/u/38782922?s=3D20&amp;v=3D4" /><strong>LinqLover</strong=
> created an issue <a href=3D"https://github.com/squeak-smalltalk/squeak-=
object-memory/issues/165">(squeak-smalltalk/squeak-object-memory#165)</a>=
</div>
<p dir=3D"auto">Hi Dave, all,</p>
<p dir=3D"auto">consider this example:</p>
<div class=3D"highlight highlight-source-shell" dir=3D"auto"><pre class=3D=
"notranslate">$ squeak squeak/FreshTrunk-tmp-DoItFirst-troubleshootable.i=
mage --filein <span class=3D"pl-k">~</span>/squeak/SpaceTallyTest.st
file <span class=3D"pl-k">in</span> /home/christoph/squeak/SpaceTallyTest=
.st
vvvvvvvvvvvvvvvvvv MessageNotUnderstood: UndefinedObject<span class=3D"pl=
-k">&gt;&gt;</span>position vvvvvvvvvvvvvvvvvv
The <span class=3D"pl-k">time</span> is 2026-08-02T22:00:34.203288+02:00
UndefinedObject(Object)<span class=3D"pl-k">&gt;&gt;</span>doesNotUnderst=
and: <span class=3D"pl-c"><span class=3D"pl-c">#</span>position</span>
CompiledMethodTrailer class<span class=3D"pl-k">&gt;&gt;</span>sourcePoin=
terInFile:
SpaceTallyTest class(Behavior)<span class=3D"pl-k">&gt;&gt;</span>default=
MethodTrailerIfLogSource:
SpaceTallyTest class(ClassDescription)<span class=3D"pl-k">&gt;&gt;</span=
>compileCue:classified:withStamp:logSource:
SpaceTallyTest class(ClassDescription)<span class=3D"pl-k">&gt;&gt;</span=
>compile:environment:classified:withStamp:notifying:logSource:
SpaceTallyTest class(ClassDescription)<span class=3D"pl-k">&gt;&gt;</span=
>compile:classified:withStamp:notifying:logSource:
SpaceTallyTest class(ClassDescription)<span class=3D"pl-k">&gt;&gt;</span=
>compile:classified:withStamp:notifying:
ClassCategoryReader<span class=3D"pl-k">&gt;&gt;</span>scanFrom:
[] <span class=3D"pl-k">in</span> [] <span class=3D"pl-k">in</span> [] <s=
pan class=3D"pl-k">in</span> MultiByteFileStream(PositionableStream)<span=
 class=3D"pl-k">&gt;&gt;</span>fileInFor:announcing:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>on:do:
[] <span class=3D"pl-k">in</span> [] <span class=3D"pl-k">in</span> Multi=
ByteFileStream(PositionableStream)<span class=3D"pl-k">&gt;&gt;</span>fil=
eInFor:announcing:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>on:do:
[] <span class=3D"pl-k">in</span> MultiByteFileStream(PositionableStream)=
<span class=3D"pl-k">&gt;&gt;</span>fileInFor:announcing:
[] <span class=3D"pl-k">in</span> [] <span class=3D"pl-k">in</span> Morph=
icUIManager<span class=3D"pl-k">&gt;&gt;</span>displayProgress:at:from:to=
:during:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>on:do:
[] <span class=3D"pl-k">in</span> MorphicUIManager<span class=3D"pl-k">&g=
t;&gt;</span>displayProgress:at:from:to:during:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>ensure:=

MorphicUIManager<span class=3D"pl-k">&gt;&gt;</span>displayProgress:at:fr=
om:to:during:
ProgressInitiationException<span class=3D"pl-k">&gt;&gt;</span>defaultRes=
umeValue
ProgressInitiationException(Exception)<span class=3D"pl-k">&gt;&gt;</span=
>resume
ProgressInitiationException<span class=3D"pl-k">&gt;&gt;</span>defaultAct=
ion
UndefinedObject<span class=3D"pl-k">&gt;&gt;</span>handleSignal:
ProgressInitiationException(Exception)<span class=3D"pl-k">&gt;&gt;</span=
>signal
ProgressInitiationException<span class=3D"pl-k">&gt;&gt;</span>display:at=
:from:to:during:
ProgressInitiationException class<span class=3D"pl-k">&gt;&gt;</span>disp=
lay:at:from:to:during:
ByteString(String)<span class=3D"pl-k">&gt;&gt;</span>displayProgressAt:f=
rom:to:during:
ByteString(String)<span class=3D"pl-k">&gt;&gt;</span>displayProgressFrom=
:to:during:
MultiByteFileStream(PositionableStream)<span class=3D"pl-k">&gt;&gt;</spa=
n>fileInFor:announcing:
MultiByteFileStream(PositionableStream)<span class=3D"pl-k">&gt;&gt;</spa=
n>fileInAnnouncing:
MultiByteFileStream(FileStream)<span class=3D"pl-k">&gt;&gt;</span>fileIn=

MultiByteFileStream<span class=3D"pl-k">&gt;&gt;</span>fileIn
[] <span class=3D"pl-k">in</span> [] <span class=3D"pl-k">in</span> DoItF=
irst<span class=3D"pl-k">&gt;&gt;</span>fileIn:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>on:do:
[] <span class=3D"pl-k">in</span> DoItFirst<span class=3D"pl-k">&gt;&gt;<=
/span>fileIn:
OrderedCollection<span class=3D"pl-k">&gt;&gt;</span>do:
DoItFirst<span class=3D"pl-k">&gt;&gt;</span>fileIn:
[] <span class=3D"pl-k">in</span> DoItFirst<span class=3D"pl-k">&gt;&gt;<=
/span>parse:
DoItFirst<span class=3D"pl-k">&gt;&gt;</span>evaluateArgs
DoItFirst class<span class=3D"pl-k">&gt;&gt;</span>startUp:
[] <span class=3D"pl-k">in</span> SmalltalkImage<span class=3D"pl-k">&gt;=
&gt;</span>send:toClassesNamedIn:with:
OrderedCollection<span class=3D"pl-k">&gt;&gt;</span>do:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>send:toClassesNamedIn:w=
ith:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>processStartUpList:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>startUpPostSnapshot:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>snapshot:andQuit:withEx=
itCode:embedded:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>snapshot:andQuit:embedd=
ed:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>snapshot:andQuit:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>saveImageInFileNamed:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>saveAs:
SmalltalkImage<span class=3D"pl-k">&gt;&gt;</span>saveAs
TheWorldMainDockingBar<span class=3D"pl-k">&gt;&gt;</span>saveImageAs
[] <span class=3D"pl-k">in</span> MenuItemMorph<span class=3D"pl-k">&gt;&=
gt;</span>invokeWithEvent:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>ensure:=

CursorWithMask(Cursor)<span class=3D"pl-k">&gt;&gt;</span>showWhile:
MenuItemMorph<span class=3D"pl-k">&gt;&gt;</span>invokeWithEvent:
MenuItemMorph<span class=3D"pl-k">&gt;&gt;</span>mouseUp:
MenuItemMorph<span class=3D"pl-k">&gt;&gt;</span>handleMouseUp:
MouseButtonEvent<span class=3D"pl-k">&gt;&gt;</span>sentTo:
MenuItemMorph(Morph)<span class=3D"pl-k">&gt;&gt;</span>handleEvent:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>dispatchEvent:w=
ithHandler:withMorph:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>dispatchDefault=
:with:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>dispatchEvent:w=
ith:
MenuItemMorph(Morph)<span class=3D"pl-k">&gt;&gt;</span>processEvent:usin=
g:
MenuItemMorph(Morph)<span class=3D"pl-k">&gt;&gt;</span>processEvent:
[] <span class=3D"pl-k">in</span> MorphicEventDispatcher<span class=3D"pl=
-k">&gt;&gt;</span>dispatchEvent:toSubmorphsOf:
Array(SequenceableCollection)<span class=3D"pl-k">&gt;&gt;</span>do:
DockingBarMenuMorph(Morph)<span class=3D"pl-k">&gt;&gt;</span>submorphsDo=
:
TableLayout(LayoutPolicy)<span class=3D"pl-k">&gt;&gt;</span>submorphsOf:=
do:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>dispatchEvent:t=
oSubmorphsOf:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>dispatchEvent:w=
ithHandler:withMorph:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>dispatchDefault=
:with:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>dispatchEvent:w=
ith:
DockingBarMenuMorph(Morph)<span class=3D"pl-k">&gt;&gt;</span>processEven=
t:using:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>doProcessingFor=
FocusEvent:with:
MorphicEventDispatcher<span class=3D"pl-k">&gt;&gt;</span>dispatchFocusEv=
entFully:with:
DockingBarMenuMorph(MenuMorph)<span class=3D"pl-k">&gt;&gt;</span>process=
FocusEvent:using:
DockingBarMenuMorph(Morph)<span class=3D"pl-k">&gt;&gt;</span>processFocu=
sEvent:
[] <span class=3D"pl-k">in</span> [] <span class=3D"pl-k">in</span> [] <s=
pan class=3D"pl-k">in</span> HandMorph<span class=3D"pl-k">&gt;&gt;</span=
>sendFocusEvent:to:clear:
[] <span class=3D"pl-k">in</span> ActiveEventVariable class(DynamicVariab=
le class)<span class=3D"pl-k">&gt;&gt;</span>value:during:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>ensure:=

ActiveEventVariable class(DynamicVariable class)<span class=3D"pl-k">&gt;=
&gt;</span>value:during:
[] <span class=3D"pl-k">in</span> ActiveEventVariable class<span class=3D=
"pl-k">&gt;&gt;</span>value:during:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>ensure:=

ActiveEventVariable class<span class=3D"pl-k">&gt;&gt;</span>value:during=
:
MouseButtonEvent(MorphicEvent)<span class=3D"pl-k">&gt;&gt;</span>becomeA=
ctiveDuring:
[] <span class=3D"pl-k">in</span> [] <span class=3D"pl-k">in</span> HandM=
orph<span class=3D"pl-k">&gt;&gt;</span>sendFocusEvent:to:clear:
[] <span class=3D"pl-k">in</span> ActiveHandVariable class(DynamicVariabl=
e class)<span class=3D"pl-k">&gt;&gt;</span>value:during:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>ensure:=

ActiveHandVariable class(DynamicVariable class)<span class=3D"pl-k">&gt;&=
gt;</span>value:during:
[] <span class=3D"pl-k">in</span> ActiveHandVariable class<span class=3D"=
pl-k">&gt;&gt;</span>value:during:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>ensure:=

ActiveHandVariable class<span class=3D"pl-k">&gt;&gt;</span>value:during:=

HandMorph<span class=3D"pl-k">&gt;&gt;</span>becomeActiveDuring:
[] <span class=3D"pl-k">in</span> HandMorph<span class=3D"pl-k">&gt;&gt;<=
/span>sendFocusEvent:to:clear:
[] <span class=3D"pl-k">in</span> ActiveWorldVariable class(DynamicVariab=
le class)<span class=3D"pl-k">&gt;&gt;</span>value:during:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>ensure:=

ActiveWorldVariable class(DynamicVariable class)<span class=3D"pl-k">&gt;=
&gt;</span>value:during:
[] <span class=3D"pl-k">in</span> ActiveWorldVariable class<span class=3D=
"pl-k">&gt;&gt;</span>value:during:
FullBlockClosure(BlockClosure)<span class=3D"pl-k">&gt;&gt;</span>ensure:=

ActiveWorldVariable class<span class=3D"pl-k">&gt;&gt;</span>value:during=
:

^^^^^^^^^^^^^^^^^^ MessageNotUnderstood: UndefinedObject<span class=3D"pl=
-k">&gt;&gt;</span>position ^^^^^^^^^^^^^^^^^^</pre></div>
<p dir=3D"auto">(The detailed stacktrace is due to System-ct.1530 (inbox)=
, otherwise you would only see <code class=3D"notranslate">MessageNotUnde=
rstood: UndefinedObject&gt;&gt;position</code>.)</p>
<p dir=3D"auto">The cause of this issue seems to be that <code class=3D"n=
otranslate">CompiledMethodTrailer class&gt;&gt;#sourcePointerInFile:</cod=
e> attempts to read a source file while compiling a method, but the sourc=
e files have not been opened at this point.</p>
<p dir=3D"auto">Should <code class=3D"notranslate">DoItFirst&gt;&gt;#pars=
e:</code> thus do a full <code class=3D"notranslate">FileDirectory startU=
p</code> maybe? But that method seems not idempotent? Were you having any=
 other precautions in mind when you wrote this? :-)</p>

<p style=3D"font-size:small;-webkit-text-size-adjust:none;color:#666;">&m=
dash;<br />Reply to this email directly, <a href=3D"https://github.com/sq=
ueak-smalltalk/squeak-object-memory/issues/165?email_source=3Dnotificatio=
ns&amp;email_token=3DBFYAK6KSFEOIFUMU25ICTK35H6NS5A5CNFSL4Z3JMQ5C6L3HNF2C=
22DVMIXUS43TOVSS6NJQGQ2DENJUGA4DBJTSMVQXG33OVJZXKYTTMNZGSYTFMSSWK5TFNZ2KY=
ZTPN52GK4S7MNWGSY3L">view it on GitHub</a>, or <a href=3D"https://github.=
com/notifications/unsubscribe-auth/BFYAK6IBLKWLUWLZNAFIFHT5H6NS5AVCNFSNUA=
BFKJSXA33TNF2G64TZHM2DKNBYHA3TANRUHNEXG43VMU5TKMBUGQZDKNBQHAYKC5QC">unsub=
scribe</a>.<br />Triage notifications, keep track of coding agent tasks a=
nd review pull requests on the go with GitHub Mobile for <a href=3D"https=
://github.com/notifications/mobile/ios/BFYAK6MUJVRMWRKOHTEYF2L5H6NS5A5CNF=
SL4Z3JMQ5C6L3HNF2C22DVMIXUS43TOVSS6NJQGQ2DENJUGA4DBJTSMVQXG33OVJZXKYTTMNZ=
GSYTFMSSWK5TFNZ2KUZTPN52GK4S7NFXXG">iOS</a> and <a href=3D"https://github=
.com/notifications/mobile/android/BFYAK6IEZ4SBWPNCDCMF4NL5H6NS5A5CNFSL4Z3=
JMQ5C6L3HNF2C22DVMIXUS43TOVSS6NJQGQ2DENJUGA4DBJTSMVQXG33OVJZXKYTTMNZGSYTF=
MSSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA">Android</a>. Download it today!
<br />You are receiving this because you are subscribed to this thread.<i=
mg src=3D"https://github.com/notifications/beacon/BFYAK6LBGW6T7O7UJMYNBXD=
5H6NS5BFCNFSM6AAAAAC4XEXPZGWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3J=
MTHQAAAAAEWKSNMAUZZGKYLTN5XKU43VMJZWG4TJMJSWI.gif" height=3D"1" width=3D"=
1" alt=3D"" /><span style=3D"color: transparent; font-size: 0; display: n=
one; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: =
0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span>&lt;sque=
ak-smalltalk/squeak-object-memory/issues/165</span><span>@</span><span>gi=
thub</span><span>.</span><span>com&gt;</span></span></p>

<script type=3D"application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/squeak-smalltalk/squeak-object-memory/issue=
s/165?email_source=3Dnotifications\u0026email_token=3DBFYAK6LMSCU6UDF5CWY=
VM2T5H6NS5A5CNFSL4Z3JMQ5C6L3HNF2C22DVMIXUS43TOVSS6NJQGQ2DENJUGA4DBJTSMVQX=
G33OVJZXKYTTMNZGSYTFMSSWK5TFNZ2KWZ3NMFUWYX3DNRUWG2Y",
"url": "https://github.com/squeak-smalltalk/squeak-object-memory/issues/1=
65?email_source=3Dnotifications\u0026email_token=3DBFYAK6LMSCU6UDF5CWYVM2=
T5H6NS5A5CNFSL4Z3JMQ5C6L3HNF2C22DVMIXUS43TOVSS6NJQGQ2DENJUGA4DBJTSMVQXG33=
OVJZXKYTTMNZGSYTFMSSWK5TFNZ2KWZ3NMFUWYX3DNRUWG2Y",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>

----==_mimepart_6a6fa3aed53fc_f61160800075b--

--===============5604241821795412746==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
--===============5604241821795412746==--