[#75687] [Ruby trunk Bug#12416] struct rb_id_table lacks mark function — shyouhei@...
Issue #12416 has been reported by Shyouhei Urabe.
3 messages
2016/05/23
[#75763] [Ruby trunk Feature#12435] Using connect_nonblock to open TCP connections in Net::HTTP#connect — mohamed.m.m.hafez@...
Issue #12435 has been reported by Mohamed Hafez.
3 messages
2016/05/28
[#75774] Errno::EAGAIN thrown by OpenSSL::SSL::SSLSocket#connect_nonblock — Mohamed Hafez <mohamed.m.m.hafez@...>
Hi all, every now and then in my production server, I'm
4 messages
2016/05/30
[#75775] Re: Errno::EAGAIN thrown by OpenSSL::SSL::SSLSocket#connect_nonblock
— Mohamed Hafez <mohamed.m.m.hafez@...>
2016/05/30
Or does MRI's OpenSSL::SSL::SSLSocket#connect_nonblock just return
[#75782] Important: Somewhat backwards-incompatible change (Fwd: [ruby-cvs:62388] duerst:r55225 (trunk): * string.c: Activate full Unicode case mapping for UTF-8) — Martin J. Dürst <duerst@...>
With the change below, I have activated full Unicode case mapping for
4 messages
2016/05/31
[ruby-core:75528] [Ruby trunk Feature#12387] ripper: new parser event for kwrest parameter
From:
k@...
Date:
2016-05-16 11:40:02 UTC
List:
ruby-core #75528
Issue #12387 has been reported by Kazuki Yamaguchi.
----------------------------------------
Feature #12387: ripper: new parser event for kwrest parameter
https://bugs.ruby-lang.org/issues/12387
* Author: Kazuki Yamaguchi
* Status: Open
* Priority: Normal
* Assignee:
----------------------------------------
Ripper does not handle unnamed kwrest parameter well.
~~~ruby
$ ruby -rpp -rripper -e'pp Ripper.sexp("def a(*x, **y) end")'
[:program,
[[:def,
[:@ident, "a", [1, 4]],
[:paren,
[:params,
nil,
nil,
[:rest_param, [:@ident, "x", [1, 7]]],
nil,
nil,
[:@ident, "y", [1, 12]],
nil]],
[:bodystmt, [[:void_stmt]], nil, nil, nil]]]]
$ ruby -rpp -rripper -e'pp Ripper.sexp("def a(*, **) end")'
[:program,
[[:def,
[:@ident, "a", [1, 4]],
[:paren, [:params, nil, nil, [:rest_param, nil], nil, nil, 183, nil]],
[:bodystmt, [[:void_stmt]], nil, nil, nil]]]]
~~~
I expected something meaningful instead of the mysterious number 183. This comes from internal_id() (in parse.y).
There is already 'rest_param' paraer event for non-keyword rest params, so I suggest adding new event 'kwrest_param'. They should work in the same way.
I've attached a patch. With this the parse result will be:
~~~ruby
$ ruby -rpp -rripper -e'pp Ripper.sexp("def a(*x, **y) end")'
[:program,
[[:def,
[:@ident, "a", [1, 4]],
[:paren,
[:params,
nil,
nil,
[:rest_param, [:@ident, "x", [1, 7]]],
nil,
nil,
[:kwrest_param, [:@ident, "y", [1, 12]]],
nil]],
[:bodystmt, [[:void_stmt]], nil, nil, nil]]]]
$ ruby -rpp -rripper -e'pp Ripper.sexp("def a(*, **) end")'
[:program,
[[:def,
[:@ident, "a", [1, 4]],
[:paren,
[:params,
nil,
nil,
[:rest_param, nil],
nil,
nil,
[:kwrest_param, nil],
nil]],
[:bodystmt, [[:void_stmt]], nil, nil, nil]]]]
~~~
---Files--------------------------------
0001-ripper-dispatch-new-parser-event-kwrest_param-on-f_k.patch (3.6 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>