Issue #9048 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 1.9.3: REQUIRED, 2.0.0: REQUIRED to 1.9.3: REQUIRED, 2.0.0: DONE

r43413 is backported to ruby_2_0_0 branch at r43415.
----------------------------------------
Bug #9048: Remove legacy ±(binary) special cases.
https://bugs.ruby-lang.org/issues/9048#change-42601

Author: marcandre (Marc-Andre Lafortune)
Status: Closed
Priority: Low
Assignee: marcandre (Marc-Andre Lafortune)
Category: core
Target version: 
ruby -v: -
Backport: 1.9.3: REQUIRED, 2.0.0: DONE


Is there any reason not to get rid of the following special cases?

    '+(binary)'.to_sym # => :+ when expected :"+(binary)"

The following patch didn't reveal any failure in make test:

diff --git a/parse.y b/parse.y
index 76fc9e7..6550235 100644
--- a/parse.y
+++ b/parse.y
@@ -10045,8 +10045,6 @@ static const struct {
 } op_tbl[] = {
     {tDOT2,    ".."},
     {tDOT3,    "..."},
-    {'+',      "+(binary)"},
-    {'-',      "-(binary)"},
     {tPOW,     "**"},
     {tDSTAR,   "**"},
     {tUPLUS,   "+@"},
diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb
index 7c37c8a..3ea346f 100644
--- a/test/ruby/test_m17n.rb
+++ b/test/ruby/test_m17n.rb
@@ -1230,7 +1230,7 @@ class TestM17N < Test::Unit::TestCase
 
   def test_symbol_op
     ops = %w"
-      .. ... + - +(binary) -(binary) * / % ** +@ -@ | ^ & ! <=> > >= < <= ==
+      .. ... + - * / % ** +@ -@ | ^ & ! <=> > >= < <= ==
       === != =~ !~ ~ ! [] []= << >> :: `
     "
     ops.each do |op|



-- 
http://bugs.ruby-lang.org/