From 960676a2de16f046be01f0ef54ec4efe93ce612d Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 11 Jul 2000 08:27:06 +0000 Subject: matz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 14 ++++++++++++++ bignum.c | 12 ------------ parse.y | 7 +++++-- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7f5e7af1e9..0cbd999eb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +Tue Jul 11 16:54:17 2000 Yukihiro Matsumoto + + * parse.y (yylex): `@' is no longer a valid instance + variable name. + +Tue Jul 11 01:51:50 2000 Yukihiro Matsumoto + + * bignum.c (rb_big_divmod): should not use Integer(float) for + the right operand. + + * bignum.c (rb_big_remainder): ditto. + + * bignum.c (rb_big_modulo): ditto. + Mon Jul 10 15:27:16 2000 WATANABE Hirofumi * io.c (pipe_finalize): should set rb_last_status when pclose(). diff --git a/bignum.c b/bignum.c index 95de973267..8256276870 100644 --- a/bignum.c +++ b/bignum.c @@ -945,10 +945,6 @@ rb_big_modulo(x, y) case T_BIGNUM: break; - case T_FLOAT: - y = dbl2big(RFLOAT(y)->value); - break; - default: return rb_num_coerce_bin(x, y); } @@ -971,10 +967,6 @@ rb_big_remainder(x, y) case T_BIGNUM: break; - case T_FLOAT: - y = dbl2big(RFLOAT(y)->value); - break; - default: return rb_num_coerce_bin(x, y); } @@ -994,10 +986,6 @@ rb_big_divmod(x, y) y = rb_int2big(FIX2LONG(y)); break; - case T_FLOAT: - y = dbl2big(RFLOAT(y)->value); - break; - case T_BIGNUM: break; diff --git a/parse.y b/parse.y index 615519a908..eb9c5e6198 100644 --- a/parse.y +++ b/parse.y @@ -3432,6 +3432,9 @@ yylex() tokadd('@'); c = nextc(); } + if (ISDIGIT(c)) { + rb_compile_error("`@%c' is not a valid instance variable name", c); + } if (!is_identchar(c)) { pushback(c); return '@'; @@ -3439,8 +3442,8 @@ yylex() break; default: - if (c != '_' && !ISALPHA(c) && !ismbchar(c)) { - rb_compile_error("Invalid char '%c' in expression", c); + if (!is_identchar(c) || ISDIGIT(c)) { + rb_compile_error("Invalid char '%c'(%03o) in expression", c, c); goto retry; } -- cgit v1.2.3