-void update_screen(int *current_line, int *temporary_line, int motion,
+// The value passed to this routine in current_focus_line is the index
+// of the line to highlight if it matches the matcher. The line
+// highlighted is the first one matching the matcher in that order:
+// (1) current_focus_line after motion, (2) the first with a greater
+// index, (3) the first with a lesser index.
+
+// The index of the line actually shown highlighted is written in
+// displayed_focus_line (it can be -1)
+
+// If there is a motion and a line is actually shown highlighted, its
+// value is written in current_focus_line
+
+void update_screen(int *current_focus_line, int *displayed_focus_line,
+ int motion,