Comment 2 for bug 504121

Revision history for this message
Roman Marynchak (roman-marynchak) wrote : Re: compile error when "every" applies lambda expression

Reduced to

(defun all-caps-no-vowels-fix (S)
    (and (some #'upper-case-p S)
            (every #'(lambda (char) (upper-case-p char))
                      S)))

The weirdness is that it works when replacing AND with OR.

The bug itself is that UPPER-CASE-P entry is not dumped:

(maphash #'(lambda (k v) (print k) (print v)) (sb-fasl::fasl-output-patch-table (sb-debug:arg 0)))

#S(SB-C::ENTRY-INFO
   :CLOSURE-TN NIL
   :OFFSET NIL
   :NAME UPPER-CASE-P
   :ARGUMENTS NIL
   :TYPE FUNCTION
   :INFO NIL)

NIL((44 . 6))

Does anybody have an idea why AND -> OR replacement hides the bug?