diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-07-31 05:17:29 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-07-31 05:17:29 +0000 |
commit | e5380bb463df526bc189f13f7453eedc0c20b127 (patch) | |
tree | 93c8c5bce299578212a98cfc2a4ff50b4b3d4dfc | |
parent | a566a44331afeb2c69c72403ac8d901e5b9c1e13 (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-- | ChangeLog | 8 | ||||
-rw-r--r-- | eval.c | 13 | ||||
-rw-r--r-- | time.c | 5 | ||||
-rw-r--r-- | version.h | 4 |
4 files changed, 25 insertions, 5 deletions
@@ -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. @@ -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; @@ -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]); @@ -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 |