The `wrapnext' variable now states whether we _would_ wrap next
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 17 Jan 2001 17:25:58 +0000 (17:25 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 17 Jan 2001 17:25:58 +0000 (17:25 +0000)
character if we were wrapping, not whether we _will_ wrap next
character. Makes for saner behaviour with vertical-line cursor and
also when changing autowrap mode while on rightmost column. Does
entail small behavioural changes to backspace and destructive-
backspace when in rightmost column with Auto Wrap off, but I don't
think they should be catastrophic, or indeed that there's a well
defined Right Behaviour.

git-svn-id: svn://svn.tartarus.org/sgt/putty@872 cda61777-01e9-0310-a592-d414129be87e

terminal.c

index 4d7a87d..49c0ddf 100644 (file)
@@ -900,7 +900,7 @@ static int beep_overload = 0;
                }
                seen_disp_event = TRUE;
                break;
-             case '\177': /* Destructive backspace 
+             case '\177': /* Destructive backspace
                              This does nothing on a real VT100 */
                compatibility(OTHER);
                if (curs_x && !wrapnext) curs_x--;
@@ -913,7 +913,7 @@ static int beep_overload = 0;
        else switch (termstate) {
          case TOPLEVEL:
          /* Only graphic characters get this far, ctrls are stripped above */
-           if (wrapnext) {
+           if (wrapnext && wrap) {
                cpos[1] |= ATTR_WRAPPED;
                if (curs_y == marg_b)
                    scroll (marg_t, marg_b, 1, TRUE);
@@ -959,7 +959,7 @@ static int beep_overload = 0;
            if (curs_x == cols) {
                cpos--;
                curs_x--;
-               wrapnext = wrap;
+               wrapnext = TRUE;
            }
            seen_disp_event = 1;
            break;