Common Lisp the Language
2nd Edition

Warnings
are a subclass of errors that are conventionally regarded as ``mild.''
[Function]
warn datum &rest arguments
[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-condition datum arguments). 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.
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 (typep condition *break-on-signals*) is true then a break will occur prior to beginning the signaling process.