Dear Camm, thanks again for your responsiveness. I'm hoping the next release of ASDF can support GCL, and the next release of GCL can sport ASDF.
>> One function that fails to return the same thing when compiled vs >> interpreted is REDUCE/STRCAT from uiop/utility.lisp. > > Thanks! Should be fixed now. > Great. I'll look into further bugs. >> Another function that behaves in a weird way is configure-asdf from >> test/script-support.lisp, > > Thanks! No longer the case, perhaps resolved when the above was fixed. > Indeed, the same bug fix must have worked. >> Can you look into it? There are other failures, but these are show stoppers. > > A few more tests pass now. Thanks for your reports! > Excellent. > It would still be > a bit easier if you could give me step by step instructions to reproduce > a failure -- I don't know where any of these functions are, or what has > to be loaded, etc. > Every test, when it fails, prints some instructions on how to reproduce it. Just look at the logs. If the instructions are not correct, it's a bug that we can fix. I see it incorrectly specifies -batch, and I'll remove that. So I see several kinds of failures. Those I have investigated: * a bug in handling directories in uiop:probe-file*; I think I have a fix for that, but direct support in GCL for the probe-file* interface would be great: a function that given a pathname designator returns the pathname to either the file or directory if it exists, and only optionally resolve symlinks, and return NIL otherwise. Also, GCL BUG: TRUENAME should return a FILE-ERROR, not just an ERROR. Same for DELETE-FILE and probably a lot more other functions. * In test1, test2, test3, test-around-compile, test-asdf, test-builtin-source-file-type, test-compile-file-failure, test-concatenate-source, test-deferred-warnings, test-force, test-inline-methods, test-logical-pathname, test-missing-lisp-file, test-module-depend, test-module-excessive-depend, test-module-pathnames, test-multiple, test-redundant-recompile, test-samedir-modules, test-source-file-type, test-stamp-propagation, test-static-and-serial TEST ABORTED: Condition in COMPILER::COMPILE-FILE1 [or a callee]: INTERNAL-SIMPLE-PROGRAM-ERROR: Key :EXTERNAL-FORMAT :DEFAULT not permitted GCL BUG: compile-file fails to accept :EXTERNAL-FORMAT argument. I'll be working around it in uiop/lisp-build for now. I have not investigated these yet: * test-run-program.script TEST ABORTED: Condition in SYSTEM:STRCAT [or a callee]: INTERNAL-SIMPLE-PROGRAM-ERROR: MULTIPLE-VALUE-CALL [or a callee] requires less than sixty-seven arguments. GCL BUG? This looks like a GCL bug, since STRCAT and its callees don't do anything magical with multiple values. Is some optimization or rewrite causing an argument list to expand beyond the limit? * In duplicate-components-test, test8, test9, test-system-pathnames TEST ABORTED: Condition in CONDITIONS::COERCE-TO-CONDITION [or a callee]: INTERNAL-SIMPLE-TYPE-ERROR: CONDITIONS::INTERNAL-SIMPLE-LOAD-SYSTEM-DEFINITION-ERROR is not of type (SATISFIES CONDITIONS::CONDITION-CLASS-P): Not a condition type: CONDITIONS::INTERNAL-SIMPLE-LOAD-SYSTEM-DEFINITION-ERROR GCL BUG? I'm not sure what triggers the initial condition yet, but it looks like GCL has an error in error handling and/or reporting. * In test-retry-loading-component-1.script SIMPLE-ERROR: The assertion RESTART failed. GCL BUG? It looks like find-restart fails here. Does GCL support restarts? * test-touch-system-1.script INTERNAL-SIMPLE-TYPE-ERROR: NIL is not of type REAL: Now, I've tried to add in script-support a #+gcl 0 for speed, to speed up the compilation, and I find what I believe to be a bug in GCL, whereby the form (remove-if #'(lambda (x) (member x '("" ".") :test #'equal)) components) from uiop/pathname is compiled with an error, with bogus complaint at runtime: Error: Signalled by COMMON-LISP:MEMBER. Condition in COMMON-LISP:MEMBER [or a callee]: INTERNAL-SIMPLE-PROGRAM-ERROR: Key COMMON-LISP:NIL #<function 00000000011dd250> not permitted I put #+gcl 1 instead, hoping that this will improve things. More to come, but that will give you stuff to work on already. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If it's not worth doing, it's not worth doing well — Donald Hebb _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org https://lists.gnu.org/mailman/listinfo/gcl-devel