aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--parse.y4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a8214aaba4..a9f0de983a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Feb 14 17:38:35 2002 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
+
+ * parse.y: avoid SEGV at OP_ASIGN to pseudo variable.
+
Thu Feb 14 14:13:16 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
* struct.c (Init_Struct): should undefine "allocate" for Struct
diff --git a/parse.y b/parse.y
index dcefb3619b..1545961881 100644
--- a/parse.y
+++ b/parse.y
@@ -427,8 +427,8 @@ stmt : kALIAS fitem {lex_state = EXPR_FNAME;} fitem
}
| var_lhs tOP_ASGN command_call
{
- ID vid = $1->nd_vid;
if ($1) {
+ ID vid = $1->nd_vid;
if ($2 == tOROP) {
$1->nd_value = $3;
$$ = NEW_OP_ASGN_OR(gettable(vid), $1);
@@ -772,8 +772,8 @@ arg : lhs '=' arg
}
| var_lhs tOP_ASGN arg
{
- ID vid = $1->nd_vid;
if ($1) {
+ ID vid = $1->nd_vid;
if ($2 == tOROP) {
$1->nd_value = $3;
$$ = NEW_OP_ASGN_OR(gettable(vid), $1);