ruby-changes:4408
From: ko1@a...
Date: Fri, 4 Apr 2008 02:21:04 +0900 (JST)
Subject: [ruby-changes:4408] matz - Ruby:r15899 (ruby_1_8): * range.c (range_step): should not round step into integer if
matz 2008-04-04 02:20:48 +0900 (Fri, 04 Apr 2008)
New Revision: 15899
Modified files:
branches/ruby_1_8/ChangeLog
branches/ruby_1_8/range.c
branches/ruby_1_8/version.h
Log:
* range.c (range_step): should not round step into integer if
begin and end are numeric. [ruby-core:15990]
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/range.c?r1=15899&r2=15898&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=15899&r2=15898&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.h?r1=15899&r2=15898&diff_format=u
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog (revision 15898)
+++ ruby_1_8/ChangeLog (revision 15899)
@@ -1,3 +1,8 @@
+Fri Apr 4 02:17:06 2008 Yukihiro Matsumoto <matz@r...>
+
+ * range.c (range_step): should not round step into integer if
+ begin and end are numeric. [ruby-core:15990]
+
Tue Apr 1 14:43:38 2008 Nobuyoshi Nakada <nobu@r...>
* configure.in: get rid of empty expansion.
Index: ruby_1_8/version.h
===================================================================
--- ruby_1_8/version.h (revision 15898)
+++ ruby_1_8/version.h (revision 15899)
@@ -1,7 +1,7 @@
#define RUBY_VERSION "1.8.6"
-#define RUBY_RELEASE_DATE "2008-04-01"
+#define RUBY_RELEASE_DATE "2008-04-03"
#define RUBY_VERSION_CODE 186
-#define RUBY_RELEASE_CODE 20080401
+#define RUBY_RELEASE_CODE 20080403
#define RUBY_PATCHLEVEL 5000
#define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 6
#define RUBY_RELEASE_YEAR 2008
#define RUBY_RELEASE_MONTH 4
-#define RUBY_RELEASE_DAY 1
+#define RUBY_RELEASE_DAY 3
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8/range.c
===================================================================
--- ruby_1_8/range.c (revision 15898)
+++ ruby_1_8/range.c (revision 15899)
@@ -322,7 +322,6 @@
else {
VALUE tmp = rb_to_int(step);
unit = rb_cmpint(tmp, step, INT2FIX(0));
- step = tmp;
}
if (unit < 0) {
rb_raise(rb_eArgError, "step can't be negative");
@@ -354,8 +353,10 @@
rb_iterate((VALUE(*)_((VALUE)))str_step, (VALUE)args, step_i,
(VALUE)iter);
}
- else if (rb_obj_is_kind_of(b, rb_cNumeric)) {
- ID c = rb_intern(EXCL(range) ? "<" : "<=");
+ else if (rb_obj_is_kind_of(b, rb_cNumeric) ||
+ !NIL_P(rb_check_to_integer(b, "to_int")) ||
+ !NIL_P(rb_check_to_integer(e, "to_int"))) {
+ ID c = EXCL(range) ? '<' : rb_intern("<=");
while (RTEST(rb_funcall(b, c, 1, e))) {
rb_yield(b);
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/