mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-20 10:40:19 +02:00
* boot-9.scm (process-define-module, use-syntax): Bugfix:
:use-syntax should add syntax to using module, not current module. (internal-use-syntax): Removed.
This commit is contained in:
parent
437bc84d51
commit
7cbaee0c89
1 changed files with 9 additions and 10 deletions
|
@ -1970,10 +1970,6 @@
|
||||||
|
|
||||||
(define %autoloader-developer-mode #t)
|
(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)
|
(define (process-define-module args)
|
||||||
(let* ((module-id (car args))
|
(let* ((module-id (car args))
|
||||||
(module (resolve-module module-id #f))
|
(module (resolve-module module-id #f))
|
||||||
|
@ -2009,7 +2005,8 @@
|
||||||
(error "missing interface for use-module"
|
(error "missing interface for use-module"
|
||||||
used-module))
|
used-module))
|
||||||
(if (eq? keyword 'use-syntax)
|
(if (eq? keyword 'use-syntax)
|
||||||
(internal-use-syntax
|
(set-module-transformer!
|
||||||
|
module
|
||||||
(module-ref interface (car (last-pair used-name))
|
(module-ref interface (car (last-pair used-name))
|
||||||
#f)))
|
#f)))
|
||||||
(loop (cddr kws)
|
(loop (cddr kws)
|
||||||
|
@ -2898,11 +2895,13 @@
|
||||||
`(process-use-modules ',modules))
|
`(process-use-modules ',modules))
|
||||||
|
|
||||||
(defmacro use-syntax (spec)
|
(defmacro use-syntax (spec)
|
||||||
(if (pair? spec)
|
|
||||||
`(begin
|
`(begin
|
||||||
(process-use-modules ',(list spec))
|
,@(if (pair? spec)
|
||||||
(internal-use-syntax ,(car (last-pair spec))))
|
`((process-use-modules ',(list spec))
|
||||||
`(internal-use-syntax ,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)
|
(define define-private define)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue