From: Nikodemus S. <de...@us...> - 2006-08-07 15:41:56
|
Update of /cvsroot/sbcl/sbcl/src/compiler In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv28522/src/compiler Modified Files: fndb.lisp srctran.lisp Log Message: 0.9.15.13: make PATHNAME not unsafely-flushable * Reported by Richard Kreuter on sbcl-help. * Add DEFTRANSFORMS for common cases. Index: fndb.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/fndb.lisp,v retrieving revision 1.117 retrieving revision 1.118 diff -u -d -r1.117 -r1.118 --- fndb.lisp 6 Jun 2006 02:42:51 -0000 1.117 +++ fndb.lisp 7 Aug 2006 14:31:45 -0000 1.118 @@ -1165,7 +1165,7 @@ (defknown load-logical-pathname-translations (string) t ()) (defknown logical-pathname-translations (logical-host-designator) list ()) -(defknown pathname (pathname-designator) pathname (unsafely-flushable)) +(defknown pathname (pathname-designator) pathname ()) (defknown truename (pathname-designator) pathname ()) (defknown parse-namestring Index: srctran.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/srctran.lisp,v retrieving revision 1.141 retrieving revision 1.142 diff -u -d -r1.141 -r1.142 --- srctran.lisp 8 Jul 2006 17:04:23 -0000 1.141 +++ srctran.lisp 7 Aug 2006 14:31:46 -0000 1.142 @@ -3708,6 +3708,12 @@ (funcall control *standard-output* ,@arg-names) nil))) +(deftransform pathname ((pathspec) (pathname) *) + 'pathspec) + +(deftransform pathname ((pathspec) (string) *) + '(values (parse-namestring pathspec))) + (macrolet ((def (name) `(defoptimizer (,name optimizer) ((control &rest args)) @@ -4069,3 +4075,4 @@ `(let* ((acons (assoc quality-name policy)) (result (or (cdr acons) 1))) result)) + |