mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 14:00:21 +02:00
* slib.scm (*features*): Set the core variable instead of defining
a local version. (provide, provided?): Mark as replacements. * boot-9.scm (beautify-user-module!): Don't install the duplicates handler here. (default-duplicate-binding-handler): Renamed from default-module-duplicates-handler; Removed converter. (process-duplicates): Lookup default duplicates handler dynamically. (default-duplicate-binding-procedures): New parameter.
This commit is contained in:
parent
509a787a4c
commit
70a459e3f8
3 changed files with 28 additions and 8 deletions
|
@ -1,3 +1,16 @@
|
|||
2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
|
||||
|
||||
* slib.scm (*features*): Set the core variable instead of defining
|
||||
a local version.
|
||||
(provide, provided?): Mark as replacements.
|
||||
|
||||
* boot-9.scm (beautify-user-module!): Don't install the duplicates
|
||||
handler here.
|
||||
(default-duplicate-binding-handler): Renamed from
|
||||
default-module-duplicates-handler; Removed converter.
|
||||
(process-duplicates): Lookup default duplicates handler dynamically.
|
||||
(default-duplicate-binding-procedures): New parameter.
|
||||
|
||||
2003-03-12 Mikael Djurfeldt <mdj@kvast.blakulla.net>
|
||||
|
||||
* slib.scm (identity): Removed. (Provided by core.)
|
||||
|
|
|
@ -1457,7 +1457,8 @@
|
|||
;;
|
||||
(define (module-use-interfaces! module interfaces)
|
||||
(let* ((duplicates-info (module-duplicates-info module))
|
||||
(duplicates-handlers? (car duplicates-info))
|
||||
(duplicates-handlers? (or (car duplicates-info)
|
||||
(default-duplicate-binding-procedures)))
|
||||
(uses (module-uses module)))
|
||||
;; remove duplicates-interface
|
||||
(set! uses (delq! (cdr duplicates-info) uses))
|
||||
|
@ -1609,9 +1610,7 @@
|
|||
(set-module-name! interface (module-name module))
|
||||
(set-module-kind! interface 'interface)
|
||||
(set-module-public-interface! module interface)
|
||||
(set-module-duplicates-info!
|
||||
module
|
||||
(cons (default-module-duplicates-handler) #f)))))
|
||||
(set-module-duplicates-info! module (cons #f #f)))))
|
||||
(if (and (not (memq the-scm-module (module-uses module)))
|
||||
(not (eq? module the-root-module)))
|
||||
(set-module-uses! module
|
||||
|
@ -2873,9 +2872,15 @@
|
|||
handler-names
|
||||
(list handler-names)))))
|
||||
|
||||
(define default-module-duplicates-handler
|
||||
(define default-duplicate-binding-procedures
|
||||
(make-mutable-parameter #f))
|
||||
|
||||
(define default-duplicate-binding-handler
|
||||
(make-mutable-parameter '(replace warn-override-core check)
|
||||
lookup-duplicates-handlers))
|
||||
(lambda (handler-names)
|
||||
(default-duplicate-binding-procedures
|
||||
(lookup-duplicates-handlers handler-names))
|
||||
handler-names)))
|
||||
|
||||
(define (make-duplicates-interface)
|
||||
(let ((m (make-module)))
|
||||
|
@ -2885,7 +2890,8 @@
|
|||
|
||||
(define (process-duplicates module interface)
|
||||
(let* ((duplicates-info (module-duplicates-info module))
|
||||
(duplicates-handlers (car duplicates-info))
|
||||
(duplicates-handlers (or (car duplicates-info)
|
||||
(default-duplicate-binding-procedures)))
|
||||
(duplicates-interface (cdr duplicates-info)))
|
||||
(module-for-each
|
||||
(lambda (name var)
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
logical:bit-extract logical:integer-expt logical:ipow-by-squaring
|
||||
slib:eval-load slib:tab slib:form-feed difftime offset-time
|
||||
software-type)
|
||||
:replace (provide provided?)
|
||||
:no-backtrace)
|
||||
|
||||
|
||||
|
@ -98,7 +99,7 @@
|
|||
|
||||
;;; *FEATURES* should be set to a list of symbols describing features
|
||||
;;; of this implementation. Suggestions for features are:
|
||||
(define *features*
|
||||
(set! *features*
|
||||
(append
|
||||
'(
|
||||
source ;can load scheme source files
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue