def update_visible_lines(self):
        """Update which lines are visible in normal mode.

        Updates the contents of the 'visible_lines'
        attribute, a list with references to the
        lines that are visible on the editing area,
        """
        ### backup x of current visible lines
        x = self.visible_lines.rect.x

        ### define start and end of slice from the list
        ### of lines which contains the visible lines

        start = self.top_visible_line_index
        end = start + NUMBER_OF_VISIBLE_LINES

        ### update the visible_lines list
        self.visible_lines[:] = self.lines[start:end]

        ### position the visible lines vertically with the
        ### stored values for the y coordinate

        for y, line in zip(self.y_values, self.visible_lines):
            line.rect.topleft = x, y

        ### admin task: since we changed which lines are
        ### visible, perform the corresponding routine
        self.visible_lines_routine()
Update which lines are visible in normal mode.

        Updates the contents of the 'visible_lines'
        attribute, a list with references to the
        lines that are visible on the editing area,
        
nodezator/textman/editor/cursor/navigation.py