SET-INHIBIT-WARNINGS.html -- ACL2 Version 6.3

## SET-INHIBIT-WARNINGS

control warnings

    Major Section:  SWITCHES-PARAMETERS-AND-MODES

    Examples:
    (set-inhibit-warnings "theory" "use")

Note: This is an event! It does not print the usual event summary but nevertheless changes the ACL2 logical world and is so recorded. It is `local` to the book or `encapsulate` form in which it occurs; see set-inhibit-warnings! for a corresponding non-`local` event. Indeed, `(set-inhibit-warnings ...)` is equivalent to `(local (set-inhibit-warnings! ...))`.

    General Form:
    (set-inhibit-warnings string1 string2 ...)

where each string is considered without regard to case. This macro is equivalent to `(local (table inhibit-warnings-table nil 'lst :clear))`, where `lst` is the list of strings supplied. This macro is an event (see table), but no output results from a `set-inhibit-warnings` event.

ACL2 prints warnings that may, from time to time, seem excessive to experienced users. Each warning is ``labeled'' with a string identifying the type of warning. Consider for example

    ACL2 Warning [Use] in ( THM ...):  It is unusual to :USE ....

Here, the label is "Use". The argument list for `set-inhibit-warnings` is a list of such labels, each of which is a string. Any warning is suppressed if its label is a member of this list, where case is ignored, . Thus, for example, the warning above will not be printed after a call of `set-inhibit-warnings` that contains the string, `"Use"` (or any string that is `string-equal` to `"Use"`, such as `"use"` or `"USE"`). In summary: the effect of this event is to suppress any warning whose label is a member of the given argument list, where case is ignored.

The list of currently inhibited warnings is the list of keys in the table named `inhibit-warnings-table`. (The values in the table are irrelevant.) One way to get that value is to get the result from evaluating the following form: `(table-alist 'inhibit-warnings-table (w state))`. Of course, if warnings are inhibited overall -- see set-inhibit-output-lst -- then this value is entirely irrelevant.