In the previous thread I mentioned a problem in ProcessVariable I encountered
while trying out VisualGST. Turns out I was mistaken, the problem was triggered
by something else, as I wasn't able to reproduce it after a fresh rebuild.
Still, the bug is there for sure: the `valueIfAbsent` never evaluates the block
it gets as an argument. Here's the patch:
diff --git a/kernel/ProcEnv.st b/kernel/ProcEnv.st
index d3780748..fa695641 100644
--- a/kernel/ProcEnv.st
+++ b/kernel/ProcEnv.st
@@ -77,7 +77,7 @@ setting for the current process.'>
valueIfAbsent: aBlock [
"Return the value of this variable in the current process."
<category: 'accessing'>
- ^Processor activeProcess environment at: self key ifAbsent: [ nil ]
+ ^Processor activeProcess environment at: self key ifAbsent: aBlock.
]
value [
(the method comment should probably also be changed a bit, now that I look at
it...)
Best regard,
Piotr Klibert