[armedbear-devel] compile doesn't return correct values for warnings-p and failure-p

Stas Boukarev stassats at gmail.com
Sat Aug 11 21:40:43 UTC 2012

(compile nil '(lambda () (char=)))
; Caught WARNING:
;   Wrong number of arguments for CHAR=.

; Compilation unit finished
;   Caught 1 WARNING condition

#<FUNCTION (LAMBDA ()) {456E3EB3}>

while it should be T, T.

jvm-compile, which handles this doesn't succeed because the underlying
with-compilation-unit eats all the warnings and errors so that
jvm-compile's handler-bind doesn't get a piece of them. Binding
*resignal-compiler-warnings* to T inside jvm-compile resolves this.
With best regards, Stas.

More information about the armedbear-devel mailing list