\f
/* the Scheme-visible CATCH and LAZY-CATCH functions */
-GUILE_PROC(scm_catch, "catch", 3, 0, 0,
+SCM_DEFINE(scm_catch, "catch", 3, 0, 0,
(SCM tag, SCM thunk, SCM handler),
"Invoke @var{thunk} in the dynamic context of @var{handler} for
exceptions matching @var{key}. If thunk throws to the symbol @var{key},
{
struct scm_body_thunk_data c;
- SCM_ASSERT ((SCM_NIMP(tag) && SCM_SYMBOLP(tag)) || tag == SCM_BOOL_T,
+ SCM_ASSERT (SCM_SYMBOLP(tag) || tag == SCM_BOOL_T,
tag, SCM_ARG1, FUNC_NAME);
c.tag = tag;
#undef FUNC_NAME
-GUILE_PROC(scm_lazy_catch, "lazy-catch", 3, 0, 0,
+SCM_DEFINE(scm_lazy_catch, "lazy-catch", 3, 0, 0,
(SCM tag, SCM thunk, SCM handler),
"")
#define FUNC_NAME s_scm_lazy_catch
{
struct scm_body_thunk_data c;
- SCM_ASSERT ((SCM_NIMP(tag) && SCM_SYMBOLP(tag))
- || (tag == SCM_BOOL_T),
+ SCM_ASSERT (SCM_SYMBOLP(tag) || (tag == SCM_BOOL_T),
tag, SCM_ARG1, FUNC_NAME);
c.tag = tag;
\f
/* throwing */
-GUILE_PROC(scm_throw, "throw", 1, 0, 1,
+SCM_DEFINE(scm_throw, "throw", 1, 0, 1,
(SCM key, SCM args),
"Invoke the catch form matching @var{key}, passing @var{args} to the
@var{handler}.
abort ();
dynpair = SCM_CAR (winds);
- if (SCM_NIMP (dynpair) && SCM_CONSP (dynpair))
+ if (SCM_CONSP (dynpair))
{
SCM this_key = SCM_CAR (dynpair);