Syntax:
warn datum &rest arguments => nil
Arguments and Values:
datum, arguments---designators for a condition of default type simple-warning.
Description:
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:
Examples:
(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
Side Effects:
A warning is issued. The debugger might be entered.
Affected By:
Existing handler bindings.
*break-on-signals*, *error-output*.
Exceptional Situations:
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.
See Also:
*break-on-signals*, muffle-warning, signal
Notes: None.