;; lets us preserve distinctions which might not even exist
;; on the cross-compilation host (because ANSI doesn't
;; guarantee that specialized array types exist there).
+ ;; FIXME: It's actually not clear that COERCE on non-NUMBER types
+ ;; is FOLDABLE at all. Check this.
(movable #-sb-xc-host foldable)
:derive-type (result-type-specifier-nth-arg 2))
(defknown list-to-simple-string* (list) simple-string)
\f
;;;; from the "File System Interface" chapter:
-;;; No pathname functions are foldable because they all potentially
+;;; (No pathname functions are FOLDABLE because they all potentially
;;; depend on *DEFAULT-PATHNAME-DEFAULTS*, e.g. to provide a default
-;;; host when parsing a namestring.
+;;; host when parsing a namestring.)
(defknown wild-pathname-p (pathname-designator
&optional
pathname
(flushable))
-;;; KLUDGE: There was a comment from CMU CL here, "We need to add the
-;;; logical pathname stuff here." -- WHN 19991213
+(defknown logical-pathname (pathname-designator) logical-pathname ())
+(defknown translate-logical-pathname (pathname-designator &key) pathname ())
+(defknown load-logical-pathname-translations (string) t ())
+(defknown logical-pathname-translations (logical-host-designator) list ())
(defknown pathname (pathname-designator) pathname (flushable))
(defknown truename (pathname-designator) pathname ())
(defknown parse-namestring
- (pathname-designator &optional pathname-host pathname-designator
+ (pathname-designator &optional
+ (or list host string (member :unspecific))
+ pathname-designator
&key
(:start index)
(:end sequence-end)