diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-11-07 06:38:26 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-11-07 06:38:26 -0800 |
commit | b0828e2dd7540651aa6863c8bc7814d86ad9401e (patch) | |
tree | 533b5cea87558792b8cd43f88e623e9c213c0106 /signal.c | |
parent | 01d9bb460e8eb76c47cdf3982dd235fe370ff137 (diff) | |
download | txr-b0828e2dd7540651aa6863c8bc7814d86ad9401e.tar.gz txr-b0828e2dd7540651aa6863c8bc7814d86ad9401e.tar.bz2 txr-b0828e2dd7540651aa6863c8bc7814d86ad9401e.zip |
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.
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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; |