diff options
Diffstat (limited to 'libguile/smob.c')
-rw-r--r-- | libguile/smob.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/libguile/smob.c b/libguile/smob.c index 0c3a5441b..e7975d03e 100644 --- a/libguile/smob.c +++ b/libguile/smob.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2003, 2004, 2006, 2009, 2010, 2011 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2003, 2004, 2006, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -597,14 +597,7 @@ scm_i_new_smob (scm_t_bits tc, scm_t_bits data) SCM_SET_CELL_WORD_0 (ret, tc); if (scm_smobs[smobnum].free) - { - GC_finalization_proc prev_finalizer; - GC_PTR prev_finalizer_data; - - GC_REGISTER_FINALIZER_NO_ORDER (SCM2PTR (ret), - finalize_smob, NULL, - &prev_finalizer, &prev_finalizer_data); - } + scm_i_set_finalizer (SCM2PTR (ret), finalize_smob, NULL); return ret; } @@ -631,14 +624,7 @@ scm_i_new_double_smob (scm_t_bits tc, scm_t_bits data1, SCM_SET_CELL_WORD_0 (ret, tc); if (scm_smobs[smobnum].free) - { - GC_finalization_proc prev_finalizer; - GC_PTR prev_finalizer_data; - - GC_REGISTER_FINALIZER_NO_ORDER (SCM2PTR (ret), - finalize_smob, NULL, - &prev_finalizer, &prev_finalizer_data); - } + scm_i_set_finalizer (SCM2PTR (ret), finalize_smob, NULL); return ret; } |