Глюк с автообновлением вьювера при изменении файла

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

Глюк с автообновлением вьювера при изменении файла

Post by John Doe »

Есть файл "test" содержащий такой текст:

Code: Select all

11111111111111111111111111111111111111
  22222222222222222222222222222222222222
    33333333333333333333333333333333333333
      44444444444444444444444444444444444444
        55555555555555555555555555555555555555
          66666666666666666666666666666666666666
        77777777777777777777777777777777777777
      88888888888888888888888888888888888888
    99999999999999999999999999999999999999
  0000000000000000000
..........
Открываю его во вьювере, переключаюсь в панели, и открываю его же в редакторе.
Удаляю строки 5 и 6 , и сохраняю.
Переключаюсь в ранее открытый вьювер и вижу странное:

Code: Select all

11111111111111111111111111111111111111
  22222222222222222222222222222222222222
    33333333333333333333333333333333333333
      44444444444444444444444444444444444444
        55555555555555555555555555555555555555
          66666666666666666666666666666666666666
        77777777777777777777777777777777777777
      888888888888888888888888888
2useven10
Posts: 5207
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Глюк с автообновлением вьювера при изменении файла

Post by 2useven10 »

Надеюсь изменения сохранены?
Вьювер показывает изменённый текст после проверки наличия изменений в файле.
2useven10
Posts: 5207
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Глюк с автообновлением вьювера при изменении файла

Post by 2useven10 »

Т.е. у меня это выглядит так: сразу после переключения - старый текст,
через полсекунды - изменённый.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Глюк с автообновлением вьювера при изменении файла

Post by John Doe »

2useven10 wrote: Т.е. у меня это выглядит так
Сразу после переключения не старый, а дефектный.
Если плагин LuaMacro не загружен, тогда да, через полсекунды дефектный текст заменяется обновлённым.

Но у меня через полсекунды ничего не меняется.
Попробую поискать, может какой из скриптов влияет на воспроизведение.
(не уверен что найду, выгрузка по lm:unload не помогает)
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Глюк с автообновлением вьювера при изменении файла

Post by John Doe »

Нашёл "виновника".
Для воспроизведения достаточно такого скрипта:

Code: Select all

  local timer=far.Timer(50,function()end)
  Event { group="ExitFAR"; action=function() timer:Close() end; }
2useven10
Posts: 5207
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Глюк с автообновлением вьювера при изменении файла

Post by 2useven10 »

Проверка файла на наличие изменений в просмотрщике делается при получении KEY_IDLE.
Видимо наличие таймера приводит к тому, что KEY_IDLE не приходит.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Глюк с автообновлением вьювера при изменении файла

Post by John Doe »

Проблема ведь не в том, что вьювер не обновляется, а в том, что он криво обновляется.
Если бы изменения не детектировались, то мы бы видели во вьювере старое но неиспорченное содержание.
2useven10
Posts: 5207
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Глюк с автообновлением вьювера при изменении файла

Post by 2useven10 »

4262
2useven10
Posts: 5207
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Глюк с автообновлением вьювера при изменении файла

Post by 2useven10 »

а автообновление с таким скриптом работает?
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Глюк с автообновлением вьювера при изменении файла

Post by John Doe »

Не работает (
Изменения подхватываются только если например переключиться в панели и обратно
2useven10
Posts: 5207
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Глюк с автообновлением вьювера при изменении файла

Post by 2useven10 »

IMHO - вопрос на мантис к fat.Timer()
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Глюк с автообновлением вьювера при изменении файла

Post by Shmuel »

2useven10 wrote: IMHO - вопрос на мантис к fat.Timer()
А что far.Timer делает не так?
Насколько я понимаю, он работает в рамках официального API плагинов.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Глюк с автообновлением вьювера при изменении файла

Post by zg »

на мантисе есть уже инцидент. лично мне не очень понятно, о каком idle может идти речь, когда постоянно вызывается actl_synchro?
2useven10
Posts: 5207
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Глюк с автообновлением вьювера при изменении файла

Post by 2useven10 »

с моей (малоинформированной) колокольни KEY_IDLE должен приходить, если нет активности юзера.
2useven10
Posts: 5207
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Глюк с автообновлением вьювера при изменении файла

Post by 2useven10 »

Во вьювере можно, конечно, сделать case KEY_IDLE: case KEY_NONE:
Но тогда процессор будет на пустом месте отжираться.
Post Reply

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