guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 87/87: tmp


From: Andy Wingo
Subject: [Guile-commits] 87/87: tmp
Date: Thu, 22 Jan 2015 17:30:30 +0000

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

commit def60ff7b33cb99779b657d44173d4f2434f4e2e
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 22 12:43:53 2015 +0100

    tmp
---
 module/oop/goops.scm |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index 127651c..0b20243 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -927,6 +927,8 @@ slots as we go."
 (define-standard-class <boolean> (<top>))
 (define-standard-class <char> (<top>))
 (define-standard-class <list> (<top>))
+;; Not all pairs are lists, but there is code out there that relies on
+;; (is-a? '(1 2 3) <list>) to work.  Terrible.  How to fix?
 (define-standard-class <pair> (<list>))
 (define-standard-class <null> (<list>))
 (define-standard-class <string> (<top>))
@@ -2137,8 +2139,8 @@ function."
         (generic-function-methods gf)))
 
 (define (invalidate-method-cache! gf)
-  (%invalidate-method-cache! gf)
   (slot-set! gf 'n-specialized (calculate-n-specialized gf))
+  (%invalidate-method-cache! gf)
   (for-each (lambda (gf) (invalidate-method-cache! gf))
             (slot-ref gf 'extended-by)))
 



reply via email to

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