svn commit: r186798 - head/sys/dev/syscons/teken

Ed Schouten ed at FreeBSD.org
Mon Jan 5 14:09:48 PST 2009


Author: ed
Date: Mon Jan  5 22:09:46 2009
New Revision: 186798
URL: http://svn.freebsd.org/changeset/base/186798

Log:
  Import yet some more small fixes to libteken sources:
  
  - Implement NP (ASCII 12, Form Feed). When used with cons25, it should
    clear the screen and place the cursor at the top of the screen. When
    used with xterm, it should just simulate a newline.
  
  - When we want to use xterm emulation, make teken_demo set TERM to
    xterm.
  
  Spotted by:	Paul B. Mahol <onemda at gmail.com>

Modified:
  head/sys/dev/syscons/teken/teken.c
  head/sys/dev/syscons/teken/teken_demo.c
  head/sys/dev/syscons/teken/teken_subr.h

Modified: head/sys/dev/syscons/teken/teken.c
==============================================================================
--- head/sys/dev/syscons/teken/teken.c	Mon Jan  5 21:51:49 2009	(r186797)
+++ head/sys/dev/syscons/teken/teken.c	Mon Jan  5 22:09:46 2009	(r186798)
@@ -226,6 +226,9 @@ teken_input_char(teken_t *t, teken_char_
 	case '\x0B':
 		teken_subr_newline(t);
 		break;
+	case '\x0C':
+		teken_subr_newpage(t);
+		break;
 	case '\r':
 		teken_subr_carriage_return(t);
 		break;

Modified: head/sys/dev/syscons/teken/teken_demo.c
==============================================================================
--- head/sys/dev/syscons/teken/teken_demo.c	Mon Jan  5 21:51:49 2009	(r186797)
+++ head/sys/dev/syscons/teken/teken_demo.c	Mon Jan  5 22:09:46 2009	(r186798)
@@ -279,7 +279,11 @@ main(int argc __unused, char *argv[] __u
 		perror("forkpty");
 		exit(1);
 	case 0:
+#ifdef TEKEN_CONS25
 		setenv("TERM", "cons25", 1);
+#else /* !TEKEN_CONS25 */
+		setenv("TERM", "xterm", 1);
+#endif /* TEKEN_CONS25 */
 #ifdef TEKEN_UTF8
 		setenv("LC_CTYPE", "UTF-8", 0);
 #endif /* TEKEN_UTF8 */

Modified: head/sys/dev/syscons/teken/teken_subr.h
==============================================================================
--- head/sys/dev/syscons/teken/teken_subr.h	Mon Jan  5 21:51:49 2009	(r186797)
+++ head/sys/dev/syscons/teken/teken_subr.h	Mon Jan  5 22:09:46 2009	(r186798)
@@ -662,6 +662,24 @@ teken_subr_newline(teken_t *t)
 }
 
 static void
+teken_subr_newpage(teken_t *t)
+{
+#ifdef TEKEN_CONS25
+	teken_rect_t tr;
+
+	tr.tr_begin.tp_row = tr.tr_begin.tp_col = 0;
+	tr.tr_end = t->t_winsize;
+	teken_funcs_fill(t, &tr, BLANK, &t->t_curattr);
+
+	t->t_cursor.tp_row = t->t_cursor.tp_col = 0;
+	teken_funcs_cursor(t);
+#else /* !TEKEN_CONS25 */
+
+	teken_subr_newline(t);
+#endif /* TEKEN_CONS25 */
+}
+
+static void
 teken_subr_next_line(teken_t *t)
 {
 


More information about the svn-src-all mailing list