0
0
mirror of https://github.com/vim/vim.git synced 2025-10-02 05:04:20 -04:00

patch 8.0.1511: some code for the debugger watch expression is clumsy

Problem:    Some code for the debugger watch expression is clumsy.
Solution:   Clean up the code.
This commit is contained in:
Bram Moolenaar
2018-02-13 12:57:42 +01:00
parent b48e96f61c
commit 3198870137
4 changed files with 199 additions and 214 deletions

View File

@@ -988,23 +988,20 @@ debuggy_find(
}
else
{
typval_T val3;
if (typval_copy(bp->dbg_val, &val3) == OK)
if (typval_compare(tv, bp->dbg_val, TYPE_EQUAL,
TRUE, FALSE) == OK
&& tv->vval.v_number == FALSE)
{
if (typval_compare(tv, &val3, TYPE_EQUAL,
TRUE, FALSE, TRUE) == OK
&& tv->vval.v_number == FALSE)
{
typval_T *v;
typval_T *v;
line = TRUE;
debug_oldval = typval_tostring(bp->dbg_val);
v = eval_expr(bp->dbg_name, NULL);
debug_newval = typval_tostring(v);
free_tv(bp->dbg_val);
bp->dbg_val = v;
}
line = TRUE;
debug_oldval = typval_tostring(bp->dbg_val);
/* Need to evaluate again, typval_compare() overwrites
* "tv". */
v = eval_expr(bp->dbg_name, NULL);
debug_newval = typval_tostring(v);
free_tv(bp->dbg_val);
bp->dbg_val = v;
}
free_tv(tv);
}