X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/62ddb51e0424dd4bd1098b024f2427959aefc729..b7a2b2a08e9c73176327fc402e01fdbe9e273d1a:/terminal.c diff --git a/terminal.c b/terminal.c index 92c3f032..65efb8eb 100644 --- a/terminal.c +++ b/terminal.c @@ -1722,7 +1722,7 @@ void term_provide_resize_fn(Terminal *term, { term->resize_fn = resize_fn; term->resize_ctx = resize_ctx; - if (term->cols > 0 && term->rows > 0) + if (resize_fn && term->cols > 0 && term->rows > 0) resize_fn(resize_ctx, term->cols, term->rows); } @@ -2850,6 +2850,13 @@ static void term_out(Terminal *term) term->wrapnext = FALSE; seen_disp_event(term); term->paste_hold = 0; + + if (term->cfg.crhaslf) { + if (term->curs.y == term->marg_b) + scroll(term, term->marg_t, term->marg_b, 1, TRUE); + else if (term->curs.y < term->rows - 1) + term->curs.y++; + } if (term->logctx) logtraffic(term->logctx, (unsigned char) c, LGTYP_ASCII); break; @@ -6398,6 +6405,7 @@ char *term_get_ttymode(Terminal *term, const char *mode) val = term->cfg.bksp_is_delete ? "^?" : "^H"; } /* FIXME: perhaps we should set ONLCR based on cfg.lfhascr as well? */ + /* FIXME: or ECHO and friends based on local echo state? */ return dupstr(val); }