Browse Source

kernel: Different thisContext setup.

Context tree is hydrated in accordance
with TMethodContext handling of the context;
specifically, chain goes to outerContext if present,
only otherwise to homeContext.

Cleaner solution would be to hydrate the chain
in Smalltalk code and free kernel of these decisions.
Maybe later.
Herby Vojčík 4 years ago
parent
commit
43f3ca08b5
2 changed files with 11 additions and 1 deletions
  1. 10 0
      CHANGELOG
  2. 1 1
      lang/base/kernel-runtime.js

+ 10 - 0
CHANGELOG

@@ -1,3 +1,13 @@
+11 Apr 2020 - Release 0.25.2
+===================================
+
+* Changed thisContext hydrating in kernel
+  * Set up so better stack traces are shown in debugger, esp. for async
+  * Can be breaking for code that depends on old hydration (unlikely).
+
+Commits: https://lolg.it/amber/amber/commits/0.25.2
+
+
 9 Apr 2020 - Release 0.25.1
 ===================================
 

+ 1 - 1
lang/base/kernel-runtime.js

@@ -400,7 +400,7 @@ define(['./junk-drawer'], function ($goodies) {
 
             st.getThisContext = function () {
                 if (!thisContext) return null;
-                for (var frame = thisContext; frame; frame = frame.homeContext) {
+                for (var frame = thisContext; frame; frame = frame.outerContext || frame.homeContext) {
                     frame.setup(frame);
                 }
                 return thisContext;