Nп/п : 15 из 100
От : Vitaliy Aksyonov 1:104/117 03 апр 25 07:37:02
К : Alexey Khromov 03 апр 25 16:40:01
Тема : Re: GoldEd+, Linux, broken encoding
----------------------------------------------------------------------------------
@MSGID: 1:104/117 67ee8f3f
@REPLY: 2:5030/723 67ee061a
@CHRS: CP866 2
@TZUTC: -0600
@TID: hpt/lnx 1.9 2024-03-02
Привет, Alexey!
03 Apr 25 06:47, ты писал(а) мне:
VA>> Тогда можешь попробовать собрать коммит
VA>> c98d48ca1634b472c02c62cf2b2c2f824492689e и подтвердить, что он не
VA>> ломает ничего? Я тогда его верну.
AK> Его и собрал во вторую очередь - все ОК.
Значит, последний роллбэк можно убрать. :)
AK> а с wide ncurses в первую очередь упирается в inline-ы в
AK> goldlib/gvidall.h:
AK> inline vchar vgchar (vatch chat)
AK> {
AK> return chat & 0xff;
AK> }
AK> inline vattr vgattr (vatch chat)
AK> {
AK> return (chat >> 8) & 0xff;
AK> }
AK> inline vatch vschar (vatch chat, vchar chr)
AK> {
AK> return (chat & 0xff00) | chr;
AK> }
AK> inline vatch vsattr (vatch chat, vattr atr)
AK> {
AK> return (chat & 0xff) | (atr << 8);
AK> }
AK> inline vatch vcatch (vchar chr, vattr atr)
AK> {
AK> return (chr & 0xff) | ((atr << 8) & 0xff00);
AK> }
AK> #endif
AK> inline vchar vgetc (int row, int col)
AK> {
AK> return vgchar(vgetw(row, col));
AK> }
AK> Где б еще столько "досуга" найти, чтоб на досуге с этим
AK> поковыряться?)))
Там нет быстрого решения. Этот код глухо однобайтовый. Чтобы
заработал wide - нужно всё переделывать под юникод. А это значит переписать
больше половины.
Best regards,
Vitaliy Aksyonov.
... Сниму подвальное помещение в Кремле.
--- GoldED+/LNX 1.1.5-b20240309
* Origin: Aurora, Colorado (1:104/117)
SEEN-BY: 46/49 50/109 104/117 221/6 240/1120 301/1
341/66 451/31 452/28 166
SEEN-BY: 455/19 463/68 4500/1 5000/111 5001/100
5015/42 46 5019/40 400
SEEN-BY: 5020/101 113 545 715 830 846 848 1042
2992 4441 5480 12000 5022/128
SEEN-BY: 5029/32 5030/49 115 1081 1474 5049/1 3
5050/151 5053/51 58 5054/89
SEEN-BY: 5058/104 5060/900 5061/133 5068/45 5083/1
444 6078/80 6090/1
@PATH: 104/117 5020/1042 4441