vim-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.
3198870137
This commit is contained in:
Jan Edmund Lazo
2021-04-07 09:37:54 -04:00
parent 1a1fe58f7e
commit 69bab7e35d
2 changed files with 152 additions and 170 deletions

View File

@@ -876,18 +876,15 @@ debuggy_find(
debug_newval = typval_tostring(bp->dbg_val);
line = true;
} else {
typval_T val3;
if (typval_copy(bp->dbg_val, &val3) == OK) {
if (typval_compare(tv, &val3, TYPE_EQUAL, true, false, true) == OK
&& tv->vval.v_number == false) {
line = true;
debug_oldval = typval_tostring(bp->dbg_val);
typval_T *v = eval_expr(bp->dbg_name);
debug_newval = typval_tostring(v);
tv_free(bp->dbg_val);
bp->dbg_val = v;
}
if (typval_compare(tv, bp->dbg_val, TYPE_EQUAL, true, false) == OK
&& tv->vval.v_number == false) {
line = true;
debug_oldval = typval_tostring(bp->dbg_val);
// Need to evaluate again, typval_compare() overwrites "tv".
typval_T *v = eval_expr(bp->dbg_name);
debug_newval = typval_tostring(v);
tv_free(bp->dbg_val);
bp->dbg_val = v;
}
tv_free(tv);
}