[armedbear-ticket] [armedbear] #201: &WHOLE broken in DEFINE-METHOD-COMBINATION

armedbear armedbear-devel at common-lisp.net
Tue Mar 13 20:01:28 UTC 2012


#201: &WHOLE broken in DEFINE-METHOD-COMBINATION
----------------------------------------------------------------------------------------------+
 Reporter:  https://www.google.com/accounts/o8/id?id=aitoawlfp20ohzeq8vs4btepsaqltprtaimadeg  |       Owner:  somebody 
     Type:  defect                                                                            |      Status:  new      
 Priority:  minor                                                                             |   Milestone:           
Component:  CLOS                                                                              |     Version:  1.1.0-dev
 Keywords:                                                                                    |  
----------------------------------------------------------------------------------------------+
 I get an error whenever I call a function that uses the simple method
 combination shown here.

 {{{
 CL-USER> (define-method-combination progn-with-whole ()
            ((methods ()))
            (:arguments &whole whole)
            `(progn (format nil "using ~a" ,whole)
                    ,@(mapcar (lambda (method) `(call-method ,method))
                              methods)))
 PROGN-WITH-WHOLE
 CL-USER> (defgeneric test-&whole (x)
            (:method-combination progn-with-whole)
            (:method (x) x))
 #<STANDARD-GENERIC-FUNCTION TEST-&WHOLE {34315D04}>
 CL-USER> (test-&whole 4)
 }}}

 Here is the error:

 {{{
 The value 4 is not of type LIST.
    [Condition of type TYPE-ERROR]

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

 Backtrace:
   0: (#<FUNCTION {C69203}> #<TYPE-ERROR {FE85ADF}> #<FUNCTION {C69203}>)
   1: (APPLY #<FUNCTION {C69203}> (#<TYPE-ERROR {FE85ADF}> #<FUNCTION
 {C69203}>))
   2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<TYPE-ERROR
 {FE85ADF}> #<FUNCTION {C69203}>)
   3: (INVOKE-DEBUGGER #<TYPE-ERROR {FE85ADF}>)
   4: org.armedbear.lisp.Lisp.error(Lisp.java:379)
   5: org.armedbear.lisp.Lisp.type_error(Lisp.java:420)
   6: org.armedbear.lisp.LispObject.car(LispObject.java:156)
   7: org.armedbear.lisp.Lisp.eval(Lisp.java:520)
   8: org.armedbear.lisp.Lisp.evalCall(Lisp.java:559)
   9: org.armedbear.lisp.Lisp.eval(Lisp.java:515)
  10: org.armedbear.lisp.Lisp.progn(Lisp.java:684)
  11:
 org.armedbear.lisp.SpecialOperators$sf_progn.execute(SpecialOperators.java:275)
  12: org.armedbear.lisp.Lisp.eval(Lisp.java:505)
  13: org.armedbear.lisp.Lisp.progn(Lisp.java:684)
  14:
 org.armedbear.lisp.Primitives$sf_macrolet.execute(Primitives.java:3641)
  15: ((LAMBDA (#:G13665) (MACROLET (#) (PROGN # #))) (4))
  16: (FUNCALL (LAMBDA (#:G13665) (MACROLET (#) (PROGN # #))) (4))
  17: (#<STANDARD-GENERIC-FUNCTION TEST-&WHOLE {34315D04}> 4)
  18: (APPLY #<STANDARD-GENERIC-FUNCTION TEST-&WHOLE {34315D04}> (4))
  19: (MOP::INITIAL-DISCRIMINATING-FUNCTION #<STANDARD-GENERIC-FUNCTION
 TEST-&WHOLE {34315D04}> (4))
  20: (#<STANDARD-GENERIC-FUNCTION TEST-&WHOLE {34315D04}> 4)
 }}}

-- 
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/201>
armedbear <http://common-lisp.net/project/armedbear>
armedbear


More information about the armedbear-ticket mailing list