summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/vm-i-scheme.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
index af052af1c..3e31691cc 100644
--- a/libguile/vm-i-scheme.c
+++ b/libguile/vm-i-scheme.c
@@ -515,7 +515,10 @@ VM_DEFINE_FUNCTION (168, struct_set, "struct-set", 3)
VM_DEFINE_FUNCTION (169, class_of, "class-of", 1)
{
ARGS1 (obj);
- RETURN (SCM_INSTANCEP (obj) ? SCM_CLASS_OF (obj) : scm_class_of (obj));
+ if (SCM_INSTANCEP (obj))
+ RETURN (SCM_CLASS_OF (obj));
+ SYNC_REGISTER ();
+ RETURN (scm_class_of (obj));
}
VM_DEFINE_FUNCTION (170, slot_ref, "slot-ref", 2)