X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/e1c8e0ed0663eee368ce8f98380a7eae7ae93230..ec4bc10cc24b8730b27e4bd463c1cf195218c450:/terminal.c?ds=inline diff --git a/terminal.c b/terminal.c index e52db035..49c0ddf9 100644 --- a/terminal.c +++ b/terminal.c @@ -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; @@ -1771,6 +1771,8 @@ static void do_paint (Context ctx, int may_optimise){ } else cursor = ATTR_PASCURS; + if (wrapnext) + cursor |= ATTR_RIGHTCURS; } else cursor = 0; rv = (rvideo ? ATTR_REVERSE : 0); @@ -1781,11 +1783,10 @@ static void do_paint (Context ctx, int may_optimise){ int lattr = (disptop[idx+cols] & LATTR_MODE); for (j=0; j<=cols; j++,idx++) { unsigned long *d = disptop+idx; - wanttext[idx] = lattr | ((*d ^ rv + wanttext[idx] = lattr | (((*d &~ ATTR_WRAPPED) ^ rv ^ (selstart <= d && d < selend ? ATTR_REVERSE : 0)) | (i==our_curs_y && j==curs_x ? cursor : 0)); - if (blink_is_real) { if (has_focus && tblinker && (wanttext[idx]&ATTR_BLINK) ) { @@ -2268,6 +2269,7 @@ void logfopen(void) { writemod[0] = 'a'; /* set append mode */ else if (i == 0) { /* cancelled */ lgfp = NULL; + cfg.logtype = 0; /* disable logging */ return; } }