guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-oops goops.scm goops.texi


From: Mikael Djurfeldt
Subject: guile/guile-oops goops.scm goops.texi
Date: Fri, 09 Mar 2001 17:51:29 -0800

CVSROOT:        /cvs
Module name:    guile
Changes by:     Mikael Djurfeldt <address@hidden>       01/03/09 17:51:29

Modified files:
        guile-oops     : goops.scm goops.texi 

Log message:
        Fix

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-oops/goops.scm.diff?r1=1.64&r2=1.65
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-oops/goops.texi.diff?r1=1.13&r2=1.14

Patches:
Index: guile/guile-oops/goops.scm
diff -u guile/guile-oops/goops.scm:1.64 guile/guile-oops/goops.scm:1.65
--- guile/guile-oops/goops.scm:1.64     Fri Mar  9 17:42:07 2001
+++ guile/guile-oops/goops.scm  Fri Mar  9 17:51:28 2001
@@ -432,13 +432,15 @@
            (let ((gf (car head)))
              (cond ((and (pair? gf)
                          (eq? (car gf) 'setter)
-                         (pair? (cdr name))
-                         (symbol? (cadr name))
-                         (null? (cddr name)))
+                         (pair? (cdr gf))
+                         (symbol? (cadr gf))
+                         (null? (cddr gf)))
                     ;; named setter method
-                    (let ((name (cadr name)))
+                    (let ((name (cadr gf)))
                       (cond ((not (symbol? name))
-                             (goops-error "bad method name: ~S" name))
+                             `(add-method! (setter ,name)
+                                           (method ,(cdadr exp)
+                                                   ,@(cddr exp))))
                             ((defined? name env)
                              `(begin
                                 ;; *fixme* Temporary hack for the current
@@ -725,7 +727,7 @@
        (next-method))))
 
 ;; Display (do the same thing as write by default)
-(define-method display (o file) 
+(define-method (display o file) 
   (write-object o file))
 
 ;;;
@@ -795,7 +797,7 @@
              slots)
     clone))
 
-(define-method deep-clone  ((self <object>))
+(define-method (deep-clone  (self <object>))
   (let ((clone (%allocate-instance (class-of self) '()))
        (slots (map slot-definition-name
                    (class-slots (class-of self)))))
@@ -1425,7 +1427,7 @@
 (define %%compute-applicable-methods
   (make <generic> #:name 'compute-applicable-methods))
 
-(define-method %%compute-applicable-methods ((gf <generic>) args)
+(define-method (%%compute-applicable-methods (gf <generic>) args)
   (%compute-applicable-methods gf args))
 
 (set! compute-applicable-methods %%compute-applicable-methods)
Index: guile/guile-oops/goops.texi
diff -u guile/guile-oops/goops.texi:1.13 guile/guile-oops/goops.texi:1.14
--- guile/guile-oops/goops.texi:1.13    Fri Mar  9 17:27:04 2001
+++ guile/guile-oops/goops.texi Fri Mar  9 17:51:28 2001
@@ -566,7 +566,7 @@
 call.
 
 @example
-(define-method (setter perimeter) ((s <square>) (n <number>))
+(define-method ((setter perimeter) (s <square>) (n <number>))
   (set! (side-length s) (/ n 4)))
 @end example
 



reply via email to

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