summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-11-16 06:41:55 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-11-16 06:41:55 -0800
commitdc84927c791873508f473f1d5679550882f86e91 (patch)
treea7143022cfe09d975c9984a9be7b9b2d7e2f55bc /share
parentcf0ac2826bc7dc06d3c63e956ec8922a358f4f80 (diff)
downloadtxr-dc84927c791873508f473f1d5679550882f86e91.tar.gz
txr-dc84927c791873508f473f1d5679550882f86e91.tar.bz2
txr-dc84927c791873508f473f1d5679550882f86e91.zip
Completion of fallback list implementation.
* lib.c (find_symbol): New function. (symbol_present): Search the fallback list also to determine whether the symbol is visible. * lib.h (find_symbol): Declared. * parser.y (sym_helper): Implement a new behavior for qualified symbols. Interning new symbols is only allowed for packages that have an empty fallback list. * parser.c (get_visible_syms): New static function. (find_matching_syms): Use get_visible_syms to get the list of eligible symbols. This way the fallback list of the package is included if it is the current package. * share/txr/stdlib/package.tl (defpackage): Do not insert a default (:use usr) if there is no :usr clause. Since defpackage is very new, no need for backward compatibility; the amount of code depending on this is likely zero. * txr.1: Documented fallback list feature.
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/package.tl1
1 files changed, 0 insertions, 1 deletions
diff --git a/share/txr/stdlib/package.tl b/share/txr/stdlib/package.tl
index 12a8cf5e..458161ca 100644
--- a/share/txr/stdlib/package.tl
+++ b/share/txr/stdlib/package.tl
@@ -81,7 +81,6 @@
'defpackage atom))))))
^(let ((,pkg (or (find-package ,name-str)
(make-package ,name-str))))
- ,*(unless (assoc :use clauses) ^((use-package "usr" ,pkg)))
,*exp-clauses
,pkg)))