Mercurial > vim
diff src/ex_cmds2.c @ 13274:f4b4162264b1 v8.0.1511
patch 8.0.1511: some code for the debugger watch expression is clumsy
commit https://github.com/vim/vim/commit/3198870137df64214317151726648af8e56f1729
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Feb 13 12:57:42 2018 +0100
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.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 13 Feb 2018 13:00:06 +0100 |
parents | 50e1077e0c3d |
children | b5806be0b36d |
line wrap: on
line diff
--- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -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; - - 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; - } + typval_T *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); }