|  | ANSI Common Lisp  9 Conditions  9.2 Dictionary of Conditions 
 
 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
Allegro CL Implementation Details:
 None. |