anchor.diff:  
     action end_feature {
       if (cs < lexer_first_final) {
  -      if (lexer->raise_lexer_error != NULL) {
  +      if (raise_lexer_error != NULL) {
           int count = 0;
           int newstr_count = 0;
           size_t len;
  
positive.code: {
    VALUE obj;
    lexer_state *lxr = ALLOC(lexer_state);
    lxr->store_comment_content = store_comment_content;
    lxr->store_tag_content = store_tag_content;
    lxr->store_feature_content = store_feature_content;
    lxr->store_scenario_content = store_scenario_content;
    lxr->store_scenario_outline_content = store_scenario_outline_content;
    lxr->store_background_content = store_background_content;
    lxr->store_examples_content = store_examples_content;
    lxr->store_step_content = store_step_content;
    lxr->store_pystring_content = store_pystring_content;
    lxr->raise_lexer_error = raise_lexer_error;
    lexer_init(lxr);
  
    obj = Data_Wrap_Struct(klass, NULL, -1, lxr);
  
negative.code:         int line = lexer->line_number;
          lexer_init(lexer); // Otherwise you can't scan again with the same lexer
                               // calling after raising doesn't do the trick.
          raise_lexer_error(listener, newstr, line);
        }
      }
    }
  