/[guile]/guile/guile-core/oop/goops.scm
ViewVC logotype

Diff of /guile/guile-core/oop/goops.scm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.25 by mdj, Tue Mar 11 19:55:00 2003 UTC revision 1.26 by mdj, Wed Mar 12 18:41:44 2003 UTC
# Line 857  Line 857 
857                                 (val2 <generic>)                                 (val2 <generic>)
858                                 (var <top>)                                 (var <top>)
859                                 (val <boolean>))                                 (val <boolean>))
860    (make-variable (make-extended-generic (list val2 val1) name)))    (and (not (eq? val1 val2))
861           (make-variable (make-extended-generic (list val2 val1) name))))
862    
863  (define-method (merge-generics (module <module>)  (define-method (merge-generics (module <module>)
864                                 (name <symbol>)                                 (name <symbol>)
# Line 867  Line 868 
868                                 (val2 <generic>)                                 (val2 <generic>)
869                                 (var <top>)                                 (var <top>)
870                                 (gf <extended-generic>))                                 (gf <extended-generic>))
871    (slot-set! gf    (and (not (memq val2 (slot-ref gf 'extends)))
872               'extends         (begin
873               (cons val2 (delq! val2 (slot-ref gf 'extends))))           (slot-set! gf
874    (slot-set! val2                      'extends
875               'extended-by                      (cons val2 (delq! val2 (slot-ref gf 'extends))))
876               (cons gf (delq! gf (slot-ref val2 'extended-by))))           (slot-set! val2
877    var)                      'extended-by
878                        (cons gf (delq! gf (slot-ref val2 'extended-by))))
879             var)))
880    
881  (module-define! duplicate-handlers 'merge-generics merge-generics)  (module-define! duplicate-handlers 'merge-generics merge-generics)
882    

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26