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-24 14:07:46 -03:00
2008-04-25 13:00:11 -04:00
2008-04-19 11:29:08 +01:00
2008-04-25 14:52:32 -07:00
2008-04-22 20:10:10 +01:00
2008-04-25 13:00:11 -04:00
2008-04-28 08:58:42 -07:00
2008-04-17 23:56:30 -07:00
2008-04-24 11:46:16 -07:00
2008-04-24 21:16:52 -07:00
2008-04-20 21:47:02 -07:00
2008-04-29 08:06:00 -07:00
2008-04-19 19:10:33 -07:00
2008-04-19 09:59:43 +10:00
2008-04-29 08:06:00 -07:00
2008-04-29 08:06:04 -07:00
2008-04-21 09:50:08 +02:00
2008-04-28 08:58:19 -07:00
2008-04-29 08:05:59 -07:00
2008-04-21 09:51:05 +02:00
2008-04-28 08:58:25 -07:00
2008-04-22 15:16:32 -05:00
2008-04-29 08:06:01 -07:00
2008-04-28 08:58:19 -07:00
2008-04-28 08:58:26 -07:00
2008-04-21 09:50:08 +02:00
2008-04-29 08:05:59 -07:00
2008-04-26 17:44:55 +02:00
2008-04-29 08:06:06 -07:00
2008-04-29 08:05:59 -07:00
2008-04-28 08:58:19 -07:00
2008-04-28 08:58:19 -07:00
2008-04-21 10:19:23 +08:00
2008-04-23 00:04:38 -04:00
2008-04-25 13:27:00 +01:00
2008-04-21 15:49:58 -07:00
2008-04-21 11:35:39 -05:00
2008-04-21 11:22:28 -05:00
2008-04-21 11:35:39 -05:00
2008-04-21 11:22:29 -05:00
2008-04-25 13:26:55 +01:00
2008-04-25 13:26:55 +01:00
2008-04-25 13:26:55 +01:00
2008-04-21 22:38:45 +00:00
2008-04-28 08:58:30 -07:00
2008-04-19 19:19:54 +02:00
2008-04-19 19:10:33 -07:00
2008-04-23 16:13:42 -04:00
2008-04-28 08:58:35 -07:00
2008-04-25 09:23:59 -04:00
2008-04-29 08:06:00 -07:00
2008-04-29 08:05:58 -07:00
2008-04-18 00:46:24 +02:00
2008-04-28 10:03:31 -07:00
2008-04-22 11:34:59 +02:00
2008-04-18 22:22:54 -04:00
2008-04-28 08:58:25 -07:00
2008-04-19 19:10:28 -07:00
2008-04-22 22:16:46 +02:00
2008-04-24 14:09:42 -03:00
2008-04-22 22:16:46 +02:00
2008-04-28 08:58:34 -07:00
2008-04-28 23:44:42 +02:00
2008-04-23 21:25:36 -04:00
2008-04-18 22:16:54 -04:00
2008-04-28 08:58:26 -07:00
2008-04-29 08:06:03 -07:00
2008-04-29 08:06:02 -07:00
2008-04-20 21:47:08 -07:00
2008-04-19 19:19:54 +02:00
2008-04-19 19:10:28 -07:00
2008-04-18 22:16:54 -04:00
2008-04-18 22:16:54 -04:00
2008-04-21 16:36:46 -07:00
2008-04-29 08:06:04 -07:00
2008-04-29 08:06:06 -07:00
2008-04-18 22:16:54 -04:00
2008-04-28 08:58:32 -07:00
2008-04-19 19:44:57 +02:00
2008-04-27 18:21:46 +03:00
2008-04-27 12:00:27 +03:00
2008-04-27 12:01:15 +03:00
2008-04-27 18:21:37 +03:00
2008-04-24 23:49:30 +01:00
2008-04-25 00:46:09 -04:00
2008-04-29 08:06:04 -07:00
2008-04-29 08:06:01 -07:00
2008-04-28 08:58:25 -07:00
2008-04-19 19:10:19 -07:00
2008-04-28 08:58:25 -07:00
2008-04-19 19:10:29 -07:00
2008-04-24 14:07:43 -03:00
2008-04-19 19:10:28 -07:00
2008-04-28 14:08:56 -07:00
2008-04-29 08:06:00 -07:00
2008-04-28 08:58:25 -07:00
2008-04-23 00:05:03 -04:00
2008-04-23 00:04:51 -04:00
2008-04-28 08:58:47 -07:00
2008-04-28 08:58:29 -07:00
2008-04-23 16:13:37 -04:00
2008-04-19 16:54:56 -04:00
2008-04-19 16:55:29 -04:00
2008-04-19 16:53:15 -04:00
2008-04-28 08:58:19 -07:00
2008-04-28 08:58:32 -07:00
2008-04-28 08:58:18 -07:00
2008-04-28 08:58:22 -07:00
2008-04-18 22:22:54 -04:00
2008-04-20 21:47:03 -07:00
2008-04-20 21:47:03 -07:00
2008-04-20 21:47:07 -07:00
2008-04-29 08:06:04 -07:00
2008-04-29 08:06:02 -07:00
2008-04-29 08:06:02 -07:00
2008-04-25 02:08:52 -04:00
2008-04-19 19:10:26 -07:00
2008-04-19 19:10:26 -07:00
2008-04-28 08:58:26 -07:00
2008-04-28 08:58:33 -07:00
2008-04-28 08:58:33 -07:00
2008-04-19 19:10:33 -07:00
2008-04-28 08:58:46 -07:00
2008-04-29 08:05:59 -07:00
2008-04-23 22:10:48 -07:00
2008-04-28 08:58:26 -07:00
2008-04-28 08:58:26 -07:00
2008-04-29 08:06:06 -07:00
2008-04-19 09:53:46 +10:00
2008-04-23 00:04:38 -04:00
2008-04-25 00:25:08 +02:00
2008-04-28 08:58:32 -07:00
2008-04-28 08:58:25 -07:00
2008-04-21 15:51:36 -07:00
2008-04-27 18:28:18 +03:00
2008-04-29 08:06:05 -07:00
2008-04-28 08:58:36 -07:00
2008-04-28 08:58:20 -07:00
2008-04-28 08:58:29 -07:00
2008-04-29 08:06:06 -07:00
2008-04-19 19:44:59 +02:00
2008-04-22 15:16:31 -05:00
2008-04-19 19:44:59 +02:00
2008-04-19 19:10:33 -07:00
2008-04-24 21:16:42 -07:00
2008-04-24 21:16:57 -07:00
2008-04-24 21:16:54 -07:00
2008-04-24 14:07:56 -03:00
2008-04-28 08:58:21 -07:00
2008-04-28 08:58:23 -07:00
2008-04-29 08:06:06 -07:00
2008-04-25 00:29:34 -07:00