diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | defs/id.def | 2 | ||||
-rw-r--r-- | ext/ripper/eventids2.c | 2 | ||||
-rw-r--r-- | parse.y | 12 |
4 files changed, 13 insertions, 8 deletions
@@ -1,3 +1,8 @@ +Tue Nov 10 18:42:24 2015 Aleksandrs Ledovskis <aleksandrs@ledovskis.lv> + + * defs/id.def, parse.y: Switch internal token name to reflect + current form of safe-call operator. [Fix GH-1090] + Tue Nov 10 18:25:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> * hash.c (rb_hash_to_proc): use rb_func_proc_new to make light diff --git a/defs/id.def b/defs/id.def index c576fbc663..9d336b24a7 100644 --- a/defs/id.def +++ b/defs/id.def @@ -98,7 +98,7 @@ token_ops = %[\ COLON3 :: ANDOP && OROP || - DOTQ &. + ANDDOT &. ] class KeywordError < RuntimeError diff --git a/ext/ripper/eventids2.c b/ext/ripper/eventids2.c index 5b624c2865..04a40e0da7 100644 --- a/ext/ripper/eventids2.c +++ b/ext/ripper/eventids2.c @@ -257,7 +257,7 @@ static const struct token_assoc { {tRSHFT, O(op)}, {tSTAR, O(op)}, {tDSTAR, O(op)}, - {tDOTQ, O(op)}, + {tANDDOT, O(op)}, {tSTRING_BEG, O(tstring_beg)}, {tSTRING_CONTENT, O(tstring_content)}, {tSTRING_DBEG, O(embexpr_beg)}, @@ -371,7 +371,7 @@ static int parser_yyerror(struct parser_params*, const char*); #define ruby_coverage (parser->coverage) #endif -#define CALL_Q_P(q) ((q) == tDOTQ) +#define CALL_Q_P(q) ((q) == tANDDOT) #define NODE_CALL_Q(q) (CALL_Q_P(q) ? NODE_QCALL : NODE_CALL) #define NEW_QCALL(q,r,m,a) NEW_NODE(NODE_CALL_Q(q),r,m,a) @@ -875,7 +875,7 @@ static void token_info_pop(struct parser_params*, const char *token, size_t len) %token tASET RUBY_TOKEN(ASET) "[]=" %token tLSHFT RUBY_TOKEN(LSHFT) "<<" %token tRSHFT RUBY_TOKEN(RSHFT) ">>" -%token tDOTQ RUBY_TOKEN(DOTQ) "&." +%token tANDDOT RUBY_TOKEN(ANDDOT) "&." %token tCOLON2 "::" %token tCOLON3 ":: at EXPR_BEG" %token <id> tOP_ASGN /* +=, -= etc. */ @@ -5117,12 +5117,12 @@ call_op : '.' $$ = ripper_id2sym('.'); %*/ } - | tDOTQ + | tANDDOT { /*%%%*/ - $$ = tDOTQ; + $$ = tANDDOT; /*% - $$ = ripper_id2sym(idDOTQ); + $$ = ripper_id2sym(idANDDOT); %*/ } ; @@ -8278,7 +8278,7 @@ parser_yylex(struct parser_params *parser) } else if (c == '.') { lex_state = EXPR_DOT; - return tDOTQ; + return tANDDOT; } pushback(c); if (IS_SPCARG(c)) { |