[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