Greetings! OK, yor tests run with the following patch. For now, don't use safe mode, which is *much* slower and less tested. There is a gcl safe mode bug you have uncovered which we can later trace down, but your code is very complicated and it needs to be isolated. Also, use nil in place of :unspecific for undefined types as with ecl.
There are some condition related failures reported by the tests -- I'm happy to fix these, but please, boil it down to a standard lisp form or two which is not complying with the spec. This way we can both work much faster. I did a little looking re: the safe mode failure, and it involves this form in pathname.lisp: (setf components (remove-if #'(lambda (x) (member x '("" ".") :test #'equal)) components)) When I compile this separately in safe mode I cannot trigger the failure. Take care, ============================================================================= index de9f46b..654ec1e 100644 --- a/test/script-support.lisp +++ b/test/script-support.lisp @@ -33,9 +33,9 @@ Some constraints: (in-package :asdf-test) -(declaim (optimize (speed 2) (safety 3) #-(or allegro gcl genera) (debug 3) +(declaim (optimize (speed 2) (safety 0) #-(or allegro gcl genera) (debug 3) #+(or cmu scl) (c::brevity 2))) -(proclaim '(optimize (speed 2) (safety 3) #-(or allegro gcl genera) (debug 3) +(proclaim '(optimize (speed 2) (safety 0) #-(or allegro gcl genera) (debug 3) #+(or cmu scl) (c::brevity 2))) (defvar *trace-symbols* diff --git a/test/test-run-program.script b/test/test-run-program.script index 48064fd..9762b40 100644 --- a/test/test-run-program.script +++ b/test/test-run-program.script @@ -1,5 +1,5 @@ ;; -*- Lisp -*- -(declaim (optimize (debug 3) (safety 3))) +(declaim (optimize (debug 3) (safety 0))) ;; On Windows, normalize away CRLF into jut the unixy LF. (defun dewindowize (x) diff --git a/uiop/common-lisp.lisp b/uiop/common-lisp.lisp index 96a17f3..64c1c40 100644 --- a/uiop/common-lisp.lisp +++ b/uiop/common-lisp.lisp @@ -172,7 +172,7 @@ FROB them, that is to say, remove them if FROB is NIL, replace by FROB if FROB is a STRING, or if FROB is a FUNCTION, call FROB with the match and a function that emits a string in the output. Return a string made of the parts not omitted or emitted by FROB." - (declare (optimize (speed 0) (safety 3) (debug 3))) + (declare (optimize (speed 0) (safety 0) (debug 3))) (let ((length (length string)) (stream nil)) (labels ((emit-string (x &optional (start 0) (end (length x))) (when (< start end) diff --git a/uiop/pathname.lisp b/uiop/pathname.lisp index 062b33b..6bc6a9b 100644 --- a/uiop/pathname.lisp +++ b/uiop/pathname.lisp @@ -102,8 +102,8 @@ by the underlying implementation's MAKE-PATHNAME and other primitives" ;; See CLHS make-pathname and 19.2.2.2.3. ;; This will be :unspecific if supported, or NIL if not. (defparameter *unspecific-pathname-type* - #+(or abcl allegro clozure cmu gcl genera lispworks mkcl sbcl scl xcl) :unspecific - #+(or clisp ecl #|These haven't been tested:|# cormanlisp mcl) nil + #+(or abcl allegro clozure cmu genera lispworks mkcl sbcl scl xcl) :unspecific + #+(or gcl clisp ecl #|These haven't been tested:|# cormanlisp mcl) nil "Unspecific type component to use with the underlying implementation's MAKE-PATHNAME") (defun make-pathname* (&rest keys &key (directory nil #+gcl2.6 directoryp) ============================================================================= -- Camm Maguire c...@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org https://lists.gnu.org/mailman/listinfo/gcl-devel