              "suffix_search": lambda b: data.setdefault("suffix_search", b),
              "infix_finditer": lambda b: data.setdefault("infix_finditer", b),
              "token_match": lambda b: data.setdefault("token_match", b),
              "url_match": lambda b: data.setdefault("url_match", b),
              "exceptions": lambda b: data.setdefault("rules", b)
          }
          # reset all properties and flush all caches (through rules),
          # reset rules first so that _reload_special_cases is trivial/fast as
          # the other properties are reset
          self.rules = {}
 
</s> remove             "exceptions": lambda: dict(sorted(self._rules.items()))
 </s> add             "exceptions": lambda: dict(sorted(self._rules.items())),
            "faster_heuristics": lambda: self.faster_heuristics, </s> remove     # TODO next two are unused and should be removed in v4
 </s> add     # TODO convert to bool in v4
    cdef int _faster_heuristics
    # TODO next one is unused and should be removed in v4 </s> remove     cdef int _unused_int1
 </s> add 
            "exceptions": lambda b: data.setdefault("rules", b),
            "faster_heuristics": lambda b: data.setdefault("faster_heuristics", b),
              "suffix_search": lambda b: data.setdefault("suffix_search", b),
              "infix_finditer": lambda b: data.setdefault("infix_finditer", b),
              "token_match": lambda b: data.setdefault("token_match", b),
              "url_match": lambda b: data.setdefault("url_match", b),
            "exceptions": lambda b: data.setdefault("rules", b),
            "faster_heuristics": lambda b: data.setdefault("faster_heuristics", b),
          }
          # reset all properties and flush all caches (through rules),
          # reset rules first so that _reload_special_cases is trivial/fast as
          # the other properties are reset
          self.rules = {}
keep keep keep keep replace keep keep keep keep keep
 Add tokenizer option to allow Matcher handling for all rules (#10452)

* Add tokenizer option to allow Matcher handling for all rules

Add tokenizer option `with_faster_rules_heuristics` that determines
whether the special cases applied by the internal `Matcher` are filtered
by whether they contain affixes or space. If `True` (default), the rules
are filtered to prioritize speed over rare edge cases. If `False`, all
rules are included in the final `Matcher`-based pass over the doc.

* Reset all caches when reloading special cases

* Revert "Reset all caches when reloading special cases"

This reverts commit 4ef6bd171d00da01cbabc3bcde00088ba4bd5578.

* Initialize max_length properly

* Add new tag to API docs

* Rename to faster heuristics 
spacy/tokenizer.pyx