Changes between Initial Version and Version 5 of Ticket #199


Ignore:
Timestamp:
02/29/12 09:46:23 (2 years ago)
Author:
mevenson
Comment:

For the RESTAS framework loaded by the Feb 2012 Quicklisp the following MOP call fails when trying to run the 'examples/example-1.lisp' code:

 (MOP::INITIAL-DISCRIMINATING-FUNCTION #<STANDARD-GENERIC-FUNCTION SUBMODULE-ROUTES {59FAC3A2}> (#<RESTAS::PKG-SUBMODULE{23452A3E}))

I would like to either fix this for abcl-1.0.2 or get abcl-1.1.0-dev working with Hunchentoot again, as I'm pretty sure this should be fixed easily in Rudi's code.

Wrong number of arguments for #<FUNCTION (LAMBDA (ARGS NEXT-EMFUN)) {4B658B53}>.
   [Condition of type PROGRAM-ERROR]

Restarts:
 0: [RETRY] Retry SLIME interactive evaluation request.
 1: [*ABORT] Return to SLIME's top level.
 2: [ABORT] Abort thread.

Backtrace:
  0: (#<FUNCTION {17144A84}> #<PROGRAM-ERROR {35282BF2}> #<FUNCTION {17144A84}>)
  1: (APPLY #<FUNCTION {17144A84}> (#<PROGRAM-ERROR {35282BF2}> #<FUNCTION {17144A84}>))
  2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<PROGRAM-ERROR {35282BF2}> #<FUNCTION {17144A84}>)
  3: (INVOKE-DEBUGGER #<PROGRAM-ERROR {35282BF2}>)
  4: org.armedbear.lisp.Lisp.error(Lisp.java:381)
  5: org.armedbear.lisp.Function.execute(Function.java:312)
  6: org.armedbear.lisp.Primitive.execute(Primitive.java:113)
  7: (#<STANDARD-GENERIC-FUNCTION SUBMODULE-ROUTES {59FAC3A2}> #<RESTAS::PKG-SUBMODULE {605D3821}>)
  8: (APPLY #<STANDARD-GENERIC-FUNCTION SUBMODULE-ROUTES {59FAC3A2}> (#<RESTAS::PKG-SUBMODULE {605D3821}>))
  9: (MOP::INITIAL-DISCRIMINATING-FUNCTION #<STANDARD-GENERIC-FUNCTION SUBMODULE-ROUTES {59FAC3A2}> (#<RESTAS::PKG-SUBMODULE {605D3821}>))
 10: (RESTAS:SUBMODULE-ROUTES #<RESTAS::PKG-SUBMODULE {605D3821}>)
 11: (RESTAS:CONNECT-SUBMODULE #<RESTAS::PKG-SUBMODULE {605D3821}> #<ROUTES:MAPPER {8102FF4}>)
 12: (RESTAS::ADD-TOPLEVEL-SUBMODULE #<RESTAS::PKG-SUBMODULE {605D3821}> NIL 8080)
 13: (RESTAS:START #:RESTAS.EXAMPLE-1 :PORT 8080)

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #199

    • Property Status changed from new to assigned
    • Property Summary changed from RESTAS fails when MOP:INITIAL-DISCRIMINATING-FUNCTION to CL:DEFMETHOD cannot parse &AUX arguments
    • Property Priority changed from major to critical
    • Property Version changed from 1.0.1 to 1.1.0-dev
    • Property Milestone changed from 1.0.2 to 1.1.0
    • Property Owner changed from ehuelsmann to mevenson
  • Ticket #199 – Description

    initial v5  
    1 For the [https://github.com/archimag/restas RESTAS framework] loaded by the Feb 2012 Quicklisp the following MOP call fails when trying to run the 'examples/example-1.lisp' code: 
     1The code [source:/trunk/abcl/src/org/armedbear/lisp/ArgumentProcessor.java] does not handle &AUX arguments for CL:DEFMETHOD correctly. 
     2 
     3After defining the APPLY-RULE generic function as such: 
    24 
    35{{{ 
    4  (MOP::INITIAL-DISCRIMINATING-FUNCTION #<STANDARD-GENERIC-FUNCTION SUBMODULE-ROUTES {59FAC3A2}> (#<RESTAS::PKG-SUBMODULE{23452A3E})) 
     6(defgeneric apply-rule (rule)) 
     7(defmethod apply-rule ((rule t) &aux (context (format nil "~A" rule))) 
     8  (format nil "Applying rule '~A' in context '~A'" rule context)) 
    59}}} 
    610 
    7 I would like to either fix this for abcl-1.0.2 or get [http://trac.common-lisp.net/armedbear/ticket/198 abcl-1.1.0-dev working with Hunchentoot again], as I'm pretty sure this should be fixed easily in Rudi's code. 
     11then  
     12{{{ 
     13   CL-USER> (apply-rule "1") 
     14}}} 
     15 
     16will fail with errors in  
    817 
    918{{{ 
    10 Wrong number of arguments for #<FUNCTION (LAMBDA (ARGS NEXT-EMFUN)) {4B658B53}>. 
    11    [Condition of type PROGRAM-ERROR] 
    1219 
    13 Restarts: 
    14  0: [RETRY] Retry SLIME interactive evaluation request. 
    15  1: [*ABORT] Return to SLIME's top level. 
    16  2: [ABORT] Abort thread. 
     20(defgeneric apply-rule (rule)) 
     21(defmethod apply-rule ((rule t) &aux (context (format nil "~A" rule))) 
     22  (format nil "Applying rule '~A' in context '~A'" rule context)) 
     23}}} 
    1724 
    18 Backtrace: 
    19   0: (#<FUNCTION {17144A84}> #<PROGRAM-ERROR {35282BF2}> #<FUNCTION {17144A84}>) 
    20   1: (APPLY #<FUNCTION {17144A84}> (#<PROGRAM-ERROR {35282BF2}> #<FUNCTION {17144A84}>)) 
    21   2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<PROGRAM-ERROR {35282BF2}> #<FUNCTION {17144A84}>) 
    22   3: (INVOKE-DEBUGGER #<PROGRAM-ERROR {35282BF2}>) 
    23   4: org.armedbear.lisp.Lisp.error(Lisp.java:381) 
    24   5: org.armedbear.lisp.Function.execute(Function.java:312) 
    25   6: org.armedbear.lisp.Primitive.execute(Primitive.java:113) 
    26   7: (#<STANDARD-GENERIC-FUNCTION SUBMODULE-ROUTES {59FAC3A2}> #<RESTAS::PKG-SUBMODULE {605D3821}>) 
    27   8: (APPLY #<STANDARD-GENERIC-FUNCTION SUBMODULE-ROUTES {59FAC3A2}> (#<RESTAS::PKG-SUBMODULE {605D3821}>)) 
    28   9: (MOP::INITIAL-DISCRIMINATING-FUNCTION #<STANDARD-GENERIC-FUNCTION SUBMODULE-ROUTES {59FAC3A2}> (#<RESTAS::PKG-SUBMODULE {605D3821}>)) 
    29  10: (RESTAS:SUBMODULE-ROUTES #<RESTAS::PKG-SUBMODULE {605D3821}>) 
    30  11: (RESTAS:CONNECT-SUBMODULE #<RESTAS::PKG-SUBMODULE {605D3821}> #<ROUTES:MAPPER {8102FF4}>) 
    31  12: (RESTAS::ADD-TOPLEVEL-SUBMODULE #<RESTAS::PKG-SUBMODULE {605D3821}> NIL 8080) 
    32  13: (RESTAS:START #:RESTAS.EXAMPLE-1 :PORT 8080) 
    33 }}} 
     25then