Глюки и баги, появившиеся в «ночных сборках»

Здесь можно сообщить о найденных багах в Far.
User avatar
John Doe
Бюрократ
Posts: 13867
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

Внимание: Тема служит исключительно для обсуждения свежих багов Far 3.
  • Под свежими понимаются глюки и баги, проявляющиеся в "ночных" сборках, но отсутствующие в "стабильных".
  • О проблемах, которые существуют давно, следует сообщать в отдельных темах, либо на багтрекере.
  • Вопросы, связанные с ночными сборками, но не касающиеся багов самого фара, обсуждаются в другой теме:
Если баг, о котором вы сообщили, не исправлен "по горячим следам", значит необходимо создать запись на багтрекере

Предыдущие ночные сборки доступны здесь.

Поведение при обнаружении проблем.
https://t.me/FarManager — Telegram чат
Awkward
Posts: 7
Joined: Sun 26 Jun, 2016 11:14

Глюки и баги, появившиеся в «ночных сборках»

Post by Awkward »

Latest post of the previous page:

проблема возникала даже на таком меню:

Code: Select all

x:  dropbox
    cd d:\dropbox
    d:
прямо сейчас скачал свежий ночник, которого не было ещё в полночь. Похоже, что баг исправлен. Спасибо!
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

Far30b4719.x64.20160620.7z - OK
Far30b4727.x64.20160627.7z - новое поведение или ошибка

Симптомы напоминают серию, которую обсуждали/изменяли с @DrKnS

Для воспроизведения нужен модуль FarNet.PowerShellFar

* Создать скрипт Issue1-.ps1. Он определяет две функции в сессии, которые мы используем дальше

Code: Select all

# Input()
function global:test1
{
	'before'
	$Far.Input('test')
	'after'
}

# Message()
function global:test2
{
	'before'
	$Far.Message('test')
	'after'
}
* Запустить его командой, т.е. определить функции test1, test2

Code: Select all

ps: .\Issue1-.ps1
* Тест 1. Запустить команду

Code: Select all

ps: test1
* В диалоге ввода просто нажать Enter. В итоге получаем вывод на консоль без ожидаемой строки "after" в конце. В Far30b4719 эта строка есть.

* Тест 2. Запустить команду

Code: Select all

ps: test2
* В диалоге просто нажать Enter. В итоге получаем вывод на консоль без ожидаемой строки "after" в конце. В Far30b4719 эта строка есть.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Глюки и баги, появившиеся в «ночных сборках»

Post by Smitis »

В 4725 что-то сломалось при выполнении команд из пользовательского меню (в 4724 работало).
Примеры:

Code: Select all

lua: Keys('CtrlAdd')
cmd /c echo !.!
- файлы не выделяются

Code: Select all

cmd /c echo !.!
lua: Keys('ShiftSubtract')
- выделение, если было, не снимается.
В тоже время, если в меню оставить одну строку lua:..., то она срабатывает.
Разум когда-нибудь победит.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

Far30b4719.x64.20160620.7z - образец
Far30b4727.x64.20160627.7z - новое поведение

Для воспроизведения нужен модуль FarNet.PowerShellFar

* Создать скрипт "test-1..ps1". Это специальный супер-макрос, который запускается так

Code: Select all

ps: Invoke-FarStepper .\test-1..ps1
или в пошаговом режиме так

Code: Select all

ps: Invoke-FarStepper .\test-1..ps1 -Ask
* Отличается вывод на консоль

Far30b4719

Code: Select all

PS C:\ROM\z\_160628_far> $result = Read-Host -AsSecureString

PS C:\ROM\z\_160628_far> $result = Read-Host -AsSecureString

*
Far30b4727

Code: Select all

PS C:\ROM\z\_160628_far> $result = Read-Host -AsSecureStringPS C:\ROM\z\_160628_far> $result = Read-Host -AsSecureString

*
Что означает вывод в обоих случаях, не особо важно, это просто тестовый код.
Просто обращаю внимание, что произошло изменение при таком сценарии.
На случай, если это не планировалось. Если так задумано, нет проблем.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Глюки и баги, появившиеся в «ночных сборках»

Post by DrKnS »

Smitis wrote: - файлы не выделяются
- выделение, если было, не снимается.
У меня в 4728 всё работает.
NightRoman wrote: Far30b4727.x64.20160627.7z - новое поведение
На момент написания поста на сайте доступен 4728.
Создать скрипт "test-1..ps1". Это специальный супер-макрос, который запускается так
Ну пустой файл я, допустим, создал. А дальше что?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

DrKnS wrote: На момент написания поста на сайте доступен 4728.
То же самое в обеих сборках.
DrKnS wrote: Ну пустой файл я, допустим, создал. А дальше что?
Упс. Ну, бывает.
Last edited by NightRoman on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: [quote], [spoiler]
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Глюки и баги, появившиеся в «ночных сборках»

Post by DrKnS »

в приведённом сценарии плагин делает что-то такое:

...
FCTL_GETUSERSCREEN
...
FCTL_GETUSERSCREEN
...
FCTL_SETUSERSCREEN
...
FCTL_GETUSERSCREEN
...
FCTL_SETUSERSCREEN
...
FCTL_SETUSERSCREEN
...

Мы это уже обсуждали, так делать не надо - вызовы должны быть парными.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Глюки и баги, появившиеся в «ночных сборках»

Post by Smitis »

DrKnS wrote:У меня в 4728 всё работает.
Перевёл ноут в спящий режим, дома включил - работает. :shock:
Мистика...
Разум когда-нибудь победит.
User avatar
Freeman
Posts: 35
Joined: Thu 20 Nov, 2014 20:10
Location: Санкт-Петербург
Has thanked: 5 times
Been thanked: 2 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by Freeman »

А можно как-то ускорить чтение каталогов по RDP (\\tsclient)? Есть ощущение, что Far читает их медленней Проводника. Захожу, к примеру, в каталог с 1 подкаталогом и 13 файлами: в заголовке крутится счетчик, доходит до 14, потом еще порядка полсекунды задержка (RDP медленный), и только потом появляется список содержимого.

Что делается по окончании работы счетчика? Получение расширенных атрибутов, которые недавно правили по моей наводке? Мне кажется, что через SMB/RDP доступны далеко не все расширенные атрибуты, и должен быть способ узнать, что поддерживается конкретным UNC-узлом, после чего уже принимать решение, читать или нет.
Пользователь Far с 1998 года
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

DrKnS wrote:Мы это уже обсуждали, так делать не надо - вызовы должны быть парными.
Они парные в определенном смысле, на 3 гета 3 сета. Какие пары правильные должны быть?

Там исключение происходит где-то на последнем сете, стабильно, но как-то обрабатывается, падения нет. У вас такое наблюдается?
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Глюки и баги, появившиеся в «ночных сборках»

Post by Shmuel »

DrKnS wrote: Мы это уже обсуждали, так делать не надо - вызовы должны быть парными.
lua: N=2; for k=1,N do panel.GetUserScreen();panel.SetUserScreen(); end
4727 и 4728: если N>1, то Far перестаёт реагировать на большинство клавиш. Помогает F1 или F10.
4716 - этого эффекта нет.
Вызовы вполне себе парные.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Глюки и баги, появившиеся в «ночных сборках»

Post by DrKnS »

NightRoman wrote: Какие пары правильные должны быть?
Get/Set Get/Set etc.
FCTL_GETUSERSCREEN - это создание и активация определённого контекста, FCTL_SETUSERSCREEN - деактивация и удаление всего связанного.
Правильнее было бы обозвать не get / set, а enter / exit или create / destroy.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

@DrKns
Надо, так надо, хоть и неудобно. Раньше, однако, не требовалось. В документации ничего такого нет тоже. И из объяснения непонятно, почему не может быть вложений, почему бы и не быть стеку или хотя бы счетчику.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Глюки и баги, появившиеся в «ночных сборках»

Post by DrKnS »

Уговорил, 4730.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

Far 3.0.4730, но началось, кажется, чуть раньше.

Команда PowerShellFar запускается из юзер меню:

Code: Select all

ps: Set-Location C:\-\GIT\FarManager3; git svn rebase; Open-FarViewer unicode_far\changelog #
Она обновляет сорсы Фара и открывает ченжлог во вьюере. Работает, но вьюер открывается в неактивном окне, активны панели. Раньше вьюер открывался в активном окне.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Глюки и баги, появившиеся в «ночных сборках»

Post by DrKnS »

Проверь в 4731.
Post Reply

Return to “Глюки и баги”