diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-03-09 06:33:06 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-03-09 06:33:06 -0800 |
commit | 07f130dd4f0a3a78a312c7b3dc14b0ae9e4049b3 (patch) | |
tree | 274e22b42df392304480797666d577e92650af37 /parser.y | |
parent | 55432c44257c340b7dc6ba565e49d6b584a9692c (diff) | |
download | txr-07f130dd4f0a3a78a312c7b3dc14b0ae9e4049b3.tar.gz txr-07f130dd4f0a3a78a312c7b3dc14b0ae9e4049b3.tar.bz2 txr-07f130dd4f0a3a78a312c7b3dc14b0ae9e4049b3.zip |
packages: drop no-fallback-list interning restriction.
Removing the restriction that qualified pkg:sym syntax may not
cause interning to take place if pkg has a nonempty fallback
list. This serves no purpose, only hindering the flexibility
of the package system.
* parser.y (sym_helper): When processing a qualified symbol,
if the package exists, just intern it.
* txr.1: Revise all text which touched on the removed rule,
to remove all traces of it from the documentation.
Diffstat (limited to 'parser.y')
-rw-r--r-- | parser.y | 15 |
1 files changed, 1 insertions, 14 deletions
@@ -1351,20 +1351,7 @@ static val sym_helper(parser_t *parser, wchar_t *lexeme, val meta_allowed) pkg_name, sym_name, pkg_name, nao); return nil; } - - sym = find_symbol(sym_name, package); - - if (sym == zero) { - if (!package_fallback_list(package)) { - sym = intern(sym_name, package); - } else { - yyerrorf(scnr, lit("~a:~a: cannot intern symbol using qualified symbol syntax,"), - pkg_name, sym_name, nao); - yyerrorf(scnr, lit("~a:~a: because package ~a has a fallback list"), - pkg_name, sym_name, pkg_name, nao); - return nil; - } - } + sym = intern(sym_name, package); } } else { val sym_name = string(lexeme); |