@b4n commented on this pull request.
- if (sci_get_line_from_position(sci, pos_next) == line)
+ char_width = SSM(sci, SCI_POINTXFROMPOSITION, 0, pos_next) - x;
But really, I'd be for the "lazy" solution here, it's not worth complicating the code too much I think.
Which one do you refer to as "lazy"? * current (misbehaving with edge case of wrapping) * `SCI_POINTYFROMPOSITION`-based one (not perfect for the mentioned edge case, but not bad) * `SCI_TEXTWIDTH`-base one (probably good for all cases,but possibly slower)
I agree that all the shenanigans might not be needed here, and possibly either solution is OK. I have a preference for one that doesn't bluntly misbehaves in the edge case, but it's an *very* edge case though…