/[guile]/guile/guile-core/ice-9/boot-9.scm
ViewVC logotype

Diff of /guile/guile-core/ice-9/boot-9.scm

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

revision 1.304 by mdj, Tue Mar 11 20:11:20 2003 UTC revision 1.305 by mdj, Wed Mar 12 10:03:25 2003 UTC
# Line 1457  Line 1457 
1457  ;;  ;;
1458  (define (module-use-interfaces! module interfaces)  (define (module-use-interfaces! module interfaces)
1459    (let* ((duplicates-info (module-duplicates-info module))    (let* ((duplicates-info (module-duplicates-info module))
1460           (duplicates-handlers? (car duplicates-info))           (duplicates-handlers? (or (car duplicates-info)
1461                                       (default-duplicate-binding-procedures)))
1462           (uses (module-uses module)))           (uses (module-uses module)))
1463      ;; remove duplicates-interface      ;; remove duplicates-interface
1464      (set! uses (delq! (cdr duplicates-info) uses))      (set! uses (delq! (cdr duplicates-info) uses))
# Line 1609  Line 1610 
1610            (set-module-name! interface (module-name module))            (set-module-name! interface (module-name module))
1611            (set-module-kind! interface 'interface)            (set-module-kind! interface 'interface)
1612            (set-module-public-interface! module interface)            (set-module-public-interface! module interface)
1613            (set-module-duplicates-info!            (set-module-duplicates-info! module (cons #f #f)))))
            module  
            (cons (default-module-duplicates-handler) #f)))))  
1614    (if (and (not (memq the-scm-module (module-uses module)))    (if (and (not (memq the-scm-module (module-uses module)))
1615             (not (eq? module the-root-module)))             (not (eq? module the-root-module)))
1616        (set-module-uses! module        (set-module-uses! module
# Line 2873  Line 2872 
2872                  handler-names                  handler-names
2873                  (list handler-names)))))                  (list handler-names)))))
2874    
2875  (define default-module-duplicates-handler  (define default-duplicate-binding-procedures
2876      (make-mutable-parameter #f))
2877    
2878    (define default-duplicate-binding-handler
2879    (make-mutable-parameter '(replace warn-override-core check)    (make-mutable-parameter '(replace warn-override-core check)
2880                            lookup-duplicates-handlers))                            (lambda (handler-names)
2881                                (default-duplicate-binding-procedures
2882                                  (lookup-duplicates-handlers handler-names))
2883                                handler-names)))
2884    
2885  (define (make-duplicates-interface)  (define (make-duplicates-interface)
2886    (let ((m (make-module)))    (let ((m (make-module)))
# Line 2885  Line 2890 
2890    
2891  (define (process-duplicates module interface)  (define (process-duplicates module interface)
2892    (let* ((duplicates-info (module-duplicates-info module))    (let* ((duplicates-info (module-duplicates-info module))
2893           (duplicates-handlers (car duplicates-info))           (duplicates-handlers (or (car duplicates-info)
2894                                      (default-duplicate-binding-procedures)))
2895           (duplicates-interface (cdr duplicates-info)))           (duplicates-interface (cdr duplicates-info)))
2896      (module-for-each      (module-for-each
2897       (lambda (name var)       (lambda (name var)

Legend:
Removed from v.1.304  
changed lines
  Added in v.1.305

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