Skirda wrote:Px wrote:Очень интересно...
Судя по макросу - курсор должен стоять на файле...
У меня в этом случае тоже нет проблем
Курсор должен вернуться на файл, после пометки папки, и пометить файл.
Предыдущие тесты проводились на работе, добрался до дома, тут сделал хитрее - х32-ую версию не обновлял, обновил х64-ую, проблема воспроизводится стабильно. Принялся искать причины проблемы, при старте Far-а, когда он читает макросы из реестра, на указанном макросе выскакивают 2 ошибки
Code: Select all
0.76452839 Far.exe:1188 QueryValue HKCU\Software\Far\KeyMacros\Shell\CtrlIns\Sequence BUFFER OVERFLOW
0.76454306 Far.exe:1188 QueryValue HKCU\Software\Far\KeyMacros\Shell\CtrlIns\Sequence SUCCESS "%html=APanel.Current; $if (fattr(fsplit(%html,0x04)+"_files") == 0x00000010) panel.setpos(0,fsplit(%html,0x04)+"_files") Ins $end $if (fattr(fsplit(%html,0x04)+".files") == 0x00000010) panel.setpos(0,fsplit(%html,0x04)+".files") Ins $end panel.setpos..."
0.76455170 Far.exe:1188 QueryValue HKCU\Software\Far\KeyMacros\Shell\CtrlIns\Sequence BUFFER OVERFLOW
0.76456529 Far.exe:1188 QueryValue HKCU\Software\Far\KeyMacros\Shell\CtrlIns\Sequence SUCCESS "%html=APanel.Current; $if (fattr(fsplit(%html,0x04)+"_files") == 0x00000010) panel.setpos(0,fsplit(%html,0x04)+"_files") Ins $end $if (fattr(fsplit(%html,0x04)+".files") == 0x00000010) panel.setpos(0,fsplit(%html,0x04)+".files") Ins $end panel.setpos..."
На других макросах ошибок нет
Тип переменной в реестре (REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ) на работу не влияет. Ошибка вылазит и на предыдущих билдах, но макрос работает. Ещё одно - по-умолчанию макрос висел просто на Ins, перевесил в тестовых целях на Ctrl+Ins, в новых билдах не помечается ни папка, ни файл, как будто бы макрос не загрузился на самом деле
Какие есть мысли в какую сторону копать?