summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-07-11 07:36:45 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-07-11 07:36:45 -0700
commit26c21f4648acb3866567bb15c961d086aeae2fa3 (patch)
tree66f116c9dc3f9a767b147a6782d181302e2608c8 /eval.c
parent1247bc2eaa8db74bb4d60456aea1c344d41dad9d (diff)
downloadtxr-26c21f4648acb3866567bb15c961d086aeae2fa3.tar.gz
txr-26c21f4648acb3866567bb15c961d086aeae2fa3.tar.bz2
txr-26c21f4648acb3866567bb15c961d086aeae2fa3.zip
Fix diagnostics which call non-symbol a symbol.
* eval.c (me_load_for): An object which is not one of the valid clause symbols is not necessarily a symbol; don't call it one in the diagnostic. * stdlib/struct.tl (sys:check-slot): Similarly, an object that isn't the name of a struct slot isn't necessarily a symbol; don't call it one.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 1aeb1c6a..fe45ae89 100644
--- a/eval.c
+++ b/eval.c
@@ -4677,6 +4677,9 @@ static val me_load_for(val form, val menv)
if (consp(arg)) {
val kind = car(arg);
+ if (!symbolp(kind))
+ expand_error(form, lit("~s: clause symbol expected, not ~s"),
+ sym, kind, nao);
if (kind != usr_var_s && kind != fun_s && kind != macro_s
&& kind != struct_s && kind != pkg_s)
expand_error(form, lit("~s: unrecognized clause symbol ~s"),