From 5177698a6ec23bb7fad00d67382361936ebeba56 Mon Sep 17 00:00:00 2001
From: "Robert P. Goldman" <rpgoldman@real-time.com>
Date: Mon, 22 Feb 2010 09:04:59 -0600
Subject: [PATCH] Renaming and docstring patch for SPLIT-PATH-STRING to
 COMPONENT-NAME-TO-PATHNAME-COMPONENTS.

---
 asdf.lisp | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/asdf.lisp b/asdf.lisp
index 19812e35..988b44a5 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -76,7 +76,7 @@
    #:remove-keyword
    #:resolve-symlinks
    #:split
-   #:split-path-string
+   #:component-name-to-pathname-components
    #:system-registered-p
    #:truenamize))
 
@@ -463,7 +463,7 @@ and NIL NAME, TYPE and VERSION components"
          (unless end (return list))
          (setf start (1+ end)))))))
 
-(defun split-path-string (s &optional force-directory)
+(defun component-name-to-pathname-components (s &optional force-directory)
   "Splits the path string S, returning three values:
 A flag that is either :absolute or :relative, indicating
    how the rest of the values are to be interpreted.
@@ -474,7 +474,11 @@ A filename with type extension, possibly NIL in the
    case of a directory pathname.
 FORCE-DIRECTORY forces S to be interpreted as a directory
 pathname \(third return value will be NIL, final component
-of S will be treated as part of the directory path."
+of S will be treated as part of the directory path.
+
+The intention of this function is to support structured component names,
+e.g., \(:file \"foo/bar\"\), which will be unpacked to relative
+pathnames."
   (check-type s string)
   (let* ((components (split s nil "/"))
          (last-comp (car (last components))))
@@ -784,7 +788,7 @@ actually-existing directory."
 (defmethod component-relative-pathname ((component module))
   (or (slot-value component 'relative-pathname)
       (multiple-value-bind (relative path)
-          (split-path-string (component-name component) t)
+          (component-name-to-pathname-components (component-name component) t)
         (make-pathname
          :directory `(,relative ,@path)
          :host (pathname-host (component-parent-pathname component))))))
@@ -1043,7 +1047,7 @@ to `~a` which is not a directory.~@:>"
 
 (defun merge-component-relative-pathname (pathname name type)
   (multiple-value-bind (relative path filename)
-      (split-path-string name)
+      (component-name-to-pathname-components name)
   (merge-pathnames
    (or pathname (make-pathname :directory `(,relative ,@path)))
    (if type
-- 
GitLab