guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 27/87: Remove scm_assert_bound


From: Andy Wingo
Subject: [Guile-commits] 27/87: Remove scm_assert_bound
Date: Thu, 22 Jan 2015 17:29:50 +0000

wingo pushed a commit to branch wip-goops-refactor
in repository guile.

commit 19e5dc0c2e7b155cbca75b188d45e4a7907cc424
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 a696e1a..eca673d 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]