[slime-devel] Re: AllegroCL looses ability to load a system

Luke Gorrie luke at bluetail.com
Fri Jul 2 23:08:57 UTC 2004


Edi Weitz <edi at agharta.de> writes:

> Sometimes, in the middle of working on an application with SLIME (from
> CVS) and AllegroCL (7.0 beta) AllegroCL looses the ability to load a
> system with the ",l" shortcut. I usually start my sessions loading the
> system I'm currently working on and at this point it works fine but
> after a couple of breaks, backtraces and whatever it ceases to
> work. I'm afraid I can't provide an easy test case right now cause I'm
> in the middle of a project but maybe the attached backtrace is enought
> for the SLIME gurus.

I haven't been able to reproduce this in 6.2 yet. It irksomely brings
to mind some comments of Helmut's in swank-allegro.lisp:

  ;; The following defitinions are workarounds for the buggy
  ;; no-applicable-method function in Allegro 5.  We have to provide an
  ;; implementation.

What was the problem with no-applicable-method in Allegro 5? I wonder
if it exists in later versions too?

Our `definterface' mechanism puts a method on the
`no-applicable-method' generic function to supply a default
implementation of `operate-on-system'. Since no backends use
`defimplementation' to define a real method for `operate-on-system' it
should always be handled by the `no-applicable-method' method.

But from the backtrace it kinda looks like our no-applicable-method
has been lost somehow:

>   3: (CERROR "Try calling it again" PROGRAM-ERROR :FORMAT-CONTROL "No methods applicable for generic function ~s with args ~s of classes ~s" :FORMAT-ARGUMENTS (#<STANDARD-GENERIC-FUNCTION SWANK-BACKEND:OPERATE-ON-SYSTEM> ("prodata" "LOAD-OP") (STRING STRING)))
>   4: ((METHOD NO-APPLICABLE-METHOD (T)) #<STANDARD-GENERIC-FUNCTION SWANK-BACKEND:OPERATE-ON-SYSTEM> "prodata" "LOAD-OP")
>   5: ((:INTERNAL SWANK:OPERATE-ON-SYSTEM-FOR-EMACS 0))

Frame four is calling the no-applicable-method generic function, but
apparently it's not using the method that we provided.

I'd like to get to the bottom of this, but I don't have any really
good idea how. I'd like very much to reproduce it. It would be good to
poke around in the inspector to see what methods NO-APPLICABLE-METHOD
has and whether it's working right.

-Luke





More information about the slime-devel mailing list