code: private void fetchEscapedValue() {
          if (!left()) newSyntaxException(END_PATTERN_AT_ESCAPE);
          fetch();
  
          switch(c) {
  
          case 'M':
              if (syntax.op2EscCapitalMBarMeta()) {
                  if (!left()) newSyntaxException(END_PATTERN_AT_META);
                  fetch();
                  if (c != '-') newSyntaxException(META_CODE_SYNTAX);
                  if (!left()) newSyntaxException(END_PATTERN_AT_META);
                  fetch();
                  if (c == syntax.metaCharTable.esc) fetchEscapedValue();
                  c = ((c & 0xff) | 0x80);
              } else {
                  fetchEscapedValueBackSlash();
              }
              break;
  
          case 'C':
              if (syntax.op2EscCapitalCBarControl()) {
                  if (!left()) newSyntaxException(END_PATTERN_AT_CONTROL);
                  fetch();
                  if (c != '-') newSyntaxException(CONTROL_CODE_SYNTAX);
                  fetchEscapedValueControl();
              } else {
                  fetchEscapedValueBackSlash();
              }
              break;
  
          case 'c':
              if (syntax.opEscCControl()) {
                  fetchEscapedValueControl();
              }
              /* fall through */
  
          default:
              fetchEscapedValueBackSlash();
          } // switch
      }
docs: /* \M-, \C-, \c, or \...