From 99455beadac2e5949b6e9d50a073881750f4bcbb Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <fare@tunes.org>
Date: Mon, 15 Mar 2010 23:38:10 -0400
Subject: [PATCH] :unspecific is not portable. Only use it on implementations
 that support it.

---
 asdf.lisp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/asdf.lisp b/asdf.lisp
index 42e70e0f..7b450a19 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -495,7 +495,11 @@ starting the separation from the end, e.g. when called with arguments
           (setf end start))))))
 
 (defun split-name-type (filename)
-  (let ((unspecific #-(or clisp armedbear) :unspecific #+(or clisp armedbear) nil))
+  (let ((unspecific
+         ;; Giving :unspecific as argument to make-pathname is not portable.
+         ;; See CLHS make-pathname and 19.2.2.2.3.
+         ;; We only use it on implementations that support it.
+         (or #+(or sbcl ccl ecl lispworks) :unspecific)))
     (destructuring-bind (name &optional (type unspecific))
         (split-string filename :max 2 :separator ".")
       (if (equal name "")
-- 
GitLab