warn datum &rest arguments => nil
datum, arguments—designators for a condition of default type simple-warning.
Signals a condition of type warning. If the condition is not handled, reports the condition to error output.
The precise mechanism for warning is as follows:
(defun foo (x)
(let ((result (* x 2)))
(if (not (typep result 'fixnum))
(warn "You're using very big numbers."))
result))
=> FOO
(foo 3)
=> 6
(foo most-positive-fixnum)
|> Warning: You're using very big numbers.
=> 4294967294
(setq *break-on-signals* t)
=> T
(foo most-positive-fixnum)
|> Break: Caveat emptor.
|> To continue, type :CONTINUE followed by an option number.
|> 1: Return from Break.
|> 2: Abort to Lisp Toplevel.
|> Debug> :continue 1
|> Warning: You're using very big numbers.
=> 4294967294
A warning is issued. The debugger might be entered.
Existing handler bindings.
*break-on-signals*, *error-output*.
If datum is a condition and 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, the result of (apply #'make-condition datum arguments) must be of type warning or an error of type type-error is signaled.
*break-on-signals*, muffle-warning , signal