diff --git a/ChangeLog b/ChangeLog index a1362a6045..9aec88d019 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Oct 24 10:19:44 2016 Nobuyoshi Nakada + + * complex.c (Init_Complex): undefine Complex#clamp, which does not + work like other Comparable methods, because Complex does not + have <=> method. patched by Tim Peters + in [ruby-core:77720]. [Bug #12866] + Sun Oct 23 11:41:41 2016 Nobuyoshi Nakada * include/ruby/encoding.h: include "ruby/ruby.h" explicitly for diff --git a/complex.c b/complex.c index 7a9c56d667..ad1ea8514e 100644 --- a/complex.c +++ b/complex.c @@ -2234,6 +2234,7 @@ Init_Complex(void) rb_undef_method(rb_cComplex, ">"); rb_undef_method(rb_cComplex, ">="); rb_undef_method(rb_cComplex, "between?"); + rb_undef_method(rb_cComplex, "clamp"); rb_undef_method(rb_cComplex, "div"); rb_undef_method(rb_cComplex, "divmod"); rb_undef_method(rb_cComplex, "floor"); diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb index 93d24a194a..2f21c10b3a 100644 --- a/test/ruby/test_complex.rb +++ b/test/ruby/test_complex.rb @@ -755,6 +755,7 @@ class Complex_Test < Test::Unit::TestCase assert_equal(false, c.respond_to?(:>)) assert_equal(false, c.respond_to?(:>=)) assert_equal(false, c.respond_to?(:between?)) + assert_equal(false, c.respond_to?(:clamp)) assert_equal(false, c.respond_to?(:div)) assert_equal(false, c.respond_to?(:divmod)) assert_equal(false, c.respond_to?(:floor))