author | pix@kepibu.org |
local date | Mon, 20 Jul 2009 01:14:10 |
date | Mon, 20 Jul 2009 01:14:10 |
hash | 20090720011410-50f04-d6ba511dd609ab429d226fdf35c9241dddd2e1a8.gz |
Improved feature readers
It turns out #+/#- also need to do their thing under *read-suppress*, rather
than simply skipping two forms.
E.g.,
'(#+(or) #+(not a b) a b c) => '(c)
'(#+(or) #+(and) a b c) => '(b c)
(Not that such constructions are practically portable anyway, but meh.)
Regardless, this fixes that as best I can. Unfortunately, it also forces
the normal package problems within feature expressions:
#+(or) #+(notapackage:foo) 'a => PACKAGE-ERROR
#+(or) #+(cl:notexported) 'a => PACKAGE-ERROR
This is, so far as I can tell, portably unavoidable. However, some (all?)
implementations /already/ have this problem, so at least it's nothing new.
1 file(s) changed: