On Tue, Jun 7, 2016 at 11:58 AM, Eli Zaretskii <eliz@gnu.org> wrote:
Any reason why you didn't use forward-visible-line, which would leave
the skipping of invisible text to that function, and make your code
simpler?

Because unlike forward-line, forward-visible-line does not indicate how many lines it failed to move when it cannot move the requested amount (of course it should).  Therefore, I could not tell when it failed to move and would have had to add other buffer location tests.  I hope that explains it sufficiently.

Bob