Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Nov 2009 08:11:22 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r199170 - head/sys/teken
Message-ID:  <200911110811.nAB8BMxv086882@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ed
Date: Wed Nov 11 08:11:21 2009
New Revision: 199170
URL: http://svn.freebsd.org/changeset/base/199170

Log:
  Always home the cursor when changing the scrolling region.
  
  I thought this only had to be done when in origin mode, to ensure that
  the cursor is not placed outside the origin, but it seems this is also
  done when not in origin mode.
  
  This fixes some artifacts when pressing ^L while running irssi in tmux.
  (Almost) nobody noticed this, because cons25 doesn't have scrolling
  regions.

Modified:
  head/sys/teken/teken_subr.h

Modified: head/sys/teken/teken_subr.h
==============================================================================
--- head/sys/teken/teken_subr.h	Wed Nov 11 03:17:51 2009	(r199169)
+++ head/sys/teken/teken_subr.h	Wed Nov 11 08:11:21 2009	(r199170)
@@ -1237,16 +1237,17 @@ teken_subr_set_top_and_bottom_margins(te
 		bottom = t->t_winsize.tp_row;
 	}
 
+	/* Apply scrolling region. */
 	t->t_scrollreg.ts_begin = top;
 	t->t_scrollreg.ts_end = bottom;
-	if (t->t_stateflags & TS_ORIGIN) {
-		/* XXX: home cursor? */
+	if (t->t_stateflags & TS_ORIGIN)
 		t->t_originreg = t->t_scrollreg;
-		t->t_cursor.tp_row = t->t_originreg.ts_begin;
-		t->t_cursor.tp_col = 0;
-		t->t_stateflags &= ~TS_WRAPPED;
-		teken_funcs_cursor(t);
-	}
+
+	/* Home cursor to the top left of the scrolling region. */
+	t->t_cursor.tp_row = t->t_originreg.ts_begin;
+	t->t_cursor.tp_col = 0;
+	t->t_stateflags &= ~TS_WRAPPED;
+	teken_funcs_cursor(t);
 }
 
 static void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911110811.nAB8BMxv086882>