linux/drivers/video
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
..
aty video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
backlight backlight: Add OMAP1 PWL backlight driver 2008-02-07 09:31:52 +00:00
console vt: fix background color on line feed 2008-04-29 08:06:06 -07:00
display
geode OLPC: gxfb/lxfb: add DCON panel modes to framebuffer drivers 2008-04-28 08:58:40 -07:00
i810 i810fb: fix console switch regression 2008-03-19 18:53:36 -07:00
intelfb fbdev: intelfb: add support for the Intel Integrated Graphics Controller 965G/965GM 2008-04-28 08:58:41 -07:00
kyro
logo logo.c: get rid of mips_machgroup 2007-10-18 14:37:17 -07:00
matrox video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
mbx mbxfb: fix incorrect argument type 2008-03-10 18:01:20 -07:00
nvidia video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
omap drivers/video/: Spelling fixes 2008-02-03 17:31:49 +02:00
pnx4008 define global BIT macro 2007-10-19 11:53:42 -07:00
riva video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
savage savagefb: speed up the I2C bus 2008-04-28 08:58:38 -07:00
sis video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
vermilion mm: remove nopage 2008-04-28 08:58:18 -07:00
68328fb.c
acornfb.c
acornfb.h
am200epd.c fbdev: platforming metronomefb and am200epd 2008-04-28 08:58:41 -07:00
amba-clcd.c
amifb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
arcfb.c
arkfb.c fbdev: framebuffer_alloc() fixes 2008-04-28 08:58:38 -07:00
asiliantfb.c
atafb.c fbdev: use DIV_ROUND_UP or roundup 2008-04-28 08:58:35 -07:00
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c atmel_lcdfb: adjust fifo size for at91sam9rl 2008-04-28 08:58:39 -07:00
au1100fb.c au1100fb: fix modpost warnings 2007-10-18 14:37:17 -07:00
au1100fb.h
au1200fb.c
au1200fb.h
bf54x-lq043fb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
bfin-t350mcqb-fb.c blackfin video driver: fix bug when opening/reading/mmaping BF54x and BF52x framebuffer simultaneously 2008-03-28 14:45:22 -07:00
bt431.h
bt455.h
bw2.c sparc: video drivers: add facility level 2008-04-27 15:18:57 -07:00
c2p.c
c2p.h
cfbcopyarea.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
cfbfillrect.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
cfbimgblt.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
cg3.c sparc: video drivers: add facility level 2008-04-27 15:18:57 -07:00
cg6.c sparc: video drivers: add facility level 2008-04-27 15:18:57 -07:00
cg14.c sparc: video drivers: add facility level 2008-04-27 15:18:57 -07:00
chipsfb.c PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
cirrusfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
clps711xfb.c
controlfb.c
controlfb.h
cyber2000fb.c [ARM] 4645/1: Cyberpro: Trivial fix to restore 16bpp mode. 2007-11-08 23:29:36 +00:00
cyber2000fb.h
cyblafb.c drivers/video/: Spelling fixes 2008-02-03 17:31:49 +02:00
dnfb.c
edid.h
efifb.c x86_64 EFI boot support: EFI frame buffer driver 2007-11-29 09:24:54 -08:00
epson1355fb.c
fb_ddc.c fb_ddc: fix DDC lines quirk 2007-11-29 09:24:52 -08:00
fb_defio.c fbdev: defio and Metronomefb 2008-03-19 18:53:37 -07:00
fb_draw.h fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c fb: convert /proc/fb to seq_file interface 2008-04-28 08:58:41 -07:00
fbmon.c fbmon: cleanup trailing whitespaces 2008-02-06 10:41:15 -08:00
fbsysfs.c
ffb.c sparc: video drivers: add facility level 2008-04-27 15:18:57 -07:00
fm2fb.c
fsl-diu-fb.c fbdev: powerpc: driver for Freescale 8610 and 5121 DIU 2008-04-28 08:58:40 -07:00
fsl-diu-fb.h fbdev: powerpc: driver for Freescale 8610 and 5121 DIU 2008-04-28 08:58:40 -07:00
g364fb.c
gbefb.c gbefb: fix section mismatch warnings 2007-11-14 18:45:42 -08:00
gxt4500.c fbdev: use DIV_ROUND_UP or roundup 2008-04-28 08:58:35 -07:00
hecubafb.c fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
hgafb.c
hitfb.c fb: hitfb: Balance probe/remove section annotations. 2008-03-06 13:56:33 +09:00
hpfb.c video/hpfb.c section fix 2008-02-06 10:41:15 -08:00
igafb.c drivers/video: add missing pci_dev_get 2008-02-06 10:41:16 -08:00
imacfb.c imacfb: remove reference to otherwise-unused, non-existent screen_info.imacpm_seg 2007-11-29 09:24:53 -08:00
imsttfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
imxfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
imxfb.h
Kconfig BF54x Framebuffer Driver: BF542 does not have EPPI0, so dont allow the LQ034 driver for now 2008-04-28 08:58:42 -07:00
leo.c sparc: video drivers: add facility level 2008-04-27 15:18:57 -07:00
macfb.c
macmodes.c
macmodes.h
Makefile fbdev: platforming metronomefb and am200epd 2008-04-28 08:58:41 -07:00
maxinefb.c
metronomefb.c metronomefb: don't free firmware twice in error path 2008-04-28 08:58:41 -07:00
modedb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
n411.c fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
neofb.c neofb: avoid overwriting fb_info fields 2008-02-06 10:41:16 -08:00
offb.c powerpc: offb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
output.c
p9100.c sparc: video drivers: add facility level 2008-04-27 15:18:57 -07:00
platinumfb.c
platinumfb.h
pm2fb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
pm3fb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
pmag-aa-fb.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c ps3fb: fix modedb typos 2008-02-06 10:41:17 -08:00
pvr2fb.c fb: pvr2fb: Fix up remaining section mismatch. 2008-03-06 13:39:18 +09:00
pxafb.c [ARM] pxa: separate GPIOs and their mode definitions to pxa2xx-gpio.h 2008-04-19 11:29:04 +01:00
pxafb.h
q40fb.c
s1d13xxxfb.c drivers/video/s1d13xxxfb.c: fix build as module with dbg 2007-11-14 18:45:38 -08:00
s3c2410fb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
s3c2410fb.h FB/S3C2412: add S3C2412 support to S3C2410 fb driver 2008-02-06 10:41:17 -08:00
s3fb.c fbdev: framebuffer_alloc() fixes 2008-04-28 08:58:38 -07:00
sa1100fb.c
sa1100fb.h video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
sbuslib.c [SPARC]: video/cg14.c and video/sbuslib.c build fixes 2008-02-12 18:23:31 -08:00
sbuslib.h
sgivwfb.c
skeletonfb.c
sm501fb.c sm501fb: fix timing limits 2008-03-04 16:35:13 -08:00
sstfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
sticore.h
stifb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
sunxvr500.c
sunxvr2500.c
svgalib.c svgalib: mode selection updates 2007-10-16 09:43:22 -07:00
syscopyarea.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
sysfillrect.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
sysimgblt.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
tcx.c sparc: video drivers: add facility level 2008-04-27 15:18:57 -07:00
tdfxfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
tgafb.c tgafb: remove a redundant non-mono test in mono imageblit 2007-10-16 09:43:23 -07:00
tridentfb.c fbdev: add removed option "mode" to keep compatibility 2008-04-28 08:58:37 -07:00
uvesafb.c drivers/video/uvesafb.c: fix error-path memory leak 2008-04-28 08:58:41 -07:00
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c
vga16fb.c Remove magic macros for screen_info structure members 2007-10-16 22:57:17 -07:00
vgastate.c
vt8623fb.c fbdev: framebuffer_alloc() fixes 2008-04-28 08:58:38 -07:00
w100fb.c drivers/video/w100fb.c: avoid a couple of error-path NULL derefs 2008-04-28 08:58:41 -07:00
w100fb.h
xen-fbfront.c xen pvfb: Para-virtual framebuffer, keyboard and pointer driver 2008-04-24 23:57:33 +02:00
xilinxfb.c [POWERPC] Xilinx: Update compatible to use values generated by BSP generator. 2008-02-06 10:23:21 -07:00