• GoldEd+, Linux, broken encoding

    From Artem Nemenchinsky@2:382/200 to All on Sun Mar 30 14:30:46 2025
    Hi All,

    Заметил странное поведение у GoldEd+:
    Cначала, при открытии сообщения с русскими буквами всё отображается корректно: http://pics.rsh.ru/img/before_keyDown_wluhtg06.png

    о, если проскроллировать текст стрелочками вверх/вниз, отображение ломается: http://pics.rsh.ru/img/after_keyDown_jhpndcyx.png

    Если после этого нажать pageUp/pageDown - всё снова начинает отображаться корректно.
    И так до следующего нажатия стрелочек.

    GoldEd собирал из мастера 9 марта этого года.

    Кто может подсказать, в какую сторону копать?
    Проблема не страшная, но немного раздражает

    Regards,
    Artem

    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: ----> Pilot Pirx BBS Belgrade, Serbia (2:382/200)
  • From Vitaliy Aksyonov@1:104/117 to Artem Nemenchinsky on Mon Mar 31 18:16:16 2025
    Привет, Artem!

    30 Mar 25 14:30, ты писал(а) All:

    Заметил странное поведение у GoldEd+:
    Cначала, при открытии сообщения с русскими буквами всё отображается корректно: http://pics.rsh.ru/img/before_keyDown_wluhtg06.png

    о, если проскроллировать текст стрелочками вверх/вниз, отображение ломается: http://pics.rsh.ru/img/after_keyDown_jhpndcyx.png

    Если после этого нажать pageUp/pageDown - всё снова начинает
    отображаться корректно. И так до следующего нажатия стрелочек.

    GoldEd собирал из мастера 9 марта этого года.

    Кто может подсказать, в какую сторону копать?
    Проблема не страшная, но немного раздражает

    Подобная фигня уже у кого-то была. Воспроизвести у себя я не смог. Похоже, зависит от каких-то локальных настроек или комбинации либ.

    Какую кодировку и локаль используешь для запуска эхотага?

    Best regards,
    Vitaliy Aksyonov.

    ... Pentium Pro Z - тот, что с голубыми кристалами...
    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: Aurora, Colorado (1:104/117)
  • From Stas Mishchenkov@2:460/5858 to Vitaliy Aksyonov on Wed Apr 2 09:25:02 2025
    Hi Vitaliy!

    31 Mar 25 18:16, Vitaliy Aksyonov -> Artem Nemenchinsky:

    Кто может подсказать, в какую сторону копать?
    Проблема не страшная, но немного раздражает

    Подобная фигня уже у кого-то была. Воспроизвести у себя я не смог. Похоже, зависит от каких-то локальных настроек или комбинации либ.

    Какую кодировку и локаль используешь для запуска эхотага?

    В виндовом дедушке повторяемость 100%.

    Have nice nights.
    Stas Mishchenkov.

    --- Если обходить все неприятности, то можно пройти мимо всех удовольствий.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Alexey Khromov@2:5030/723 to Stas Mishchenkov on Wed Apr 2 10:34:40 2025
    Здраствуйте, Stas!

    02 апр 25 09:25, Stas Mishchenkov -> Vitaliy Aksyonov:

    В виндовом дедушке повторяемость 100%.

    В линуксовом тоже. Откат пуллреквеста от 17 марта не помог.
    Ищу функцию сохранения буфера экрана из ncurses, т.к. косяк проявляется
    даже при выходе в "скринсейвер" и возврате из него. Вот через вызов скринсейвера и докопаюсь до искомой строчки.

    Alexey Khromov
    --- GoldED+/LNX 1.1.5-b20240604
    * Origin: - Вы в опасности! Вы окружены роботами! - (2:5030/723)
  • From Nil A@2:5015/46 to Stas Mishchenkov on Wed Apr 2 10:49:34 2025
    Hello, Stas!

    Wednesday April 02 2025 09:25, from Stas Mishchenkov -> Vitaliy Aksyonov:

    Какую кодировку и локаль используешь для запуска эхотага?
    В виндовом дедушке повторяемость 100%.

    Знать не в ncurses дело то.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Vitaliy Aksyonov@1:104/117 to Stas Mishchenkov on Wed Apr 2 07:01:02 2025
    Привет, Stas!

    02 Apr 25 09:25, ты писал(а) мне:

    Кто может подсказать, в какую сторону копать?
    Проблема не страшная, но немного раздражает

    Подобная фигня уже у кого-то была. Воспроизвести у себя я не
    смог. Похоже, зависит от каких-то локальных настроек или
    комбинации либ.

    Какую кодировку и локаль используешь для запуска эхотага?

    В виндовом дедушке повторяемость 100%.

    А вот это интересно. Там были изменения, которые касаются только ncurses.

    Best regards,
    Vitaliy Aksyonov.

    ... Hakuna matata
    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: Aurora, Colorado (1:104/117)
  • From Vitaliy Aksyonov@1:104/117 to Alexey Khromov on Wed Apr 2 07:01:34 2025
    Привет, Alexey!

    02 Apr 25 10:34, ты писал(а) Stas Mishchenkov:

    В виндовом дедушке повторяемость 100%.

    В линуксовом тоже. Откат пуллреквеста от 17 марта не помог.
    Ищу функцию сохранения буфера экрана из ncurses, т.к. косяк
    проявляется даже при выходе в "скринсейвер" и возврате из него. Вот
    через вызов скринсейвера и докопаюсь до искомой строчки.

    Так это новая проблема или уже была? Можешь найти конкретный коммит, который ломает это поведение? git bisect очень помогает.

    Best regards,
    Vitaliy Aksyonov.

    ... Жить хорошо. А регулярно жить еще лучше!
    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: Aurora, Colorado (1:104/117)
  • From Alexey Khromov@2:5030/723 to Vitaliy Aksyonov on Wed Apr 2 20:30:13 2025
    Здраствуйте, Vitaliy!

    02 апр 25 07:01, Vitaliy Aksyonov -> Alexey Khromov:

    Так это новая проблема или уже была? Можешь найти конкретный коммит, который ломает это поведение? git bisect очень помогает.

    Спасибо за git bisect, полезная штука, я прям далеко копнул!
    И нашел, что проблема в моем способе сборки. Сборка по-умолчанию с системной ncurses-6.5 все и ломала. Собрал как надо с libncurses.5 (ncurses 6.2) собранной без WIDE и все заработало как надо.
    адо было сразу ldd gedlnx посмотреть.


    Alexey Khromov
    --- GoldED+/LNX 1.1.5-b20240604
    * Origin: - Вы в опасности! Вы окружены роботами! - (2:5030/723)
  • From Vitaliy Aksyonov@1:104/117 to Alexey Khromov on Wed Apr 2 20:59:50 2025
    Привет, Alexey!

    02 Apr 25 20:30, ты писал(а) мне:

    Так это новая проблема или уже была? Можешь найти конкретный
    коммит, который ломает это поведение? git bisect очень помогает.

    Спасибо за git bisect, полезная штука, я прям далеко копнул!
    И нашел, что проблема в моем способе сборки. Сборка по-умолчанию с системной ncurses-6.5 все и ломала. Собрал как надо с libncurses.5 (ncurses 6.2) собранной без WIDE и все заработало как надо. адо было
    сразу ldd gedlnx посмотреть.

    git bisect - очень удобная штука. :)

    А вот wide ncurses в эхотаге нормально не работает, как и юникод. Тогда можешь попробовать собрать коммит c98d48ca1634b472c02c62cf2b2c2f824492689e и подтвердить, что он не ломает ничего? Я тогда его верну.

    Best regards,
    Vitaliy Aksyonov.

    ... По ногам текло, а в рот не попало.
    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: Aurora, Colorado (1:104/117)
  • From Alexey Khromov@2:5030/723 to Vitaliy Aksyonov on Thu Apr 3 06:47:28 2025
    Здраствуйте, Vitaliy!

    02 апр 25 20:59, Vitaliy Aksyonov -> Alexey Khromov:

    Тогда можешь попробовать собрать коммит c98d48ca1634b472c02c62cf2b2c2f824492689e и подтвердить, что он не
    ломает ничего? Я тогда его верну.

    Его и собрал во вторую очередь - все ОК.


    а с wide ncurses в первую очередь упирается в inline-ы в goldlib/gvidall.h:

    inline vchar vgchar (vatch chat)
    {
    return chat & 0xff;
    }
    inline vattr vgattr (vatch chat)
    {
    return (chat >> 8) & 0xff;
    }
    inline vatch vschar (vatch chat, vchar chr)
    {
    return (chat & 0xff00) | chr;
    }
    inline vatch vsattr (vatch chat, vattr atr)
    {
    return (chat & 0xff) | (atr << 8);
    }
    inline vatch vcatch (vchar chr, vattr atr)
    {
    return (chr & 0xff) | ((atr << 8) & 0xff00);
    }

    #endif

    inline vchar vgetc (int row, int col)
    {
    return vgchar(vgetw(row, col));
    }

    Где б еще столько "досуга" найти, чтоб на досуге с этим поковыряться?)))


    Alexey Khromov
    --- GoldED+/LNX 1.1.5-b20250401
    * Origin: - Вы в опасности! Вы окружены роботами! - (2:5030/723)
  • From Vitaliy Aksyonov@1:104/117 to Alexey Khromov on Thu Apr 3 07:37:02 2025
    Привет, Alexey!

    03 Apr 25 06:47, ты писал(а) мне:

    Тогда можешь попробовать собрать коммит
    c98d48ca1634b472c02c62cf2b2c2f824492689e и подтвердить, что он не
    ломает ничего? Я тогда его верну.

    Его и собрал во вторую очередь - все ОК.

    Значит, последний роллбэк можно убрать. :)

    а с wide ncurses в первую очередь упирается в inline-ы в goldlib/gvidall.h:

    inline vchar vgchar (vatch chat)
    {
    return chat & 0xff;
    }
    inline vattr vgattr (vatch chat)
    {
    return (chat >> 8) & 0xff;
    }
    inline vatch vschar (vatch chat, vchar chr)
    {
    return (chat & 0xff00) | chr;
    }
    inline vatch vsattr (vatch chat, vattr atr)
    {
    return (chat & 0xff) | (atr << 8);
    }
    inline vatch vcatch (vchar chr, vattr atr)
    {
    return (chr & 0xff) | ((atr << 8) & 0xff00);
    }

    #endif

    inline vchar vgetc (int row, int col)
    {
    return vgchar(vgetw(row, col));
    }

    Где б еще столько "досуга" найти, чтоб на досуге с этим
    поковыряться?)))

    Там нет быстрого решения. Этот код глухо однобайтовый. Чтобы заработал wide - нужно всё переделывать под юникод. А это значит переписать больше половины.

    Best regards,
    Vitaliy Aksyonov.

    ... Сниму подвальное помещение в Кремле.
    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: Aurora, Colorado (1:104/117)
  • From Serg Podtynnyi@2:5030/3165 to Vitaliy Aksyonov on Fri Apr 4 19:03:04 2025
    Hello Vitaliy!

    Thursday April 03 2025 07:37, you wrote to Alexey Khromov:

    Его и собрал во вторую очередь - все ОК.

    Значит, последний роллбэк можно убрать. :)

    а с wide ncurses в первую очередь упирается в inline-ы в
    Где б еще столько "досуга" найти, чтоб на досуге с этим
    поковыряться?)))

    Там нет быстрого решения. Этот код глухо однобайтовый. Чтобы заработал wide - нужно всё переделывать под юникод. А это значит переписать
    больше половины.

    у как минимум, чтобы весь вывод перевести на wide char я уже знаю как, потихоньку начал другие функции править для вывода все, что
    в gvidbase. Там больше сложность с кучей ифдефов для других типов cchar. о это похоже единственный путь, если вывод и ввод уже будет работать с wide, то потом можно аккуратно и остальное править, ну ословно на std string переводить.


    Serg

    --- GoldED+/LNX 1.1.5-b20250318 Arch BTW
    * Origin: The Land of Smiles (2:5030/3165)
  • From Vitaliy Aksyonov@1:104/117 to Serg Podtynnyi on Fri Apr 4 15:49:38 2025
    Привет, Serg!

    04 Apr 25 19:03, ты писал(а) мне:

    Его и собрал во вторую очередь - все ОК.

    Значит, последний роллбэк можно убрать. :)

    а с wide ncurses в первую очередь упирается в inline-ы в
    Где б еще столько "досуга" найти, чтоб на досуге с этим
    поковыряться?)))

    Там нет быстрого решения. Этот код глухо однобайтовый. Чтобы
    заработал wide - нужно всё переделывать под юникод. А это значит
    переписать больше половины.

    у как минимум, чтобы весь вывод перевести на wide char я уже знаю
    как, потихоньку начал другие функции править для вывода все, что в gvidbase. Там больше сложность с кучей ифдефов для других типов cchar.
    о это похоже единственный путь, если вывод и ввод уже будет работать
    с wide, то потом можно аккуратно и остальное править, ну ословно на
    std string переводить.

    Вот это дело. епросто только будет сделать так, чтобы оно без wide работало. Для старых систем. А без wide юникод нормально не взлетит. В общем, палка о двух концах.

    Я уже подумываю о том, чтобы сделать ветку для перевода на юникод и потихоньку пилить в том направлении.

    Какие задачи я там вижу кроме собственно перевода на юникод:
    1. Перевести сборку полностью на cmake и выбросить все остальные make, vcproj и подобное.
    2. Поднять стандарт как минимум до C++11.
    3. Забить на поддержку старых систем, в которых нет cmake и C++11. При этом по идее кросскомпиляция должна помочь собирать под старые системы, если кому сильно захочется нового функционала.

    Если будет хороший прогресс и народ будет использовать эту версию - влить её в мастер, заодно подняв версию до 2.0.

    Как идея?

    Best regards,
    Vitaliy Aksyonov.

    ... В тюрьме столько не сидят, сколько вы в интернете...
    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: Aurora, Colorado (1:104/117)
  • From Serg Podtynnyi@2:5030/3165 to Vitaliy Aksyonov on Thu Apr 10 10:31:04 2025
    Hello Vitaliy!

    Friday April 04 2025 15:49, you wrote to me:

    Там нет быстрого решения. Этот код глухо однобайтовый. Чтобы
    заработал wide - нужно всё переделывать под юникод. А это значит
    переписать больше половины.

    у как минимум, чтобы весь вывод перевести на wide char я уже
    знаю как, потихоньку начал другие функции править для вывода все,
    что в gvidbase. Там больше сложность с кучей ифдефов для других
    типов cchar. о это похоже единственный путь, если вывод и ввод
    уже будет работать с wide, то потом можно аккуратно и остальное
    править, ну ословно на std string переводить.

    Вот это дело. епросто только будет сделать так, чтобы оно без wide работало. Для старых систем. А без wide юникод нормально не взлетит. В общем, палка о двух концах.

    Я уже подумываю о том, чтобы сделать ветку для перевода на юникод и потихоньку пилить в том направлении.

    Какие задачи я там вижу кроме собственно перевода на юникод:
    1. Перевести сборку полностью на cmake и выбросить все остальные make, vcproj и подобное. 2. Поднять стандарт как минимум до C++11. 3. Забить
    на поддержку старых систем, в которых нет cmake и C++11. При этом по
    идее кросскомпиляция должна помочь собирать под старые системы, если
    кому сильно захочется нового функционала.

    Если будет хороший прогресс и народ будет использовать эту версию -
    влить её в мастер, заодно подняв версию до 2.0.

    Как идея?

    Мне все это нравится, можно даже до C++17 апнуть, если будут какие-то фиксы можно будет их бекпортить в легаси ветку.

    Serg

    --- GoldED+/LNX 1.1.5-b20250318 Arch BTW
    * Origin: The Land of Smiles (2:5030/3165)
  • From Nil A@2:5015/46 to Serg Podtynnyi on Thu Apr 10 07:21:28 2025
    Hello, Serg!

    Thursday April 10 2025 10:31, from Serg Podtynnyi -> Vitaliy Aksyonov:

    Мне все это нравится, можно даже до C++17 апнуть,

    Оппа, у нас новонод нарисовался.
    Так то и мы бы шмогли. А ты вот попробуй, где-то уровню C++98 соответствовать. Есть Open Watcom C/C++ 1.9, или открытый V2, который ваще нивдупаляет про стандарты, но по-факту держит C++98, и неофициально некоторые конструкции C++03. ФСЁ. икаких C++11 там нет.

    P.S. -std=c++26, я у себя дома на петпроектах пишу.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Alexey Khromov@2:5030/723 to Serg Podtynnyi on Thu Apr 10 09:41:17 2025
    Здраствуйте, Serg!

    Мне все это нравится, можно даже до C++17 апнуть, если будут какие-то фиксы можно будет их бекпортить в легаси ветку.

    Как раз с бекпортами возникнет больше всего проблем из-за отсутствия наличия разработчиков, если все переметнутся в новую мажорную версию с отдельной кодовой базой. Таким макаром проще уж на КуТях сразу рисовать редактор, ну и назвать, естественно, по-другому.
    А, так это уже не форк, это другой редактор... И сколько таких утонуло уже?


    Alexey Khromov
    --- GoldED+/LNX 1.1.5-b20250407
    * Origin: - Вы в опасности! Вы окружены роботами! - (2:5030/723)
  • From Serg Podtynnyi@2:5030/3165 to Nil A on Thu Apr 10 13:55:52 2025
    Hello Nil!

    Thursday April 10 2025 07:21, you wrote to me:

    Мне все это нравится, можно даже до C++17 апнуть,

    Оппа, у нас новонод нарисовался.
    новошта?)

    Так то и мы бы шмогли. А ты вот попробуй, где-то уровню C++98 соответствовать. Есть Open Watcom C/C++ 1.9, или открытый V2, который
    ваще нивдупаляет про стандарты, но по-факту держит C++98, и
    неофициально некоторые конструкции C++03. ФСЁ. икаких C++11 там нет.

    P.S. -std=c++26, я у себя дома на петпроектах пишу.

    Как раз и разговор о том, чтобы сделать ветку только для современных систем, условно LTS для древних.


    Serg

    --- GoldED+/LNX 1.1.5-b20250318 Arch BTW
    * Origin: The Land of Smiles (2:5030/3165)
  • From Vitaliy Aksyonov@1:104/117 to Alexey Khromov on Thu Apr 10 07:18:48 2025
    Привет, Alexey!

    10 Apr 25 09:41, ты писал(а) Serg Podtynnyi:

    Мне все это нравится, можно даже до C++17 апнуть, если будут
    какие-то фиксы можно будет их бекпортить в легаси ветку.

    Как раз с бекпортами возникнет больше всего проблем из-за отсутствия наличия разработчиков, если все переметнутся в новую мажорную версию с отдельной кодовой базой. Таким макаром проще уж на КуТях сразу
    рисовать редактор, ну и назвать, естественно, по-другому. А, так это
    уже не форк, это другой редактор... И сколько таких утонуло уже?

    Кто хочет запускать на ретро компьютерах и в ретро ОС - никаких проблем брать текущую версию. икто же не меняет кучу старого фидошного софта и им всё ещё пользуются.

    Best regards,
    Vitaliy Aksyonov.

    ... Сниму подвальное помещение в Кремле.
    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: Aurora, Colorado (1:104/117)
  • From Vitaliy Aksyonov@1:104/117 to Serg Podtynnyi on Thu Apr 10 07:20:14 2025
    Привет, Serg!

    10 Apr 25 10:31, ты писал(а) мне:

    Там нет быстрого решения. Этот код глухо однобайтовый. Чтобы
    заработал wide - нужно всё переделывать под юникод. А это
    значит переписать больше половины.

    у как минимум, чтобы весь вывод перевести на wide char я уже
    знаю как, потихоньку начал другие функции править для вывода
    все, что в gvidbase. Там больше сложность с кучей ифдефов для
    других типов cchar. о это похоже единственный путь, если вывод
    и ввод уже будет работать с wide, то потом можно аккуратно и
    остальное править, ну ословно на std string переводить.

    Вот это дело. епросто только будет сделать так, чтобы оно без
    wide работало. Для старых систем. А без wide юникод нормально не
    взлетит. В общем, палка о двух концах.

    Я уже подумываю о том, чтобы сделать ветку для перевода на юникод
    и потихоньку пилить в том направлении.

    Какие задачи я там вижу кроме собственно перевода на юникод:
    1. Перевести сборку полностью на cmake и выбросить все остальные
    make, vcproj и подобное. 2. Поднять стандарт как минимум до
    C++11. 3. Забить на поддержку старых систем, в которых нет cmake
    и C++11. При этом по идее кросскомпиляция должна помочь собирать
    под старые системы, если кому сильно захочется нового
    функционала.

    Если будет хороший прогресс и народ будет использовать эту версию
    - влить её в мастер, заодно подняв версию до 2.0.

    Как идея?

    Мне все это нравится, можно даже до C++17 апнуть, если будут какие-то фиксы можно будет их бекпортить в легаси ветку.

    17 может быть таки слишком. В некоторых системах всё ещё довольно древние компиляторы. А ставить сторонний не хотелось бы.

    Best regards,
    Vitaliy Aksyonov.

    ... У ушей тоже есть стены.
    --- GoldED+/LNX 1.1.5-b20240309
    * Origin: Aurora, Colorado (1:104/117)
  • From Stas Mishchenkov@2:460/5858 to Serg Podtynnyi on Fri Apr 11 10:19:34 2025
    Hi Serg!

    10 Apr 25 13:55, Serg Podtynnyi -> Nil A:

    Мне все это нравится, можно даже до C++17 апнуть,

    Оппа, у нас новонод нарисовался.

    новошта?)

    https://nodehist.bsrealm.net/?address=2:5030/3165
    Четыре года - это как вчера. ;)

    Have nice nights.
    Stas Mishchenkov.

    --- Лень - самый лучший грех из семи. Он мешает нам совершать остальные шесть.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Alexey Khromov@2:5030/723 to Stas Mishchenkov on Fri Apr 11 11:20:51 2025
    Здраствуйте, Stas!

    https://nodehist.bsrealm.net/?address=2:5030/3165
    Четыре года - это как вчера. ;)

    А два - как сегодня утром? ;)

    е вижу смысла меряться временем, оно само течёт куда-то ускоряясь.
    Вплоть до переполнения uint32.

    Alexey Khromov
    --- GoldED+/LNX 1.1.5-b20250407
    * Origin: - Вы в опасности! Вы окружены роботами! - (2:5030/723)
  • From Serg Podtynnyi@2:5030/3165 to Stas Mishchenkov on Sun Apr 27 02:05:24 2025
    Hello Stas!

    Friday April 11 2025 10:19, you wrote to me:


    Мне все это нравится, можно даже до C++17 апнуть,

    Оппа, у нас новонод нарисовался.

    новошта?)

    https://nodehist.bsrealm.net/?address=2:5030/3165
    Четыре года - это как вчера. ;)
    Да, у меня была другая нода, эх) https://nodehist.bsrealm.net/?address=2:5031/65


    Serg

    --- GoldED+/LNX 1.1.5-b20250318 Arch BTW
    * Origin: The Land of Smiles (2:5030/3165)