[asdf-devel] ASDF shipped with the latest Quicklisp-client doesn't work on Allegro CL 8.1

Faré fahree at gmail.com
Sat Jan 12 04:49:08 UTC 2013


Dear Xf,

thanks for the patch. On allegro 8.1, is it only compile-file-pathname
that refuses the :external-format argument, or compile-file as well?
In the latter case, how does allegro 8.1 control encoding for input
files? Does it rely on a special variable?

Maybe I should somehow predicate the :external-format arguments on
#+asdf-unicode?

Also, considering how far apart the release and master branch are,
maybe I can issue a 2.26.0.1 in the release branch if that helps.

PS: for those who're following the adventure, my latest woes in HEAD
is with how deeply unhappy my package frobbing is making CLISP. There
are also bugs I found in the new run-program/ for lispworks, but
that's should be easy to fix.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
No one has the right to a position;
everyone has the right to positions being well filled.  — Ernest Renan


On Fri, Jan 11, 2013 at 11:02 PM, Xiaofeng Yang <n.akr.akiiya at gmail.com> wrote:
> I'm sorry for this duplicated mail. I forgot to write the subject for the
> previous mail .
>
> Hi, all
>     The ASDF shipped with latest Quicklisp-client doesn't work on Allegro CL
> 8.1 correctly. So I fixed it and made an ugly patch for it. I'm so sorry I
> don't know whether this is the right place to discuss this problem, so I
> will then add this issus to the quicklisp-bootstrap project.
> The problem and patch can also be found here:
> https://github.com/nakrakiiya/acl-patches/commit/86236e11d89765a15fe44c0ede40119ed4958c3c#8.1/quicklisp-client-2012112500/asdf.lisp
>
>
> FIX: `Illegal keyword given: :EXTERNAL-FORMAT.' while executing
> `(quicklisp-quickstart:install)'.
>
> Details:
>
> CL-USER> (quicklisp-quickstart:install)
> ; Loading D:\Documents and Settings\nakra\quicklisp\setup.lisp
>
> Illegal keyword given: :EXTERNAL-FORMAT.
>    [Condition of type PROGRAM-ERROR]
>
> Restarts:
>  0: [RETRY] Retry compiling #<CL-SOURCE-FILE "quicklisp" "package">.
>  1: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "quicklisp"
> "package"> as having been successful.
>  2: [RETRY] retry the load of D:\Documents and
> Settings\nakra\quicklisp\setup.lisp
>  3: [SKIP] skip loading D:\Documents and Settings\nakra\quicklisp\setup.lisp
>  4: [RECOMPILE-DUE-TO-INCOMPATIBLE-FASL] recompile D:\Documents and
> Settings\nakra\quicklisp\setup.lisp
>  5: [RETRY] Retry SLIME REPL evaluation request.
>  --more--
>
> Backtrace:
>   0: (ERROR PROGRAM-ERROR :FORMAT-CONTROL "Illegal keyword given: ~s."
> :FORMAT-ARGUMENTS (:EXTERNAL-FORMAT))
>   1: (COMPILE-FILE-PATHNAME "x.lisp" ..)
>   2: (ASDF:COMPILE-FILE-PATHNAME* #P"D:\\Documents and
> Settings\\nakra\\quicklisp\\quicklisp\\package.lisp" :OUTPUT-FILE ..)
>   3: (ASDF:COMPILE-FILE* #P"D:\\Documents and
> Settings\\nakra\\quicklisp\\quicklisp\\package.lisp" :OUTPUT-FILE ..)
>   4: ((:INTERNAL (METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE))
> 0))
>   5: ((METHOD ASDF::CALL-WITH-AROUND-COMPILE-HOOK (ASDF:COMPONENT T))
> #<ASDF:CL-SOURCE-FILE "quicklisp" "package"> #<Closure (:INTERNAL (METHOD
> ASDF:PERFORM #) 0) @ #x2143fc7a>)
>   6: ((METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE))
> #<ASDF:COMPILE-OP (:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE
> "quicklisp" "package">)
>   7: ((:INTERNAL (:EFFECTIVE-METHOD 2 NIL NIL NIL NIL) 0) #<ASDF:COMPILE-OP
> (:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE "quicklisp" "package">)
>   8: ((METHOD ASDF::PERFORM-WITH-RESTARTS (T T)) #<ASDF:COMPILE-OP (:VERBOSE
> NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE "quicklisp" "package">)
>   9: ((METHOD ASDF::PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF:COMPILE-OP
> (:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE "quicklisp" "package">)
>  10: ((:INTERNAL (:EFFECTIVE-METHOD 2 NIL NIL T T) 0) #<ASDF:COMPILE-OP
> (:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE "quicklisp" "package">)
>  11: ((FLET (METHOD ASDF::PERFORM-PLAN (LIST)) EXCL::CONTINUATION))
>  12: ((METHOD ASDF::PERFORM-PLAN (LIST)) ..)
>  13: ((:INTERNAL (:EFFECTIVE-METHOD 1 T T NIL NIL) 0) ..)
>  14: ((:INTERNAL (METHOD ASDF:OPERATE (T T)) 0))
>  15: (ASDF::CALL-WITH-SYSTEM-DEFINITIONS #<Closure (:INTERNAL (METHOD
> ASDF:OPERATE #) 0) [LOAD-OP] @ #x213d36da>)
>  16: ((METHOD ASDF:OPERATE (T T)) ASDF:LOAD-OP "quicklisp" :VERBOSE NIL)
>  17: ((:INTERNAL (:EFFECTIVE-METHOD 2 T NIL NIL NIL) 0) ASDF:LOAD-OP
> "quicklisp" . 1)
>  18: (ASDF:OOS ASDF:LOAD-OP "quicklisp" :VERBOSE NIL)
>  19: (LET ((*COMPILE-PRINT* NIL) (*COMPILE-VERBOSE* NIL) (*LOAD-VERBOSE*
> NIL) (*LOAD-PRINT* NIL)) (ASDF:OOS 'ASDF:LOAD-OP "quicklisp" :VERBOSE NIL))
>  --more--
>
> The diff from the origin asdf.lisp file:
>
> $ git diff  6d465f92b240fe5ded55447f9a000a1e54a7a22a
> 86236e11d89765a15fe44c0ede40119ed4958c3c
> diff --git a/8.1/quicklisp-client-2012112500/asdf.lisp
> b/8.1/quicklisp-client-2012112500/asdf.lisp
> index 283ad86..2f9b98a 100644
> --- a/8.1/quicklisp-client-2012112500/asdf.lisp
> +++ b/8.1/quicklisp-client-2012112500/asdf.lisp
> @@ -2478,7 +2478,10 @@ recursive calls to traverse.")
>           c #'(lambda (&rest flags)
>                 (apply *compile-op-compile-file-function* source-file
>                        :output-file output-file
> -                      :external-format (component-external-format c)
> +                      #+(or (and allegro (version>= 8 2))
> +                            (not allegro)) :external-format
> +                      #+(or (and allegro (version>= 8 2))
> +                            (not allegro)) (component-external-format c)
>                        (append flags (compile-op-flags operation)))))
>        (unless output
>          (error 'compile-error :component c :operation operation))
>
>
>      Best regards,
> Xiaofeng Yang




More information about the asdf-devel mailing list