summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-09-12 16:43:31 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-09-12 16:43:31 +0000
commitacdfd915207669e847940cc6a10be3b7218c7857 (patch)
tree5b791f05911c30733dbea3c5eae64e5d119f620c
parentb55e9b7bf5d0e44742f52fa78a44c8eeebc7b18e (diff)
merge revision(s) 42905: [Backport #8884]
* vm_backtrace.c (vm_backtrace_to_ary): Ignore the second argument if it is nil. [Bug #8884] [ruby-core:57094] * test/ruby/test_backtrace.rb (test_caller_with_nil_length): Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--test/ruby/test_backtrace.rb4
-rw-r--r--version.h2
-rw-r--r--vm_backtrace.c2
4 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2061a51323..7d15478fd4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Sep 13 01:09:59 2013 Shota Fukumori <sorah@tubusu.net>
+
+ * vm_backtrace.c (vm_backtrace_to_ary): Ignore the second argument if
+ it is nil. [Bug #8884] [ruby-core:57094]
+
+ * test/ruby/test_backtrace.rb (test_caller_with_nil_length):
+ Test for above.
+
Fri Sep 13 00:57:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* class.c (method_entry_i): should exclude refined methods from
diff --git a/test/ruby/test_backtrace.rb b/test/ruby/test_backtrace.rb
index 6ab9032855..91dec4a943 100644
--- a/test/ruby/test_backtrace.rb
+++ b/test/ruby/test_backtrace.rb
@@ -85,6 +85,10 @@ class TestBacktrace < Test::Unit::TestCase
rec[m]
end
+ def test_caller_with_nil_length
+ assert_equal caller(0), caller(0, nil)
+ end
+
def test_caller_locations
cs = caller(0); locs = caller_locations(0).map{|loc|
loc.to_s
diff --git a/version.h b/version.h
index 536980f69f..c1cfaa40ed 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.0.0"
#define RUBY_RELEASE_DATE "2013-09-13"
-#define RUBY_PATCHLEVEL 307
+#define RUBY_PATCHLEVEL 308
#define RUBY_RELEASE_YEAR 2013
#define RUBY_RELEASE_MONTH 9
diff --git a/vm_backtrace.c b/vm_backtrace.c
index 6b14137acd..f998d6ccf6 100644
--- a/vm_backtrace.c
+++ b/vm_backtrace.c
@@ -787,6 +787,8 @@ vm_backtrace_to_ary(rb_thread_t *th, int argc, VALUE *argv, int lev_default, int
rb_scan_args(argc, argv, "02", &level, &vn);
+ if (argc == 2 && NIL_P(vn)) argc--;
+
switch (argc) {
case 0:
lev = lev_default + lev_plus;