basic fix for •ReBQN{primitives⇐⟨','‿+⟩}

This commit is contained in:
dzaima 2024-01-19 18:02:20 +02:00
parent 83afa4ba99
commit 0f691138c9
3 changed files with 3 additions and 1 deletions

View File

@ -17,6 +17,7 @@ enum {
}; };
#define COMPS_REF(O,N) O->a[comps_##N] #define COMPS_REF(O,N) O->a[comps_##N]
#define COMPS_CREF(N) COMPS_REF(comps_curr, N) #define COMPS_CREF(N) COMPS_REF(comps_curr, N)
#define COMPS_ACTIVE() (comps_curr!=NULL)
extern B def_sysNames, def_sysVals; extern B def_sysNames, def_sysVals;
B comps_getPrimitives(void); B comps_getPrimitives(void);

View File

@ -1660,7 +1660,7 @@ void unwindEnv(Env* envNew) {
} }
void unwindCompiler() { void unwindCompiler() {
#if UNWIND_COMPILER #if UNWIND_COMPILER
unwindEnv(envStart+o2i64(COMPS_CREF(envPos))); if (COMPS_ACTIVE()) unwindEnv(envStart+o2i64(COMPS_CREF(envPos)));
#endif #endif
} }

View File

@ -49,6 +49,7 @@ ps ← ⟨'÷'‿÷⟩ ⋄ f←•ReBQN {repl⇐"none" ⋄ primitives⇐ps} ⋄
ps '÷'÷ f•ReBQN {repl"loose" primitivesps} ! ps F "•primitives" ! •primitives •BQN "•primitives" ! ps F "•primitives" ps '÷'÷ f•ReBQN {repl"loose" primitivesps} ! ps F "•primitives" ! •primitives •BQN "•primitives" ! ps F "•primitives"
f•ReBQN{primitives'÷'- system"foo", "oldbqn"•BQN, "bqn"} {𝕏 "÷5"}¨ F "⟨•foo, •OldBQN, •BQN⟩" %% "÷5", 0.2, ¯5 f•ReBQN{primitives'÷'- system"foo", "oldbqn"•BQN, "bqn"} {𝕏 "÷5"}¨ F "⟨•foo, •OldBQN, •BQN⟩" %% "÷5", 0.2, ¯5
!"Character set conflict: ," % •ReBQN{primitives ','+}
!"•ReBQN: No system value ""baz"" to inherit" % •ReBQN{system"foo""bar", "bqn", "baz", "rebqn"} !"•ReBQN: No system value ""baz"" to inherit" % •ReBQN{system"foo""bar", "bqn", "baz", "rebqn"}
!"•ReBQN: No system value ""bqn"" to inherit" % f•ReBQN{system"baz"1, "rebqn", "foo"2} gF"•ReBQN" G {system"foo""bar", "baz", "bqn", "rebqn"} !"•ReBQN: No system value ""bqn"" to inherit" % f•ReBQN{system"baz"1, "rebqn", "foo"2} gF"•ReBQN" G {system"foo""bar", "baz", "bqn", "rebqn"}
f•ReBQN{primitives'÷'- system"primitives", "foo", "bqn", "listsys"} F"•primitives‿•listsys" %% '÷'- "primitives","foo","bqn","listsys" f•ReBQN{primitives'÷'- system"primitives", "foo", "bqn", "listsys"} F"•primitives‿•listsys" %% '÷'- "primitives","foo","bqn","listsys"