          else:
              return list(set([string.lower()]))
          # See Issue #435 for example of where this logic is requied.
          if self.is_base_form(univ_pos, morphology):
              return list(set([string.lower()]))
          lemmas = lemmatize(string, self.index.get(univ_pos, {}),
                             self.exc.get(univ_pos, {}),
                             self.rules.get(univ_pos, []))
          return lemmas
  
 
</s> remove             return list(set([string.lower()]))
 </s> add             return [string.lower()] </s> remove 
cdef int get_action(const TokenPatternC* pattern, const TokenC* token) nogil:
    lookahead = &pattern[1]
    for attr in pattern.attrs[:pattern.nr_attr]:
        if get_token_attr(token, attr.attr) != attr.value:
            if pattern.quantifier == ONE:
                return REJECT
            elif pattern.quantifier == ZERO:
                return ACCEPT if lookahead.nr_attr == 0 else ADVANCE
            elif pattern.quantifier in (ZERO_ONE, ZERO_PLUS):
                return ACCEPT_PREV if lookahead.nr_attr == 0 else ADVANCE_ZERO
            else:
                return PANIC
    if pattern.quantifier == ZERO:
        return REJECT
    elif lookahead.nr_attr == 0:
        return ACCEPT
    elif pattern.quantifier in (ONE, ZERO_ONE):
        return ADVANCE
    elif pattern.quantifier == ZERO_PLUS:
        # This is a bandaid over the 'shadowing' problem described here:
        # https://github.com/explosion/spaCy/issues/864
        next_action = get_action(lookahead, token)
        if next_action is REJECT:
            return REPEAT
        else:
            return ADVANCE_ZERO
    else:
        return PANIC


 </s> add  </s> remove cdef enum action_t:
    REJECT
    ADVANCE
    REPEAT
    ACCEPT
    ADVANCE_ZERO
    ACCEPT_PREV
    PANIC

# A "match expression" conists of one or more token patterns
# Each token pattern consists of a quantifier and 0+ (attr, value) pairs.
# A state is an (int, pattern pointer) pair, where the int is the start
# position, and the pattern pointer shows where we're up to
# in the pattern.

 </s> add 
            return [string.lower()]
          else:
              return list(set([string.lower()]))
          # See Issue #435 for example of where this logic is requied.
          if self.is_base_form(univ_pos, morphology):
            return [string.lower()]
          lemmas = lemmatize(string, self.index.get(univ_pos, {}),
                             self.exc.get(univ_pos, {}),
                             self.rules.get(univ_pos, []))
          return lemmas
  
keep keep keep keep replace keep keep keep keep keep
 Revert "Merge branch 'develop' of https://github.com/explosion/spaCy into develop"

This reverts commit c9ba3d3c2dc7067cf8bd55f878cec45a8c6d73d4, reversing
changes made to 92c26a35d425d4e8ca1b805ea776ea10f5ded3df. 
spacy/lemmatizer.py