Common Lisp the Language, 2nd Edition
![]()
Next: Restart Functions
Up: Program Interface to
Previous: Finding and
Manipulating

Warnings are a subclass of errors that are conventionally regarded as
``mild.’’
[Function]
warndatum&restarguments
[This supersedes the description of warn given in
section 24.1.-GLS]
Warns about a situation, by signaling a condition of type
warning.
If datum is a condition, then that condition is used
directly. In this case, if the condition is not of type
warning or arguments is non-nil, an error of
type type-error is signaled.
If datum is a condition type (a class or class name), then
the condition used is effectively the result of
(apply #'make-conditiondatumarguments).
This result must be of type warning or an error of type
type-error is signaled.
If datum is a string, then the condition used is effectively the result of
(make-condition 'simple-error
:format-string datum
:format-arguments arguments)
The precise mechanism for warning is as follows.
The warning condition is signaled.
While the warning condition is being signaled, the
muffle-warning restart is established for use by a handler
to bypass further action by warn (that is, to cause
warn to immediately return nil).
As part of the signaling process, if
(typepcondition*break-on-signals*)
is true, then a break will occur prior to beginning the
signaling process.
If no handlers for the warning condition are found, or if all
such handlers decline, then the condition will be reported to
*error-output* by the warn function (with
possible implementation-specific extra output such as motion to a fresh
line before or after the display of the warning, or supplying some
introductory text mentioning the name of the function that called
warn or the fact that this is a warning).
The value returned by warn (if it returns) is
nil.
![]()
Next: Restart Functions
Up: Program Interface to
Previous: Finding and
Manipulating
AI.Repository@cs.cmu.edu