[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 28/42: Remove scm_assert_bound
From: |
Andy Wingo |
Subject: |
[Guile-commits] 28/42: Remove scm_assert_bound |
Date: |
Sat, 10 Jan 2015 00:03:13 +0000 |
wingo pushed a commit to branch wip-goops-refactor
in repository guile.
commit 9ee5838d408ae61ba04821f02df448daab99fe95
Author: Andy Wingo <address@hidden>
Date: Tue Jan 6 14:54:44 2015 -0500
Remove scm_assert_bound
* libguile/goops.c (scm_assert_bound): Remove unexported unused helper.
* module/oop/goops.scm (make-generic-bound-check-getter): Change
assert-bound use to use `unbound?'.
---
libguile/goops.c | 13 -------------
module/oop/goops.scm | 6 +++++-
2 files changed, 5 insertions(+), 14 deletions(-)
diff --git a/libguile/goops.c b/libguile/goops.c
index 266932c..592508a 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -175,7 +175,6 @@ SCM scm_i_smob_class[SCM_I_MAX_SMOB_TYPE_COUNT];
static SCM scm_make_unbound (void);
static SCM scm_unbound_p (SCM obj);
-static SCM scm_assert_bound (SCM value, SCM obj);
static SCM scm_sys_bless_applicable_struct_vtables_x (SCM applicable,
SCM setter);
static SCM scm_sys_bless_pure_generic_vtable_x (SCM vtable);
@@ -715,18 +714,6 @@ SCM_DEFINE (scm_unbound_p, "unbound?", 1, 0, 0,
}
#undef FUNC_NAME
-SCM_DEFINE (scm_assert_bound, "assert-bound", 2, 0, 0,
- (SCM value, SCM obj),
- "Return @var{value} if it is bound, and invoke the\n"
- "@var{slot-unbound} method of @var{obj} if it is not.")
-#define FUNC_NAME s_scm_assert_bound
-{
- if (SCM_GOOPS_UNBOUNDP (value))
- return scm_call_1 (SCM_VARIABLE_REF (var_slot_unbound), obj);
- return value;
-}
-#undef FUNC_NAME
-
/** Utilities **/
diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index c88ef8e..b4f9399 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -1943,7 +1943,11 @@
#:slot-definition slotdef)))
(define (make-generic-bound-check-getter proc)
- (lambda (o) (assert-bound (proc o) o)))
+ (lambda (o)
+ (let ((val (proc o)))
+ (if (unbound? val)
+ (slot-unbound o)
+ val))))
;;; Pre-generate getters and setters for the first 20 slots.
(define-syntax define-standard-accessor-method
- [Guile-commits] 13/42: `class' is a hygienic macro, (continued)
- [Guile-commits] 13/42: `class' is a hygienic macro, Andy Wingo, 2015/01/09
- [Guile-commits] 16/42: Further GOOPS simplifications, Andy Wingo, 2015/01/09
- [Guile-commits] 18/42: Remove unused scm_t_method and SCM_METHOD, Andy Wingo, 2015/01/09
- [Guile-commits] 15/42: Remove unused *goops-module* definition., Andy Wingo, 2015/01/09
- [Guile-commits] 19/42: Deprecate scm_no_applicable_method C export, Andy Wingo, 2015/01/09
- [Guile-commits] 21/42: Remove useless scm_s_slot_set_x export, Andy Wingo, 2015/01/09
- [Guile-commits] 20/42: Remove unreachable code in scm_setter, Andy Wingo, 2015/01/09
- [Guile-commits] 02/42: Deprecate C interfaces scm_compute_applicable_methods, scm_find_method, Andy Wingo, 2015/01/09
- [Guile-commits] 23/42: Remove unused CPP defines naming <method> slots, Andy Wingo, 2015/01/09
- [Guile-commits] 27/42: Remove scm_at_assert_bound_ref, Andy Wingo, 2015/01/09
- [Guile-commits] 28/42: Remove scm_assert_bound,
Andy Wingo <=
- [Guile-commits] 30/42: More unused code removal in GOOPS, Andy Wingo, 2015/01/09
- [Guile-commits] 26/42: Remove hashset slots from GOOPS classes, Andy Wingo, 2015/01/09
- [Guile-commits] 29/42: Remove private var_no_applicable_method capture, Andy Wingo, 2015/01/09
- [Guile-commits] 22/42: Remove unused `default-slot-definition-class' <class> slot, Andy Wingo, 2015/01/09
- [Guile-commits] 31/42: Remove unused union scm_t_debug_info, Andy Wingo, 2015/01/09
- [Guile-commits] 33/42: Remove GOOPS random state, Andy Wingo, 2015/01/09
- [Guile-commits] 35/42: Statically compute offsets for slots of <class> in Scheme, Andy Wingo, 2015/01/09
- [Guile-commits] 24/42: Generics with setters have <applicable-struct-with-setter> layout, Andy Wingo, 2015/01/09
- [Guile-commits] 11/42: Move GOOPS boot to Scheme, Andy Wingo, 2015/01/09
- [Guile-commits] 34/42: Refactor to <class> slot computation, Andy Wingo, 2015/01/09