Pascal J.Bourguignon <pjb@...> writes:
> * (lisp-implementation-version)
> "0.pre8.104"
Wow, that's old :-)
> * (eval-when (:compile-toplevel)
> (format t "~S~%" (logical-pathname-translations "PACKAGE"))
> (with-open-file (file "PACKAGE:COM;INFORMATIMAGO;COMMON-LISP;HTML401.LISP"
> :direction :input)
> (with-open-file (out "test.out" :direction :output
> :if-does-not-exist :create
> :if-exists :supersede)
> (format out "~S~%" (read file nil nil)))))
You are aware, are you not, that this form is defined to do nothing
and return NIL when evaluated by the interactor?
> unhandled condition (of type SIMPLE-ERROR):
> Pathname components from SOURCE and FROM args to TRANSLATE-PATHNAME
> did not match:
> :NEWEST NIL
Yeah, this is a problem. The good news is that Paul Dietz has
finished (or maybe "given up" is a better phrase) testing
implementations' pathname compliance with the ANSI specification, so
there's a little more of a safety net when it comes to making pathname
modifications.
What I would like to see, I think, is a pathname implementation that
is almost completely version-agnostic. Certainly, :newest and nil
versions ought to match, but I think probably also numbered versions
should be canonicalized to one or the other as soon as possible, since
supporting them is otherwise ludicrous on a Unix or Windows base. The
possibility of losing versions when interfacing with filesystems such
as reiser4 or clearcase does not bother me overmuch, since it's
unlikely that purely-integral versions will map to these things
anyway.
Cheers,
Christophe
--
http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)
|