&restargs → result
The type of method combination used determines which methods can invoke call-next-method. The standard method combination type allows call-next-method to be used within primary methods and around methods.
When call-next-method is called with no arguments, it passes the current method's original arguments to the next method. Neither argument defaulting, nor using setq nor rebinding variables with the same names as parameters of the method affects the values call-next-method passes to the method it calls.
When call-next-method is called with arguments, the next method is called with those arguments.
If call-next-method is called with arguments but omits optional arguments, the next method called defaults those arguments.
Whether or not call-next-method is fbound in the global environment is implementation-dependent; however, the restrictions on redefinition and shadowing of call-next-method are the same as for symbols in the
common-lisp package which are fbound in the global environment. The consequences of attempting to use call-next-method outside of a method-defining form are undefined.
When providing arguments to call-next-method, the following rule must be satisfied or an error of type error
should be signaled: the ordered set of applicable methods for a changed set of arguments for call-next-method must be the same as the ordered set of applicable methods for the original arguments to the generic function. Optimizations of the error checking are possible, but they must not change the semantics of call-next-method.