summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog26
-rw-r--r--complex.c2
-rw-r--r--object.c48
-rw-r--r--rational.c2
-rw-r--r--version.h2
5 files changed, 69 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 4faf9ef3e8..c096a9cb8e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+Fri Jan 30 16:49:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * object.c: [DOC] Revise documentation by Marcus Stollsteimer at
+ [ruby-core:66368]. [Bug #10526]
+
+ * #inspect: be more specific about generated string, remove
+ obsolete example.
+ * #nil?: use code examples instead of different call-seq's.
+ * #tap: clarify what is yielded.
+ * Integer(): be more specific about to_int and to_i, remove
+ reference to Ruby 1.8.
+ * Array(): fix error.
+ * Class: fix variable name style and indentation in example.
+ * improve consistency, fix typos and formatting.
+
+Fri Jan 30 16:49:15 2015 Benoit Daloze <eregontp@gmail.com>
+
+ * object.c (Module#const_defined?): [DOC] Revise the documentation.
+ Patch by Xavier Noria.
+ [Fixes GH-754] https://github.com/ruby/ruby/pull/754
+
+Fri Jan 30 16:49:15 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+
+ * object.c: fix document of Kernel.Stirng by @suzukaze
+ [fix GH-743][ci skip]
+
Fri Jan 30 16:26:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* pack.c (str_associate, str_associated): keep associated objects
diff --git a/complex.c b/complex.c
index c4ce2eafe7..ed8924c253 100644
--- a/complex.c
+++ b/complex.c
@@ -483,6 +483,8 @@ f_complex_new2(VALUE klass, VALUE x, VALUE y)
*
* Complex(1, 2) #=> (1+2i)
* Complex('1+2i') #=> (1+2i)
+ * Complex(nil) #=> TypeError
+ * Complex(1, nil) #=> TypeError
*
* Syntax of string form:
*
diff --git a/object.c b/object.c
index b8345dfc97..9812862eb3 100644
--- a/object.c
+++ b/object.c
@@ -2081,15 +2081,40 @@ rb_mod_const_set(VALUE mod, VALUE name, VALUE value)
* call-seq:
* mod.const_defined?(sym, inherit=true) -> true or false
*
- * Checks for a constant with the given name in <i>mod</i>
- * If +inherit+ is set, the lookup will also search
- * the ancestors (and +Object+ if <i>mod</i> is a +Module+.)
+ * Says whether _mod_ or its ancestors have a constant with the given name:
+ *
+ * Float.const_defined?(:EPSILON) #=> true, found in Float itself
+ * Float.const_defined?("String") #=> true, found in Object (ancestor)
+ * BasicObject.const_defined?(:Hash) #=> false
*
- * Returns whether or not a definition is found:
+ * If _mod_ is a +Module+, additionally +Object+ and its ancestors are checked:
+ *
+ * Math.const_defined?(:String) #=> true, found in Object
+ *
+ * In each of the checked classes or modules, if the constant is not present
+ * but there is an autoload for it, +true+ is returned directly without
+ * autoloading:
+ *
+ * module Admin
+ * autoload :User, 'admin/user'
+ * end
+ * Admin.const_defined?(:User) #=> true
+ *
+ * If the constant is not found the callback +const_missing+ is *not* called
+ * and the method returns +false+.
+ *
+ * If +inherit+ is false, the lookup only checks the constants in the receiver:
+ *
+ * IO.const_defined?(:SYNC) #=> true, found in File::Constants (ancestor)
+ * IO.const_defined?(:SYNC, false) #=> false, not found in IO itself
+ *
+ * In this case, the same logic for autoloading applies.
+ *
+ * If the argument is not a valid constant name +NameError+ is raised with the
+ * message "wrong constant name _name_":
+ *
+ * Hash.const_defined? 'foobar' #=> NameError: wrong constant name foobar
*
- * Math.const_defined? "PI" #=> true
- * IO.const_defined? :SYNC #=> true
- * IO.const_defined? :SYNC, false #=> false
*/
static VALUE
@@ -2529,13 +2554,15 @@ rb_Integer(VALUE val)
* In any case, strings should be strictly conformed to numeric
* representation. This behavior is different from that of
* <code>String#to_i</code>. Non string values will be converted using
- * <code>to_int</code>, and <code>to_i</code>.
+ * <code>to_int</code>, and <code>to_i</code>. Passing <code>nil</code>
+ * raises a TypeError.
*
* Integer(123.999) #=> 123
* Integer("0x1a") #=> 26
* Integer(Time.new) #=> 1204973019
* Integer("0930", 10) #=> 930
* Integer("111", 2) #=> 7
+ * Integer(nil) #=> TypeError
*/
static VALUE
@@ -2774,8 +2801,9 @@ rb_String(VALUE val)
* call-seq:
* String(arg) -> string
*
- * Converts <i>arg</i> to a <code>String</code> by calling its
- * <code>to_s</code> method.
+ * Returns <i>arg</i> as an <code>String</code>.
+ *
+ * First tries to call its <code>to_str</code> method, then its <code>to_s</code> method.
*
* String(self) #=> "main"
* String(self.class) #=> "Object"
diff --git a/rational.c b/rational.c
index f359665f7f..02c751fa94 100644
--- a/rational.c
+++ b/rational.c
@@ -571,6 +571,8 @@ f_rational_new_no_reduce2(VALUE klass, VALUE x, VALUE y)
*
* Rational(1, 2) #=> (1/2)
* Rational('1/2') #=> (1/2)
+ * Rational(nil) #=> TypeError
+ * Rational(1, nil) #=> TypeError
*
* Syntax of string form:
*
diff --git a/version.h b/version.h
index ee120e6cff..3e8884577c 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.0.0"
#define RUBY_RELEASE_DATE "2015-01-30"
-#define RUBY_PATCHLEVEL 628
+#define RUBY_PATCHLEVEL 629
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 1