]> gitweb.factorcode.org Git - factor.git/commitdiff
fixups: fix compute-fixups which was resetting the error value
authorJohn Benediktsson <mrjbq7@gmail.com>
Sat, 12 Feb 2022 02:43:10 +0000 (18:43 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 12 Feb 2022 02:43:10 +0000 (18:43 -0800)
And then we got wrong stack traces.

basis/fixups/fixups.factor

index 9f2b4ce7617b76e08ba28925088fdf395acc9f37..2816cb6ebecaa21bb23d9a4e9a40babcb3b45d00 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2021 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors assocs continuations kernel sequences
-vocabs vocabs.parser ;
+USING: accessors assocs classes.tuple continuations kernel sequences
+slots.private vocabs vocabs.parser ;
 IN: fixups
 
 CONSTANT: vocab-renames {
@@ -56,7 +56,8 @@ CONSTANT: word-renames {
 GENERIC: compute-fixups ( continuation error -- seq )
 
 M: object compute-fixups
-    [ error>> compute-fixups ] [ 3drop { } ] recover ;
+    "error" over ?offset-of-slot
+    [ slot compute-fixups ] [ 2drop { } ] if* ;
 
 M: f compute-fixups 2drop { } ;