Major Section: PROGRAMMING
(Illegal ctx str alist) causes evaluation to halt with a short
message using the ``context'' ctx. An error message is first printed
using the string str and alist alist that are of the same kind
as expected by fmt. See fmt, and see prog2$ for an
example of how to use a related function, hard-error
(see hard-error). Also see er for a macro that provides a unified
way of signaling errors.
The difference between illegal and hard-error is that the former
has a guard of nil while the latter has a guard of t. Thus,
you may want to use illegal rather than hard-error when you intend
to do guard verification at some point, and you expect the guard
to guarantee that the illegal call is never executed.
See prog2$ for an example.