1.0.9.11: even faster SLOT-VALUE &co
[sbcl.git] / src / code / pathname.lisp
index 6d3052d..542aa09 100644 (file)
 ;;; translation the inverse (unparse) functions.
 (def!struct (host (:constructor nil))
   (parse (missing-arg) :type function)
+  (parse-native (missing-arg) :type function)
   (unparse (missing-arg) :type function)
+  (unparse-native (missing-arg) :type function)
   (unparse-host (missing-arg) :type function)
   (unparse-directory (missing-arg) :type function)
   (unparse-file (missing-arg) :type function)
   (unparse-enough (missing-arg) :type function)
+  (unparse-directory-separator (missing-arg) :type simple-string)
+  (simplify-namestring (missing-arg) :type function)
   (customary-case (missing-arg) :type (member :upper :lower)))
 
 (def!method print-object ((host host) stream)
              (:make-load-form-fun make-logical-host-load-form-fun)
              (:include host
                        (parse #'parse-logical-namestring)
+                       (parse-native
+                        (lambda (x)
+                          (error "called PARSE-NATIVE-NAMESTRING using a ~
+                                  logical host: ~S" x)))
                        (unparse #'unparse-logical-namestring)
+                       (unparse-native
+                        (lambda (x)
+                          (error "called NATIVE-NAMESTRING using a ~
+                                  logical host: ~S" x)))
                        (unparse-host
                         (lambda (x)
                           (logical-host-name (%pathname-host x))))
                        (unparse-directory #'unparse-logical-directory)
                        (unparse-file #'unparse-logical-file)
                        (unparse-enough #'unparse-enough-namestring)
+                       (unparse-directory-separator ";")
+                       (simplify-namestring #'identity)
                        (customary-case :upper)))
-  (name "" :type simple-base-string)
+  (name "" :type simple-string)
   (translations nil :type list)
   (canon-transls nil :type list))