I modified the origin asdf.lisp file, and it( (quicklisp-quickstart:install) ) works for me on these implementations(win7 x64) now:
Allegro CL 8.1
Allegro CL 8.2
ABCL 1.0.1
Clozure CL 1.8(x86, x64)
CLISP 2.49
SBCL 1.0.55.1(with threads support)(x86, x64)
ECL 11.1.1(MinGW, gcc 4.5.0, lisp->c compiler)
Here's the patch:
$ git diff
diff --git a/8.1/quicklisp-client-2012112500/asdf.lisp b/8.1/quicklisp-client-2012112500/asdf.lisp
index 283ad86..18e13a2 100644
--- a/8.1/quicklisp-client-2012112500/asdf.lisp
+++ b/8.1/quicklisp-client-2012112500/asdf.lisp
@@ -3909,13 +3909,16 @@ effectively disabling the output translation facility."
(defun* compile-file-pathname* (input-file &rest keys &key output-file &allow-other-keys)
(if (absolute-pathname-p output-file)
;; what cfp should be doing, w/ mp* instead of mp
- (let* ((type (pathname-type (apply 'compile-file-pathname "x.lisp" keys)))
- (defaults (make-pathname
- :type type :defaults (merge-pathnames* input-file))))
- (merge-pathnames* output-file defaults))
+ (let* ((type (pathname-type (apply 'compile-file-pathname "x.lisp"
+ (remove-keys '(#+(and allegro (not (version>= 8 2))) :external-format)
+ keys))))
+ (defaults (make-pathname
+ :type type :defaults (merge-pathnames* input-file))))
+ (merge-pathnames* output-file defaults))
(apply-output-translations
- (apply 'compile-file-pathname input-file
- (if output-file keys (remove-keyword :output-file keys))))))
+ (apply 'compile-file-pathname input-file
+ (remove-keys `(#+(and allegro (not (version>= 8 2))) :external-format
+ ,@(unless output-file '(:output-file))) keys)))))
(defun* tmpize-pathname (x)
(make-pathname