aboutsummaryrefslogtreecommitdiffstats
path: root/lib/debugger/src/dbg_ieval.erl
diff options
context:
space:
mode:
authorAnthony Ramine <[email protected]>2014-05-03 20:49:08 +0200
committerAnthony Ramine <[email protected]>2014-05-03 21:06:37 +0200
commitec15a2aaab58816c728676807c0b6e61d5a5185e (patch)
treeb7e26e2843ac2060696ea12635d393f91ac5dab6 /lib/debugger/src/dbg_ieval.erl
parentaca0b6182b039333b4c963938878d9eecc85e5a1 (diff)
downloadotp-ec15a2aaab58816c728676807c0b6e61d5a5185e.tar.gz
otp-ec15a2aaab58816c728676807c0b6e61d5a5185e.tar.bz2
otp-ec15a2aaab58816c728676807c0b6e61d5a5185e.zip
Fix evaluation of map updates in the debugger and erl_eval
Reported-by: José Valim
Diffstat (limited to 'lib/debugger/src/dbg_ieval.erl')
-rw-r--r--lib/debugger/src/dbg_ieval.erl4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/debugger/src/dbg_ieval.erl b/lib/debugger/src/dbg_ieval.erl
index 0653ce4c00..77297de0f3 100644
--- a/lib/debugger/src/dbg_ieval.erl
+++ b/lib/debugger/src/dbg_ieval.erl
@@ -665,11 +665,11 @@ expr({map,Line,E0,Fs0}, Bs0, Ieval0) ->
{value,E,Bs1} = expr(E0, Bs0, Ieval),
case E of
#{} ->
- {Fs,Bs2} = eval_map_fields(Fs0, Bs1, Ieval),
+ {Fs,Bs2} = eval_map_fields(Fs0, Bs0, Ieval),
Value = lists:foldl(fun ({map_assoc,K,V}, Mi) -> maps:put(K,V,Mi);
({map_exact,K,V}, Mi) -> maps:update(K,V,Mi)
end, E, Fs),
- {value,Value,Bs2};
+ {value,Value,merge_bindings(Bs2, Bs1, Ieval)};
_ ->
exception(error, {badarg,E}, Bs1, Ieval)
end;