[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 29/88: Remove scm_assert_bound
From: |
Andy Wingo |
Subject: |
[Guile-commits] 29/88: Remove scm_assert_bound |
Date: |
Fri, 23 Jan 2015 15:25:33 +0000 |
wingo pushed a commit to branch master
in repository guile.
commit 984d43b632597e02909843398aacc1f02d501bc5
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 cb33217..ab244ed 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);
@@ -717,18 +716,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 70edcfe..5068d14 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -1950,7 +1950,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] 20/88: Deprecate scm_no_applicable_method C export, (continued)
- [Guile-commits] 20/88: Deprecate scm_no_applicable_method C export, Andy Wingo, 2015/01/23
- [Guile-commits] 23/88: Remove unused `default-slot-definition-class' <class> slot, Andy Wingo, 2015/01/23
- [Guile-commits] 24/88: Remove unused CPP defines naming <method> slots, Andy Wingo, 2015/01/23
- [Guile-commits] 15/88: `class' is a hygienic macro, Andy Wingo, 2015/01/23
- [Guile-commits] 22/88: Remove useless scm_s_slot_set_x export, Andy Wingo, 2015/01/23
- [Guile-commits] 11/88: Remove unused %fast-slot-ref / %fast-slot-set! from GOOPS, Andy Wingo, 2015/01/23
- [Guile-commits] 27/88: Remove hashset slots from GOOPS classes, Andy Wingo, 2015/01/23
- [Guile-commits] 25/88: Generics with setters have <applicable-struct-with-setter> layout, Andy Wingo, 2015/01/23
- [Guile-commits] 13/88: Move GOOPS boot to Scheme, Andy Wingo, 2015/01/23
- [Guile-commits] 31/88: More unused code removal in GOOPS, Andy Wingo, 2015/01/23
- [Guile-commits] 29/88: Remove scm_assert_bound,
Andy Wingo <=
- [Guile-commits] 19/88: Remove unused scm_t_method and SCM_METHOD, Andy Wingo, 2015/01/23
- [Guile-commits] 32/88: Remove unused union scm_t_debug_info, Andy Wingo, 2015/01/23
- [Guile-commits] 28/88: Remove scm_at_assert_bound_ref, Andy Wingo, 2015/01/23
- [Guile-commits] 33/88: More goops.c cleanups, and fix a security issue, Andy Wingo, 2015/01/23
- [Guile-commits] 34/88: Remove GOOPS random state, Andy Wingo, 2015/01/23
- [Guile-commits] 36/88: Statically compute offsets for slots of <class> in Scheme, Andy Wingo, 2015/01/23
- [Guile-commits] 21/88: Remove unreachable code in scm_setter, Andy Wingo, 2015/01/23
- [Guile-commits] 18/88: Fold GOOPS compile and dispatch modules into main GOOPS module, Andy Wingo, 2015/01/23
- [Guile-commits] 39/88: Port method and generic accessors to Scheme, Andy Wingo, 2015/01/23
- [Guile-commits] 35/88: Refactor to <class> slot computation, Andy Wingo, 2015/01/23