Sourceview cursor doesn't show

In initializing a SourceBuffer, the cursor isn’t initially visible.
I’ve created an EditView class which is intended to encapsulate parts of
the following Gtk classes: Table, ScrolledWindow, GtkSourceView,
SourceBuffer, Tag, Iter and Mark.
The test initializes OK, except that the cursor doesn’t show and things
like scroll_to_iter and scroll_to_mark do not scroll the screen until I
have manually pressed an arrow key. It appears that the iters and marks
are being positioned correctly because I can do a “find” operation. I’d
just like to scroll the cursor into a viewable place and show it
programmatically. (The cursor_visible? method is true even when the
cursor isn’t visible.) I think it must be buried somewhere and is
brought to the top by the arrow key press.
The attachment is actually two file concatenated together. First is the
main.rb file, which includes the second file, editview.rb.