Contents (package MULK.OBJECTIVE-CL)

Function SUPER


Send a super message to the receiver of the current message.


super &rest args

Arguments and Values:

args --- a list.


A super call is only valid inside the body of a method defined by means of define-objective-c-method. In this case, the Objective-C method of the same name defined in the superclass of the class specialised over by the method is called. In other words, a super call is made.

The behaviour is similar in spirit to calling call-next-method in the body of a standard-method except that it will be done by the Objective-C runtime, thereby ignoring any pure-Lisp superclasses. super is therefore single-inheritance only.

If super is called with no arguments, the original method arguments are passed to the super method. Otherwise, the supplied arguments are passed.


Do not call call-next-method in the body of an objective-c-method. Its behaviour is quite different from super, ill-defined, and probably not desirable anyway.


(define-objective-c-method #/characterAtIndex: :short ((self ns::my-string) (index :unsigned-long))  
  (if (weird-string-p self)  
      (super (1+ index))