Opened 12 years ago

Closed 11 years ago

#254 closed defect (fixed)

define-method-combination does not recognize full set of argument lambda list keywords

Reported by: james.anderson Owned by: gb
Priority: major Milestone:
Component: ANSI CL Compliance Version: unspecific
Keywords: Cc:

Description (last modified by gb)

Welcome to Clozure Common Lisp Version 1.2-r8591:8592MS  (DarwinPPC32)!
? (define-method-combination standard+ ()
         ((around (:around))
          (before (:before))
          (primary () :required t)
          (after (:after)))
   (:arguments &optional args)

   (flet ((call-methods (methods)
            (mapcar #'(lambda (method)
                        `(call-method ,method))
                    methods)))
     (let ((form (if (or before after (rest primary))
                     `(multiple-value-prog1
                        (progn ,@(call-methods before)
                               (call-method ,(first primary)
                                            ,(rest primary)))
                        ,@(call-methods (reverse after)))
                     `(call-method ,(first primary)))))
        `(progn (print ,args)
       ,(if around
           `(call-method ,(first around)
                         (,@(rest around)
                          (make-method ,form)))
           form)))))
;Compiler warnings :
;   Unused lexical variable &OPTIONAL, in an anonymous lambda form
STANDARD+
? 

Change History (2)

comment:1 Changed 12 years ago by gb

  • Component changed from Compiler to ANSI CL Compliance
  • Description modified (diff)

comment:2 Changed 11 years ago by gz

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in r11139

Note: See TracTickets for help on using tickets.