diff --git a/ChangeLog b/ChangeLog index 2091ce07b5..e8c0e97cb7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sat Nov 5 14:17:20 2016 Nobuyoshi Nakada + + * parse.y (brace_body, do_body): since cmdarg_stack is saved in + VALUE val, should restore from the same member. on big-endian + platforms where VALUE is larger than int, it restored 0 in the + upper word. [ruby-core:77920] [Bug #12900] + Sat Nov 5 13:52:52 2016 Akinori MUSHA * lib/shellwords.rb (Shellwords#shellsplit): Fix the handling of diff --git a/parse.y b/parse.y index a5ae823023..54ccc52cc6 100644 --- a/parse.y +++ b/parse.y @@ -3751,7 +3751,7 @@ brace_body : {$$ = dyna_push();} { $$ = new_brace_body($3, $4); dyna_pop($1); - CMDARG_SET($2); + CMDARG_SET($2); } ; @@ -3761,7 +3761,7 @@ do_body : {$$ = dyna_push();} { $$ = new_do_body($3, $4); dyna_pop($1); - CMDARG_SET($2); + CMDARG_SET($2); } ;