Closed konelav closed 3 years ago
Чего-то вообще не удаётся найти времени разбить аккуратно на отдельные пулл-реквесты. Посему описал чего сделано и запулил одним коммитом. У себя опубликовал пререлиз https://github.com/konelav/jmc/releases/tag/3700pre Сам бегаю этой версией в 3 разных мадах, совсем уж критичных глюков быть не должно. Но нюансов не может не быть. Так что надо тестить, на мой взгляд. Самотестирование в некотором зачаточном состоянии сделал (в описании коммита упоминается).
Переключился на твою ветку, начал собирать в Visual Studio 6.0, получаю такую ошибку:
--------------------Configuration: ttcoreex - Win32 Release--------------------
Compiling...
Files.cpp
D:\work\projects\jmc\sources\ttcoreex\Files.cpp(8) : fatal error C1083: Cannot open include file: 'Proxy.h': No such file or directory
JmcObj.cpp
D:\work\projects\jmc\sources\ttcoreex\JmcObj.cpp(192) : error C2065: 'ID_Prompt' : undeclared identifier
Proxy.cpp
D:\work\projects\jmc\sources\ttcoreex\Proxy.cpp(4) : fatal error C1083: Cannot open include file: 'Proxy.h': No such file or directory
ttcoreex.cpp
D:\work\projects\jmc\sources\ttcoreex\ttcoreexCP.h(358) : error C2065: 'ID_Prompt' : undeclared identifier
D:\work\projects\jmc\sources\ttcoreex\ttcoreexCP.h(352) : while compiling class-template member function 'int __thiscall CProxy_IJmcObjEvents<class CJmcObj>::Fire_Prompt(void)'
Generating Code...
Error executing cl.exe.
jmc.exe - 4 error(s), 0 warning(s)
Мда, даже объединенный коммит толком не вышел... Посмотри сейчас, плз, на этот раз проверил сборку.
На этот раз собирается всё норм, только при запуске выдаёт: Запуск программы невозможен, так как на компьютере отсутствует zlib.dll. Попробуйте переустановить программу.
Положил http://zlib.net zlib.dll рядом с остальными dll, то всё будет работать. Надо закоммитить эту библиотеку
Нашёл баг в этой сборке: #use {file_not_found.js}
-- старая jmc выдавала ошибку в скриптах, 3700 просто зависает и не реагирует на команды
При вводе - команды отображаются на той же строке, что и prompt. В старой жабе команда показывалась на новой строке. Этим поведением можно управлять? Очень непривычно выглядит
О, спасибо что наконец-то добрался %) Буду комментировать по мере возможности.
zlib.dll есть в папке у меня, но не закоммитился т.к. включен в ./sources/.gitignore (15:*.dll), а я не обратил внимание. Полагаю, что правильнее будет вообще статически слинковать, там надо-то для МССР три с половиной самых простых функции. Сделаю на досуге.
Отображение ввода на строке приглашения сделан по замыслу (это "в духе" телнета); сделать опционально, конечно, несложно будет.
Не хочешь параметр типа переместить в конец?
#action [text|raw|ansi|smaug|sow] <pattern> <commands>
-> #action <pattern> <commands> [text|raw|ansi|smaug|sow]
Хотел бы, но потребуется тогда всегда указывать группу/приоритет (они там опциональные тоже). Ну от приоритета еще можно отличить, а от группы сложнее.
как отключить пинг?
В меню Options в первой же закладке - не все надписи влезают. Можно и поболя сделать само окно, чего место экономить?
Попроверял кое-что из bulk-request, в частности:
всё нормально.
Пинг отключаемым сделать нетрудно (ещё одна галка...) Из-под вайна это известная ситуация, в никсах, как и в винде, raw-сокетам требуются максимальные привилегии. https://wiki.winehq.org/FAQ#Failed_to_use_ICMP_.28network_ping.29.2C_this_requires_special_permissions
ок, помогло.
Я, пожалуй, сделал всё что хотел (в части самой жабы, в скриптовых расширениях еще не паханое поле, конечно), теперь только багофиксы.
added option: log data "as-is" (as received from server), or log all highlighted/substituted/showed text (as it user see)