summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eval.c11
-rw-r--r--eval.h1
-rw-r--r--lib.c1
3 files changed, 11 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index f880232d..e09db92a 100644
--- a/eval.c
+++ b/eval.c
@@ -118,6 +118,7 @@ val iter_item_f, iter_step_f;
val origin_hash;
+static val unused_arg_s;
static val const_foldable_hash;
val make_env(val vbindings, val fbindings, val up_env)
@@ -4414,7 +4415,7 @@ static val me_ignerr(val form, val menv)
{
(void) menv;
return list(catch_s, cons(progn_s, rest(form)),
- list(error_s, error_s, nao), nao);
+ list(error_s, unused_arg_s, nao), nao);
}
static val me_whilet(val form, val env)
@@ -6635,7 +6636,8 @@ void eval_init(void)
&op_table, &pm_table, &last_form_evaled,
&call_f, &iter_begin_f, &iter_from_binding_f, &iter_more_f,
&iter_item_f, &iter_step_f,
- &unbound_s, &origin_hash, &const_foldable_hash, convert(val *, 0));
+ &unbound_s, &origin_hash, &const_foldable_hash,
+ &unused_arg_s, convert(val *, 0));
top_fb = make_hash(hash_weak_and, nil);
top_vb = make_hash(hash_weak_and, nil);
top_mb = make_hash(hash_weak_and, nil);
@@ -7522,6 +7524,11 @@ void eval_init(void)
autoload_init();
}
+void eval_late_init(void)
+{
+ unused_arg_s = gensym(lit("unused-arg"));
+}
+
void eval_compat_fixup(int compat_ver)
{
if (compat_ver <= 257)
diff --git a/eval.h b/eval.h
index dac4b1c1..a927666f 100644
--- a/eval.h
+++ b/eval.h
@@ -101,4 +101,5 @@ val pprinl(val obj, val stream);
val tprint(val obj, val out);
void eval_init(void);
+void eval_late_init(void);
void eval_compat_fixup(int compat_ver);
diff --git a/lib.c b/lib.c
index b3abef2e..f9b6ee30 100644
--- a/lib.c
+++ b/lib.c
@@ -14935,6 +14935,7 @@ void init(val *stack_bottom)
parse_init();
uw_late_init();
less_tab_init();
+ eval_late_init();
#if HAVE_SYSLOG
syslog_init();
#endif