diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-04-10 06:52:58 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-04-10 06:52:58 -0700 |
commit | 51a3646c4b553a6c5b75b2e2bbb4bc3a737a5734 (patch) | |
tree | ae2a23221e2f4a68b43471b442a501a2e4a7ecda | |
parent | b3a333c7aff8b949df72dcdeda4fd13b686fee4b (diff) | |
download | txr-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.tl | 6 |
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))) |