Jan Engelhardt c9e587abfd vt: fix background color on line feed
A command that causes a line feed while a background color is active,
such as

	perl -e 'print "x" x 60, "\e[44m", "x" x 40, "\e[0m\n"'
and
	perl -e 'print "x" x 40, "\e[44m\n", "x" x 40, "\e[0m\n"'

causes the line that was started as a result of the line feed to be completely
filled with the currently active background color instead of the default
color.

When scrolling, part of the current screen is memcpy'd/memmove'd to the new
region, and the new line(s) that will appear as a result are cleared using
memset.  However, the lines are cleared with vc->vc_video_erase_char, causing
them to be colored with the currently active background color.  This is
different from X11 terminal emulators which always paint the new lines with
the default background color (e.g.  `xterm -bg black`).

The clear operation (\e[1J and \e[2J) also use vc_video_erase_char, so a new
vc->vc_scrl_erase_char is introduced with contains the erase character used
for scrolling, which is built from vc->vc_def_color instead of vc->vc_color.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-29 08:06:06 -07:00
..
2008-04-02 15:28:19 -07:00
2008-04-29 08:06:01 -07:00
2008-02-08 09:22:41 -08:00
2007-10-17 08:42:52 -07:00
2007-05-08 11:15:09 -07:00
2008-02-03 17:11:42 +02:00
2008-02-03 17:11:42 +02:00
2008-03-07 10:05:13 -08:00
2008-04-04 18:36:49 +02:00
2008-02-07 08:42:33 -08:00
2008-04-29 08:05:59 -07:00
2007-02-20 17:11:55 +00:00
2008-02-07 08:42:25 -08:00
2008-02-07 08:42:25 -08:00
2008-04-29 08:05:59 -07:00
2008-04-19 19:10:28 -07:00
2007-07-29 17:09:29 -07:00
2008-02-08 09:22:24 -08:00
2008-02-07 08:42:35 -08:00
2008-02-07 08:42:34 -08:00
2008-03-30 14:20:23 -07:00
2007-02-12 09:48:30 -08:00
2007-07-21 17:49:16 -07:00
2007-10-18 14:37:23 -07:00
2008-03-13 13:11:43 -07:00
2008-03-19 19:42:36 -07:00
2007-07-16 09:05:46 -07:00
2008-02-07 08:42:34 -08:00
2007-10-19 11:53:43 -07:00
2008-04-28 08:58:29 -07:00
2008-04-28 08:58:29 -07:00
2008-02-03 17:11:42 +02:00
2006-12-20 16:37:48 +11:00
2007-10-17 08:42:56 -07:00
2008-04-29 08:06:06 -07:00