Comment 4 for bug 685346

Revision history for this message
Douglas Katzman (dougk) wrote :

Part of this problem (unresolvable, I think) is an ill-defined interplay with the ambiguity of consecutive conditionals.

Nesting with explicit parentheses is clear enough in meaning.
  #-hork (anything #+baz whatsoever #-foo mum)
Here we can ignore ignore everything inside the parentheses if "hork" is absent.

But the meaning of "#-foo #-bar form1 form2" very much depends on what we think it means to "ignore one form" after starting to ignore one form. Under differing interpretations it might be essential to fully parse the expression after a "#-"
Something like this was mentioned in sbcl-devel (subject line "Disappearing code in 'compiler/dump.lisp' through incorrect use of read-time conditional" on 2013-09-16)