Changes between Initial Version and Version 5 of Ticket #199


Ignore:
Timestamp:
02/29/12 09:46:23 (3 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