LINUX.ORG.RU

Баг в Gnome-Terminal?

 , , ,


1

1

При печати в русской раскладке из stdin, если напечатал слово не правильно, затёр его бэкспейсами и напечатал заново, получается совершенно не тот результат.

$ gnome-terminal --version
Терминал среды GNOME 3.6.2

у меня баг проявляется следующим образом:

$ cat > /tmp/test.txt

ожидается ввод из stdin

ввожу к примеру слово:

ФИТЧА

стираю это слово бэкспейсом и пишу новое

БАГА

нажимаю энтер, посылаю EOF по Ctrl+d.

в файле оказывается:

$ cat /tmp/test.txt
ФИ�БАГА

как я понимаю, первое слово занимает 10 байт(5 символов по 2 байта), при стирании, сам символ с экрана удаляется полностью, а в памяти вместо двух байт стирается всего 1.

ни в tty не в urxvt, такого не происходит.

в параметрах профиля gnome-terminal, выставлял опцию «Клавиша Backspace генерирует» во все возможные значения - не помогло

от чего может быть такой глюк и можно ли его пофиксить?

Ответ на: комментарий от andregin

редакторы работают хорошо, текст не портят, а вот начало освоения C++, данная ошибка омрачила, что std::cin, что std::wcin, оказались к ней очень восприимчивы. собстенно и наткнулся на багу благодаря языку, а не кату.

issumbosy
() автор топика
Ответ на: комментарий от andregin

для меня не критично(просто как-то не аккуратненько), сменил терминал на urxvt. репорты писать не умею, не программист, да и неуверен на 100%, баг это или что-то с локализацией. от местных хотелось бы подтверждения и если подтвердится, тогда и репорта куда следует.

issumbosy
() автор топика
Ответ на: комментарий от andregin

зачем, это только к Gnome-Terminal относится, и возможно к stdin.

issumbosy
() автор топика
Ответ на: комментарий от issumbosy

ОК, если нужно завтра отпишусь на реакцию gnome-terminal, на cat. Если повторится, считай баг, но баги я писать не умею.

andregin
()

У меня нормально отработало.

$ ~ > gnome-terminal --version
GNOME Terminal 3.20.2
Попробуй ввести stty iutf8

yacuken ★★★★
()

На оффтопе с cygwin и mintty тоже воспроизводится:

$ cat /tmp/test.txt
ФИ▒БАГА
Скорее всего бага где-то в stdin.

h578b1bde ★☆
()
Последнее исправление: h578b1bde (всего исправлений: 1)
gnome-terminal --version
Терминал GNOME 3.18.3

не воспроизводится

Noob_Linux ★★★★
()
Ответ на: комментарий от andregin

А вот стрелочки перемещения по тексту, не работают.

andregin
()

Всё в норме: mate-terminal 1.12.1

Кстати, как уже выше посоветовали, можно сравнить настройки:

$ stty 
speed 38400 baud; line = 0;
eol = M-^?; eol2 = M-^?; swtch = M-^?;
ixany iutf8

gag ★★★★★
()

Бага-то не в терминале, а в баше, скорее всего. В разных дистрибутивах с разными патчами его собирают, где-то с юникодом беда.

BTW, bash 4.3_p39, mate-terminal 1.8.0 & tilda 0.9.6 - всё норм.

tiandrey ★★★★★
()
Последнее исправление: tiandrey (всего исправлений: 2)

yacuken и gag, спасибо. В настройках stty вместо ixany iutf8, было просто ixany.

issumbosy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.