Program-only
Functions that cannot be in logic mode
Functions are considered to be ``program-only'' when they are in
program mode and they belong to the list (@
program-fns-with-raw-code). For such a function, its
executable-counterpart (see evaluation) always checks the guard. If
the guard fails, then even if guard-checking is off, an error is signaled
because a program-only function is assumed to have an executable-counterpart
that should only execute the raw Lisp definition. Moreover, an error is
always signaled when in safe-mode (e.g., during macroexpansion),
because there is no guarantee that evaluation of the raw Lisp code will be
``safe''.
See safe-mode-cheat-sheet for possible workarounds.