From 9dc1f9c5e0b47127457104f95e84d295e944d1b3 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 10 Apr 2018 06:52:58 -0700 Subject: 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. --- share/txr/stdlib/package.tl | 6 +++--- 1 file 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))) -- cgit v1.2.3