aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_cmds2.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-04-07 09:37:54 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-04-08 07:28:46 -0400
commit69bab7e35d7e0d4d3ac9f09bcfe111a092a2720a (patch)
tree9322766f434bc1b7a599052e2be43a59a3e06974 /src/nvim/ex_cmds2.c
parent1a1fe58f7e947abb3c6389a98b17ad54f18c353f (diff)
downloadrneovim-69bab7e35d7e0d4d3ac9f09bcfe111a092a2720a.tar.gz
rneovim-69bab7e35d7e0d4d3ac9f09bcfe111a092a2720a.tar.bz2
rneovim-69bab7e35d7e0d4d3ac9f09bcfe111a092a2720a.zip
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. https://github.com/vim/vim/commit/3198870137df64214317151726648af8e56f1729
Diffstat (limited to 'src/nvim/ex_cmds2.c')
-rw-r--r--src/nvim/ex_cmds2.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
index d2d4ca796f..e394edb032 100644
--- a/src/nvim/ex_cmds2.c
+++ b/src/nvim/ex_cmds2.c
@@ -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);
}