Bug #4001: RubyVM::InstructionSequence.compile can not take the 5th argument
http://redmine.ruby-lang.org/issues/show/4001

Author: Yutaka HARA
Status: Open, Priority: Normal
Assigned to: Koichi Sasada, Category: YARV
ruby -v: 1.9.2p0

InstructionSequence.compile takes src, file, path, line, opt
as the arguments, but raises ArgumentError when opt is given.

Example:

  $ ruby -e 'p RubyVM::InstructionSequence.compile("", "", "", 1, {})'
  -e:1:in `compile': wrong number of arguments (5 for 1..4) (ArgumentError)

Patch:

Index: iseq.c
===================================================================
--- iseq.c      (revision 29626)
+++ iseq.c      (working copy)
@@ -581,7 +581,7 @@
 
     rb_secure(1);
 
-    rb_scan_args(argc, argv, "13", &src, &file, &path, &line, &opt);
+    rb_scan_args(argc, argv, "14", &src, &file, &path, &line, &opt);
     if (NIL_P(file)) file = rb_str_new2("<compiled>");
     if (NIL_P(line)) line = INT2FIX(1);


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