As a corollary, for a few months I had one portion of my code which used Sets, and relied on the fact that Sets in 1.9 retain their order because they in turn use a Hash. The only real way I could document this requirement was to put com...adgar (Michael Edgar)
I personally believe `in` belongs as an operator, it should match natural, mathematical, set-inclusion notation, and it should invoke `include?`. Many have discussed how it is just as possible to write "does S include x" as well as "i...adgar (Michael Edgar)
This is a common misconception about the use of bang methods in Ruby. Bang does not indicate that a method mutates its receiver, merely that it should be used with caution. A good writeup on this can be found here: http://dablog.rubyp...adgar (Michael Edgar)
Ack - I missed how nil/self would be caught as vcalls there. As you note, splitting the variable node is necessary. I split 'variable' into 'user_variable' and 'keyword_variable', removing 'variable' entirely (since it would give r/r ...adgar (Michael Edgar)
With the feature freeze coming up in a couple days, is there a chance this sees 1.9.3? It doesn't break any old syntax, only introduces new syntax, and rounds out the label feature of the 1.9 branch nicely.adgar (Michael Edgar)
Ripper always parses the `variable` grammar production (which includes identifiers, {i,c,g}vars, nil, __FILE__, etc) as a `var_ref` node, whose only child is the token itself. This is a problem for one huge reason: local variables loo...adgar (Michael Edgar)
I feel this merits inclusion in Ruby 1.9.3. Otherwise, Ripper will have known user-facing bugs for another point release. A patch has been available for a month and a half, as well. Any chance for an update?adgar (Michael Edgar)
Some technical background: the current issue stems from how the parser must differentiate between local variables and method calls. Presently, local variables are created by the parser upon their introduction (assignment, rescue handlers...adgar (Michael Edgar)