summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-04-10 06:52:58 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-04-10 06:52:58 -0700
commit51a3646c4b553a6c5b75b2e2bbb4bc3a737a5734 (patch)
treeae2a23221e2f4a68b43471b442a501a2e4a7ecda
parentb3a333c7aff8b949df72dcdeda4fd13b686fee4b (diff)
downloadtxr-51a3646c4b553a6c5b75b2e2bbb4bc3a737a5734.tar.gz
txr-51a3646c4b553a6c5b75b2e2bbb4bc3a737a5734.tar.bz2
txr-51a3646c4b553a6c5b75b2e2bbb4bc3a737a5734.zip
defpackage: bugfix: symbol clash.
* share/txr/stdlib/package.tl (defpackage): Now that library file are read in the sys package, this macro's name-str local variable is the same symbol as sys:name-str, the function it uses. They clash in the (op sys:name-str ...) syntax. Let's rename the local.
-rw-r--r--share/txr/stdlib/package.tl6
1 files changed, 3 insertions, 3 deletions
diff --git a/share/txr/stdlib/package.tl b/share/txr/stdlib/package.tl
index 1360cb29..4f7d1a18 100644
--- a/share/txr/stdlib/package.tl
+++ b/share/txr/stdlib/package.tl
@@ -33,7 +33,7 @@
(defmacro defpackage (name . clauses)
(let* ((pkg (gensym "pkg-"))
- (name-str (sys:name-str 'package name))
+ (nstr (sys:name-str 'package name))
(exp-clauses (append-each ((c clauses))
(tree-case c
((keyword package . rest)
@@ -78,8 +78,8 @@
(atom
(throwf 'eval-error "~s: invalid clause: ~s"
'defpackage atom))))))
- ^(let ((,pkg (or (find-package ,name-str)
- (make-package ,name-str))))
+ ^(let ((,pkg (or (find-package ,nstr)
+ (make-package ,nstr))))
,*exp-clauses
,pkg)))