From 65bed4aa84c1b45697c9bb0eb1625d2d4ced8860 Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Wed, 12 Mar 2003 19:27:15 +0000 Subject: [PATCH] * boot-9.scm (duplicate-handlers): Make sure the merge-generics and merge-accessors handlers are available also before (oop goops) has been loaded. This is so that people can put them as default handlers without worrying about availability. --- ice-9/ChangeLog | 5 +++++ ice-9/boot-9.scm | 47 ++++++++++++++++++++++++++--------------------- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index bc81b6403..f77c5a339 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,5 +1,10 @@ 2003-03-12 Mikael Djurfeldt + * boot-9.scm (duplicate-handlers): Make sure the merge-generics + and merge-accessors handlers are available also before (oop goops) + has been loaded. This is so that people can put them as default + handlers without worrying about availability. + * slib.scm (logical:ipow-by-squaring): Removed. * boot-9.scm (ipow-by-squaring): Removed. diff --git a/ice-9/boot-9.scm b/ice-9/boot-9.scm index 9674bf699..ae247b9c4 100644 --- a/ice-9/boot-9.scm +++ b/ice-9/boot-9.scm @@ -2843,14 +2843,14 @@ (module-name int2)) #f)) - (define (warn module name int1 val1 int2 val2 var val) - (format #t - "WARNING: ~A: `~A' imported from both ~A and ~A\n" - (module-name module) - name - (module-name int1) - (module-name int2)) - #f) + (define (warn module name int1 val1 int2 val2 var val) + (format #t + "WARNING: ~A: `~A' imported from both ~A and ~A\n" + (module-name module) + name + (module-name int1) + (module-name int2)) + #f) (define (replace module name int1 val1 int2 val2 var val) (let ((old (or (and var (object-property var 'replace) var) @@ -2863,22 +2863,25 @@ (and (object-property new 'replace) new)))) - (define (warn-override-core module name int1 val1 int2 val2 var val) - (and (eq? int1 the-scm-module) - (begin - (format #t - "WARNING: ~A: imported module ~A overrides core binding `~A'\n" - (module-name module) - (module-name int2) - name) - (module-local-variable int2 name)))) + (define (warn-override-core module name int1 val1 int2 val2 var val) + (and (eq? int1 the-scm-module) + (begin + (format #t + "WARNING: ~A: imported module ~A overrides core binding `~A'\n" + (module-name module) + (module-name int2) + name) + (module-local-variable int2 name)))) - (define (first module name int1 val1 int2 val2 var val) - (or var (module-local-variable int1 name))) + (define (first module name int1 val1 int2 val2 var val) + (or var (module-local-variable int1 name))) - (define (last module name int1 val1 int2 val2 var val) - (module-local-variable int2 name)) + (define (last module name int1 val1 int2 val2 var val) + (module-local-variable int2 name)) + (define (noop module name int1 val1 int2 val2 var val) + #f) + (set-module-name! m 'duplicate-handlers) (set-module-kind! m 'interface) (module-define! m 'check check) @@ -2887,6 +2890,8 @@ (module-define! m 'warn-override-core warn-override-core) (module-define! m 'first first) (module-define! m 'last last) + (module-define! m 'merge-generics noop) + (module-define! m 'merge-accessors noop) m)) (define (lookup-duplicates-handlers handler-names)