Update of /cvsroot/sbcl/sbcl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31290
RIP (physical) PATHNAME-VERSION significance
... remove all internal discrimination based on the version
field if the pathname involved has the Unix host.
... parsing of a physical pathname namestring (i.e. again either
explicitly or implicitly on the Unix host) never produces
a version from the namestring.
... make :if-exists :new-version behave like :if-exists :error,
because despite weasel-words in CLHS someone might
legitimately expect :if-exists :new-version not to
clobber the old version.
... (this latter needs to be revisited, when OPEN is made aware
of logical pathnames and the wacky logic they impose; we
can support :new-version with LPNs, but only if OPEN is
... make pathnames more likely to be read/print consistent, by
throwing errors in more cases (we now pass PFD's test for
that, not that it's that stringent).
... throw errors on use of (:absolute :up) and friends in CL
... don't throw error on creation, and in fact test in sb-posix
that we can use #p"/../" for what it means.
RCS file: /cvsroot/sbcl/sbcl/NEWS,v
retrieving revision 1.469
retrieving revision 1.470
diff -u -d -r1.469 -r1.470
--- NEWS 23 Jan 2004 16:53:54 -0000 1.469
+++ NEWS 27 Jan 2004 10:34:54 -0000 1.470
@@ -2234,6 +2234,18 @@
** VALUES tranformer lost derived type.
changes in sbcl-0.8.8 relative to sbcl-0.8.7:
+ * minor incompatible change: parsing of namestrings on a physical
+ (Unix) host has changed; numbers after the final #\. in a
+ namestring are no longer interpreted as a version field. This is
+ intented to be largely invisible to the user, except that the
+ meaning of the namestring "*.*.*" has changed: it now refers to a
+ pathname with :TYPE :WILD :NAME #<pattern "*.*">. This namestring
+ should usually be replaced by
+ (make-pathname :name :wild :type :wild :version :wild)
+ with the added benefit that this is more likely to be portable.
+ As a consequence of this change, the :IF-EXISTS :NEW-VERSION
+ option to OPEN now signals an error if the file being opened
+ exists; this may have an impact on existing code.
* bug fix: DECODE-UNIVERSAL-TIME now accepts timezone arguments with
second-resolution: integer multiples of 1/3600 between -24 and 24.
(thanks to Vincent Arkesteijn)
@@ -2266,6 +2278,11 @@
or not a character is whitespace.
** MERGE-PATHNAMES handles the case when the pathname does not
specify a name while the default-pathname specifies a version.
+ ** Pathnames now stand a better chance of respecting print/read
+ ** Attempting to use standardized file system operators with a
+ pathname with invalid :DIRECTORY components signals a
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.1437
retrieving revision 1.1438
diff -u -d -r1.1437 -r1.1438
--- version.lisp-expr 23 Jan 2004 16:52:28 -0000 1.1437
+++ version.lisp-expr 27 Jan 2004 10:34:55 -0000 1.1438
@@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)