diff --git a/libguile/goops.c b/libguile/goops.c index e12b58009..56365ea6c 100644 --- a/libguile/goops.c +++ b/libguile/goops.c @@ -1169,42 +1169,6 @@ SCM_DEFINE (scm_at_assert_bound_ref, "@assert-bound-ref", 2, 0, 0, } #undef FUNC_NAME -SCM_DEFINE (scm_sys_fast_slot_ref, "%fast-slot-ref", 2, 0, 0, - (SCM obj, SCM index), - "Return the slot value with index @var{index} from @var{obj}.") -#define FUNC_NAME s_scm_sys_fast_slot_ref -{ - scm_t_bits i; - - SCM_VALIDATE_INSTANCE (1, obj); - i = scm_to_unsigned_integer (index, 0, - SCM_I_INUM (SCM_SLOT (SCM_CLASS_OF (obj), - scm_si_nfields)) - - 1); - return SCM_SLOT (obj, i); -} -#undef FUNC_NAME - -SCM_DEFINE (scm_sys_fast_slot_set_x, "%fast-slot-set!", 3, 0, 0, - (SCM obj, SCM index, SCM value), - "Set the slot with index @var{index} in @var{obj} to\n" - "@var{value}.") -#define FUNC_NAME s_scm_sys_fast_slot_set_x -{ - scm_t_bits i; - - SCM_VALIDATE_INSTANCE (1, obj); - i = scm_to_unsigned_integer (index, 0, - SCM_I_INUM (SCM_SLOT (SCM_CLASS_OF (obj), - scm_si_nfields)) - - 1); - - SCM_SET_SLOT (obj, i, value); - - return SCM_UNSPECIFIED; -} -#undef FUNC_NAME - /** Utilities **/ diff --git a/libguile/goops.h b/libguile/goops.h index 5a9e2f0e8..b80fa73aa 100644 --- a/libguile/goops.h +++ b/libguile/goops.h @@ -272,8 +272,6 @@ SCM_API SCM scm_generic_function_methods (SCM obj); SCM_API SCM scm_method_generic_function (SCM obj); SCM_API SCM scm_method_specializers (SCM obj); SCM_API SCM scm_method_procedure (SCM obj); -SCM_API SCM scm_sys_fast_slot_ref (SCM obj, SCM index); -SCM_API SCM scm_sys_fast_slot_set_x (SCM obj, SCM index, SCM value); SCM_API SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name); SCM_API SCM scm_slot_set_using_class_x (SCM cls, SCM obj, SCM slot_name, SCM value); SCM_API SCM scm_slot_bound_using_class_p (SCM cls, SCM obj, SCM slot_name); diff --git a/module/oop/goops/active-slot.scm b/module/oop/goops/active-slot.scm index 4d3bbf72f..83517c694 100644 --- a/module/oop/goops/active-slot.scm +++ b/module/oop/goops/active-slot.scm @@ -1,6 +1,6 @@ ;;; installed-scm-file -;;;; Copyright (C) 1999, 2001, 2006, 2009 Free Software Foundation, Inc. +;;;; Copyright (C) 1999, 2001, 2006, 2009, 2015 Free Software Foundation, Inc. ;;;; Copyright (C) 1993-1998 Erick Gallesio - I3S-CNRS/ESSI ;;;; ;;;; This library is free software; you can redistribute it and/or @@ -43,11 +43,11 @@ (list (lambda (o) (if before-ref (if (before-ref o) - (let ((res (%fast-slot-ref o index))) + (let ((res (struct-ref o index))) (and after-ref (not (eqv? res unbound)) (after-ref o)) res) (make-unbound)) - (let ((res (%fast-slot-ref o index))) + (let ((res (struct-ref o index))) (and after-ref (not (eqv? res unbound)) (after-ref o)) res))) @@ -55,9 +55,9 @@ (if before-set! (if (before-set! o v) (begin - (%fast-slot-set! o index v) + (struct-set! o index v) (and after-set! (after-set! o v)))) (begin - (%fast-slot-set! o index v) + (struct-set! o index v) (and after-set! (after-set! o v))))))) (next-method)))