diff --git a/lib/kc3/0.1/config.kc3 b/lib/kc3/0.1/config.kc3
deleted file mode 100644
index f15bf48..0000000
--- a/lib/kc3/0.1/config.kc3
+++ /dev/null
@@ -1,10 +0,0 @@
-defmodule Config do
-
- def db = Facts.database()
-
- def get = fn (module, key) {
- Facts.first_with(db, [[module, :config, config = ?],
- [config, key, value = ?]],
- value)
- def set = fn (module, assoc) {
- Facts.add_tags(
diff --git a/libkc3/buf_inspect.c b/libkc3/buf_inspect.c
index 0a8362c..94900c9 100644
--- a/libkc3/buf_inspect.c
+++ b/libkc3/buf_inspect.c
@@ -2215,6 +2215,8 @@ sw buf_inspect_ident_size (s_pretty *pretty, const s_ident *ident)
sw buf_inspect_ident_sym (s_buf *buf, const s_sym *sym)
{
+ if (! sym)
+ return buf_write_1(buf, "void");
if (sym->str.size == 0)
return buf_write_1(buf, "_\"\"");
if (sym_has_ident_reserved_characters(sym))
diff --git a/libkc3/env.c b/libkc3/env.c
index 73e7f73..f9b658e 100644
--- a/libkc3/env.c
+++ b/libkc3/env.c
@@ -759,7 +759,10 @@ bool env_eval_call_fn_args (s_env *env, const s_fn *fn,
frame_clean(&frame);
return false;
}
- tag_init_ident(&trace->tag, &fn->ident);
+ tag_init_list(&trace->tag, list_new_ident
+ (&fn->ident, list_new_copy
+ (args)));
+ env->stacktrace = trace;
if (! env_eval_block(env, &clause->algo, &tag)) {
list_delete_all(args);
list_delete_all(tmp);
@@ -769,6 +772,8 @@ bool env_eval_call_fn_args (s_env *env, const s_fn *fn,
frame_clean(&frame);
return false;
}
+ assert(env->stacktrace == trace);
+ env->stacktrace = list_delete(env->stacktrace);
list_delete_all(args);
list_delete_all(tmp);
list_delete_all(env->search_modules);