SET-INVISIBLE-FNS-TABLE

set the invisible functions table
Major Section:  SWITCHES-PARAMETERS-AND-MODES

Examples:
(set-invisible-fns-table ((binary-+ unary--)
                          (binary-* unary-/)
                          (unary-- unary--)
                          (unary-/ unary-/)))
(set-invisible-fns-table t) ; restore original invisible-fns-table
Among other things, the setting above has the effect of making unary-- ``invisible'' for the purposes of applying permutative :rewrite rules to binary-+ trees. Thus, arg and (unary-- arg) will be given the same weight and will be permuted so as to be adjacent. The form (invisible-fns-table (w state)) returns the current value of the invisible functions table.

Also see add-invisible-fns and see remove-invisible-fns for events that add to and remove from the invisible functions table, while accounting for macro aliases (see macro-aliases-table).

General Form:
(set-invisible-fns-table alist)
where alist is either t or a true list of pairs, each element of which is of the form (fn ufn1 ... ufnk), where fn is a function symbol and each ufni is a unary function symbol. When alist is t, the initial value of this table is used in its place. Modulo the replacement of alist by the default setting when alist is t, this macro is equivalent to
(table invisible-fns-table nil 'alist :clear)
which is also an event (see table).

Note that set-invisible-fns-table does not evaluate its argument. However, you can call table directly for that purpose. For example,

(set-invisible-fns-table ((binary-+ unary--)
                          (binary-* unary-/)
                          (unary-- unary--)
                          (unary-/ unary-/)))
ie equivalent to the following; see table.
(table invisible-fns-table nil
       (quote ((binary-+ unary--)
               (binary-* unary-/)
               (unary-- unary--)
               (unary-/ unary-/)))
       :clear)

See invisible-fns-table for a description of the invisible functions table.