[#25936] [Bug:1.9] [rubygems] $LOAD_PATH includes bin directory — Nobuyoshi Nakada <nobu@...>

Hi,

10 messages 2009/10/05

[#25943] Disabling tainting — Tony Arcieri <tony@...>

Would it make sense to have a flag passed to the interpreter on startup that

16 messages 2009/10/05

[#26028] [Bug #2189] Math.atanh(1) & Math.atanh(-1) should not raise an error — Marc-Andre Lafortune <redmine@...>

Bug #2189: Math.atanh(1) & Math.atanh(-1) should not raise an error

14 messages 2009/10/10

[#26222] [Bug #2250] IO::for_fd() objects' finalization dangerously closes underlying fds — Mike Pomraning <redmine@...>

Bug #2250: IO::for_fd() objects' finalization dangerously closes underlying fds

11 messages 2009/10/22

[#26244] [Bug #2258] Kernel#require inside rb_require() inside rb_protect() inside SysV context fails — Suraj Kurapati <redmine@...>

Bug #2258: Kernel#require inside rb_require() inside rb_protect() inside SysV context fails

24 messages 2009/10/22

[#26361] [Feature #2294] [PATCH] ruby_bind_stack() to embed Ruby in coroutine — Suraj Kurapati <redmine@...>

Feature #2294: [PATCH] ruby_bind_stack() to embed Ruby in coroutine

42 messages 2009/10/27

[#26371] [Bug #2295] segmentation faults — tomer doron <redmine@...>

Bug #2295: segmentation faults

16 messages 2009/10/27

[ruby-core:25885] [Bug #1939] Ripper doesn't handle local variables

From: Magnus Holm <redmine@...>
Date: 2009-10-01 14:19:05 UTC
List: ruby-core #25885
Issue #1939 has been updated by Magnus Holm.

File patch.diff added

Okay, this turned out to be a lot more easier than I expected.

See the attached diff for a complete patch. http://gist.github.com/198967 is the same patch split up in four different files, so you can more easily review it.

Description of the patches:

0001-test-ripper-test_parser_events.rb-Add-test-case-for.patch:
This patch adds a new test case for the bug. This requires the patch at #2169 in order to run.

0002-parse.y-Ripper-now-uses-a-struct-for-YYSTYPE.patch:
This patch makes Ripper use a struct instead of a union, so we can't get/set both the ID and the VALUE.

0003-parse.y-Expose-lvtbl-to-Ripper.patch:
This patch places makes the required functions visible to Ripper. I've simply placed #endif and #ifndef RIPPER around it (so it's easier to see what's actually changed). In the final patch, these should rather be re-organized. This also defines assignment_var, which is equal to assignable except it doesn't return a NODE.

0004-parse.y-Ripper-now-uses-the-lvtbl.patch:
This patch moves functions like local_push() out of the Ruby-only-macros, and makes sure .id is always called.


Can someone please review these patches? If everything seems fine, I can reorganize the functions, update the ChangeLog and push it to GitHub so Shyuohei can commit it to the SVN repo.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/1939

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

In This Thread