diff options
| -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; } |
