diff --git a/ext/ripper/ripper_init.c.tmpl b/ext/ripper/ripper_init.c.tmpl index 6b71fca32a..08a9c4860b 100644 --- a/ext/ripper/ripper_init.c.tmpl +++ b/ext/ripper/ripper_init.c.tmpl @@ -188,7 +188,7 @@ ripper_parser_encoding(VALUE vparser) { struct parser_params *p = ripper_parser_params(vparser, false); - return rb_ruby_parser_encoding(p); + return rb_enc_from_encoding(rb_ruby_parser_encoding(p)); } /* diff --git a/internal/parse.h b/internal/parse.h index 73a1c2d1b1..f06020c73f 100644 --- a/internal/parse.h +++ b/internal/parse.h @@ -59,7 +59,7 @@ rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets, VALUE RUBY_SYMBOL_EXPORT_BEGIN -VALUE rb_ruby_parser_encoding(rb_parser_t *p); +rb_encoding *rb_ruby_parser_encoding(rb_parser_t *p); int rb_ruby_parser_end_seen_p(rb_parser_t *p); int rb_ruby_parser_set_yydebug(rb_parser_t *p, int flag); rb_parser_string_t *rb_str_to_parser_string(rb_parser_t *p, VALUE str); diff --git a/parse.y b/parse.y index 3e95bfd51d..602ba050e1 100644 --- a/parse.y +++ b/parse.y @@ -15953,10 +15953,10 @@ rb_ruby_parser_keep_tokens(rb_parser_t *p) p->tokens = rb_parser_ary_new_capa_for_ast_token(p, 10); } -VALUE +rb_encoding * rb_ruby_parser_encoding(rb_parser_t *p) { - return rb_enc_from_encoding(p->enc); + return p->enc; } int diff --git a/ruby_parser.c b/ruby_parser.c index a7d989d493..c4f1d4a019 100644 --- a/ruby_parser.c +++ b/ruby_parser.c @@ -827,7 +827,7 @@ rb_parser_encoding(VALUE vparser) struct ruby_parser *parser; TypedData_Get_Struct(vparser, struct ruby_parser, &ruby_parser_data_type, parser); - return rb_ruby_parser_encoding(parser->parser_params); + return rb_enc_from_encoding(rb_ruby_parser_encoding(parser->parser_params)); } VALUE