;;; -*- Mode: Lisp -*-
-(cl:in-package #:asdf)
+(cl:in-package :asdf)
+
+(unless (or #+asdf2 (asdf:version-satisfies (asdf:asdf-version) "2.014.8"))
+ (error "Not only is your ASDF version is too old for ASDF-DEPENDENCY-GROVEL,
+ you must upgrade it *before* you try to load any system."))
(defclass grovel-handlers (module)
((%components :accessor %handler-components)))
(handler-input-file-list (component-pathname c) c))))
(defsystem :asdf-dependency-grovel
- ;; :depends-on (:asdf) ; not safe. ASDF must be explicitly upgraded in advance.
+ :depends-on ((:version :asdf "2.017"))
:components ((:file "package")
(:file "variables" :depends-on ("package"))
(:file "classes" :depends-on ("package" "variables"))
(defun strip/ (name)
(subseq name (1+ (or (position #\/ name :from-end t) -1))))
(defun strip-extension (name extension)
- (let* ((lext (length extension))
- (lnam (length name))
- (pos (- lnam lext)))
- (if (and (plusp lext)
+ (let* ((lext (and (stringp extension) (length extension)))
+ (pext (and lext (plusp lext)))
+ (pos (and pext (- (length name) lext))))
+ (if (and pos
(< 1 pos)
(string= name extension :start1 pos)
(eql #\. (char name (1- pos))))