Hello,
Today I tried the ansi-tests with cvs clisp and cvs gcl.
I noted that 2 failures are generated by a possibly incorrect definition of
sys::disassemble-machine-code in doit.lsp
I assume someone intended to define a workaround for disassemble requiring
gdb in some cases.
The definition in the ansi-tests is like
#+(and clisp (or win32 cygwin)) ; w2k exits on (disassemble 'car)
(without-package-lock ("SYS")
(defun sys::disassemble-machine-code (a b c) ....)
This fails since the disassemble-machine-code now has 4 formal parameters
(program-name pid function address).
Paul Dietz told me that he believes to have received that code from a clisp
developer.
Would it be possible that either
- one sends a improved defition to Paul, e.g (defun
sys::disassemble-machine-code (&rest dont-care)(declare (ignore
dont-care))(format t "Cannot disassemble function~%"))
- or perhaps better fixes the definition of disassemble.
From looking at the sources it seems that for win32 this function is not
called anymore. So perhaps the simplest fix
would be to replace #+unix with #+(and unix (not cygwin)) in disassem.lisp.
Anyhow I would be interested to know have the ansi-tests are supposed to be
run in clisp, since
#+clisp
(setq
*WARN-ON-FLOATING-POINT-CONTAGION* nil
*WARN-ON-FLOATING-POINT-RATIONAL-CONTAGION* nil)
also seem to help the tests. Do you use another file to load and run the tests?
salud2
Karsten
|