diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-03 13:41:01 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-03 13:41:01 +0000 |
commit | 6e0f413f0188e48fa68d392dcb946b693a57da13 (patch) | |
tree | c2685f59288664f4bd9accb8d3ace11ff5d7fa24 | |
parent | ca209c80e9ab2911793a8d348514698c3124214b (diff) |
* iseq.c (simple_default_value): returns simplest assignment only.
[ruby-core:20237]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | iseq.c | 5 |
2 files changed, 7 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Wed Dec 3 22:40:59 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * iseq.c (simple_default_value): returns simplest assignment only. + [ruby-core:20237] + Wed Dec 3 21:30:06 2008 Tanaka Akira <akr@fsij.org> * process.c (check_exec_redirect): accept :in, :out, :err as redirect @@ -1292,13 +1292,12 @@ simple_default_value(const VALUE *seq, const VALUE *eseq) got: switch (*seq++) { case BIN(setlocal): - if ((seq+=1) != eseq) return Qundef; + if ((seq+=1) == eseq) return val; break; case BIN(setdynamic): - if ((seq+=2) != eseq) return Qundef; + if ((seq+=2) == eseq) return val; break; } - return val; default: return Qundef; } |