From b0828e2dd7540651aa6863c8bc7814d86ad9401e Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 7 Nov 2018 06:38:26 -0800 Subject: type_check: take function name arg. * arith.c (flo_int): Pass down name to type_check. * eval.c (copy_env, env_fbind, env_vbind, env_vb_to_fb, func_get_name, lexical_var_p, lexical_fun_p, lexical_lisp1_binding, squash_menv_deleting_range, op_upenv): Pass relevant Lisp function name to type_check. (lookup_global_var, lookup_sym_lisp1, lookup_fun, lookup_mac, lookup_symac, lookup_symac_lisp1): For these widely used functions, pass situational prefix in place of function name. They may get a funtion name argument in the future. * gc.c (gc_finalize): Pass function name to type_check. * lib.c (throw_mismatch): Take function nme argument, incorporate into mesage. (lcons_fun, c_flo, string_extend, symbol_name, symbol_package, get_package, package_name, func_get_form, func_get_env, func_set_env, vec_set_length, length_vec, size_vec, list_vec, lay_str_force, lay_str_force_upto, lazy_str_get_trailing_list, from, too, set_from, set_to): Pass relevant Lisp function name to type_check. (symbol_setname, symbol_visible): Pass indication of internal error into type_check, since this doesn't pertain to any Lisp function being wrong. * lib.h (throw_mismatch): Declaration updated. (type_check): Take new parameter and pass down to throw_mismatch. * signal.c (set_sig_handler): Pass name down to type_check. --- signal.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'signal.c') diff --git a/signal.c b/signal.c index 39e0dac2..a9491d0c 100644 --- a/signal.c +++ b/signal.c @@ -257,6 +257,7 @@ static void small_sigfillset(small_sigset_t *ss) val set_sig_handler(val signo, val lambda) { static struct sigaction blank; + val self = lit("set-sig-handler"); cnum sig = c_num(signo); val old_lambda; small_sigset_t block, saved; @@ -265,7 +266,7 @@ val set_sig_handler(val signo, val lambda) sig_mask(SIG_BLOCK, &block, &saved); if (sig < 0 || sig >= MAX_SIG) - uw_throwf(error_s, lit("set-sig-handler: signal ~s out of range"), sig, nao); + uw_throwf(error_s, lit("~a: signal ~s out of range"), self, sig, nao); old_lambda = sig_lambda[sig]; @@ -281,7 +282,7 @@ val set_sig_handler(val signo, val lambda) } else { struct sigaction sa = blank; - type_check(lambda, FUN); + type_check(self, lambda, FUN); sa.sa_flags = SA_RESTART; sa.sa_handler = sig_handler; -- cgit v1.2.3