The following (broken) code, when compiled, gives a strange error:
(declare (uses extras))
(write-string "hey" (open-output-file "/tmp/foo"))
I get:
Error: (make-string) size is negative: -536889320
Evidently, make-string is failing to check that its optional NUM
parameter is a fixnum.
Enclosed is a patch to have it perform the check (made against
1.45, but excluding the changes in extras.c from it; that means
extras.c needs to be regenerated after the patch is applied).
With the patch, the above code gives:
Error: (write-string) bad argument type - not a fixnum: #<output port /tmp/foo>