1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-20 05:45:27 -05:00
Simon Tatham 8b8b774fc0 Fix behaviour of backspace in a 1-column terminal.
This is the first bug found as a direct result of writing that
terminal test program - I added some tests for things I expected to
work already, and some of them didn't, proving immediately that it was
a good idea!

If the terminal is one column wide, and you've printed a
character (hence, set the wrapnext flag), what should backspace do?
Surely it should behave like any other backspace with wrapnext set,
i.e. clear the wrapnext flag, returning the cursor's _logical_
position to the location of the most recently printed character. But
in fact it was anti-wrapping to the previous line, because I'd got the
cases in the wrong order in the if-else chain that forms the backspace
handler. So the handler for 'we're in column 0, wrapping time' was
coming before 'wrapnext is set, just clear it'.

Now wrapnext is checked _first_, before checking anything at all. Any
time we can just clear that, we should.

(cherry picked from commit 069f7c8b21df80a80445ffc986f1e243c72bc1cb)
2023-04-19 14:28:36 +01:00
..
2022-01-29 18:25:34 +00:00
2022-09-03 12:02:48 +01:00
2021-10-10 15:00:30 +01:00