linux/drivers/video/console
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
..
Kconfig mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
Makefile [VIDEO]: Fix section mismatch warning in promcon. 2007-06-04 23:52:45 -07:00
bitblit.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
dummycon.c Remove magic macros for screen_info structure members 2007-10-16 22:57:17 -07:00
fbcon.c vt: fix background color on line feed 2008-04-29 08:06:06 -07:00
fbcon.h fbcon: replace mono_col macro with static inline 2008-04-28 08:58:35 -07:00
fbcon_ccw.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
fbcon_cw.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
fbcon_rotate.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fbcon_rotate.h [PATCH] fbcon: Code cleanups 2006-01-10 08:01:51 -08:00
fbcon_ud.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
font_6x11.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
font_7x14.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
font_8x8.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
font_8x16.c export font_vga_8x16 2007-10-16 09:43:19 -07:00
font_10x18.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
font_acorn_8x8.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
font_mini_4x6.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
font_pearl_8x8.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
font_sun8x16.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
font_sun12x22.c fbcon: Convert struct font_desc to use ISO C initializers 2007-10-16 09:43:17 -07:00
fonts.c cleanup after APUS removal 2008-02-06 10:41:01 -08:00
mdacon.c vt: fix background color on line feed 2008-04-29 08:06:06 -07:00
newport_con.c netport_con.c: fix build errors and warnings 2007-10-18 14:37:17 -07:00
prom.uni Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
promcon.c vt: add color support to the "underline" and "italic" attributes 2007-05-08 11:15:27 -07:00
softcursor.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
sticon.c vt: fix background color on line feed 2008-04-29 08:06:06 -07:00
sticore.c [PARISC] Clean up sti_flush 2007-08-27 00:29:23 -04:00
tileblit.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
vgacon.c vt: fix background color on line feed 2008-04-29 08:06:06 -07:00