From 7a9812209d94bdfbef22fff8a9a78cc4ed81966e Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 24 Oct 2016 01:19:46 +0000 Subject: [PATCH] complex.c: undefine clamp * 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] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ complex.c | 1 + test/ruby/test_complex.rb | 1 + 3 files changed, 9 insertions(+) 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))