I want to save a generic function as a variable:
(defvar *gf* (make-instance 'standard-generic-function)
But when adding a method I have to define call-next-method and next-method-p myself:
(add-method *gf*
            (make-instane 'standard-method
                          :function (lambda (args next-methods)
                                      (flet ((call-next-method () ...)
                                             (next-method-p () ...))
                                        (apply (lambda () ...) args)))))
How do I call a method to define call-next-method?
Is there a simpler way to do this?
                        
See MAKE-METHOD-LAMBDA.
If you Google for it, you will find various informations about the function. For example MAKE-METHOD-LAMBDA considered harmful.