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 @(...).
