All Manuals > LispWorks® User Guide and Reference Manual > 39 The LW-JI Package


verify-lisp-proxies Functions


Verify proxy definition(s).




verify-lisp-proxy &optional do-undefined-method => unbounds, undefined-methods

verify-lisp-proxies &optional do-undefined-method => defs-with-unbounds, defs-with-undefined-methods

A generalized boolean.
A list of lists, each of length 2.
A string or a list or nil.
A list of lists.
A list of lists.

The function verify-lisp-proxy verifies a single proxy definition.

The function verify-lisp-proxies verifies all the proxy definitions that were defined by define-lisp-proxy (but not those created by setup-lisp-proxy).

Verify means two things:

verify-lisp-proxy returns two values:

unbounds reports symbols lacking function definitions. For each list in unbounds, its first element is the method name, and its second element is the symbol that is not fbound. If the default function is not fbound, there is a list where the first element is "Default function".

undefined-methods (if do-undefined-method is non-nil) can be either a string if one of the interfaces cannot be found (the string says that it cannot find an interface and gives its names), or a list. Each element in the list corresponds to an interface. The first element is the interface name, and the rest of the elements are strings specifying methods for which there is no matching method-descs.

verify-lisp-proxies maps through the proxy definitions that were defined by define-lisp-proxy, and verifies each one of them. It returns two values, a list for definitions with symbols are not fbound, and a list for definitions with methods that are undefined. Each item of defs-with-unbounds is a list corresponding to a definition with symbol not fbound, where the cl:car is the definition name and the cl:cdr is the value of unbounds as returned by verify-lisp-proxy. Each item in defs-with-undefined-methods is a cons corresponding to a definition where a method is undefined, where the cl:car is the definition name and the cl:cdr is a string or a list of undefined methods as described above.


Failure to find an interface is a real error, and will cause make-lisp-proxy to signal error when trying to make a proxy. Symbols which are not fbound and missing methods would cause the default function to be called, which may or may not be the intention. Symbols that are not fbound are useful when they are intended to be always overridden, in which case they should be keywords, so verification ignores them.

See also


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:46