summaryrefslogtreecommitdiff
path: root/libguile/async.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/async.c')
-rw-r--r--libguile/async.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/libguile/async.c b/libguile/async.c
index dc4ed3156..2728537b3 100644
--- a/libguile/async.c
+++ b/libguile/async.c
@@ -110,15 +110,14 @@ static unsigned int scm_desired_switch_rate = 0;
int scm_asyncs_pending_p = 0;
#endif
-static long tc16_async;
+static scm_bits_t tc16_async;
/* cmm: this has SCM_ prefix because SCM_MAKE_VALIDATE expects it.
this is ugly. */
-#define SCM_ASYNCP(X) (SCM_NIMP(X) && (tc16_async == SCM_TYP16 (X)))
-
-#define VALIDATE_ASYNC(pos,a) SCM_MAKE_VALIDATE(pos, a, ASYNCP)
+#define SCM_ASYNCP(X) SCM_TYP16_PREDICATE (tc16_async, X)
+#define VALIDATE_ASYNC(pos,a) SCM_MAKE_VALIDATE(pos, a, ASYNCP)
#define ASYNC_GOT_IT(X) (SCM_CELL_WORD_0 (X) >> 16)
#define SET_ASYNC_GOT_IT(X, V) (SCM_SET_CELL_WORD_0 ((X), SCM_TYP16 (X) | ((V) << 16)))
@@ -280,7 +279,7 @@ scm_async_click ()
static SCM
-mark_async (SCM obj)
+async_mark (SCM obj)
{
return ASYNC_THUNK (obj);
}
@@ -460,7 +459,7 @@ scm_init_async ()
{
scm_asyncs = SCM_EOL;
tc16_async = scm_make_smob_type ("async", 0);
- scm_set_smob_mark (tc16_async, mark_async);
+ scm_set_smob_mark (tc16_async, async_mark);
#ifndef SCM_MAGIC_SNARFER
#include "libguile/async.x"