[sisyphus] Как починить xterm
Yura Kalinichenko
=?iso-8859-1?q?yuk_=CE=C1_iceb=2Evinnitsa=2Ecom?=
Пт Авг 6 09:28:31 MSD 2004
В Чтв, 05.08.2004, в 20:59, Eugene Vlasov написал:
> Добрый день.
>
> Давно заметил - xterm ломается, если наталкивается на некоторые символы
> (например псевдографику) при работе в mutt или slrn. Выражается это в том,
> что при чтении некоторых писем экран может засоряться, почтовой программе
> могут передаваться некие комбинации клавиш. В aterm такого не замечено.
> Ошибка воспроизводится с
> [eugene на eugene-home eugene]$ rpm -q xterm
> xterm-191-alt3
> , но и на более ранних версиях такое поведение замечал.
Было и на более ранних. Простейший патч, это дело исправляющий - пришит.
> Приходится для
> чтения почты держать aterm.
> С этим можно как то бороться? Вешать багу? Если вешать, то на какой
> пакет?
На самом деле это не бага, а фича. Согласно стандарту ANSI X3.64 символы
с кодами 0x80-0x9f являются дополнительными управляющими символами для
терминалов. Так что если следовать букве стандарта, то неправы
программы, использующие эти коды в качестве printable. Идеальным
решением было бы (как это делалось в "железных" терминалах) прикрутить
ручку, с помощью которой данный режим можно было бы включать-выключать,
но для этого надо достаточно глубоко влазить в сорцы.
--
Yura Kalinichenko
mob. +380 67 587 83 02
----------- следующая часть -----------
--- VTPrsTbl.c.org Thu Jan 25 01:43:30 2001
+++ VTPrsTbl.c Wed Nov 6 17:25:44 2002
@@ -242,10 +242,10 @@
CASE_PRINT,
/* 0x84 0x85 0x86 0x87 */
-CASE_IND,
-CASE_NEL,
+CASE_PRINT,
+CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
/* 0x88 0x89 0x8a 0x8b */
-CASE_HTS,
+CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
@@ -253,9 +253,9 @@
/* 0x8c 0x8d 0x8e 0x8f */
CASE_PRINT,
-CASE_RI,
-CASE_SS2,
-CASE_SS3,
+CASE_PRINT,
+CASE_PRINT,
+CASE_PRINT,
/* 0x90 0x91 0x92 0x93 */
-CASE_DCS,
+CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
@@ -264,16 +264,16 @@
CASE_PRINT,
CASE_PRINT,
-CASE_SPA,
-CASE_EPA,
+CASE_PRINT,
+CASE_PRINT,
/* 0x98 0x99 0x9a 0x9b */
-CASE_SOS,
CASE_PRINT,
-CASE_DECID,
-CASE_CSI_STATE,
+CASE_PRINT,
+CASE_PRINT,
+CASE_PRINT,
/* 0x9c 0x9d 0x9e 0x9f */
-CASE_ST,
-CASE_OSC,
-CASE_PM,
-CASE_APC,
+CASE_PRINT,
+CASE_PRINT,
+CASE_PRINT,
+CASE_PRINT,
/* nobreakspace exclamdown cent sterling */
CASE_PRINT,
Подробная информация о списке рассылки Sisyphus