diff --git a/uiop/filesystem.lisp b/uiop/filesystem.lisp index 8ef8296a8a960abd56df5dfb9f77ee12e7e353a0..959a4e3370a576212ec8edb8699c5a5287dd9eaf 100644 --- a/uiop/filesystem.lisp +++ b/uiop/filesystem.lisp @@ -40,22 +40,18 @@ (if (os-unix-p) (unix-namestring p) (namestring p))))) - (defun parse-native-namestring (string &rest constraints &key want-absolute ensure-directory &allow-other-keys) + (defun parse-native-namestring (string &rest constraints &key ensure-directory &allow-other-keys) "From a native namestring suitable for use by the operating system, return a CL pathname satisfying all the specified constraints as per ENSURE-PATHNAME" (check-type string (or string null)) (let* ((pathname - (when string - (unless (or (not want-absolute) - (absolute-pathname-p string)) - (error "Invalid pathname ~S: Expected an absolute pathname." string)) - (with-pathname-defaults () - #+clozure (ccl:native-to-pathname string) - #+sbcl (sb-ext:parse-native-namestring string) - #-(or clozure sbcl) - (if (os-unix-p) - (parse-unix-namestring string :ensure-directory ensure-directory) - (parse-namestring string))))) + (with-pathname-defaults () + #+clozure (ccl:native-to-pathname string) + #+sbcl (sb-ext:parse-native-namestring string) + #-(or clozure sbcl) + (if (os-unix-p) + (parse-unix-namestring string :ensure-directory ensure-directory) + (parse-namestring string)))) (pathname (if ensure-directory (and pathname (ensure-directory-pathname pathname))