Ru-Board.club
← Вернуться в раздел «Программы»

» Far Manager

Автор: Benchmark
Дата сообщения: 15.12.2015 21:45

Цитата:
Вопрос только в том, это следствие моих недавних изменений или старая ошибка?

Могу точно сказать, что это было и в билде 4455 (условно стабильный) и в текущем "ночном" 4472. Так что баг явно появился до недавних изменений. Видимо, старая ошибка.
Автор: VictorVG2
Дата сообщения: 15.12.2015 23:13
FarUE3 b4472 r13588 Wed Dec 16 00:02:34 +0300 2015

Цитата:
1. Far b4472 r13588
2. ArcLite v1.6.22 - работу с SFX модулями 7-Zip починили.
3. Обновлён скрипт Bookmark Manager v2.0.1
4. Добавлены скрипты EnvManager v1.0.0 (AltShiftE) и OpenPanel v3.1
для включения панелей при старте Far (автостарт, управления нет)
5. Обновление таблицы в macro.txt
6. Рефакторинг. Обновление совместимо с SVN r13575 - SVN r13588

Изменения в х64 редакции совпадают с п1 - п5.

Добавлено:
И её раз обновим FarUE3 b4473 r13590 Wed Dec 16 03:35:26 +0300 2015

Цитата:
1. Far b4473 r13590
2. Обновление настроек Редактора связанное с удалением опции
"Слово под курсором" - она заменена кнопками диалога, см.
changelog b4473. С новым вариантом диалога поиска работать
проще, но имейте ввиду что т.к. в диалоге поиска только одна
строка ввода,то и поиск в выделении будет происходить только
по ней. Это сделано поскольку машина это большая железная дура
умеющая только плюс/минус, умножить, разделить, да и то ей надо
указывать где взять А и Б и куда результат положить...
3. Обновление default,farconfig в связи с b4472.2
4. Рефакторинг. Обновление совместимо с SVN r13575 - SVN r13590

Изменения в х64 совпадают с п1 - п3.
Автор: Alexyz21
Дата сообщения: 16.12.2015 10:35
EnvManager 1.0.1 Не работает редактирование составных переменных, разделённых ";" - блокируется скриптом DialogTools, позволяющим редактировать поля диалогов. Понижение приоритета в DT не помогает.

DT.lua

Код:
...
Macro {
description="DialogTools: Edit";
area="Dialog"; key="F4"; priority=30;
condition=inEditField;
action=function() Plugin.Menu(DialogTools_MainGuid,DialogTools_EditGuid) end
}
...
Автор: shmuz
Дата сообщения: 16.12.2015 10:58
Alexyz21
condition=function() return Dlg.Id~="00010000-01C0-0212-6019-1202F4FFFFFF" and inEditField() end

Добавлено:
А, оказывается там нет гуида у диалога. Надо добавить реальный гуид и в condition() указывать его.
Автор: Alexyz21
Дата сообщения: 16.12.2015 11:10
shmuz
Я о другом - с одной стороны в EnvManager не учитывается, что могут быть другие скрипты на F4 в поле диалога, а с другой, не работает приоритет, который вроде бы как для того и создавался, чтобы "разруливать" подобные ситуации.

Кстати, а почему не сделали возможным condition записывать так?
condition=Dlg.Id~="00010000-01C0-0212-6019-1202F4FFFFFF" and inEditField()
Автор: shmuz
Дата сообщения: 16.12.2015 11:23
Приоритет разруливает макросы между собой. А нажатие F4 в EnvManager это не макрос. То-есть всё правильно работает.
Как разруливать - я указал выше.
Автор: Alexyz21
Дата сообщения: 16.12.2015 11:28

Цитата:
А нажатие F4 в EnvManager это не макрос.

Имхо, интуитивно ожидается, что он должен наследовать приоритет самого EnvManager, а раз тот не указан, то значит он равен 50.
Автор: shmuz
Дата сообщения: 16.12.2015 11:47
Alexyz21
Ещё раз, для тех, кто не выучил уроки:
При нажатии клавиши Фара, если имеется более одного макроса, назначенного на данную клавишу в данной макрообласти, производится разруливание с помощью condition, priority и т.д. В данном случае имеется только один макрос на F4, он и срабатывает.
А интуицию оставьте для общения со своей девушкой.
Автор: wseventeen
Дата сообщения: 16.12.2015 17:15
Benchmark
поравил, вроде должно работать. диалог не воспроизводится.
Автор: VictorVG2
Дата сообщения: 16.12.2015 17:40
wseventeen

Собрано для теста - ArcLite_v1.6.23_x86_and_x64.7z в 2010-м С++. Если что и осталось (подую на воду) - раньше узнаем об этом.
Автор: mihas83
Дата сообщения: 16.12.2015 17:57
После нажатия левой кнопки мыши на файле вместо появления контекстного меню только подсвечивает (намечает) файл.
Где и что сбилось?
Как поправить?
Автор: VictorVG2
Дата сообщения: 16.12.2015 18:01
wseventeen

Да, у меня явление с лишними диалогами то же испарилось, и я вспомнив условия когда воспроизводился диалог (по моему это с первых версий арклайта было, но точно могу сказать что явление существовало значительно дольше двух - трёх лет, просто на него не обращали внимания) проверил и тот сценарий:

- в архиве открыл текст с техническими таблицами в редакторе для просмотра - просмотрели, вышли, не нужного запроса на обновления архива не последовало, архив не изменён..

Ранее мне встречались случаи когда арклайт выводил запрос на модификацию архива при выходе, хотя тот не менялся.

СПАСИБО!

Добавлено:
mihas83

ЛКМ? Вообще-то это функция ПКМ и настройки F9 -> Настройки панели -> [x] Правый клик помечает файлы. Опечатка в вопросе?

Добавлено:
Снять там флажок и будет выскакивать контекстное меню, или поставить отсюда написанный John Doe скрипт RightClickAlt.lua и сохранить обе возможности (я скрипт поставил).
Автор: wseventeen
Дата сообщения: 16.12.2015 18:27
VictorVG2
Правки затрагивают ТОЛЬКО проверку (Shift-F3).
Автор: VictorVG2
Дата сообщения: 16.12.2015 18:53
wseventeen

Ясно, значит у меня что-то иное диалог звало. Не воспроизводится и хорошо, вылезет - буду разбираться в причинах. А так - явление плавающее, как его проверить на существование?
Автор: Alexyz21
Дата сообщения: 16.12.2015 22:48
Panel.RClickMenu.lua от IgorZ:

Код: --
-- RClick выделяет файл/ длинный RClick вызывает контекстное меню (c) IgorZ
-- Версия 2.0
--
local EMenu = "742910F1-02ED-4542-851F-DEE37C2E13B2"
-- Минимальная задержка отпускания кнопки в миллисекундах, после которой вызывается меню
local MinDelay = 500
local MouseClickOn = ""
local timer
--
local function OnTimer()
timer:Close() timer = nil
if Mouse.Button==2 and (MouseClickOn==APanel.Path.."\\"..APanel.Current) then
Panel.Select(0,2,1)
far.MacroPost('Plugin.Command("'..EMenu..'","rclk_gui:")')
-- far.MacroPost('Plugin.Command("'..EMenu..'","rclk_txt:")')
end
MouseClickOn = ""
end
--
Macro{
area="Shell"; key="MsRClick"; description="EMenu: mouse activation";
condition=function() return not timer end; action=function()
Keys("MSRClick")
MouseClickOn = APanel.Path.."\\"..APanel.Current
timer = far.Timer(MinDelay,OnTimer)
end;
}
Автор: VictorVG2
Дата сообщения: 16.12.2015 23:36
Alexyz21

Тоже вариант. Мне понравился вариант John Doe и я не стал искать ему альтернативы.

Зато в CtrlAltMenuDisk.lua v3.0.7 снова отключил выбор дисков по CtrlRight/CtrlLeft - цифровая клавиатура есть далеко не у всех машин и потому идея с переносом передвижения разделителя панелей на CtrlNumRight/CtrlNumLeft снова подкладывает старые грабли - "Клавиши недоступны, функционал утерян", да и пользователь может просто не захотеть искать там стрелки. Я с такими людьми уже встречался, и один (он физик-экспериментатор и работает с ноутом) сказал

"- Мне по работе приходится вводить большие массивы цифр считывая их со шкал приборов и потому NumLock у меня всегда включён. И набирать стрелки через Fn+Ctrl-<цифры> мне некогда - можно что-то важное упустить!".

По моему вполне убедительный аргумент....
Автор: iNNOKENTIY21
Дата сообщения: 17.12.2015 21:01
Far30-x64-test ver 3.0 build 4473 SVN r13590
@!=\!+! в ассоциациях, портит экран фара, панели в ч.б. и т.д.
раз в сутки падает, похоже farhint.

Добавлено:
ver 3.0 build 4477 SVN r13601
тоже самое.
farhint хз, дождаться надо.
Автор: VictorVG2
Дата сообщения: 17.12.2015 21:27
iNNOKENTIY21

Поставьте на профиль атрибут НЕ ИНДЕКСИРУЕМЫЙ или петрушка вызванная конфликтом плагины (в т.ч. FarHint) - системная служба индексирования будет и дальше вызывать чудеса и падения. А падает именно из-за блокировки БД настроек плагинов демоном индексации. Про сиё как-то в readme.txt строка 91 и ниже написано:

Цитата:
Все ваши настройки, фильтры, кэш плагинов и истории хранятся в подкаталоге
.\Profile сборки. Выбранная схема хранения настроек требует наличие у
пользователя права записи %FARHOME%\Profile (при необходимости отредактируйте
его ACL или ставьте сборку в тот каталог где у вас есть такие права и не
забудьте отключить индексацию %FARHOME%\Profile средствами ОС иначе плагины не
могут записать свои настройки что приводит к падению Far.
Автор: iNNOKENTIY21
Дата сообщения: 17.12.2015 22:30

Цитата:
Поставьте на профиль атрибут НЕ ИНДЕКСИРУЕМЫЙ

да, забыл. перехал на новый диск
Автор: VictorVG2
Дата сообщения: 18.12.2015 04:33
iNNOKENTIY21

Я примерно этого и ждал. Обычная ошибка. По крайней мере у меня именно этот комплект на многих машинах в локалке стоит (порядка 50 хостов) и после установки атрибута вопросы о сбоях от людей прекратились, без него есть.

Добавлено:
Ну, вроде условно-проснулся , скрутил и b4479, выложил. По EnvManager.lua есть замечания (см. низ страницы 1 и страницу 2), там можно сделать ошибку отдавая команды скрипту.
Автор: VictorVG2
Дата сообщения: 19.12.2015 23:51
b4484 - вылезли ошибки вставки текста из буфера обмена в редакторе - b4484.1:

Цитата:
drkns 19.12.2015 21:59:59 +0200 - build 4484

1. Рефакторинг. Перетряхнуто много в строках ввода и, как следствие, редакторе. Возможны последствия.

2. Продолжение 4473, учтём пожелания телезрителей: кнопки вставляют новый текст в позицию курсора, а не заменяют всё.

Попались случайно - есть SVN лог Process Hacker вида:

Цитата:
r6271
NetworkTools: Fixed slight output flicker
---------------------
r6270
NetworkTools: Bump version; Added PathPing menu for network connections;
---------------------
...
r2307

переписывать всё не стал - там примерно 10000 строк, получил изменение коммита r6272 и решил в начало лога дописать:

Цитата:
r6272
ToolStatus: Statusbar memory optimization; Removed unused code; Renamed some text;
---------------------

а после вставки текста по CtrlV, увидел такую забавную картину:

Цитата:
r6271
r6271
r6271
r6271
r6271
r6271
r6271
r6271
r6271
r6271
ToolStatus: Rename some functionsr6271
NetworkTools: Fixed slight output flicker
---------------------
r6270
NetworkTools: Bump version; Added PathPing menu for network connections;
---------------------
...
r2307

при этом проверка проводилась только с плагинами: Align, ArcLite, AutoWrap, Brackets,
Compare, DrawLine, EditCase, EMenu, FarCmds, FileCase, HlfViewer, LuaMacro, Network,
ProcList, SameFolder, TmpPanel , скриптов или макросов нет, профиль создавался автоматически с учётом тех настроек которые зашиты в код Far по дефолту.

Т.е. имеем место ситуацию с ошибкой вставки текста из клипборда сопровождаемую ошибочным форматированием - точнее замещением части строк вставляемого текста первой следующей за местом вставки строкой оригинала. Забавно конечно, но где-то ошибка сидит, а оно нам надо?

Добавлено:
По b4484.2 замечаний нет там ошибок не вылезло, а тут пока придётся на серверах откатывать пока кто не нарвётся на эту ошибку. Рано этот фрагмент в ночнушку выпускать...
Автор: VictorVG2
Дата сообщения: 20.12.2015 02:15
Глюки и баги, появившиеся в «ночных сборках»
zg » Sun 20 Dec, 2015 00:39

Цитата:
опишите нормально, потому что я, например, то, что приводится по ссылке, не понял.

Проверка: берём любой текст, F4 CtrlHome CtrlV - видим текст вставлен не в начало файла. Проверил и макросом:

Цитата:
Macro{
area="Editor";
key="CtrlV ShiftIns CtrlIns";
description="Text";
filemask="*.txt";
priority=40;
action=function() Keys("CtrlHome CtrlV F2 F10") end;
}

есть явление. Тестовый текст:

Цитата:
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492

вставляемый текст:

Цитата:
r6272
ToolStatus: Statusbar memory optimization; Removed unused code; Renamed some text;
---------------------

в b4483 видим:

Цитата:
r6272
ToolStatus: Statusbar memory optimization; Removed unused code; Renamed some text;
---------------------
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492

текст вставлен правильно и в полном объёме, а в b4484 увидим:

Цитата:
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
---------------------ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492
ver 3.0 build 4450 SVN r13492

- первые строки вставленного текста оказались замещены первой следующей за позицией вставки строкой исходного текста, и похоже что число копий первой строки текста-оригинала равно числу строк вставляемого текста минус единица т.к. у вставляемого текста не замещается последняя строка..

Я тут ещё пару вариантов текста прогнал и думаю что не ошибся в наблюдениях...


Добавлено:
Для того, чтобы убедится в том, что копируется первая строка я создал простой текстовый файл:

Цитата:
1
2
3
4
5
6
7
8
9

вставка в него текста (три строки!)

Цитата:
r6272
ToolStatus: Statusbar memory optimization; Removed unused code; Renamed some text;
---------------------

в b4483 даёт результат:

Цитата:
r6272
ToolStatus: Statusbar memory optimization; Removed unused code; Renamed some text;
---------------------1
2
3
4
5
6
7
8
9

в b4484:

Цитата:
1
1
---------------------1
2
3
4
5
6
7
8
9

убираем скрипт, вставляем текст в нулевой колонке пятой строки (5:0)

Цитата:
1
2
3
4
5
5
---------------------5
6
7
8
9

- гипотеза о замещении N-1 строк вставляемого текста первой строкой следующей сразу за позицией вставки подтвердилась.


Автор: VictorVG2
Дата сообщения: 20.12.2015 05:24
О! b4485 - иное дело! Тот же эксперимент с тестовым текстом и тем же макросом. Результат:

Цитата:
r6272
ToolStatus: Statusbar memory optimization; Removed unused code; Renamed some text;
---------------------1
2
3
4
5
6
7
8
9

Что и должно быть. DrKnS - СПАСИБО! Данная ошибка исправлена.
Автор: VictorVG2
Дата сообщения: 20.12.2015 22:25
FarUE3 b4488 r13629 Sun Dec 20 23:06:26 +0300 2015

Цитата:
1. Far b4488 r13629
2. PostMacro.lua v4 (LAltShiftM)
3. Коррекция macro.txt
4. Рефакторинг. Обновление совместимо с SVN r13523 - SVN r13629

Изменения в х64 редакции совпадают с п1 - п3.

Посмотрел ошибку с удалением вертикального блока - на b4488 r13629 (в каталоге far.exe, far*.lng, far*.hlf, профиль генерируется локально, настройки по умолчанию, х64) - у меня не воспроизводится.
Автор: VictorVG2
Дата сообщения: 21.12.2015 20:49
Путался осмыслить ЭТО Файл стал пустым после отключения ноута и понять что произошло, но сей опус без доброй бочки спирта не осилить. Очередной наукообразный графоманский бред. В морг.
Автор: iNNOKENTIY21
Дата сообщения: 21.12.2015 21:26

Цитата:
понять что произошло

Леонид Утесов и Эдит Утесова — Все Хорошо, Прекрасная Маркиза — слушать, смотреть, текст песни — MOSKVA.FM
Автор: VictorVG2
Дата сообщения: 21.12.2015 21:58
iNNOKENTIY21

Это и так видно, более того - это явно рассчитано на то, что бы после в своей компании смеяться "А они купились!", да только сегодня не Первое Апреля и в его часах пары камней не хватает - на один положить, другим прихлопнуть.

Он мог бы и что поумнее придать. За старательность "Удовлетворительно", за содержимое "Бредятина!". И быть по сему.
Автор: VictorVG2
Дата сообщения: 22.12.2015 05:25
Прошу проверить воспроизводимость явления - у меня в b4490 (r13635) несколько раз подряд в редакторе выскочило Invalid string position и следом AV (Необработанное исключение по адресу 0x000000004030C439 в Far.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x000000004030C439), летим в отладчик - в дизассемблере вижу что в памяти мусор, но по идее задача уже завершилась, значит этого можно ожидать:



подумал на неудачную сборку, взял бинарник из ночнушки - повторилось. И аппаратура вроде в порядке, ЦП вообще холодный +35°С при зафиксированном пике +55°С. Перезапустил Far - AV нет, всё работает нормально. Что это было и где искать причины?

Продолжение чудес - правил CSS, просто подвинул мышку:



Ладно, поднимем из архива b4489 - где-то же это явление должно пропасть.

Пока откатил сборки до b4489 где таких явлений не было. Пусть лучше так пока не разберёмся с их причиной...

Я лично думаю что это я где-то дров наломал, но тогда почему и ночнушка аналогично себя повела? С железом вроде так же всё в порядке, ни сбоев, ни перегрева, напряжения по приборам так же в норме.
Автор: VictorVG2
Дата сообщения: 22.12.2015 13:10
Вроде пока (?) на b4491 явление не вылезло. Что это было не понял. Мы что при вставке вылетали за границу начала файла? Он в момент вставки был нулевой длинны (создавался по ShiftF4). Если так, то это можно принять за рабочую гипотезу, но думаю точнее может сказать только отладка с отловом момента сбоя, а вот что за фрагмент алгоритма в этот момент выполнялся я сказать не могу - отладчик срабатывает после аварийного завершения задачи, и именно поэтому в памяти виден мусор.
Автор: iNNOKENTIY21
Дата сообщения: 22.12.2015 13:31
VictorVG2
у меня стабильно. и на чистой и на твоей сборке b4489 тест 64, на которую накатил сверху b4490

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: оффтоп


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.