aboutsummaryrefslogtreecommitdiffstats
path: root/lib/runtime_tools
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-03-17 11:22:33 +0100
committerBjörn Gustavsson <[email protected]>2011-08-16 08:58:47 +0200
commitde89cb1afac666d39526f68e4a5b817c246b5ad2 (patch)
tree964bd0baccd01085e3bd40c624a83e07c3036e17 /lib/runtime_tools
parent45ec105b3a7962370413906b5fa49a6a73cf3d83 (diff)
downloadotp-de89cb1afac666d39526f68e4a5b817c246b5ad2.tar.gz
otp-de89cb1afac666d39526f68e4a5b817c246b5ad2.tar.bz2
otp-de89cb1afac666d39526f68e4a5b817c246b5ad2.zip
Handle terms in the top-level of guards properly
Expressions in guards such as: f() when [1,2,3] -> ok. would cause the debugger to crash when attempting to interpret the module containing the expressions. Other kind of constants such as: f() when 42 -> ok. were converted to an invalid internal format ({integer,Line,42} instead of {value,Line,42}), but that happened to work because because anything not equal to 'true' (even a crash) was interpreted as 'false'. Make sure to handle all possible expressions and convert them directly to {value,Line,false}. Remove the special handling of the atom 'true' in and_guard/1 since it is no longer needed.
Diffstat (limited to 'lib/runtime_tools')
0 files changed, 0 insertions, 0 deletions