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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to