softwrap: adjust firstcolumn when the window width changes
If the number of columns in the edit window changes (which currently only happens in two places: in regenerate_screen(), called when the window is resized; and in main(), when line numbering mode is toggled), the display will break if we're in softwrap mode and firstcolumn is nonzero. This is because the column width of softwrapped chunks has changed, and firstcolumn is no longer the starting column of a chunk, an assumption that all code using firstcolumn relies on. To fix this problem, add a new function, ensure_firstcolumn_is_aligned(), to adjust firstcolumn to the starting column of the chunk it's on, and use it when the number of columns in the edit window changes. (Note that this function uses the simplest possible fix, and could probably be made more sophisticated.)
Showing
+19 -0
Please register or sign in to comment