summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-07-31 05:17:29 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-07-31 05:17:29 +0000
commite5380bb463df526bc189f13f7453eedc0c20b127 (patch)
tree93c8c5bce299578212a98cfc2a4ff50b4b3d4dfc
parenta566a44331afeb2c69c72403ac8d901e5b9c1e13 (diff)
* eval.c (rb_undef): undef should be done for klass, not ruby_class.
* eval.c (error_handle): should handle TAG_THROW as well. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--eval.c13
-rw-r--r--time.c5
-rw-r--r--version.h4
4 files changed, 25 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 25192480ce..b8c9e9ec94 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,16 @@
+Wed Jul 31 14:11:43 2002 Yukihiro Matsumoto <[email protected]>
+
+ * eval.c (rb_undef): undef should be done for klass, not ruby_class.
+
Tue Jul 30 15:24:07 2002 WATANABE Hirofumi <[email protected]>
* ext/tcltklib/stubs.c (ruby_tcltk_stubs): win32_getenv returns
the same address always, so allocate string by ruby_strdup.
+Mon Jul 22 17:23:00 2002 Yukihiro Matsumoto <[email protected]>
+
+ * eval.c (error_handle): should handle TAG_THROW as well.
+
Fri Jul 12 00:51:09 2002 Nobuyoshi Nakada <[email protected]>
* eval.c (rb_eval): fixed line number in string interpolation.
diff --git a/eval.c b/eval.c
index 3ef91ef06d..96f9775f35 100644
--- a/eval.c
+++ b/eval.c
@@ -1118,6 +1118,17 @@ error_handle(ex)
fprintf(stderr, ": retry outside of rescue clause\n");
ex = 1;
break;
+ case TAG_THROW:
+ if (prot_tag && prot_tag->frame && prot_tag->frame->file) {
+ fprintf(stderr, "%s:%d: uncaught throw\n",
+ prot_tag->frame->file, prot_tag->frame->line);
+ }
+ else {
+ error_pos();
+ fprintf(stderr, ": unexpected throw\n");
+ }
+ ex = 1;
+ break;
case TAG_RAISE:
case TAG_FATAL:
if (rb_obj_is_kind_of(ruby_errinfo, rb_eSystemExit)) {
@@ -1566,7 +1577,7 @@ rb_undef(klass, id)
rb_warn("undefining `%s' may cause serious problem",
rb_id2name(id));
}
- body = search_method(ruby_class, id, &origin);
+ body = search_method(klass, id, &origin);
if (!body || !body->nd_body) {
char *s0 = " class";
VALUE c = klass;
diff --git a/time.c b/time.c
index 763b86edef..39e6754dd9 100644
--- a/time.c
+++ b/time.c
@@ -235,11 +235,12 @@ time_arg(argc, argv, tm, usec)
v[4] = argv[1];
v[5] = argv[0];
*usec = 0;
- tm->tm_isdst = RTEST(argv[9]) ? 1 : 0;
+ tm->tm_isdst = RTEST(argv[8]) ? 1 : 0;
}
else {
rb_scan_args(argc, argv, "16", &v[0],&v[1],&v[2],&v[3],&v[4],&v[5],&v[6]);
- *usec = (argc == 7) ? NUM2INT(v[6]) : 0;
+ *usec = NIL_P(v[6]) ? 0 : obj2long(v[6]);
+ tm->tm_isdst = -1;
}
tm->tm_year = obj2long(v[0]);
diff --git a/version.h b/version.h
index 80e63579d7..23057eb959 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
#define RUBY_VERSION "1.6.7"
-#define RUBY_RELEASE_DATE "2002-07-30"
+#define RUBY_RELEASE_DATE "2002-07-31"
#define RUBY_VERSION_CODE 167
-#define RUBY_RELEASE_CODE 20020730
+#define RUBY_RELEASE_CODE 20020731