[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

про цвет фона новой строки в терминале и консоле



Всем привет.

Проблема заключается в том, новая строка, которая появляется в терминале или консоле рисуется вся тем цветом фона, котрый был установлен на момент её появления.

perl -e 'print "x" x 60, "\e[44m", "x" x 40, "\e[0m\n"'
или
perl -e 'print "x" x 40, "\e[44m\n", "x" x 40, "\e[0m\n"'
Наглядно это показывают.

Встретить этот баг очень просто: ls некоторые файлы выделяет цветом фона; достаточно что бы имя файла не влезало на строчку (а с ключом -l это не так и сложно).

Когда я встретил это баг, выяснилось, что он проявляется во всех x-терминалах, которые есть в дебиане, кроме mlterm'а.
Точно так же вела себя и консоль.

Потом в каком-то ядре это даже исправили:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.30.y.git;a=commit;h=c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b

А потом Торвальдс, со сыылкой на Кокса это откатил:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.30.y.git;a=commit;h=93f78da405685a756beeaeae4b5e41fcec39eab3

by request of Alan Cox. Quoth Alan:
  "Unfortunately it's wrong and its been causing breakages because
   various apps like ncurses expect our previous (and correct)
   behaviour."

Дык вот очень хочется узнать, почему покрасить всю строчку целиком --- это корректное поведение?

И если это не баг тирминалов, то значит это баг ls'а.

--
sergio


Reply to: