Date: Wed, 12 Oct 2011 09:28:09 +0000 (UTC) From: Ed Schouten <ed@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r226295 - stable/9/sys/teken Message-ID: <201110120928.p9C9S9Xq056929@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ed Date: Wed Oct 12 09:28:09 2011 New Revision: 226295 URL: http://svn.freebsd.org/changeset/base/226295 Log: MFC r226099: Tab should not blank cells. It seems I was under the impression that a tab differs from a single forward tabulation, namely that it blanks the underlying cells. This seems not to be the case. They are identical. This should fix applications like jove(1) that use tabs instead of explicit cursor position setting. Reported by: Brett Glass <brett lariat net> MFC r226183: Properly use the cursor to bound the position for CUP. We must take the origin region into account when clamping the cursor position. Approved by: re@ (kib) Modified: stable/9/sys/teken/teken_subr.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) Modified: stable/9/sys/teken/teken_subr.h ============================================================================== --- stable/9/sys/teken/teken_subr.h Wed Oct 12 09:21:02 2011 (r226294) +++ stable/9/sys/teken/teken_subr.h Wed Oct 12 09:28:09 2011 (r226295) @@ -325,7 +325,7 @@ teken_subr_cursor_position(teken_t *t, u { t->t_cursor.tp_row = t->t_originreg.ts_begin + row - 1; - if (row >= t->t_originreg.ts_end) + if (t->t_cursor.tp_row >= t->t_originreg.ts_end) t->t_cursor.tp_row = t->t_originreg.ts_end - 1; t->t_cursor.tp_col = col - 1; @@ -595,20 +595,7 @@ static void teken_subr_horizontal_tab(teken_t *t) { - if (t->t_stateflags & TS_CONS25) { - teken_subr_cursor_forward_tabulation(t, 1); - } else { - teken_rect_t tr; - - tr.tr_begin = t->t_cursor; - teken_subr_cursor_forward_tabulation(t, 1); - tr.tr_end.tp_row = tr.tr_begin.tp_row + 1; - tr.tr_end.tp_col = t->t_cursor.tp_col; - - /* Blank region that we skipped. */ - if (tr.tr_end.tp_col > tr.tr_begin.tp_col) - teken_funcs_fill(t, &tr, BLANK, &t->t_curattr); - } + teken_subr_cursor_forward_tabulation(t, 1); } static void
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110120928.p9C9S9Xq056929>