@techee commented on this pull request.


In vimode/src/cmds/motion.c:

>  		return;
 
-	/* see cmd_goto_up() for explanation */
-	one_above = p->line + num - 1;
-	one_above = one_above < last_line ? one_above : last_line - 1;
-	pos = SSM(p->sci, SCI_GETLINEENDPOSITION, one_above, 0);
-	SET_POS_NOX(p->sci, pos, FALSE);
-	SSM(p->sci, SCI_LINEDOWN, 0, 0);
+	new_line = doc_line_from_visible_delta(p, p->line, num, &previous);
+
+	if (previous > -1) {
+		guint pos = SSM(p->sci, SCI_GETLINEENDPOSITION, previous, 0);
+		SET_POS_NOX(p->sci, pos, FALSE);
+	}
+
+	if (new_line > p->line) SSM(p->sci, SCI_LINEDOWN, 0, 0);

Alright, yeah, the previous code handled right that, I just forgot why exactly it was there. I've fixed it in my PR.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany-plugins/pull/1326/review/2064838180@github.com>