patch 8.1.0458: ml_get error and crash when using "do"
Problem: Ml_get error and crash when using "do".
Solution: Adjust cursor position also when diffupdate is not needed.
(Hirohito Higashi)
diff --git a/src/diff.c b/src/diff.c
index d63bd93..054924e 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -2848,18 +2848,19 @@
theend:
diff_busy = FALSE;
if (diff_need_update)
- {
- diff_need_update = FALSE;
ex_diffupdate(NULL);
- }
+
+ // Check that the cursor is on a valid character and update it's
+ // position. When there were filler lines the topline has become
+ // invalid.
+ check_cursor();
+ changed_line_abv_curs();
+
+ if (diff_need_update)
+ // redraw already done by ex_diffupdate()
+ diff_need_update = FALSE;
else
{
- // Check that the cursor is on a valid character and update it's
- // position. When there were filler lines the topline has become
- // invalid.
- check_cursor();
- changed_line_abv_curs();
-
// Also need to redraw the other buffers.
diff_redraw(FALSE);
apply_autocmds(EVENT_DIFFUPDATED, NULL, NULL, FALSE, curbuf);