* bug fix: fix thread-safety problems in the type system (generally
manifesting as nonsensical errors like "STRING is a bad type specifier
for sequences" or "The value 1 is not of type FIXNUM")
+ * bug fix: version components are handled correctly in TRANSLATE-PATHNAME
+ (reported by Josip Gracin)
* Improvements to the Windows port:
** floating point exceptions are now reported correctly.
** stack exhaustion detection works partially.
(frob %pathname-name)
(frob %pathname-type)
(if (eq from-host *unix-host*)
- (if (eq (%pathname-version to) :wild)
- (%pathname-version from)
+ (if (or (eq (%pathname-version to) :wild)
+ (eq (%pathname-version to) nil))
+ (%pathname-version source)
(%pathname-version to))
(frob %pathname-version)))))))))
\f
\f
(enough-namestring #p".a*")
\f
+
+(assert (eq 99
+ (pathname-version
+ (translate-pathname
+ (make-pathname :name "foo" :type "bar" :version 99)
+ (make-pathname :name :wild :type :wild :version :wild)
+ (make-pathname :name :wild :type :wild :version :wild)))))
+
+(assert (eq 99
+ (pathname-version
+ (translate-pathname
+ (make-pathname :name "foo" :type "bar" :version 99)
+ (make-pathname :name :wild :type :wild :version :wild)
+ (make-pathname :name :wild :type :wild :version nil)))))
+
;;;; success
;;; 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".)
-"0.9.18.41"
+"0.9.18.42"