-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failed cmd console display can't be closed by ESC sometimes #1003
Comments
Для начала - это все про консольную версию far2l или wx-овую? И под какой ОС? (В убунте ошибка после make с мусорным Makefile закрывается у меня нормально и в wx и в tty версиях far2l) |
WX-овая, Linux Mint Cinnamon, версия make: GNU Make 4.2.1 Built for x86_64-pc-linux-gnu. Куда можно посмотреть? Залогировать что-то? |
Какая нить хитрая и необрабатываемая последовательность в выводе в принципе могла бы вызвать такой эффект. У меня нашлась система с make 4.2.1 но он там выдает обычный вывод, без цветов. Создание Makefile таким образом: |
Извиняюсь, зациклился и глупость написал, цветной вывод оказался не у make, а у запускаемого им gcc. Т.е. цветной вывод ни при чём (баг проявляется и на простейших «сломанных» Makefile вида all: nonexistent_file, никого не запускающих). |
Насколько мне известно, make никаких особенных кодов не пишет. Совсем наугад: это может быть код возврата или наличие дочернего процесса-шелла. |
Поймал полностью аналогичное поведение без make: Command 'xor' not found, did you mean: command 'oor' from deb openoverlayrouter (1.3.0+ds1-2) Try: sudo apt install исполняю то же самое, вызвав из истории (по Ctrl-E) - ESC работает. Набираю ради проверки не xor, а nor (тоже отсутствует), тоже получаю экран с предложениями, но ESC работает! |
откройте терминал, в нем запустите |
Извиняюсь за задержку, сделал (в окне far2l уже нажат ESC и панели не вернулись): (gdb) thread apply all bt Thread 12 (Thread 0x7ffff1cc6700 (LWP 53764)): Thread 8 (Thread 0x7ffff14c5700 (LWP 53752)): Thread 6 (Thread 0x7ffff24c7700 (LWP 53750)): Thread 4 (Thread 0x7ffff3791700 (LWP 53748)): Thread 3 (Thread 0x7ffff3f92700 (LWP 53747)): Thread 2 (Thread 0x7ffff480d700 (LWP 53746)): Thread 1 (Thread 0x7ffff4ffa580 (LWP 53742)): |
А у вас ~/.config/far2l/key_macros.ini содержит чтото? Усли да - можете его временно убрать? Если проблема уйдет - расшарьте свой key_macros.ini. |
Да, макросы влияют, убрал - проблема ушла. И дело конкретно вот в этом: Но! Дальше интереснее: убрал вообще весь .config/far2l, запустил far чтобы пересоздался, закинул назад свой старый key_macros.ini - получил назад свой показ консоли по Esc, но на первый взгляд без проблемы (ошибка make закрывается). Однако дальше в таком состоянии проблема проявилась на некоторых однобуквенных командах. Нашёл вот такой минимальный набор действий:
И ещё такой момент: как уже сказал, после очистки конфига и добавления макроса уходит проблема с незакрытием make (т.е. вот эти все c, d, e вызывают проблему, а make с ошибкой, не закрывавшийся раньше - уже нормально закрывается). Чтобы проблема с make вернулась, достаточно скопировать в этот свежий конфиг мой старый history/commands.hst |
Набираю какую-нибудь консольную команду, завершающуюся неудачно (к примеру, make с неудачной сборкой), far оставляет видимой консоль (не показывает панели), хочу вернуться к панелям, нажимаю ESC - нет реакции. Нажимаю любую другую клавишу (за все 101 не скажу, но стрелки и буквы годятся) - панели возвращаются. Запускаю опять ту же самую команду, вызвав её текст через Ctrl-E - всё нормально, ESC возвращает к панелям. А если заново набираю руками - ESC не работает.
Так влияют далеко не все команды, какое-нибудь ls /nonexistent нормально закрывается по ESC, тот же самый make c неверными ключами выдаёт help и нормально закрывается по ESC, а вот make с любой ошибкой на стадии обрабоки Makefile (хоть ошибки вызываемых команд, хоть ошибки формата самого файла) - нет. При этом, повторюсь, стоит только не набрать make руками заново, а вызвать из истории по Ctrl-E - всё хорошо, ESC работает.
The text was updated successfully, but these errors were encountered: