mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Extracted repeatedly defined IDs
This commit is contained in:
parent
537e824561
commit
03e7fc895e
Notes:
git
2021-07-27 15:40:53 +09:00
2 changed files with 87 additions and 43 deletions
80
enum.c
80
enum.c
|
@ -27,6 +27,19 @@
|
||||||
VALUE rb_mEnumerable;
|
VALUE rb_mEnumerable;
|
||||||
|
|
||||||
static ID id_next;
|
static ID id_next;
|
||||||
|
static ID id__alone;
|
||||||
|
static ID id__separator;
|
||||||
|
static ID id_chunk_categorize;
|
||||||
|
static ID id_chunk_enumerable;
|
||||||
|
static ID id_sliceafter_enum;
|
||||||
|
static ID id_sliceafter_pat;
|
||||||
|
static ID id_sliceafter_pred;
|
||||||
|
static ID id_slicebefore_enumerable;
|
||||||
|
static ID id_slicebefore_sep_pat;
|
||||||
|
static ID id_slicebefore_sep_pred;
|
||||||
|
static ID id_slicewhen_enum;
|
||||||
|
static ID id_slicewhen_inverted;
|
||||||
|
static ID id_slicewhen_pred;
|
||||||
|
|
||||||
#define id_div idDiv
|
#define id_div idDiv
|
||||||
#define id_each idEach
|
#define id_each idEach
|
||||||
|
@ -3188,8 +3201,8 @@ chunk_ii(RB_BLOCK_CALL_FUNC_ARGLIST(i, _argp))
|
||||||
{
|
{
|
||||||
struct chunk_arg *argp = MEMO_FOR(struct chunk_arg, _argp);
|
struct chunk_arg *argp = MEMO_FOR(struct chunk_arg, _argp);
|
||||||
VALUE v, s;
|
VALUE v, s;
|
||||||
VALUE alone = ID2SYM(rb_intern("_alone"));
|
VALUE alone = ID2SYM(id__alone);
|
||||||
VALUE separator = ID2SYM(rb_intern("_separator"));
|
VALUE separator = ID2SYM(id__separator);
|
||||||
|
|
||||||
ENUM_WANT_SVALUE();
|
ENUM_WANT_SVALUE();
|
||||||
|
|
||||||
|
@ -3241,8 +3254,8 @@ chunk_i(RB_BLOCK_CALL_FUNC_ARGLIST(yielder, enumerator))
|
||||||
VALUE arg;
|
VALUE arg;
|
||||||
struct chunk_arg *memo = NEW_MEMO_FOR(struct chunk_arg, arg);
|
struct chunk_arg *memo = NEW_MEMO_FOR(struct chunk_arg, arg);
|
||||||
|
|
||||||
enumerable = rb_ivar_get(enumerator, rb_intern("chunk_enumerable"));
|
enumerable = rb_ivar_get(enumerator, id_chunk_enumerable);
|
||||||
memo->categorize = rb_ivar_get(enumerator, rb_intern("chunk_categorize"));
|
memo->categorize = rb_ivar_get(enumerator, id_chunk_categorize);
|
||||||
memo->prev_value = Qnil;
|
memo->prev_value = Qnil;
|
||||||
memo->prev_elts = Qnil;
|
memo->prev_elts = Qnil;
|
||||||
memo->yielder = yielder;
|
memo->yielder = yielder;
|
||||||
|
@ -3352,8 +3365,8 @@ enum_chunk(VALUE enumerable)
|
||||||
RETURN_SIZED_ENUMERATOR(enumerable, 0, 0, enum_size);
|
RETURN_SIZED_ENUMERATOR(enumerable, 0, 0, enum_size);
|
||||||
|
|
||||||
enumerator = rb_obj_alloc(rb_cEnumerator);
|
enumerator = rb_obj_alloc(rb_cEnumerator);
|
||||||
rb_ivar_set(enumerator, rb_intern("chunk_enumerable"), enumerable);
|
rb_ivar_set(enumerator, id_chunk_enumerable, enumerable);
|
||||||
rb_ivar_set(enumerator, rb_intern("chunk_categorize"), rb_block_proc());
|
rb_ivar_set(enumerator, id_chunk_categorize, rb_block_proc());
|
||||||
rb_block_call(enumerator, idInitialize, 0, 0, chunk_i, enumerator);
|
rb_block_call(enumerator, idInitialize, 0, 0, chunk_i, enumerator);
|
||||||
return enumerator;
|
return enumerator;
|
||||||
}
|
}
|
||||||
|
@ -3400,9 +3413,9 @@ slicebefore_i(RB_BLOCK_CALL_FUNC_ARGLIST(yielder, enumerator))
|
||||||
VALUE arg;
|
VALUE arg;
|
||||||
struct slicebefore_arg *memo = NEW_MEMO_FOR(struct slicebefore_arg, arg);
|
struct slicebefore_arg *memo = NEW_MEMO_FOR(struct slicebefore_arg, arg);
|
||||||
|
|
||||||
enumerable = rb_ivar_get(enumerator, rb_intern("slicebefore_enumerable"));
|
enumerable = rb_ivar_get(enumerator, id_slicebefore_enumerable);
|
||||||
memo->sep_pred = rb_attr_get(enumerator, rb_intern("slicebefore_sep_pred"));
|
memo->sep_pred = rb_attr_get(enumerator, id_slicebefore_sep_pred);
|
||||||
memo->sep_pat = NIL_P(memo->sep_pred) ? rb_ivar_get(enumerator, rb_intern("slicebefore_sep_pat")) : Qnil;
|
memo->sep_pat = NIL_P(memo->sep_pred) ? rb_ivar_get(enumerator, id_slicebefore_sep_pat) : Qnil;
|
||||||
memo->prev_elts = Qnil;
|
memo->prev_elts = Qnil;
|
||||||
memo->yielder = yielder;
|
memo->yielder = yielder;
|
||||||
|
|
||||||
|
@ -3566,15 +3579,15 @@ enum_slice_before(int argc, VALUE *argv, VALUE enumerable)
|
||||||
if (argc != 0)
|
if (argc != 0)
|
||||||
rb_error_arity(argc, 0, 0);
|
rb_error_arity(argc, 0, 0);
|
||||||
enumerator = rb_obj_alloc(rb_cEnumerator);
|
enumerator = rb_obj_alloc(rb_cEnumerator);
|
||||||
rb_ivar_set(enumerator, rb_intern("slicebefore_sep_pred"), rb_block_proc());
|
rb_ivar_set(enumerator, id_slicebefore_sep_pred, rb_block_proc());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
VALUE sep_pat;
|
VALUE sep_pat;
|
||||||
rb_scan_args(argc, argv, "1", &sep_pat);
|
rb_scan_args(argc, argv, "1", &sep_pat);
|
||||||
enumerator = rb_obj_alloc(rb_cEnumerator);
|
enumerator = rb_obj_alloc(rb_cEnumerator);
|
||||||
rb_ivar_set(enumerator, rb_intern("slicebefore_sep_pat"), sep_pat);
|
rb_ivar_set(enumerator, id_slicebefore_sep_pat, sep_pat);
|
||||||
}
|
}
|
||||||
rb_ivar_set(enumerator, rb_intern("slicebefore_enumerable"), enumerable);
|
rb_ivar_set(enumerator, id_slicebefore_enumerable, enumerable);
|
||||||
rb_block_call(enumerator, idInitialize, 0, 0, slicebefore_i, enumerator);
|
rb_block_call(enumerator, idInitialize, 0, 0, slicebefore_i, enumerator);
|
||||||
return enumerator;
|
return enumerator;
|
||||||
}
|
}
|
||||||
|
@ -3630,9 +3643,9 @@ sliceafter_i(RB_BLOCK_CALL_FUNC_ARGLIST(yielder, enumerator))
|
||||||
VALUE arg;
|
VALUE arg;
|
||||||
struct sliceafter_arg *memo = NEW_MEMO_FOR(struct sliceafter_arg, arg);
|
struct sliceafter_arg *memo = NEW_MEMO_FOR(struct sliceafter_arg, arg);
|
||||||
|
|
||||||
enumerable = rb_ivar_get(enumerator, rb_intern("sliceafter_enum"));
|
enumerable = rb_ivar_get(enumerator, id_sliceafter_enum);
|
||||||
memo->pat = rb_ivar_get(enumerator, rb_intern("sliceafter_pat"));
|
memo->pat = rb_ivar_get(enumerator, id_sliceafter_pat);
|
||||||
memo->pred = rb_attr_get(enumerator, rb_intern("sliceafter_pred"));
|
memo->pred = rb_attr_get(enumerator, id_sliceafter_pred);
|
||||||
memo->prev_elts = Qnil;
|
memo->prev_elts = Qnil;
|
||||||
memo->yielder = yielder;
|
memo->yielder = yielder;
|
||||||
|
|
||||||
|
@ -3695,9 +3708,9 @@ enum_slice_after(int argc, VALUE *argv, VALUE enumerable)
|
||||||
}
|
}
|
||||||
|
|
||||||
enumerator = rb_obj_alloc(rb_cEnumerator);
|
enumerator = rb_obj_alloc(rb_cEnumerator);
|
||||||
rb_ivar_set(enumerator, rb_intern("sliceafter_enum"), enumerable);
|
rb_ivar_set(enumerator, id_sliceafter_enum, enumerable);
|
||||||
rb_ivar_set(enumerator, rb_intern("sliceafter_pat"), pat);
|
rb_ivar_set(enumerator, id_sliceafter_pat, pat);
|
||||||
rb_ivar_set(enumerator, rb_intern("sliceafter_pred"), pred);
|
rb_ivar_set(enumerator, id_sliceafter_pred, pred);
|
||||||
|
|
||||||
rb_block_call(enumerator, idInitialize, 0, 0, sliceafter_i, enumerator);
|
rb_block_call(enumerator, idInitialize, 0, 0, sliceafter_i, enumerator);
|
||||||
return enumerator;
|
return enumerator;
|
||||||
|
@ -3760,12 +3773,12 @@ slicewhen_i(RB_BLOCK_CALL_FUNC_ARGLIST(yielder, enumerator))
|
||||||
struct slicewhen_arg *memo =
|
struct slicewhen_arg *memo =
|
||||||
NEW_PARTIAL_MEMO_FOR(struct slicewhen_arg, arg, inverted);
|
NEW_PARTIAL_MEMO_FOR(struct slicewhen_arg, arg, inverted);
|
||||||
|
|
||||||
enumerable = rb_ivar_get(enumerator, rb_intern("slicewhen_enum"));
|
enumerable = rb_ivar_get(enumerator, id_slicewhen_enum);
|
||||||
memo->pred = rb_attr_get(enumerator, rb_intern("slicewhen_pred"));
|
memo->pred = rb_attr_get(enumerator, id_slicewhen_pred);
|
||||||
memo->prev_elt = Qundef;
|
memo->prev_elt = Qundef;
|
||||||
memo->prev_elts = Qnil;
|
memo->prev_elts = Qnil;
|
||||||
memo->yielder = yielder;
|
memo->yielder = yielder;
|
||||||
memo->inverted = RTEST(rb_attr_get(enumerator, rb_intern("slicewhen_inverted")));
|
memo->inverted = RTEST(rb_attr_get(enumerator, id_slicewhen_inverted));
|
||||||
|
|
||||||
rb_block_call(enumerable, id_each, 0, 0, slicewhen_ii, arg);
|
rb_block_call(enumerable, id_each, 0, 0, slicewhen_ii, arg);
|
||||||
memo = MEMO_FOR(struct slicewhen_arg, arg);
|
memo = MEMO_FOR(struct slicewhen_arg, arg);
|
||||||
|
@ -3845,9 +3858,9 @@ enum_slice_when(VALUE enumerable)
|
||||||
pred = rb_block_proc();
|
pred = rb_block_proc();
|
||||||
|
|
||||||
enumerator = rb_obj_alloc(rb_cEnumerator);
|
enumerator = rb_obj_alloc(rb_cEnumerator);
|
||||||
rb_ivar_set(enumerator, rb_intern("slicewhen_enum"), enumerable);
|
rb_ivar_set(enumerator, id_slicewhen_enum, enumerable);
|
||||||
rb_ivar_set(enumerator, rb_intern("slicewhen_pred"), pred);
|
rb_ivar_set(enumerator, id_slicewhen_pred, pred);
|
||||||
rb_ivar_set(enumerator, rb_intern("slicewhen_inverted"), Qfalse);
|
rb_ivar_set(enumerator, id_slicewhen_inverted, Qfalse);
|
||||||
|
|
||||||
rb_block_call(enumerator, idInitialize, 0, 0, slicewhen_i, enumerator);
|
rb_block_call(enumerator, idInitialize, 0, 0, slicewhen_i, enumerator);
|
||||||
return enumerator;
|
return enumerator;
|
||||||
|
@ -3911,9 +3924,9 @@ enum_chunk_while(VALUE enumerable)
|
||||||
pred = rb_block_proc();
|
pred = rb_block_proc();
|
||||||
|
|
||||||
enumerator = rb_obj_alloc(rb_cEnumerator);
|
enumerator = rb_obj_alloc(rb_cEnumerator);
|
||||||
rb_ivar_set(enumerator, rb_intern("slicewhen_enum"), enumerable);
|
rb_ivar_set(enumerator, id_slicewhen_enum, enumerable);
|
||||||
rb_ivar_set(enumerator, rb_intern("slicewhen_pred"), pred);
|
rb_ivar_set(enumerator, id_slicewhen_pred, pred);
|
||||||
rb_ivar_set(enumerator, rb_intern("slicewhen_inverted"), Qtrue);
|
rb_ivar_set(enumerator, id_slicewhen_inverted, Qtrue);
|
||||||
|
|
||||||
rb_block_call(enumerator, idInitialize, 0, 0, slicewhen_i, enumerator);
|
rb_block_call(enumerator, idInitialize, 0, 0, slicewhen_i, enumerator);
|
||||||
return enumerator;
|
return enumerator;
|
||||||
|
@ -4469,5 +4482,18 @@ Init_Enumerable(void)
|
||||||
rb_define_method(rb_mEnumerable, "uniq", enum_uniq, 0);
|
rb_define_method(rb_mEnumerable, "uniq", enum_uniq, 0);
|
||||||
rb_define_method(rb_mEnumerable, "compact", enum_compact, 0);
|
rb_define_method(rb_mEnumerable, "compact", enum_compact, 0);
|
||||||
|
|
||||||
|
id__alone = rb_intern_const("_alone");
|
||||||
|
id__separator = rb_intern_const("_separator");
|
||||||
|
id_chunk_categorize = rb_intern_const("chunk_categorize");
|
||||||
|
id_chunk_enumerable = rb_intern_const("chunk_enumerable");
|
||||||
id_next = rb_intern_const("next");
|
id_next = rb_intern_const("next");
|
||||||
|
id_sliceafter_enum = rb_intern_const("sliceafter_enum");
|
||||||
|
id_sliceafter_pat = rb_intern_const("sliceafter_pat");
|
||||||
|
id_sliceafter_pred = rb_intern_const("sliceafter_pred");
|
||||||
|
id_slicebefore_enumerable = rb_intern_const("slicebefore_enumerable");
|
||||||
|
id_slicebefore_sep_pat = rb_intern_const("slicebefore_sep_pat");
|
||||||
|
id_slicebefore_sep_pred = rb_intern_const("slicebefore_sep_pred");
|
||||||
|
id_slicewhen_enum = rb_intern_const("slicewhen_enum");
|
||||||
|
id_slicewhen_inverted = rb_intern_const("slicewhen_inverted");
|
||||||
|
id_slicewhen_pred = rb_intern_const("slicewhen_pred");
|
||||||
}
|
}
|
||||||
|
|
50
transcode.c
50
transcode.c
|
@ -33,6 +33,15 @@ static VALUE rb_eConverterNotFoundError;
|
||||||
|
|
||||||
VALUE rb_cEncodingConverter;
|
VALUE rb_cEncodingConverter;
|
||||||
|
|
||||||
|
static ID id_destination_encoding;
|
||||||
|
static ID id_destination_encoding_name;
|
||||||
|
static ID id_error_bytes;
|
||||||
|
static ID id_error_char;
|
||||||
|
static ID id_incomplete_input;
|
||||||
|
static ID id_readagain_bytes;
|
||||||
|
static ID id_source_encoding;
|
||||||
|
static ID id_source_encoding_name;
|
||||||
|
|
||||||
static VALUE sym_invalid, sym_undef, sym_replace, sym_fallback;
|
static VALUE sym_invalid, sym_undef, sym_replace, sym_fallback;
|
||||||
static VALUE sym_xml, sym_text, sym_attr;
|
static VALUE sym_xml, sym_text, sym_attr;
|
||||||
static VALUE sym_universal_newline;
|
static VALUE sym_universal_newline;
|
||||||
|
@ -2068,9 +2077,9 @@ make_econv_exception(rb_econv_t *ec)
|
||||||
}
|
}
|
||||||
|
|
||||||
exc = rb_exc_new3(rb_eInvalidByteSequenceError, mesg);
|
exc = rb_exc_new3(rb_eInvalidByteSequenceError, mesg);
|
||||||
rb_ivar_set(exc, rb_intern("error_bytes"), bytes);
|
rb_ivar_set(exc, id_error_bytes, bytes);
|
||||||
rb_ivar_set(exc, rb_intern("readagain_bytes"), bytes2);
|
rb_ivar_set(exc, id_readagain_bytes, bytes2);
|
||||||
rb_ivar_set(exc, rb_intern("incomplete_input"), ec->last_error.result == econv_incomplete_input ? Qtrue : Qfalse);
|
rb_ivar_set(exc, id_incomplete_input, ec->last_error.result == econv_incomplete_input ? Qtrue : Qfalse);
|
||||||
goto set_encs;
|
goto set_encs;
|
||||||
}
|
}
|
||||||
if (ec->last_error.result == econv_undefined_conversion) {
|
if (ec->last_error.result == econv_undefined_conversion) {
|
||||||
|
@ -2119,20 +2128,20 @@ make_econv_exception(rb_econv_t *ec)
|
||||||
idx = rb_enc_find_index(ec->last_error.source_encoding);
|
idx = rb_enc_find_index(ec->last_error.source_encoding);
|
||||||
if (0 <= idx)
|
if (0 <= idx)
|
||||||
rb_enc_associate_index(bytes, idx);
|
rb_enc_associate_index(bytes, idx);
|
||||||
rb_ivar_set(exc, rb_intern("error_char"), bytes);
|
rb_ivar_set(exc, id_error_char, bytes);
|
||||||
goto set_encs;
|
goto set_encs;
|
||||||
}
|
}
|
||||||
return Qnil;
|
return Qnil;
|
||||||
|
|
||||||
set_encs:
|
set_encs:
|
||||||
rb_ivar_set(exc, rb_intern("source_encoding_name"), rb_str_new2(ec->last_error.source_encoding));
|
rb_ivar_set(exc, id_source_encoding_name, rb_str_new2(ec->last_error.source_encoding));
|
||||||
rb_ivar_set(exc, rb_intern("destination_encoding_name"), rb_str_new2(ec->last_error.destination_encoding));
|
rb_ivar_set(exc, id_destination_encoding_name, rb_str_new2(ec->last_error.destination_encoding));
|
||||||
int idx = rb_enc_find_index(ec->last_error.source_encoding);
|
int idx = rb_enc_find_index(ec->last_error.source_encoding);
|
||||||
if (0 <= idx)
|
if (0 <= idx)
|
||||||
rb_ivar_set(exc, rb_intern("source_encoding"), rb_enc_from_encoding(rb_enc_from_index(idx)));
|
rb_ivar_set(exc, id_source_encoding, rb_enc_from_encoding(rb_enc_from_index(idx)));
|
||||||
idx = rb_enc_find_index(ec->last_error.destination_encoding);
|
idx = rb_enc_find_index(ec->last_error.destination_encoding);
|
||||||
if (0 <= idx)
|
if (0 <= idx)
|
||||||
rb_ivar_set(exc, rb_intern("destination_encoding"), rb_enc_from_encoding(rb_enc_from_index(idx)));
|
rb_ivar_set(exc, id_destination_encoding, rb_enc_from_encoding(rb_enc_from_index(idx)));
|
||||||
return exc;
|
return exc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4262,7 +4271,7 @@ rb_econv_check_error(rb_econv_t *ec)
|
||||||
static VALUE
|
static VALUE
|
||||||
ecerr_source_encoding_name(VALUE self)
|
ecerr_source_encoding_name(VALUE self)
|
||||||
{
|
{
|
||||||
return rb_attr_get(self, rb_intern("source_encoding_name"));
|
return rb_attr_get(self, id_source_encoding_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4288,7 +4297,7 @@ ecerr_source_encoding_name(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ecerr_source_encoding(VALUE self)
|
ecerr_source_encoding(VALUE self)
|
||||||
{
|
{
|
||||||
return rb_attr_get(self, rb_intern("source_encoding"));
|
return rb_attr_get(self, id_source_encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4300,7 +4309,7 @@ ecerr_source_encoding(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ecerr_destination_encoding_name(VALUE self)
|
ecerr_destination_encoding_name(VALUE self)
|
||||||
{
|
{
|
||||||
return rb_attr_get(self, rb_intern("destination_encoding_name"));
|
return rb_attr_get(self, id_destination_encoding_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4312,7 +4321,7 @@ ecerr_destination_encoding_name(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ecerr_destination_encoding(VALUE self)
|
ecerr_destination_encoding(VALUE self)
|
||||||
{
|
{
|
||||||
return rb_attr_get(self, rb_intern("destination_encoding"));
|
return rb_attr_get(self, id_destination_encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4333,7 +4342,7 @@ ecerr_destination_encoding(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ecerr_error_char(VALUE self)
|
ecerr_error_char(VALUE self)
|
||||||
{
|
{
|
||||||
return rb_attr_get(self, rb_intern("error_char"));
|
return rb_attr_get(self, id_error_char);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4354,7 +4363,7 @@ ecerr_error_char(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ecerr_error_bytes(VALUE self)
|
ecerr_error_bytes(VALUE self)
|
||||||
{
|
{
|
||||||
return rb_attr_get(self, rb_intern("error_bytes"));
|
return rb_attr_get(self, id_error_bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4366,7 +4375,7 @@ ecerr_error_bytes(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ecerr_readagain_bytes(VALUE self)
|
ecerr_readagain_bytes(VALUE self)
|
||||||
{
|
{
|
||||||
return rb_attr_get(self, rb_intern("readagain_bytes"));
|
return rb_attr_get(self, id_readagain_bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4396,7 +4405,7 @@ ecerr_readagain_bytes(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ecerr_incomplete_input(VALUE self)
|
ecerr_incomplete_input(VALUE self)
|
||||||
{
|
{
|
||||||
return rb_attr_get(self, rb_intern("incomplete_input"));
|
return rb_attr_get(self, id_incomplete_input);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4426,6 +4435,15 @@ Init_transcode(void)
|
||||||
{
|
{
|
||||||
transcoder_table = st_init_strcasetable();
|
transcoder_table = st_init_strcasetable();
|
||||||
|
|
||||||
|
id_destination_encoding = rb_intern_const("destination_encoding");
|
||||||
|
id_destination_encoding_name = rb_intern_const("destination_encoding_name");
|
||||||
|
id_error_bytes = rb_intern_const("error_bytes");
|
||||||
|
id_error_char = rb_intern_const("error_char");
|
||||||
|
id_incomplete_input = rb_intern_const("incomplete_input");
|
||||||
|
id_readagain_bytes = rb_intern_const("readagain_bytes");
|
||||||
|
id_source_encoding = rb_intern_const("source_encoding");
|
||||||
|
id_source_encoding_name = rb_intern_const("source_encoding_name");
|
||||||
|
|
||||||
sym_invalid = ID2SYM(rb_intern_const("invalid"));
|
sym_invalid = ID2SYM(rb_intern_const("invalid"));
|
||||||
sym_undef = ID2SYM(rb_intern_const("undef"));
|
sym_undef = ID2SYM(rb_intern_const("undef"));
|
||||||
sym_replace = ID2SYM(rb_intern_const("replace"));
|
sym_replace = ID2SYM(rb_intern_const("replace"));
|
||||||
|
|
Loading…
Reference in a new issue