[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/2] psyntax: fix gen-label for unset module.
From: |
Jan Nieuwenhuizen |
Subject: |
[PATCH 2/2] psyntax: fix gen-label for unset module. |
Date: |
Wed, 2 Nov 2016 20:14:50 +0100 |
* module/ice-9/boot-9.scm (generate-unique-id!): New function.
(module-generate-unique-id!): Use it.
* module/ice-9/psyntax.scm (gen-label): Use it to cater for unset
module.
* module/ice-9/psyntax-pp.scm: Regenerate.
---
module/ice-9/boot-9.scm | 3 ++-
module/ice-9/psyntax-pp.scm | 2 +-
module/ice-9/psyntax.scm | 6 ++++--
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index f1d684d..e18818e 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -374,12 +374,13 @@ a-cont
(define (module-ref module sym)
(let ((v (module-variable module sym)))
(if v (variable-ref v) (error "badness!" (pk module) (pk sym)))))
-(define module-generate-unique-id!
+(define generate-unique-id!
(let ((next-id 0))
(lambda (m)
(let ((i next-id))
(set! next-id (+ i 1))
i))))
+(define module-generate-unique-id! generate-unique-id!)
(define (resolve-module . args)
#f)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 207d534..c47df7f 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -301,7 +301,7 @@
(simple-format
#f
"l-~s~s"
- (module-generate-unique-id! mod)
+ (if mod (module-generate-unique-id! mod) (generate-unique-id! #f))
(module-name mod)))))
(gen-labels
(lambda (ls)
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 8fa0ff3..7e5c863 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -634,8 +634,10 @@
(define (gen-label)
(let ((mod (current-module)))
(simple-format #f "l-~s~s"
- (module-generate-unique-id! mod)
- (module-name mod))))
+ (if mod
+ (module-generate-unique-id! mod)
+ (generate-unique-id! #f))
+ (module-name mod))))
(define gen-labels
(lambda (ls)
--
2.10.1