Major Section: MISCELLANEOUS
Example and General Form: ACL2 !>:redef+ ACL2 p!>
This command is intended only for system hackers, not typical users. It
sets ld-redefinition-action to '(:warn! . :overwrite), sets the
default defun-mode to :program, and invokes set-state-ok
with value t. It also introduces (defttag :redef+), so that
redefinition of system functions will be permitted; see defttag. Finally,
it removes as untouchable (see push-untouchable) all variables and
functions.
WARNING: If the form (redef+) is used in a book, then including the book
can leave you in a state in which dangerous actions are allowed,
specifically: redefinition, and access to functions and variables normally
prohibited because they are untouchable. To avoid this problem, insert the
form (redef-) into your book after (redef+).
To see the code for redef+, evaluate :trans1 (redef+). This
command is intended for those who are modifying ACL2 source code
definitions. Thus, note that even system functions can be redefined with a
mere warning. Be careful!