summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/ripper/ripper_init.c.tmpl2
-rw-r--r--internal/parse.h2
-rw-r--r--parse.y4
-rw-r--r--ruby_parser.c2
4 files changed, 5 insertions, 5 deletions
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