diff --git a/parse.y b/parse.y index e043e99e2e..a025a51db7 100644 --- a/parse.y +++ b/parse.y @@ -6739,9 +6739,7 @@ parser_prepare(struct parser_params *parser) #define ambiguous_operator(op, syn) dispatch2(operator_ambiguous, ripper_intern(op), rb_str_new_cstr(syn)) #endif #define warn_balanced(op, syn) ((void) \ - (last_state != EXPR_CLASS && last_state != EXPR_DOT && \ - last_state != EXPR_FNAME && last_state != EXPR_ENDFN && \ - last_state != EXPR_ENDARG && \ + (!(last_state & (EXPR_CLASS|EXPR_DOT|EXPR_FNAME|EXPR_ENDFN|EXPR_ENDARG)) && \ space_seen && !ISSPACE(c) && \ (ambiguous_operator(op, syn), 0)))