Single-line rescue parsing
there seems to be a bug in parser for single-line rescue statement. It fails in case of multiple assignment statements, keeping operator precedence vs. simple assignment etc.
obj = expression rescue objval
obj = (expression rescue objval)
obj1, obj2 = expression rescue [objval1, objval2]
(obj1, obj2 = expression) rescue [objval1, objval2]
obj += expression rescue objval
obj += (expression rescue objval)
obj = obj + expression rescue objval
obj = (obj + expression) rescue objval
There is already a thread about this issue on ruby-forum.com, even Matz himself is aware and did gave a nod to this problem http://www.ruby-forum.com/topic/152260#671711 , though nothing was done to fix it yet.
I've tried to report about this problem once (http://bugs.ruby-lang.org/issues/8239) but it was ignored for no known reason.