disable [ -afmprs ] name ...
       Temporarily disable the named hash table elements or patterns.  The
       default is to disable builtin commands.  This allows you to use an
       external command with the same name as a builtin command.  The -a
       option causes disable to act on regular or global aliases.  The -s
       option causes disable to act on suffix aliases.  The -f option
       causes disable to act on shell functions.  The -r options causes
       disable to act on reserved words.  Without arguments all disabled
       hash table elements from the corresponding hash table are printed.
       With the -m flag the arguments are taken as patterns (which should
       be quoted to prevent them from undergoing filename expansion), and
       all hash table elements from the corresponding hash table matching
       these patterns are disabled.  Disabled objects can be enabled with
       the enable command.

       With the option -p, name ... refer to elements of the shell's
       pattern syntax as described in the section `Filename Generation'.
       Certain elements can be disabled separately, as given below.

       Note that patterns not allowed by the current settings for the
       options EXTENDED_GLOB, KSH_GLOB and SH_GLOB are never enabled,
       regardless of the setting here.  For example, if EXTENDED_GLOB is
       not active, the pattern ^ is ineffective even if `disable -p "^"'
       has not been issued.  The list below indicates any option settings
       that restrict the use of the pattern.  It should be noted that
       setting SH_GLOB has a wider effect than merely disabling patterns as
       certain expressions, in particular those involving parentheses, are
       parsed differently.

       The following patterns may be disabled; all the strings need quoting
       on the command line to prevent them from being interpreted
       immediately as patterns and the patterns are shown below in single
       quotes as a reminder.

       '?'    The pattern character ? wherever it occurs, including when
              preceding a parenthesis with KSH_GLOB.

       '*'    The pattern character * wherever it occurs, including
              recursive globbing and when preceding a parenthesis with
              KSH_GLOB.

       '['    Character classes.

       '<' (NO_SH_GLOB)
              Numeric ranges.

       '|' (NO_SH_GLOB)
              Alternation in grouped patterns, case statements, or KSH_GLOB
              parenthesised expressions.

       '(' (NO_SH_GLOB)
              Grouping using single parentheses.  Disabling this does not
              disable the use of parentheses for KSH_GLOB where they are
              introduced by a special character, nor for glob qualifiers
              (use `setopt NO_BARE_GLOB_QUAL' to disable glob qualifiers
              that use parentheses only).

       '~' (EXTENDED_GLOB)
              Exclusion in the form A~B.

       '^' (EXTENDED_GLOB)
              Exclusion in the form A^B.

       '#' (EXTENDED_GLOB)
              The pattern character # wherever it occurs, both for
              repetition of a previous pattern and for indicating globbing
              flags.

       '?(' (KSH_GLOB)
              The grouping form ?(...).  Note this is also disabled if '?'
              is disabled.

       '*(' (KSH_GLOB)
              The grouping form *(...).  Note this is also disabled if '*'
              is disabled.

       '+(' (KSH_GLOB)
              The grouping form +(...).

       '!(' (KSH_GLOB)
              The grouping form !(...).

       '@(' (KSH_GLOB)
              The grouping form @(...).
