guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core/oop goops.scm


From: Mikael Djurfeldt
Subject: guile/guile-core/oop goops.scm
Date: Mon, 06 Nov 2000 18:18:52 -0800

CVSROOT:        /cvs
Module name:    guile
Changes by:     Mikael Djurfeldt <address@hidden>       00/11/06 18:18:52

Modified files:
        guile-core/oop : goops.scm 

Log message:
        * goops.scm (internal-add-method!): Set n-specialized of a generic
        function to the number of specializers regardless if it has rest
        args or not.

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/oop/goops.scm.diff?r1=1.1&r2=1.2

Patches:
Index: guile/guile-core/oop/goops.scm
diff -u guile/guile-core/oop/goops.scm:1.1 guile/guile-core/oop/goops.scm:1.2
--- guile/guile-core/oop/goops.scm:1.1  Wed Oct 25 07:48:41 2000
+++ guile/guile-core/oop/goops.scm      Mon Nov  6 18:18:52 2000
@@ -531,21 +531,8 @@
   (slot-set! gf 'methods (compute-new-list-of-methods gf m))
   (let ((specializers (slot-ref m 'specializers)))
     (slot-set! gf 'n-specialized
-              (let ((n-specialized (slot-ref gf 'n-specialized)))
-                ;; The magnitude indicates # specializers.
-                ;; A negative value indicates that at least one
-                ;; method has rest arguments. (Ugly but effective
-                ;; space optimization saving one slot in GF objects.)
-                (cond ((negative? n-specialized)
-                       (- (max (+ 1 (length* specializers))
-                               (abs n-specialized))))
-                      ((list? specializers)
-                       (max (length specializers)
-                            n-specialized))
-                      (else
-                       (- (+ 1 (max (length* specializers)
-                                    n-specialized)))))
-                )))
+              (max (length* specializers)
+                   (slot-ref gf 'n-specialized))))
   (%invalidate-method-cache! gf)
   (add-method-in-classes! m)
   *unspecified*)



reply via email to

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