A tab character is supposed to move the cursor to the next column that's a multiple of the tab-width setting, but instead it just advances the cursor by tab-width columns every time.
In other words, it currently does this:
function do_tab() cursor_x += tab_width end
And it should do this:
function do_tab() cursor_x = (cursor_x + tab_width - 1) % tab_width end
[Please log in to post a comment]