summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ice-9/ChangeLog11
-rw-r--r--ice-9/boot-9.scm19
-rw-r--r--ice-9/session.scm6
3 files changed, 23 insertions, 13 deletions
diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog
index 951131e0e..10a755e5d 100644
--- a/ice-9/ChangeLog
+++ b/ice-9/ChangeLog
@@ -1,3 +1,14 @@
+1999-03-21 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
+
+ * boot-9.scm (process-define-module, use-syntax): Bugfix:
+ :use-syntax should add syntax to using module, not current module.
+ (internal-use-syntax): Removed.
+
+1999-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * session.scm (apropos-internal): Modified to comply with new
+ argument order for hash-fold.
+
1999-03-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
* boot-9.scm (try-load-module): New procedure. Broken out from
diff --git a/ice-9/boot-9.scm b/ice-9/boot-9.scm
index cc7cd11f6..606d881f9 100644
--- a/ice-9/boot-9.scm
+++ b/ice-9/boot-9.scm
@@ -1970,10 +1970,6 @@
(define %autoloader-developer-mode #t)
-(define (internal-use-syntax transformer)
- (set-module-transformer! (current-module) transformer)
- (set! scm:eval-transformer transformer))
-
(define (process-define-module args)
(let* ((module-id (car args))
(module (resolve-module module-id #f))
@@ -2009,7 +2005,8 @@
(error "missing interface for use-module"
used-module))
(if (eq? keyword 'use-syntax)
- (internal-use-syntax
+ (set-module-transformer!
+ module
(module-ref interface (car (last-pair used-name))
#f)))
(loop (cddr kws)
@@ -2898,11 +2895,13 @@
`(process-use-modules ',modules))
(defmacro use-syntax (spec)
- (if (pair? spec)
- `(begin
- (process-use-modules ',(list spec))
- (internal-use-syntax ,(car (last-pair spec))))
- `(internal-use-syntax ,spec)))
+ `(begin
+ ,@(if (pair? spec)
+ `((process-use-modules ',(list spec))
+ (set-module-transformer! (current-module)
+ ,(car (last-pair spec))))
+ `((set-module-transformer! (current-module) ,spec)))
+ (set! scm:eval-transformer (module-transformer (current-module)))))
(define define-private define)
diff --git a/ice-9/session.scm b/ice-9/session.scm
index 96f8268c0..6d8e58b5a 100644
--- a/ice-9/session.scm
+++ b/ice-9/session.scm
@@ -89,15 +89,15 @@
(recorded (make-vector 61 '()))
(obarray-names
(lambda (obarray names)
- (hash-fold obarray
- (lambda (name var vars)
+ (hash-fold (lambda (name var vars)
(if (and (regexp-exec match name)
(not (hashq-get-handle recorded name)))
(begin
(hashq-set! recorded name #t)
(cons name vars))
vars))
- names))))
+ names
+ obarray))))
(do ((modules (cons (current-module) (module-uses (current-module)))
(cdr modules))
(names '()