Skip to content
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
3365 lines (1894 sloc) 146 KB
shmuel 14.02.2019 22:34:39 +0200 - build 689
1. Меры по увеличению безопасности функции mf.mload.
shmuel 14.02.2019 15:21:37 +0200 - build 688
1. В функции mf.mload была возможна ситуация неосвобождения объекта доступа к базе данных.
shmuel 18.01.2019 19:31:11 +0200 - build 687
1. LuaFAR: мелкая подчистка (не баг-фикс).
shmuel 12.01.2019 20:56:37 +0200 - build 686
1. Уточнение 685.
shmuel 12.01.2019 19:16:29 +0200 - build 685
1. LuaFAR: добавлена экспортируемая функция luaopen_luafar3.
- Это делает возможным использование luafar3.dll как обычной библиотеки для скриптов Lua 5.1,
вне Far Manager (таблицы win, bit64, unicode; "юникодизация" функций работы со строками).
- Естественно, при этом нельзя будет использовать таблицы, относящиеся к Far API.
- Загрузка библиотеки: require "luafar3"
shmuel 25.12.2018 16:23:52 +0200 - build 684
1. farapi.lua: добавлены прототипы функций FSF.FarClock и FSF.CompareStrings.
shmuel 22.12.2018 21:07:42 +0200 - build 683
1. LuaFAR: во всех функциях, принимающих цвет, если цвет передан числом, то байт прозрачности
принудительно устанавливается в 0xFF.
shmuel 16.12.2018 22:19:32 +0200 - build 682
1. Отмена 679.2:
mf.mload не бросает ошибку, а возвращает 2 значения:
1) собственно результат (валидный, если 2-е значение == nil).
2) nil в случае успеха, либо сообщение об ошибке (string) в случае неудачи.
shmuel 16.12.2018 16:18:05 +0200 - build 681
1. mf.mdelete() возвращает булевое значение.
2. LuaFAR: во всех методах Settings Control параметр Root теперь типа flag
(было: тип integer во всех, кроме Enum).
shmuel 15.12.2018 20:11:17 +0200 - build 680
1. Улучшено сообщение об ошибке в mf.mload().
shmuel 15.12.2018 16:35:39 +0200 - build 679
1. mf.msave() возвращает булевое значение.
2. mf.mload() "бросает" ошибку, если не удаётся установить соединение с базой данных.
3. LuaFAR: export.GetOpenPanelInfo() -> StartSortMode теперь типа flag (был тип integer).
4. LuaFAR: #M3663: возможность опустить параметры-флаги может быть нежелательна.
shmuel 13.12.2018 22:03:17 +0200 - build 678
1. LuaFAR: баг-фиксы + вызывать сборщик мусора внутри GetFindDataW().
shmuel 13.12.2018 11:15:43 +0200 - build 677
1. LuaFAR: вызывать сборщик мусора внутри FreeFindDataW().
shmuel 01.12.2018 22:09:18 +0200 - build 676
1. M#3684: Включать и выключать показ макросов с пониженным приоритетом в меню выбора макросов.
--> включение и выключение решено не делать, а показывать их всегда после макросов с наивысшим
приоритетом, отделёнными от них сепаратором.
shmuel 27.11.2018 15:27:30 +0200 - build 675
1. LuaFAR: suppress compilation warnings.
shmuel 22.11.2018 21:36:01 +0200 - build 674
1. LuaFAR: добавлены функции win.GetConsoleCP, win.SetConsoleCP, win.GetConsoleOutputCP,
win.SetConsoleOutputCP.
zg 15.11.2018 11:39:11 +0200 - build 673
1. 0003669: Немодальный диалог: в обработчик передаётся закрытый хэндл.
shmuel 24.10.2018 15:22:08 +0200 - build 672
1. LuaFAR: suppress compilation warning.
shmuel 23.10.2018 10:16:54 +0200 - build 671
1. LuaFAR: добавлена поддержка пропущенного файлового атрибута (no scrub data).
shmuel 22.10.2018 11:41:37 +0200 - build 670
1. LuaFAR: добавлена поддержка 3-х пропущенных файловых атрибутов (encrypted, not indexed, virtual).
shmuel 12.10.2018 02:39:44 +0200 - build 669
1. LuaFAR: добавлены функции: regex.exec, regex.execW;
добавлены методы скомпилированного регекса: exec, execW;
shmuel 26.09.2018 19:09:59 +0200 - build 668
1. Fix build 667.
shmuel 26.09.2018 18:23:42 +0200 - build 667
1. LuaFAR: функция win.SetRegKey() возвращает булевое значение.
shmuel 13.09.2018 22:12:27 +0200 - build 666
1. M#3034: LuaFAR: SendDlgMessage работает не со всеми событиями/сообщениями
--> Сделано пока частично: добавлена обработка 7-ми сообщений DN_*
shmuel 12.09.2018 20:16:50 +0200 - build 665
1. M#3654: в LuaMacro добавить поле "selected"
shmuel 08.09.2018 18:01:32 +0200 - build 664
1. LuaFAR: M#3652: метод raw для хэндлов панелей
shmuel 29.08.2018 23:47:28 +0200 - build 663
1. Suppress a warning in build 662.
shmuel 29.08.2018 19:47:30 +0200 - build 662
1. LuaFAR: M#3644: far.Menu: приоритет SelectIndex перед selected
zg 28.08.2018 19:38:59 +0300 - build 661
1. при обработке событий редактора/просмотра в паре мест использовался текущий редактор/просмотр.
shmuel 25.08.2018 15:50:47 +0200 - build 660
1. M#3643: Макросы для Grabber не работают если фар запущен в режиме редактора/вьюера
shmuel 25.08.2018 11:35:47 +0200 - build 659
1. Из форума: В фаре запущенном как редактор/вьюер (ключи /v /e) не загружаются макросы на Desktop
shmuel 22.08.2018 08:57:15 +0200 - build 658
1. M#3637: Сопоставление по маске при ошибке получения имени в обработчиках событий
shmuel 22.08.2018 08:05:40 +0200 - build 657
1. LuaFAR: file:rawhandle() throws an error in non-GCC compilations.
This is to prevent a crash caused by incompatible runtime libraries.
shmuel 14.08.2018 12:16:25 +0200 - build 656
1. LuaFAR: export.SetDirectory() получает 5-й параметр (UserData).
shmuel 22.07.2018 18:23:27 +0200 - build 655
1. LuaFAR: в таблице, возвращаемой panel.GetPanelInfo(), добавлено поле PluginObject.
shmuel 07.06.2018 17:27:07 +0200 - build 654
1. LuaFAR: добавлена функция far.RunDefaultScript.
shmuel 16.05.2018 15:01:23 +0200 - build 653
1. LuaFAR: far.SendDlgMessage(DM_LISTDELETE): the 4-th parameter is allowed to be nil or missing.
shmuel 13.05.2018 00:40:47 +0200 - build 652
1. M#3286: Возможность выполнить скрипт только один раз при загрузке
--> Макрофайлу передаётся вторым аргументом номер текущей загрузки.
shmuel 09.05.2018 12:29:01 +0200 - build 651
1. M#3495: luafar: win.ExtractKey: возвращаемое значение
--> LuaFAR: добавлена функция win.ExtractKeyEx.
shmuel 09.05.2018 00:05:39 +0200 - build 650
1. M#3448: ExitFAR объединяет два типа событий, которые надо разъединить
--> добавлен параметр: true=выгрузка макросов; false=выгрузка плагина.
shmuel 08.04.2018 07:00:51 +0200 - build 649
1. Добавлена функция mf.AddExitHandler.
shmuel 05.04.2018 14:03:12 +0200 - build 648
1. Рефакторинг.
shmuel 04.04.2018 13:15:25 +0200 - build 647
1. M#3597: PanelModule: добавить имя файла
shmuel 20.03.2018 19:53:33 +0200 - build 646
1. Рефакторинг.
shmuel 20.03.2018 10:04:30 +0200 - build 645
1. Рефакторинг.
shmuel 19.03.2018 21:50:21 +0200 - build 644
1. Рефакторинг.
shmuel 15.03.2018 22:29:45 +0200 - build 643
1. LuaFAR: убран вызов Message() при ошибках возврата из export.GetOpenPanelInfo(),
т.к. он приводил к рекурсии и переполнению стека.
2. LuaFAR: удалена никогда не использовавшаяся фича особого возврата "reuse"
из export.GetOpenPanelInfo().
3. LuaMacro: мелкие правки.
shmuel 15.03.2018 02:10:32 +0200 - build 642
1. Исправления в обработке панельных модулей.
shmuel 15.03.2018 01:40:36 +0200 - build 641
1. Каждый панельный модуль должен иметь таблицу Info с обязательным полем Guid.
2. Исправления в обработке панельных модулей.
shmuel 13.03.2018 22:50:03 +0200 - build 640
1. Fix build 638 (сломались OPEN_FINDLIST и OPEN_SHORTCUT).
shmuel 13.03.2018 14:13:29 +0200 - build 639
1. Функция CloseAnalyseW не экспортировалась.
shmuel 13.03.2018 11:50:02 +0200 - build 638
1. Добавлена поддержка "панельных модулей", то есть функциональность панельных плагинов.
Модули независимы друг от друга, их количество не ограничивается.
Документация будет обновлена в ближайшее время.
drkns 26.02.2018 08:03:01 +0000 - build 637
1. Far 5150.
zg 27.01.2018 14:27:28 +0200 - build 636
1. у panel.GetUserScreen/panel.SetUserScreen второй параметр - тип скролирования.
shmuel 09.12.2017 12:06:14 +0200 - build 635
1. LuaFAR: добавлен метод rawhandle для дескриптора, возвращаемого io.open().
zg 02.12.2017 17:22:38 +0200 - build 634
1. уточнение 633.
zg 30.11.2017 13:09:55 +0200 - build 633
1. уточнение 632 для относительных путей на плаггиновых панелях.
zg 29.11.2017 19:08:27 +0200 - build 632
1. уточнение 631.
zg 28.11.2017 17:56:27 +0200 - build 631
1. уточнение 630 для плагиновых панелей.
zg 26.11.2017 17:03:32 +0200 - build 630
1. 0002406: Panel.SetPath не работает.
shmuel 20.11.2017 15:56:17 +0200 - build 629
1. M#3555: mf.mmode(2): в младшем байте всегда 255
zg 26.10.2017 16:49:34 +0300 - build 628
1. far.GetDlgItem возвращает имя истории и маску, если они есть.
zg 17.10.2017 12:29:42 +0300 - build 627
1. Area.Desktop, Area.Grabber.
zg 16.10.2017 17:52:33 +0300 - build 626
1. 0002760: Отдельные макрообласти для GRABBER, HMENU, DESKTOP.
shmuel 13.10.2017 21:28:18 +0200 - build 625
1. M#3515: eval("@filename"): в окружение не добавляется _filename
zg 13.10.2017 13:36:39 +0300 - build 624
1. у DN_GOTFOCUS и DN_KILLFOCUS Param1 = -1, если они приходят при получении или потере диалогом фокуса.
shmuel 13.10.2017 11:40:50 +0200 - build 623
1. LuaFAR: minor refactoring.
shmuel 12.10.2017 16:44:33 +0200 - build 622
1. LuaFAR: M#3458: Падение Far в far.Timer при малых значениях периода
zg 08.10.2017 14:46:34 +0300 - build 621
1. 0003514: Возможность задать приоритет макросов, определяемым через MCTL_ADDMACRO.
shmuel 30.09.2017 14:46:04 +0200 - build 620
1. Откат 619, т.к. не учитывается возможность вызова диалога из независимых от плагина lua_State.
2. LuaFAR: уточнение 377.1 (были падения, если far.DialogInit() вызывалась из макроса, затем макрос
завершался, затем вызывалась far.DialogRun()).
zg 30.09.2017 14:12:54 +0300 - build 619
1. диалоговая процедура использует текущий lua_State, а не тот, который использовался при создании диалога.
zg 29.09.2017 11:09:07 +0300 - build 618
1. уточнение 617.
zg 28.09.2017 19:12:08 FLE Daylight Time - build 617
1. поддержка немодальных диалогов.
shmuel 27.08.2017 14:24:18 +0200 - build 616
1. С форума:
lua:@empty.lua qwerty.asdf
После этого не гаснет индикатор работы макроса в левом верхнем углу.
shmuel 24.08.2017 15:16:45 +0200 - build 615
1. MCTL_GETLASTERROR можно теперь вызывать и после исполнения MSSC_POST и MCTL_EXECSTRING.
2. MCTL_EXECSTRING теперь учитывает флаг KMFLAGS_SILENTCHECK.
shmuel 23.08.2017 13:06:35 +0200 - build 614
1. Флаг KMFLAGS_SILENTCHECK игнорировался в команде MSSC_POST.
shmuel 17.08.2017 16:44:24 +0200 - build 613
1. LuaFAR: возвращаемые значения DM_LISTSETCURPOS теперь отсчитываются от 1.
shmuel 13.08.2017 22:15:40 +0200 - build 612
1. Уточнение build 611: порядковые номера - буквы не всегда работали как "горячие клавиши".
shmuel 07.08.2017 15:25:23 +0200 - build 611
1. M#3464: Предложение корректировки формы меню "Исполнить макрос".
Изменение: порядковые номера пунктов не подсвечены, но тем не менее являются "горячими клавишами".
В дополнение к ним пользователь может назначить и подсвеченные "горячие клавиши".
shmuel 03.08.2017 16:13:49 +0200 - build 610
1. Уточнение 609.3 (были удвоенные бэкслеши в путях).
shmuel 31.07.2017 17:05:07 +0200 - build 609
1. LuaFAR: добавлена функция win.IsProcess64bit().
2. Изменено значение по умолчанию для package.cpath. Вместо %FARPROFILE%\Macros\modules\?.dll
теперь используется %FARPROFILE%\Macros\lib32\?.dll или %FARPROFILE%\Macros\lib64\?.dll
в зависимости от битности процесса.
3. Папки %FARPROFILE%\Macros\modules, %FARPROFILE%\Macros\lib32 и %FARPROFILE%\Macros\lib64
создаются плагином автоматически.
shmuel 23.06.2017 10:09:22 +0200 - build 608
1. LuaFAR: minor refactoring and GCC warnings.
shmuel 16.05.2017 11:42:28 +0200 - build 607
1. LuaFAR: (FIX) функция far.ShowHelp неправильно обрабатывала флаг FHELP_GUID.
shmuel 11.05.2017 13:00:01 +0200 - build 606
1. M#3432: Краткая справка по синтаксису командной строки LuaMacro (lua:)
shmuel 01.05.2017 22:01:38 +0200 - build 605
1. LuaFAR: Запретить обработку событий в редакторе, вьювере и панелях во время вывода сообщения
об ошибке (продолжение build 523).
shmuel 12.04.2017 22:47:30 +0200 - build 604
1. LuaFAR: ещё раз дополнительная оптимизация unicode.utf8.sub.
shmuel 10.04.2017 11:12:30 +0200 - build 603
1. LuaFAR: дополнительная оптимизация unicode.utf8.sub.
shmuel 08.04.2017 14:16:00 +0200 - build 602
1. LuaFAR: оптимизация unicode.utf8.sub для неотрицательных аргументов + рефакторинг.
shmuel 07.04.2017 00:52:17 +0200 - build 601
1. LuaFAR (продолжение build 165):
сброс разрешения floating point exceptions при вызове макрофункций (в частности: Plugin.SyncCall).
shmuel 31.03.2017 19:41:21 +0200 - build 600
1. LuaFAR: refactoring.
shmuel 15.03.2017 17:05:28 +0200 - build 599
1. LuaFAR: suppress compiler warning.
shmuel 15.03.2017 16:18:38 +0200 - build 598
1. LuaFAR: suppress compiler warning.
shmuel 13.02.2017 01:39:25 +0200 - build 597
1. LuaFAR: refactoring.
shmuel 23.01.2017 11:29:08 +0200 - build 596
1. M#3387: Словосочетание "Sort mode" в меню режимов сортировки не переводится на язык интерфейса
shmuel 29.11.2016 15:21:02 +0200 - build 595
1. Убрана поддержка старого формата файла клавиатурного макроса (см. комментарий к билду 454).
shmuel 13.11.2016 17:59:43 +0200 - build 594
1. M#3303: far.Menu: клавиши для BreakKeys
LuaFAR: 3-й параметр far.Menu может быть и строкой - перечислением ключей, разделённых пробелами.
Однако на семантике возвращаемых значений функции это изменение не сказывается, например
при 3-м параметре равном "Ins CtrlF1" и нажатии CtrlF1, первое возвращаемое значение
будет сформировано как таблица {BreakKey="CtrlF1"}.
shmuel 11.11.2016 18:17:36 +0200 - build 593
1. LuaFAR: editor.DeleteSessionBookmark(EditorId,position) - make parameter 'position' 1-based.
shmuel 25.10.2016 18:53:41 +0200 - build 592
1. M#3303: far.Menu: клавиши для BreakKeys
LuaFAR: far.Menu теперь понимает обозначения AccelKey также именами, принятыми в Far-макросах.
shmuel 22.10.2016 19:36:48 +0200 - build 591
1. M#3303: far.Menu: клавиши для BreakKeys
LuaFAR: наряду с "виртуальными" именами ключей, far.Menu теперь понимает и обозначения BreakKey
именами, принятыми в Far-макросах.
shmuel 20.10.2016 19:36:54 +0200 - build 590
1. M#3275: Allow plugins to load and edit unsaved macro
Макробраузер при нажатии F4/AltF4 на несохранённом клавиатурном макросе вызывает фаровский диалог "Macro settings".
zg 06.10.2016 21:01:03 +0200 - build 589
1. LuaFAR: far.CreateUserControl().rawhandle возвращает адрес буфера в виде light userdata.
2. LuaFAR: far.GetDlgItem[6] для DI_USERCONTROL возвращает адрес буфера в виде light userdata.
zg 01.10.2016 15:20:33 +0200 - build 588
1. moonscript 0.5.0.
zg 01.10.2016 15:07:26 +0200 - build 587
1. LuaFAR: в таком коде
buffer=far.CreateUserControl(10,10)
buffer[1]={Char="1"}
вместо 1 выводился символ с кодом 1.
shmuel 29.09.2016 18:57:45 +0200 - build 586
1. LuaFAR: улучшено сообщение об ошибке при передаче аргумента - несуществующего флага типа string.
Сообщение теперь включает в себя переданный флаг.
shmuel 25.09.2016 21:29:41 +0200 - build 585
1. Продолжение 584: заменяем в traceback табы тремя пробелами - для лучшего восприятия.
shmuel 25.09.2016 00:04:30 +0200 - build 584
1. M#3013: Отображать traceback при ошибках, возникающих в процессе загрузки макрофайлов.
shmuel 06.09.2016 09:45:50 +0200 - build 583
1. MCT_GETMACRO дополнительно возвращает информацию о том, является ли макрос клавиатурным.
shmuel 22.08.2016 19:14:55 +0200 - build 582
1. LuaFAR: BreakKey в far.Menu() сделан полностью регистронезависимым.
shmuel 13.08.2016 18:24:05 +0200 - build 581
1. Уточнения 579,580.
shmuel 18.07.2016 17:55:32 +0200 - build 580
1. Макро-браузер отображает поле "id" в диалоге информации о макросе.
shmuel 18.07.2016 15:59:19 +0200 - build 579
1. В таблицы определений Macro и Event добавлено опциональное поле "id" типа string.
shmuel 04.07.2016 17:35:59 +0200 - build 578
1. LuaFAR: добавлена функция win.GetKeyState.
shmuel 26.06.2016 19:28:14 +0200 - build 577
1. Уточнение 576.2.
shmuel 26.06.2016 16:39:39 +0200 - build 576
1. Расширение возможностей функции Panel.SetCustomSortMode().
2. Расширение возможностей функции Panel.CustomSortMenu().
shmuel 14.06.2016 14:26:10 +0200 - build 575
1. LuaFAR (generic plugin): ExitFARW экспортируется всегда (убраны директивы условной компиляции).
shmuel 14.06.2016 12:35:08 +0200 - build 574
1. LuaFAR: LF_ExitFAR(), после вызова export.ExitFAR(), удаляет все незакрытые таймеры (если таковые
имеются), что предотвращает падения: (1) на выходе из Far и (2) при пересоздании lua_State
с помощью _G.RecreateLuaState=true.
shmuel 11.06.2016 20:36:21 +0200 - build 573
1. LuaFAR: экспериментальная альтернативная реализация far.Timer и свойств/методов объекта таймера.
(Как побочное явление данной реализации, LuaFAR больше не поддерживает Windows 2000).
shmuel 08.06.2016 15:00:53 +0200 - build 572
1. LuaFAR: far.Timer(N, ...) при N<1 подвешивал Far.
shmuel 08.06.2016 00:23:44 +0200 - build 571
1. LuaFAR: fix unicode.utf8.gmatch and add a specific test for it.
zg 08.05.2016 13:40:15 +0200 - build 570
1. LuaFAR: поддержка WTYPE_COMBOBOX.
shmuel 21.04.2016 23:04:40 +0200 - build 569
1. LuaFAR: функция far.PasteFromClipboard теперь возвращает всю строку, полученную от Far,
а не до первого символа '\0'.
shmuel 10.04.2016 14:36:10 +0200 - build 568
1. Изменение в поведении mf.iif() при Expr==0 для более полной совместимости с оригиналом.
shmuel 17.03.2016 18:18:54 +0200 - build 567
1. Кастомные сортировки в панелях повреждали содержимое внутренних структур FileListItem
(это проявлялось при сборке Far с GCC 5.2 или 5.3).
Алгоритм кастомной сортировки пришлось изменить, теперь нет прямой манипуляции с памятью.
shmuel 13.03.2016 21:46:38 +0200 - build 566
1. Уточнение 565.
shmuel 13.03.2016 01:28:38 +0200 - build 565
1. В функции Panel.LoadCustomSortMode таблица параметров может включать в себя опциональное поле
'Condition' (функцию). Данная функция может использоваться, например, в интерактивном режиме
работы для изменения параметров сортировки, а также для её отмены.
shmuel 08.03.2016 23:42:18 +0200 - build 564
1. Рефакторинг.
shmuel 07.03.2016 19:41:34 +0200 - build 563
1. LuaFAR: продолжение M#3175.
- Убрана функция win.DeleteRegKeyEx.
- Функция win.DeleteRegKey принимает дополнительный параметр AccessMask (который игнорируется,
если операционная система не поддерживает функцию RegDeleteKeyExW).
shmuel 06.03.2016 17:37:26 +0200 - build 562
1. LuaFAR: фикс во внутренней функции GetFarColor для совместимости с LuaJIT 2.1.0-beta2.
shmuel 03.03.2016 21:40:00 +0200 - build 561
1. В определение стационарных макросов добавлено опциональное поле sortpriority - для управления
порядком расположения макросов в меню "Исполнить макрос".
shmuel 25.02.2016 16:15:44 +0200 - build 560
1. В winapi.lua добавлены 2 константы и 5 определений функций.
shmuel 20.02.2016 00:08:38 +0200 - build 559
1. Исправлен мелкий баг в функции Panel.CustomSortMenu.
shmuel 19.02.2016 23:36:00 +0200 - build 558
1. Меню, выводимому функцией Panel.CustomSortMenu, присвоен GUID "C323FBCF-6803-4F2C-B8B4-E576E7F125DC".
shmuel 19.02.2016 21:32:01 +0200 - build 557
1. M#3175: "Отключить в LuaMacro редирект WOW64 для функций работы с реестром"
LuaFAR: добавлена функция win.DeleteRegKeyEx. Описание в мануале.
shmuel 12.02.2016 12:41:32 +0200 - build 556
1. LuaFAR: fix handling PPIF_SELECTED.
shmuel 08.02.2016 23:14:30 +0200 - build 555
1. M#3175: "Отключить в LuaMacro редирект WOW64 для функций работы с реестром"
LuaFAR: Во все функции работы с реестром, кроме win.DeleteRegKey, добавлен параметр "AccessMask".
shmuel 02.02.2016 12:53:04 +0200 - build 554
1. Функция Keys: добавлены новые специальные ключи:
"EnOut" - разрешить вывод на экран (то же, что mmode(1,0))
"DisOut" - запретить вывод на экран (то же, что mmode(1,1))
2. Функция Keys: перед каждым ключом может быть указан множитель, например "3*Down" эквивалентно "Down Down Down".
shmuel 26.01.2016 16:09:42 +0200 - build 553
1. Префиксы, добавляемые функцией CommandLine, не работали, если не состояли полностью из "символов слова" ("%w+").
Теперь в этих префиксах допускаются любые символы, кроме двоеточия и пробелов.
shmuel 20.12.2015 15:08:21 +0200 - build 552
1. LuaFAR: fix function win.SetRegKey.
shmuel 18.12.2015 22:09:39 +0200 - build 551
1. Ещё одно уточнение 549.
shmuel 18.12.2015 20:17:25 +0200 - build 550
1. Уточнение 549.
shmuel 18.12.2015 18:48:29 +0200 - build 549
1. LuaFAR: добавлена функция win.DeleteRegValue.
shmuel 18.12.2015 14:09:39 +0200 - build 548
1. Удалена макрофункция printf (mf.printf и _G.printf).
shmuel 13.12.2015 08:52:51 +0200 - build 547
1. При старте Фар не исполнялись автостартующие макросы, у которых area="Common".
zg 08.12.2015 03:51:59 +0200 - build 546
1. moonscript 0.4.0.
shmuel 15.11.2015 09:10:25 +0200 - build 545
1. Уточнение 543.
shmuel 11.11.2015 12:17:37 +0200 - build 544
1. MoonScript 0.3.2.
shmuel 10.11.2015 18:19:12 +0200 - build 543
1. LuaFAR (generic plugin):
Очередная (после билда 533) попытка справиться с ситуацией, когда экспортируемые функции плагина
вызываются из разных потоков с перекрытием во времени. "Перекрывающие" вызовы, поступающие не из
"перекрываемого" потока, должны игнорироваться (холостой возврат без исполнения).
shmuel 01.11.2015 14:10:39 +0200 - build 542
1. Откат 540-541. Данный вид события может быть получен имеющимися средствами (mf.postmacro() из макрофайла).
shmuel 31.10.2015 22:34:42 +0200 - build 541
1. Уточнение 540.
shmuel 31.10.2015 19:33:22 +0200 - build 540
1. Добавлен новый вид события: group="MacrosLoaded". Обработчики вызываются по завершению загрузки макрофайлов.
shmuel 28.10.2015 19:17:43 +0200 - build 539
1. Рефакторинг (синхронный с рефакторингом в Far build 4450).
shmuel 28.10.2015 13:23:40 +0200 - build 538
1. Изменение API: загрузочные функции 'Macro' и 'Event' теперь возвращают true в случае успеха,
а не число-идентификатор макроса/события, как было раньше.
2. Рефакторинг.
shmuel 26.10.2015 19:07:00 +0200 - build 537
1. Приоритет по умолчанию у общих (area="Common") макросов теперь такой же, как у прочих макросов, то-есть 50.
shmuel 25.10.2015 17:24:57 +0200 - build 536
1. Продолжение 516:
a) пункты меню выбора макроса выводятся отсортированными;
б) заголовок консоли показывает заголовок данного меню;
shmuel 16.10.2015 19:08:56 +0200 - build 535
1. Откат билда 533 (перестал работать макро-API в FarNet и PowerShellFar).
shmuel 13.10.2015 16:17:58 +0200 - build 534
1. LuaFAR (generic plugin):
Возвращение установки переменной _G.IsLuaStateRecreated = true, отменённой в билде 529.
shmuel 13.10.2015 13:37:15 +0200 - build 533
1. LuaFAR (generic plugin):
Полное игнорирование вызовов экспортируемых плагином функций, произведенных из неосновного потока Фара.
Пусть лучше не работает, но не падает.
(Защита, сделанная в build 127, снимается как излишняя).
shmuel 06.10.2015 07:38:08 +0200 - build 532
1. Рефакторинг.
shmuel 02.10.2015 00:42:24 +0200 - build 531
1. LuaFAR: несколько изменилась интерпретация значения, возвращаемого export.ProcessConsoleInput - см. мануал.
2. M#2944: Добавить обработку ProcessConsoleInputW.
shmuel 26.09.2015 00:42:09 +0200 - build 530
1. Загрузка макросов: при обнаружении несуществующих имён флагов выдаются сообщения об ошибке.
shmuel 23.09.2015 19:34:14 +0200 - build 529
1. LuaFAR + generic plugin:
a) При загрузке и перезагрузке стартового скрипта плагина ему передаётся один аргумент булевого типа:
true - при первой загрузке скрипта и при загрузке, вызванной значением _G.RecreateLuaState.
false - при перезагрузке скрипта, вызванной значением far.ReloadDefaultScript.
b) Отменяется установка _G.IsLuaStateRecreated = true перед перезагрузкой, вызванной значением
_G.RecreateLuaState (в этом более нет надобности, в связи с пунктом "a").
2. LuaMacro: косметическая правка в плагине, связанная с пунктом "1".
shmuel 18.09.2015 19:42:34 +0200 - build 528
1. Уточнение 526.
shmuel 18.09.2015 13:00:27 +0200 - build 527
1. Уточнение 526.
shmuel 18.09.2015 12:29:10 +0200 - build 526
1. LuaFAR: M#2384: Нужна глобальная таблица guid'ов диалогов фара.
--> Таблица far.Guids.
shmuel 04.09.2015 21:48:41 +0200 - build 525
1. M#3067: LuaFAR: far.SubscribeDialogDrawEvents не срабатывает в момент Msg==F.DN_INITDIALOG and Event==F.DE_DLGPROCINIT
shmuel 31.08.2015 18:33:16 +0200 - build 524
1. M#3068: LuaFAR: не работает изменение цветовых атрибутов в DN_CTLCOLORDLGITEM
shmuel 17.08.2015 18:56:17 +0200 - build 523
1. M#3035: LuaFAR: Запретить обработку событий в диалогах во время вывода сообщения об ошибке
shmuel 06.08.2015 22:31:56 +0200 - build 522
1. M#3050: Падение при непрерывном вызове DM_KEY
shmuel 26.07.2015 03:06:22 +0200 - build 521
1. LuaFAR: убрано лишнее поле StructSize из таблицы, возвращаемой по DM_GETDIALOGINFO.
shmuel 17.06.2015 23:31:43 +0200 - build 520
1. Меню выбора макроса присвоен GUID ("165AA6E3-C89B-4F82-A0C5-C309243FD21B").
shmuel 16.06.2015 14:56:31 +0200 - build 519
1. Уточнение 518.
shmuel 16.06.2015 14:16:24 +0200 - build 518
1. Продолжение 516: если пользователь назначил свой хоткей, то он имеет преимущество перед
автоматически назначаемым.
shmuel 16.06.2015 12:37:41 +0200 - build 517
1. Вместо локальной переменной 'status' использовалась глобальная.
shmuel 15.06.2015 17:46:15 +0200 - build 516
1. Пункты меню выбора макроса (выводимого, когда есть несколько макросов, назначенных на одно
кнопкосочетание) автоматически нумеруются, и их номера являются горячими клавишами.
shmuel 04.06.2015 21:57:25 +0200 - build 515
1. Вызов error() без параметра при загрузке макросов полностью нарушал эту самую загрузку.
shmuel 21.05.2015 23:38:29 +0200 - build 514
1. M#2794: MenuItem: возможность определить имя пункта строкой, а не функцией.
shmuel 07.05.2015 16:59:03 +0200 - build 513
1. LuaFAR: добавлены функции win.GetCurrentDir и win.SetCurrentDir.
shmuel 03.05.2015 16:07:30 +0200 - build 512
1. LuaFAR (generic plugin): запуск плагином "%FARPROFILE%\luafar_init.lua" обусловлен флагом
компиляции -DRUN_LUAFAR_INIT при сборке плагина.
2. Плагин LuaMacro собирается с заданным флагом компиляции -DRUN_LUAFAR_INIT.
shmuel 02.05.2015 19:57:59 +0200 - build 511
1. LuaFAR (generic plugin):
- Параметр ENV_PREFIX ликвидирован. Переменные окружения при инициализации плагина теперь
игнорируются, за исключением %FARPROFILE%.
- Перед первой загрузкой стартового Lua-файла плагина производится исполнение скрипта
"%FARPROFILE%\luafar_init.lua", если таковой имеется.
- Скрипт исполняется также при перезагрузках, вызванных исполнением _G.RecreateLuaState = true.
- Скрипт не исполняется при перезагрузках, вызванных установкой far.ReloadDefaultScript = true.
zg 22.04.2015 21:33:27 +0200 - build 510
1. Far 3.0 API 4353.
shmuel 21.04.2015 16:19:03 +0200 - build 509
1. LuaFAR (generic plugin):
Параметр ENV_PREFIX больше не имеет значения по умолчанию: ни в C-файле, ни в мейк-файле.
Теперь для того, чтобы LuaFAR-плагин при инициализации обрабатывал переменные окружения,
параметр ENV_PREFIX должен быть задан явно при сборке плагина.
shmuel 17.04.2015 00:31:25 +0200 - build 508
1. M#2986: far /e падает при попытке вызвать юзер меню макросом.
shmuel 12.04.2015 23:18:52 +0200 - build 507
1. Рефакторинг.
shmuel 10.04.2015 17:44:53 +0200 - build 506
1. LuaFAR: изменения, связанные с функцией far.SubscribeDialogDrawEvents:
- Функция не обрабатывает параметры и не возвращает значения.
- При открытии каждого нового диалога группа событий перерисовки не передаётся
в export.ProcessDialogEvent, покуда не будет вызвана far.SubscribeDialogDrawEvents.
shmuel 10.04.2015 01:00:29 +0200 - build 505
1. Рефакторинг.
shmuel 08.04.2015 21:29:15 +0200 - build 504
1. Командная строка: символ '=' можно использовать также и при вызове файла-скрипта, то-есть перед
символом '@'.
shmuel 07.04.2015 13:05:26 +0200 - build 503
1. Мелкий рефакторинг.
shmuel 07.04.2015 00:27:31 +0200 - build 502
1. M#2685: Выполнять заданные в командной строке lua: скрипты синхронно.
shmuel 30.03.2015 16:43:55 +0200 - build 501
1. LuaFAR: оптимизация по скорости far.MakeMenuItems (и, опосредованно, far.Show).
shmuel 27.03.2015 14:27:00 +0200 - build 500
1. LuaFAR: мелкий рефакторинг.
2. Уточнение 493: eval(s,0) снова исполняется в окружении вызывающего его макроса.
shmuel 26.03.2015 09:34:26 +0200 - build 499
1. Добавлена функция-заглушка NoCommandLine, по аналогии с функциями NoMacro, NoEvent, NoMenuItem.
shmuel 25.03.2015 16:11:10 +0200 - build 498
1. Добавлена возможность загрузки из макрофайлов пользовательских префиксов командной строки.
Этим занимается новая загрузочная функция 'CommandLine'.
zg 21.03.2015 14:29:00 +0200 - build 497
1. LuaFAR-плагины без ExitFARW, использующие luaplug.c могли падать при выгрузке, если оставались
не удалённые lua-переменные, в __gc методе которых вызывались функции farapi.
zg 21.03.2015 00:39:48 +0200 - build 496
1. Far 3.0 API 4321
shmuel 19.03.2015 09:18:45 +0200 - build 495
1. Уточнение 494.
shmuel 18.03.2015 20:34:15 +0200 - build 494
1. LuaFAR (библиотека regex): падение при большом количестве captures (несколько десятков) из-за
отсутствовавшего вызова lua_checkstack.
shmuel 17.03.2015 17:57:24 +0200 - build 493
1. С форума: Запуск lua: mf.postmacro(eval,"F1") приводит к ошибке "bad argument #1 to 'getfenv'
(invalid level)".
shmuel 15.03.2015 15:48:33 +0200 - build 492
1. LuaFAR (библиотека bit64): устранение зависимости результатов сдвиговых операций при величинах
сдвига >= 64 от применяемого компилятора.
shmuel 13.03.2015 16:38:56 +0200 - build 491
1. LuaFAR: неправильно работал far.AdvControl("ACTL_GETARRAYCOLOR").
zg 08.03.2015 02:30:10 +0200 - build 490
1. moonscript 0.3.1.
zg 07.03.2015 02:15:16 +0200 - build 489
1. moonscript: issue #177 fix.
zg 05.03.2015 02:31:50 +0200 - build 488
1. moonscript 0.3.0.
shmuel 02.03.2015 19:01:59 +0200 - build 487
1. LuaFAR: убрана функция far.LuafarVersion.
shmuel 21.02.2015 19:30:30 +0200 - build 486
1. Рефакторинг.
shmuel 21.02.2015 00:56:10 +0200 - build 485
1. Рефакторинг.
shmuel 17.02.2015 00:44:37 +0200 - build 484
1. Расширение API в области возвращаемых значений для eval(S,2).
2. Рефакторинг.
shmuel 14.02.2015 16:35:25 +0200 - build 483
1. LuaFAR: неправильная передача обработчику диалога параметра Param2 при событии DN_HOTKEY.
shmuel 08.02.2015 17:47:16 +0200 - build 482
1. LuaFAR (generic plugin):
Размер структур PluginStartupInfo и FarStandardFunctions определяется теперь не при компиляции,
а динамически, по значениям полей StructSize в аргументе, полученном от Far в SetStartupInfoW().
Это позволит LuaFAR-плагинам автоматически поддерживать добавляемые функции Plugins API без
необходимости перекомпиляции плагина.
shmuel 06.02.2015 17:07:16 +0200 - build 481
1. Уточнение build 476: после вызова Plugin.Call и завершения макроса не производилась перерисовка редактора.
shmuel 03.02.2015 01:48:32 +0200 - build 480
1. LuaFAR: добавлена функция far.FarClock. Документация следует.
shmuel 28.01.2015 22:30:52 +0200 - build 479
1. LuaFAR: x64 warnings.
shmuel 28.01.2015 19:19:30 +0200 - build 478
1. LuaFAR: добавлена функция win.system.
shmuel 21.01.2015 23:59:12 +0200 - build 477
1. Рефакторинг.
shmuel 21.01.2015 16:51:11 +0200 - build 476
1. Рефакторинг.
zg 20.01.2015 03:10:50 +0200 - build 475
1. 0002912: В диалогах DM_SETTEXT, DM_GETTEXT не позволяют работать со строками содержащими '\0'.
shmuel 17.01.2015 23:05:52 +0200 - build 474
1. Рефакторинг.
shmuel 15.01.2015 16:59:48 +0200 - build 473
1. LuaFAR: исправлены два бага в библиотеке bit64.
shmuel 14.01.2015 00:19:06 +0200 - build 472
1. Рефакторинг.
shmuel 13.01.2015 19:29:57 +0200 - build 471
1. Рефакторинг, уточнения.
shmuel 12.01.2015 20:52:17 +0200 - build 470
1. Уточнение 465.1.
2. Уточнение 469.
3. Рефакторинг.
shmuel 11.01.2015 19:58:26 +0200 - build 469
1. Рефакторинг.
shmuel 07.01.2015 10:26:06 +0200 - build 468
1. LuaFAR: добавлена функция win.OutputDebugString.
shmuel 06.01.2015 23:42:23 +0200 - build 467
1. Уточнение 465.1.
shmuel 06.01.2015 18:27:55 +0200 - build 466
1. Уточнение 465.1.
shmuel 03.01.2015 21:20:32 +0200 - build 465
1. eval(S,2) снова, как это было до перевода макросистемы на Lua, запускает на исполнение
соответствующий макрос, а не просто вызывает его функцию 'action'.
2. Рефакторинг.
shmuel 01.01.2015 20:34:10 +0200 - build 464
1. Рефакторинг.
shmuel 31.12.2014 00:11:10 +0200 - build 463
1. Far.DisableHistory(-1) не запрещал добавления в историю при последующих вызовах Panel.SetPath().
2. Рефакторинг.
shmuel 26.12.2014 19:26:13 +0200 - build 462
1. Рефакторинг: прекращено использование фаровских регулярных выражений для внутренних нужд плагина.
shmuel 15.12.2014 00:46:09 +0200 - build 461
1. LuaFAR: добавлена обработка функций export.GetContentFields и export.GetContentData.
zg 06.12.2014 00:17:49 +0200 - build 460
1. Panel.AddCustomDataCallback удалена.
zg 03.12.2014 17:52:55 +0200 - build 459
1. уточнение 457. данные для одной и той же колонки не замещают друг друга, а склеиваются.
zg 03.12.2014 11:22:55 +0200 - build 458
1. в обработчик Panel.AddCustomDataCallback данные приходят в виде {guid="строка"}.
zg 03.12.2014 03:57:46 +0200 - build 457
1. экспериментально. продолжение 456. поддержка колонок C1-C9.
zg 30.11.2014 12:05:23 +0200 - build 456
1. Panel.AddCustomDataCallback: добавляет новый обработчик данных для кастом колонок.
zg 29.11.2014 13:27:38 +0200 - build 455
1. уточнение поддержки UTF-8 BOM для moonscript.
shmuel 28.11.2014 20:27:54 +0200 - build 454
1. Продолжение 452: добавлена поддержка загрузки старого формата файла клавиатурного макроса.
* Сохранение будет производиться в новом формате.
* Через полгода поддержку старого формата следует убрать.
shmuel 27.11.2014 23:44:56 +0200 - build 453
1. Уточнение 452.
shmuel 27.11.2014 21:06:15 +0200 - build 452
1. Файловый формат клавиатурного макроса сделан подобным формату стационарного макроса.
Сохранённые клавиатурные макросы прежнего формата должны быть преобразованы в новый.
shmuel 24.11.2014 02:05:58 +0200 - build 451
1. LuaFAR: в функциях editor.Editor и viewer.Viewer значение по умолчанию параметра Title,
передаваемое в Фар - NULL, а не FileName, как было до сих пор. См. M#2867.
shmuel 19.11.2014 13:16:10 +0200 - build 450
1. M#2609: LuaFAR: защита от ошибок в far.SaveScreen/RestoreScreen.
shmuel 13.11.2014 13:42:23 +0200 - build 449
1. LuaFAR: меню, выводимое функцией far.Show, может быть закрыто и нажатием клавиши Space.
shmuel 05.11.2014 13:21:11 +0200 - build 448
1. Из окружения макроса не убирались "загрузочные" функции MenuItem и NoMenuItem.
shmuel 05.11.2014 12:25:16 +0200 - build 447
1. Ещё раз M#2726.
shmuel 04.11.2014 23:09:39 +0200 - build 446
1. M#2726: mbrowser.lua:73: bad argument #3 to 'format' (invalid multibyte string).
shmuel 02.11.2014 16:46:25 +0200 - build 445
1. LuaFAR: устранён ещё один баг в обработке флагов типа userdata ("int64").
shmuel 02.11.2014 00:52:08 +0200 - build 444
1. LuaFAR: устранены 2 однотипных бага в обработке флагов типа userdata ("int64").
shmuel 01.11.2014 20:06:42 +0200 - build 443
1. LuaFAR: рефакторинг.
shmuel 30.10.2014 22:51:40 +0200 - build 442
1. LuaFAR (generic plugin): рефакторинг.
shmuel 29.10.2014 18:14:31 +0200 - build 441
1. Команды macro:post и lm:post больше не поддерживаются.
2. LuaFAR: добавлена экспортируемая функция LF_GetLuafarAPI, позволяющая LuaFAR-плагину (той его
части, что на C) пользоваться многими сервисными функциями LuaFAR.
shmuel 29.10.2014 01:04:04 +0200 - build 440
1. При многократной перезагрузке макросов (far.MacroLoadAll) среднее время перезагрузки устойчиво
возрастало. Заметил, что для проявления этого нежелательного эффекта необходимы два фактора:
а) перезагрузка библиотеки MoonScript
б) хотя бы один вызов pcall(require,"inexistent") при загрузке какого-либо макрофайла
Эффект убран прекращением перезагрузки библиотеки MoonScript при перезагрузке макросов.
Механизм данного эффекта мне на данный момент не ясен.
shmuel 27.10.2014 16:31:01 +0200 - build 439
1. LuaFAR (generic plugin): рефакторинг.
shmuel 27.10.2014 13:55:29 +0200 - build 438
1. LuaFAR (generic plugin): рефакторинг.
shmuel 25.10.2014 19:08:38 +0200 - build 437
1. LuaFAR: рефакторинг.
shmuel 22.10.2014 10:28:20 +0200 - build 436
1. Исправлен баг в функции mf.msave.
shmuel 20.10.2014 21:01:14 +0200 - build 435
1. M#2840: mload/msave: работать с локальным профилем.
w17 09.10.2014 02:53:15 +0200 - build 434
1. LuaFAR: build recovered after plugin.hpp changes
shmuel 02.10.2014 21:47:41 +0200 - build 433
1. Продолжение 328.2.
shmuel 21.09.2014 12:16:52 +0200 - build 432
1. Продолжение 431: mf.msave сохраняет связи между таблицами и их метатаблицами.
shmuel 20.09.2014 19:34:52 +0200 - build 431
1. Переделка сериализации данных, в результате чего функция mf.msave дополнительно поддерживает:
(1) ключи-таблицы
(2) таблицы с рекурсивными вложениями
shmuel 07.09.2014 19:22:01 +0200 - build 430
1. Небольшая оптимизация 429.2.
shmuel 06.09.2014 13:36:28 +0200 - build 429
1. Уточнение 428.
2. M#2793: MenuItem: нужна возможность задать разный текст для пунктов в разных меню.
shmuel 06.09.2014 00:51:16 +0200 - build 428
1. M#2792: MenuItem: заменить wtype на area.
Подробности - в мануале (статья "Добавление пунктов в меню плагинов").
shmuel 03.09.2014 23:52:40 +0200 - build 427
1. Продолжение 425.
shmuel 03.09.2014 16:13:53 +0200 - build 426
1. Продолжение 425.
shmuel 03.09.2014 01:25:51 +0200 - build 425
1. M#2705: Far.GetConfig (на замену Far.Cfg_Get).
shmuel 01.09.2014 23:48:28 +0200 - build 424
1. M#2724: LuaFAR: MIF_SELECTED для far.Menu.
shmuel 28.08.2014 21:36:52 +0200 - build 423
1. 'MacroPath' в luamacro.ini должно быть внутри секции [General].
shmuel 27.08.2014 21:22:51 +0200 - build 422
1. LuaFAR: продолжение 419.2.
shmuel 27.08.2014 00:29:48 +0200 - build 421
1. Уточнение 420.
shmuel 26.08.2014 23:15:21 +0200 - build 420
1. macro:load поддерживает явное указание путей, с которых будут грузиться макрофайлы.
shmuel 26.08.2014 21:16:27 +0200 - build 419
1. MCTL_LOADALL поддерживает явное указание путей, с которых будут грузиться макрофайлы.
2. LuaFAR: far.MacroLoadAll поддерживает явное указание путей, с которых будут грузиться макрофайлы.
shmuel 25.08.2014 20:23:55 +0200 - build 418
1. Мелкий рефакторинг.
shmuel 24.08.2014 11:37:48 +0200 - build 417
1. Уточнение 414.
shmuel 23.08.2014 09:43:48 +0200 - build 416
1. Уточнение 414.
shmuel 23.08.2014 03:11:07 +0200 - build 415
1. Поддержка UTF-8 BOM в luamacro.ini.
shmuel 23.08.2014 02:13:33 +0200 - build 414
1. M#2469: Общие макросы.
Добавлен файл luamacro.example.ini, активируется при его переименовании в luamacro.ini.
В нём может быть установлено значение `MacroPath`, указывающее, с каких путей будут загружаться
стационарные макрофайлы. Значение по умолчанию: %FARPROFILE%\Macros\scripts.
shmuel 23.08.2014 00:31:33 +0200 - build 413
1. mf.usermenu: режим "синхронного вызова" был сломан (в билде Far 3.0.3914).
shmuel 20.08.2014 12:25:13 +0200 - build 412
1. Упрощение вызова макробраузера, ставшее возможным благодаря изменениям в Far 3.0.4059.
shmuel 15.08.2014 19:20:35 +0200 - build 411
1. `eval(S,2)` возвращает `-3`, если было выведено меню выбора макроса, и это меню было отменено пользователем.
shmuel 14.08.2014 23:55:27 +0200 - build 410
1. Могли исполняться макросы во время загрузки макросов (например, при выводе диалога).
shmuel 01.08.2014 22:52:40 +0200 - build 409
1. LuaFAR: функция 'editor.GetSelection' выдавала неправильные результаты для вертикальных блоков нулевой ширины
в начальной позиции строк.
shmuel 01.08.2014 12:38:19 +0200 - build 408
1. LuaFAR + generic plugin: уточнение 382; плагин падал при следующих обстоятельствах:
- из макроса A добавляем новый макрос B посредством far.MacroAdd, параметр callback - функция;
- после завершения макроса A вызываем макрос B;
- падаем, т.к. в callback() происходит обращение к уже невалидному lua_State макроса A.
2. LuaFAR: если при вызове callback() макроса, добавленного по far.MacroAdd, происходила ошибка,
то возвращалось TRUE, и макрос мог быть исполнен.
shmuel 28.07.2014 15:40:16 +0200 - build 407
1. LuaFAR + generic plugin: новая функция far.SubscribeDialogDrawEvents.
shmuel 22.07.2014 10:13:18 +0200 - build 406
1. LuaFAR: в таблице, возвращаемой вызовом export.ProcessEditorEvent(EE_CHANGE),
значения поля 'StringNumber' отсчитываются от 1.
shmuel 22.07.2014 09:07:35 +0200 - build 405
1. Уточнение 404.
shmuel 22.07.2014 08:00:07 +0200 - build 404
1. Функция editor.SubscribeChangeEvent не работала, будучи вызвана из макроса.
(Она работала только если был загружен хотя бы один обработчик с group="EditorEvent").
shmuel 21.07.2014 20:32:05 +0200 - build 403
1. LuaFAR: новая функция editor.GetTitle.
shmuel 19.07.2014 20:47:27 +0200 - build 402
1. LuaFAR: функция editor.ClearSessionBookmarks возвращает булевое значение, а не число.
shmuel 18.07.2014 07:46:24 +0200 - build 401
1. LuaFAR: функции editor.GetBookmarks и editor.GetSessionBookmarks неправильно работали и вызывали падение.
shmuel 17.07.2014 16:38:07 +0200 - build 400
1. LuaFAR: функции panel.* не работали с хэндлами панелей, полученными от panel.GetPanelInfo().
shmuel 16.07.2014 18:28:05 +0200 - build 399
1. Новая функция: mf.acall. Подробности - в мануале.
shmuel 15.07.2014 00:22:49 +0200 - build 398
1. Мелкий рефакторинг.
shmuel 14.07.2014 21:01:59 +0200 - build 397
1. Игнорируем неправильные команды от вызовов Plugin.Command().
shmuel 08.07.2014 16:11:57 +0200 - build 396
1. Уточнение 389.2 : была ошибка при запуске Far /w /e <filename>.
shmuel 07.07.2014 15:48:17 +0200 - build 395
1. Уточнение 389.2 : ошибка при исполнении функции text() одного пункта меню
приводила к тому, что и остальные пункты меню плагина не загружались.
shmuel 07.07.2014 00:08:44 +0200 - build 394
1. Уточнение 389.2 : поле "area" сделано опциональным.
shmuel 06.07.2014 13:00:38 +0200 - build 393
1. Уточнение 389.2 : поле "title" переименовано в "text".
shmuel 05.07.2014 22:37:25 +0200 - build 392
1. Мелкий рефакторинг.
shmuel 05.07.2014 22:27:12 +0200 - build 391
1. Уточнение 389.2.
shmuel 05.07.2014 17:29:40 +0200 - build 390
1. Уточнение 389.2.
shmuel 05.07.2014 16:58:08 +0200 - build 389
1. Продолжение 387.2.
2. Добавление пунктов в меню плагинов/дисков/конфигурации плагинов из макрофайлов. Подробности - в мануале.
shmuel 03.07.2014 12:38:39 +0200 - build 388
1. LuaFAR (generic plugin): защита от вызовов Фаром экспортируемых функций плагина, производимых
до возвращения из SetStartupInfoW(), то-есть когда плагин ещё не полностью инициализирован.
shmuel 01.07.2014 00:02:47 +0200 - build 387
1. Откат 383-386.
2. Возможность открытия редактора из диалога ошибки (пока только при загрузке макросов, и то не во всех случаях).
3. При переходе на MoonScript 0.2.6 сломалось нахождение номера строки в .moon-файлах.
shmuel 30.06.2014 14:02:24 +0200 - build 386
1. Продолжение 383: аргументы, передаваемые обработчикам события "CommandLine", задаются списком Lua-выражений.
shmuel 28.06.2014 19:47:38 +0200 - build 385
1. Продолжение 383: плагин передаёт обработчикам события "CommandLine" не таблицу, а последовательность аргументов.
shmuel 28.06.2014 00:21:04 +0200 - build 384
1. Продолжение 383: плагин передаёт обработчикам события "CommandLine" таблицу - массив аргументов.
shmuel 27.06.2014 16:54:07 +0200 - build 383
1. Новая команда macro:user (lm:user) и новый тип обработчика событий group="CommandLine". Подробности - в мануале.
shmuel 25.06.2014 13:37:44 +0200 - build 382
1. LuaFAR: far.MacroAdd и far.MacroDelete могут работать не только из основного lua_State, но и из дополнительных.
shmuel 24.06.2014 01:36:45 +0200 - build 381
1. MoonScript: в сборку не был включён файл moon.lua.
shmuel 23.06.2014 22:46:06 +0200 - build 380
1. Уточнение 377.2.
shmuel 23.06.2014 20:38:21 +0200 - build 379
1. LuaFAR: мелкий рефакторинг.
shmuel 22.06.2014 13:11:38 +0200 - build 378
1. MoonScript 0.2.6.
shmuel 21.06.2014 18:09:57 +0200 - build 377
1. LuaFAR: при создании и инициализации дополнительного lua_State, и вызове из него диалога, было падение.
2. LuaFAR (generic plugin): экспортируемая функция luaopen_luaplug сделана доступной из Lua, в виде глобальной
переменной _luaplug. Подробнее - в мануале.
shmuel 18.06.2014 20:47:47 +0200 - build 376
1. Уточнение 366.
shmuel 17.06.2014 16:35:54 +0200 - build 375
1. Уточнение 372.
shmuel 17.06.2014 16:14:51 +0200 - build 374
1. LuaFAR: функция editor.InsertTextW теперь сама обеспечивает два нулевых байта в конце текста,
передаваемого Фару. Таким образом, вызывающая функция может об этом не заботиться.
shmuel 16.06.2014 20:52:25 +0200 - build 373
1. Уточнение 371.
shmuel 16.06.2014 13:38:25 +0200 - build 372
1. FIX: макросы, добавленные с помощью far.MacroAdd, работали с глобальным окружением.
shmuel 15.06.2014 20:38:11 +0200 - build 371
1. Если перезагрузка макросов прерывалась по ошибке в обработчике ExitFAR, то макросы переставали
вызываться по нажатию клавиш, причём последующие перезагрузки уже не помогали.
shmuel 08.06.2014 22:47:43 +0200 - build 370
1. Восстановим поломанное во время рефакторингов поведение при выводе меню выбора макроса.
shmuel 08.06.2014 12:28:07 +0200 - build 369
1. M#2696: Отображать версии LuaFAR и luajit среди прочих выводимых по команде far:ver.
В плагин добавлена команда macro:about (lm:about).
shmuel 07.06.2014 16:00:14 +0200 - build 368
1. Исправление двух редких, но возможных ситуаций, вызывающих падение Фара (одна в LuaFAR, другая в LuaMacro).
shmuel 06.06.2014 23:40:12 +0200 - build 367
1. Уточнение 366.
shmuel 06.06.2014 21:37:13 +0200 - build 366
1. LuaFAR-плагины (включая LuaMacro), использующие luaplug.c:
Добавлена возможность "воссоздать" виртуальную машину (lua_State), используемую плагином, то-есть:
закрыть текущую и создать новую.
* Для этого нужно присвоить глобальной переменной 'RecreateLuaState' значение true.
* Анализ переменной 'RecreateLuaState' и воссоздание lua_State производятся в экспортируемой функции OpenW,
непосредственно перед возвращением управления из неё Фару.
* Перед воссозданием lua_State производится вызов экспортируемой функции ExitFARW (для плагина LuaMacro
вызываются обработчики события ExitFAR, если таковые загружены).
* После воссоздания lua_State производятся все действия, которые производятся при загрузке плагина Фаром,
в том числе исполняется "входной" Lua-файл плагина.
* После воссоздания lua_State глобальная переменная 'IsLuaStateRecreated' установлена в значение true.
Плагин LuaMacro при этом автоматически загружает макросы и обработчики событий из макрофайлов.
shmuel 06.06.2014 16:19:53 +0200 - build 365
1. FIX: при незагруженных или выгруженных стационарных макросах не исполнялись вновь записанные клавиатурные.
2. FIX: рекурсивное зацикливание и вылет Фара, если загружаемый макрофайл вызывал far.MacroLoadAll().
3. FIX: не работали автостартующие макросы, у которых key="".
zg 05.06.2014 18:06:43 +0200 - build 364
1. Macro Browser: более корректный переход к телу макроса на moonscript по f4/altf4.
shmuel 05.06.2014 00:51:14 +0200 - build 363
1. Оптимизация обработки ключей при загрузке макросов.
shmuel 04.06.2014 16:35:43 +0200 - build 362
1. LuaFAR: panel.GetPanelInfo().PluginHandle устанавливается в nil, если от Фара пришёл NULL
(раньше и в этом случае создавалась userdata).
shmuel 03.06.2014 22:53:34 +0200 - build 361
1. Поле 'key' в спецификации макроса сделано опциональным.
shmuel 03.06.2014 20:47:06 +0200 - build 360
1. Fix 359.
shmuel 03.06.2014 20:14:25 +0200 - build 359
1. Рефакторинг.
shmuel 02.06.2014 18:16:01 +0200 - build 358
1. Рефакторинг.
shmuel 02.06.2014 00:18:56 +0200 - build 357
1. Рефакторинг.
shmuel 01.06.2014 16:49:47 +0200 - build 356
1. В диалоге редактирования клавиатурного макроса не детектировались синтактические ошибки в параметрах файла-скрипта.
2. MSSC_POST: устранён двойной парсинг.
3. Рефакторинг.
shmuel 31.05.2014 21:22:42 +0200 - build 355
1. Продолжение 353: теперь не только не падаем, но и выполняем скрипт из архива по ассоциации
(раньше выдавалось сообщение об ошибке, т.к. на момент запуска макроса временный файл уже был удалён).
shmuel 31.05.2014 17:32:08 +0200 - build 354
1. Рефакторинг.
shmuel 29.05.2014 21:10:14 +0200 - build 353
1. Фар падал при выдаче плагином сообщения об ошибке при запуске скрипта из архива по ассоциации
lua:@"!\!.!"
shmuel 29.05.2014 09:27:11 +0200 - build 352
1. M#2389: mmode(1,x): Вывод на экран включается/отключается не вовремя.
shmuel 28.05.2014 13:00:02 +0200 - build 351
1. LuaFAR: M#2674: Возврат хэндла панели при работе из макроса - поддержка для LuaFAR-плагинов.
shmuel 28.05.2014 12:52:34 +0200 - build 350
1. Плагин падал при начальной загрузке макросов, если на package.cpath
находилась lpeg.dll версии 0.10 при том, что в %farhome% была версия 0.12.
shmuel 26.05.2014 20:20:14 +0200 - build 349
1. Завершение рефакторинга, начатого в 332.
shmuel 25.05.2014 21:14:54 +0200 - build 348
1. Продолжение 332.
shmuel 25.05.2014 18:17:51 +0200 - build 347
1. Продолжение 332.
shmuel 24.05.2014 20:09:27 +0200 - build 346
1. Починим вложенные макросы.
shmuel 24.05.2014 17:26:49 +0200 - build 345
1. Продолжение 332.
shmuel 24.05.2014 00:37:50 +0200 - build 344
1. Уточнение 343.
shmuel 23.05.2014 19:52:47 +0200 - build 343
1. Продолжение 332.
shmuel 23.05.2014 01:47:14 +0200 - build 342
1. Продолжение 332.
shmuel 21.05.2014 18:08:08 +0200 - build 341
1. Продолжение 332.
shmuel 17.05.2014 23:58:48 +0200 - build 340
1. Продолжение 332.
shmuel 15.05.2014 23:27:15 +0200 - build 339
1. LuaFAR: compilation warnings.
shmuel 15.05.2014 00:12:19 +0200 - build 338
1. Продолжение 332.
shmuel 14.05.2014 17:11:46 +0200 - build 337
1. M#2673: LuaFAR: дополнительные параметры для far.Timer.
zg 13.05.2014 20:18:30 +0200 - build 336
1. %farprofile%\Macros\modules добавлен в package.moonpath.
shmuel 13.05.2014 17:22:27 +0200 - build 335
1. Из-за 328.1 не инициализировался package.moonpath.
zg 13.05.2014 04:31:07 +0200 - build 334
1. %farprofile%\Macros\modules добавлен в package.cpath.
shmuel 13.05.2014 00:35:01 +0200 - build 333
1. Продолжение 332.
shmuel 12.05.2014 13:05:51 +0200 - build 332
1. Рефакторинг в системе макросов.
shmuel 11.05.2014 02:47:01 +0200 - build 331
1. Из форума: ошибка moonscript.lua:677: too many pending calls/choices
Ошибка проявлялась после перезагрузки макросов на вложенном цикле глубиной 8.
shmuel 07.05.2014 16:59:17 +0200 - build 330
1. LuaFAR: добавлен метод "send" хэндлу диалога.
Выражение hDlg:send(...) соответствует выражению far.SendDlgMessage(hDlg, ...)
shmuel 05.05.2014 22:50:22 +0200 - build 329
1. Рефакторинг.
shmuel 05.05.2014 15:24:35 +0200 - build 328
1. Force MoonScript to load lpeg.dll residing in %farhome%.
2. M#2388: При ошибках сообщения системы на русском могут не отображаться.
shmuel 04.05.2014 11:24:24 +0200 - build 327
1. LuaFAR: ряд функций приведен в соответствие с документацией в отношении их возвращаемых значений.
Эти функции могли возвращать 0 значений, тогда как по документации должны были возвращать nil или false.
shmuel 04.05.2014 02:12:28 +0200 - build 326
1. Откат build 325.
shmuel 03.05.2014 17:51:18 +0200 - build 325
1. Экспериментально:
Перед обработкой комстроки Фар передаёт её плагину LuaMacro, который вызывает глобальную функцию
ProcessFarCommandLine(CmdLine), если таковая существует. Если функция не существует, либо возвращает
false/nil/ничего, Фар продолжает обработку комстроки. Если возвращает стринг, то Фар обрабатывает
его как новое значение комстроки. Если возвращает true, дальнейшая обработка комстроки Фаром не
производится.
shmuel 02.05.2014 23:00:20 +0200 - build 324
1. Командная строка: если в `lua: <code>` или `moon: <code>`
`<code>` начинается с символа `=`, то вызывается `far.Show()`, например:
`lua:=5+2,6,"foo"` эквивалентно `lua:far.Show(5+2,6,"foo")`.
shmuel 01.05.2014 17:05:32 +0200 - build 323
1. В файл moonscript.lua не была включена стандартная библиотека языка.
2. Рефакторинг.
shmuel 30.04.2014 20:57:47 +0200 - build 322
1. Мелкий рефакторинг.
shmuel 29.04.2014 17:51:59 +0200 - build 321
1. По просьбе трудящихся: команды "lm:post" и "macro:post" оставлены на полгода,
в качестве синонимов команды "lua:".
shmuel 28.04.2014 19:42:31 +0200 - build 320
1. Не, "lm:" никому не мешала, пусть живёт как синоним "macro:".
shmuel 28.04.2014 18:18:11 +0200 - build 319
1. Команда "lm:" убрана, вместо неё - команда "macro:".
2. Из таблицы mf убраны функции: band,bor,bnot,bxor,lshift,rshift.
shmuel 28.04.2014 13:42:55 +0200 - build 318
1. Убраны команды "luacheck:" и "mooncheck:".
2. В функции eval добавлен опциональный 3-й параметр 'Lang'.
shmuel 27.04.2014 13:32:54 +0200 - build 317
1. Продолжение build 316 + обновлена документация.
shmuel 27.04.2014 01:33:41 +0200 - build 316
1. Новый синтаксис командной строки плагина:
lm: load
lm: save
lm: unload
lua: <sequence> | @<filename> [<params>]
moon: <sequence> | @<filename> [<params>]
luacheck: <sequence> | @<filename> [<params>]
mooncheck: <sequence> | @<filename> [<params>]
Документация ещё не обновлена.
shmuel 26.04.2014 17:56:39 +0200 - build 315
1. Продолжение 314, документация обновлена:
-- команды lm:post2 и lm:check2 в плагине LuaMacro.
shmuel 25.04.2014 21:32:52 +0200 - build 314
1. Поддержка MoonScript в API плагинов (документация ещё не обновлена).
shmuel 23.04.2014 16:34:49 +0200 - build 313
1. moonscript.dll заменена на moonscript.lua.
shmuel 23.04.2014 10:28:06 +0200 - build 312
1. Откат build 311, в связи с вынесением LPeg из moonscript.dll в отдельную lpeg.dll.
shmuel 23.04.2014 08:12:28 +0200 - build 311
1. Fix build 310: при перезагрузке скриптов выгружался LPeg, без которого
не может работать MoonScript.
shmuel 23.04.2014 01:08:10 +0200 - build 310
1. Добавлена поддержка MoonScript (автор идеи и первой реализации - Вадим Егоров).
Используется слегка патченый MoonScript 0.2.5: в функции moonscript.loadfile
добавлена 1 строчка для пропуска UTF-8 BOM, если таковой имеется.
shmuel 18.04.2014 13:26:34 +0200 - build 309
1. Refactoring.
shmuel 14.04.2014 13:37:00 +0200 - build 308
1. LuaFAR: реализована обработка DM_KEY.
shmuel 12.04.2014 16:23:58 +0200 - build 307
1. Fix: ключ макроса, заданный регулярным выражением, содержащий альтернативы
верхнего уровня, разделённые символом '|', не срабатывал при наличии
полностью валидной альтернативы, в случае, если ей предшествовала
альтернатива, дающая частичное совпадение.
shmuel 11.04.2014 18:34:10 +0200 - build 306
1. Fix: ключ макроса, заданный регулярным выражением, преобразовывался в нижний
регистр, что приводило к обработке \D как \d и т.п.
zg 09.04.2014 18:05:25 +0200 - build 305
1. LuaFAR: удалена поддержка DN_ACTIVATEAPP.
shmuel 08.04.2014 10:39:15 +0200 - build 304
1. LuaFAR: refactoring.
shmuel 07.04.2014 23:31:55 +0200 - build 303
1. LuaFAR: refactoring.
shmuel 07.04.2014 21:08:04 +0200 - build 302
1. LuaFAR: добавилась поддержка DN_ACTIVATEAPP.
shmuel 06.04.2014 18:45:15 +0200 - build 301
1. LuaFAR fix: require 'unicode' возвращало не ту таблицу.
shmuel 22.03.2014 23:20:01 +0200 - build 300
1. LuaFAR: добавлена обработка новых диалоговых сообщений и событий:
DM_GETDIALOGTITLE, DN_DROPDOWNOPENED, DN_DRAWDLGITEMDONE.
shmuel 14.03.2014 00:46:28 +0200 - build 299
1. lua51.dll и lua5.1.dll меняются ролями: теперь lua51.dll - основная, а lua5.1.dll - proxy.
shmuel 08.03.2014 01:07:28 +0200 - build 298
1. LuaFAR: снято ограничение на длину строки, получаемой посредством DM_GETTEXT.
shmuel 08.03.2014 00:08:20 +0200 - build 297
1. Уточнение build 296.
shmuel 07.03.2014 22:30:54 +0200 - build 296
1. Расширение winapi.lua (от John Doe).
shmuel 06.03.2014 13:24:27 +0200 - build 295
1. M#2612: LuaFAR: метод для получения "сырого" значения хэндла диалога.
shmuel 02.03.2014 10:01:12 +0200 - build 294
1. LuaFAR: все параметры функции far.Text сделаны опциональными.
shmuel 21.02.2014 20:43:53 +0200 - build 293
1. LuaFAR: автоматическая вставка <plugin_path>\?.lua в package.path больше не производится.
Те LuaFAR-плагины, которым это надо, должны об этом позаботиться сами.
shmuel 19.02.2014 16:22:00 +0200 - build 292
1. Fix: в функции eval при исполнении скрипта-файла (@<filename> [<params>]),
вместо указанных параметров скрипту передавалась функция.
shmuel 18.02.2014 00:06:10 +0200 - build 291
1. LuaFAR: в следующих функциях теперь допускается вместо таблицы FarColor передавать число:
- editor.AddColor
- far.AdvControl(ACTL_SETARRAYCOLOR)
- far.CreateUserControl
- диалоговые процедуры (DN_CTLCOLORDLGLIST, DN_CTLCOLORDLGITEM, DN_CTLCOLORDIALOG)
Передача числа подразумевает стандартные 4-битные цвета (обрабатывается только младший байт числа).
shmuel 16.02.2014 21:41:56 +0200 - build 290
1. LuaFAR: far.RecursiveSearch принимает произвольное количество дополнительных аргументов.
shmuel 16.02.2014 19:48:43 +0200 - build 289
1. LuaFAR: добавлен 5-й параметр в функцию far.RecursiveSearch.
shmuel 12.02.2014 22:50:28 +0200 - build 288
1. Убрана локализация coroutine.create - для удобства отладки с ZeroBrane Studio.
shmuel 11.02.2014 16:56:31 +0200 - build 287
1. LuaFAR: очередное исправление обработки DM_LISTSETDATA/DM_LISTGETDATA.
В качестве идентификатора данных теперь используем GetPluginData(L), а не L,
поскольку L разное для разных макросов.
shmuel 10.02.2014 09:34:12 +0200 - build 286
1. LuaFAR: уточнение обработки DM_LISTSETDATA/DM_LISTGETDATA.
DM_LISTGETDATA возвращает light userdata для "чужих" данных (см. мануал LuaFAR).
shmuel 09.02.2014 22:27:26 +0200 - build 285
1. LuaFAR: исправление обработки DM_LISTGETDATASIZE (номер элемента списка отсчитывался от 0, а не 1).
2. LuaFAR: небольшое изменение алгоритма обработки DM_LISTSETDATA.
shmuel 08.02.2014 00:41:08 +0200 - build 284
1. Уточнение билда 283.
shmuel 07.02.2014 22:37:35 +0200 - build 283
1. LuaFAR: far.SendDlgMessage(DM_LISTSETDATA) при повторной установке данных по тому же индексу
не затирал предыдущее значение, что приводило к росту потребления памяти.
shmuel 06.02.2014 18:28:38 +0200 - build 282
1. LuaFAR: доработка far.GetDlgItem и far.SendDlgMessage(DM_GETDLGITEM):
для элементов типа DI_LISTBOX и DI_COMBOBOX элемент 6 (ListItems) передавался нулём.
2. LuaFAR: мелкий рефакторинг.
shmuel 30.01.2014 11:20:16 +0200 - build 281
1. LuaFAR: откат билда 279 (сломалось получение пустых строк).
shmuel 29.01.2014 18:46:57 +0200 - build 280
1. Мелкий рефакторинг.
zg 29.01.2014 14:10:34 +0200 - build 279
1. LuaFAR: уточнение 276 - для несуществующих элементов DM_GETTEXT возвращает nil.
shmuel 29.01.2014 09:42:12 +0200 - build 278
1. Откат изменения DM_LISTGETCURPOS предыдущего коммита.
shmuel 28.01.2014 23:23:52 +0200 - build 277
1. LuaFAR: уточнения в DM_GETCONSTTEXTPTR и DM_LISTGETCURPOS.
zg 28.01.2014 12:07:51 +0200 - build 276
1. LuaFAR: DM_GETTEXT для несуществующих элементов диалога возвращало мусор.
shmuel 28.01.2014 01:28:32 +0200 - build 275
1. LuaFAR: работали скрипты с двумя BOM'ами (один удалял LuaFAR, второй - LuaJIT).
shmuel 24.01.2014 20:19:11 +0200 - build 274
1. LuaFAR: M#2572: far.MakeMenuItems: добавлять в таблицу не только строковое представление, но и сами объекты.
2. LuaFAR: M#2573: far.Show: возвращать выбранный пункт меню.
shmuel 21.01.2014 22:03:31 +0200 - build 273
1. LuaFAR (far.Message): добавлен флаг 'n', означающий "не делать свёртку длинных строк".
shmuel 18.01.2014 13:18:11 +0200 - build 272
1. M#2561: far.MacroPost: возможность задавать SequenceText функцией (а не строкой).
Добавлена функция mf.postmacro.
shmuel 14.01.2014 11:15:34 +0200 - build 271
1. Адаптация к Far 3.0.3770 ("рефакторинг в системе макросов").
shmuel 12.01.2014 20:21:37 +0200 - build 270
1. LuaFAR (far.MacroAdd) - доработка build 150:
-- Callback(Id,Flags) получает первым параметром не число, а light userdata.
shmuel 10.01.2014 16:45:19 +0200 - build 269
1. LuaFAR-плагины, собираемые GCC:
автоматическое включение экспорта FreeFindDataW при наличии GetFindDataW.
shmuel 07.01.2014 11:00:53 +0200 - build 268
1. Кастомная сортировка: косметика.
shmuel 06.01.2014 17:09:29 +0200 - build 267
1. Кастомная сортировка: возможность указания функции сортировки при загрузке режима сортировки.
shmuel 06.01.2014 13:33:30 +0200 - build 266
1. Кастомная сортировка: адаптация "альтернативной" функции сортировки (qsort) к Far 3.0.3751+.
shmuel 05.01.2014 19:22:10 +0200 - build 265
1. Рефакторинг кастомной сортировки.
drkns 03.01.2014 13:38:35 +0200 - build 264
1. Немного упростим 263.
t-rex 03.01.2014 04:58:00 +0200 - build 263
1. Фикс кастомной сортировки, уродливо но чтоб намёк был понят.
[ Примечание от shmuel: кастомная сортировка сломалась в Far 3.0.3751 ]
shmuel 28.12.2013 13:05:44 +0200 - build 262
1. M#2550: Возвращаемое значение для загрузочных функций Macro и Event.
При успешной загрузке данные функции возвращают число-идентификатор
загруженного макроса или обработчика события.
shmuel 25.12.2013 18:55:20 +0200 - build 261
1. LuaFAR (far.Timer):
после закрытия таймера его обработчик не может быть автоматически вызван,
поэтому больше нет необходимости проверять в обработчике, закрыт ли таймер.
shmuel 16.11.2013 23:14:32 +0200 - build 260
1. LuaFAR: доработана передача параметров функции export.ProcessPanelEvent.
shmuel 12.11.2013 00:06:37 +0200 - build 259
1. LuaFAR: Оказывается, хэндл панели, возвращаемый OpenW(), должен быть уникальным не в пределах
плагина, а в пределах Фара. Поэтому добавим к нему смещение, равное адресу lua_State плагина.
shmuel 02.11.2013 18:36:31 +0200 - build 258
1. LuaFAR: для элементов плагиновых панелей не заполнялся массив CustomColumnData.
shmuel 30.09.2013 13:54:30 +0200 - build 257
1. LuaFAR (unicode.utf8.format): уточнение билда 141.
shmuel 29.09.2013 21:08:52 +0200 - build 256
1. Уточнение билда 255: сделано одинаково для Lua 5.1 и 5.2.
shmuel 29.09.2013 19:28:05 +0200 - build 255
1. LuaFAR: предотвратим исключение при невалидном 2-м аргументе io.open().
Из форума: Вот такая строчка в макросе роняет ФАР
io.open("file","xyz")
shmuel 26.09.2013 12:37:08 +0200 - build 254
1. Macro Browser: по F3 выводится информация о макросе/обработчике события.
shmuel 24.09.2013 16:50:11 +0200 - build 253
1. Уточнение 252.
shmuel 24.09.2013 13:56:53 +0200 - build 252
1. Продолжение M#2390: Передавать параметры скрипту, запущенному через lm:post @
Глобальная (в пределах окружения скрипта) переменная `_filename` содержит имя файла-скрипта.
См. начало в лог-записи билда 196.
shmuel 22.09.2013 18:57:29 +0200 - build 251
1. Добавка и уточнение сообщений об ошибках. Мини-рефакторинг.
shmuel 21.09.2013 19:24:13 +0200 - build 250
1. Небольшие уточнения.
shmuel 21.09.2013 11:50:29 +0200 - build 249
1. Рефакторинг.
shmuel 20.09.2013 20:08:09 +0200 - build 248
1. Расширены файлы winapi.lua и farapi.lua.
shmuel 19.09.2013 23:53:41 +0200 - build 247
1. LuaFAR: добавлена функция far.IsPluginLoaded.
shmuel 19.09.2013 19:45:15 +0200 - build 246
1. Мелкий рефакторинг и приведение переводов строк к единообразному виду.
shmuel 19.09.2013 00:01:45 +0200 - build 245
1. M#2486: Разрешить использование Plugin.Call в Condition.
Добавлена макрофункция Plugin.SyncCall, см. macroapi_manual.chm.
shmuel 16.09.2013 20:04:27 +0200 - build 244
1. Если у Фара выставлена опция ReadOnlyConfig != 0, плагин не создаёт папки
и не сохраняет клавиатурные макросы в файлы.
shmuel 15.09.2013 21:01:09 +0200 - build 243
1. Рефакторинг.
shmuel 12.09.2013 18:59:27 +0200 - build 242
1. Рефакторинг.
shmuel 11.09.2013 08:18:35 +0200 - build 241
1. Не все вхождения PluginPanelItemEx были переименованы в 240.
shmuel 10.09.2013 23:58:49 +0200 - build 240
1. Переименование PluginPanelItemEx -> SortingPanelItem.
shmuel 10.09.2013 22:19:08 +0200 - build 239
1. Кастомные сортировки в панелях используют структуру PluginPanelItemEx вместо PluginPanelItem.
(Это ломающее изменение, пересмотрите свой код).
shmuel 08.09.2013 20:47:29 +0200 - build 238
1. Кастомные сортировки: поля спецификации сортировки DirectoriesFirst,
SelectedFirst, RevertSorting и SortGroups ошибочно обрабатывались как
булевые величины, в то время как они могут принимать 3 значения.
shmuel 06.09.2013 02:21:33 +0200 - build 237
1. Кастомные режимы сортировки выгружаются при выгрузке макросов.
shmuel 05.09.2013 22:41:24 +0200 - build 236
1. Рефакторинг.
shmuel 04.09.2013 19:59:11 +0200 - build 235
1. Уточнение 234: вызов макроса из меню сортировок панели (CtrlF12) с последующим
выбором кастомного режима сортировки приводили к падению Фара.
shmuel 04.09.2013 19:31:48 +0200 - build 234
1. Меню сортировок панели (CtrlF12) включает в себя и кастомные режимы сортировки, если таковые имеются.
shmuel 02.09.2013 10:35:41 +0200 - build 233
1. LuaFAR: far.CopyToClipboard(nil) очищает буфер обмена.
shmuel 25.08.2013 22:48:35 +0200 - build 232
1. Продолжение 231: функция InitSort получает один параметр - таблицу опций сортировки.
shmuel 25.08.2013 15:25:46 +0200 - build 231
1. Параметр Settings функции Panel.LoadCustomSortMode может содержать опциональные поля - функции InitSort и EndSort.
shmuel 20.08.2013 20:54:52 +0200 - build 230
1. Кастомные сортировки панелей восстанавливаются при перезапуске Фара, если setup был сохранён,
при условии, что соответствующие вызовы Panel.LoadCustomSortMode() производятся в процессе загрузки макросов.
Восстановление происходит после окончания загрузки макросов, до начала исполнения автостартующих макросов.
shmuel 17.08.2013 13:30:57 +0200 - build 229
1. Уточнение 228.
shmuel 17.08.2013 11:56:31 +0200 - build 228
1. M#2468: некорректная работа Editor.Value и Editor.GetStr() при наличии в строке символа \x00.
shmuel 15.08.2013 00:36:48 +0200 - build 227
1. Рефакторинг.
shmuel 14.08.2013 15:56:53 +0200 - build 226
1. Временно убираем C.wcscmp из panelsort.lua (LuaJIT, скомпилированный с msvcr100.dll, её не находит).
shmuel 14.08.2013 00:12:38 +0200 - build 225
1. Переименование: Panel.InstallCustomSortMode -> Panel.LoadCustomSortMode.
shmuel 13.08.2013 18:53:50 +0200 - build 224
1. Добавлена макрофункция Panel.CustomSortMenu.
shmuel 12.08.2013 20:55:13 +0200 - build 223
1. Добавлена макрофункция Panel.InstallCustomSortMode.
shmuel 12.08.2013 14:42:45 +0200 - build 222
1. Уточнение 219.
shmuel 11.08.2013 20:26:08 +0200 - build 221
1. Уточнение 219.
shmuel 11.08.2013 01:20:02 +0200 - build 220
1. Уточнение 219.
shmuel 10.08.2013 19:32:13 +0200 - build 219
1. Кастомная сортировка в панелях. Уже работает.
Добавлена макрофункция Panel.SetCustomSortMode.
shmuel 09.08.2013 20:01:49 +0200 - build 218
1. Кастомная сортировка в панелях. Пока не работает.
shmuel 05.08.2013 20:20:50 +0200 - build 217
1. LuaFAR: добавлена функция panel.SetDirectoriesFirst.
shmuel 04.08.2013 19:29:15 +0200 - build 216
1. Уточнение билда 209 (были падения при большом количестве возвращаемых значений от Plugin.Call).
shmuel 04.08.2013 00:39:23 +0200 - build 215
1. LuaFAR: мелкий рефакторинг.
shmuel 04.08.2013 00:17:43 +0200 - build 214
1. LuaFAR: уточнение билда 211: элемент DI_USERCONTROL *не обязан* содержать в 6-й позиции тип "far_usercontrol"
(например, плагин LuaFAR History перестал работать, т.к. у него этот тип не используется).
shmuel 02.08.2013 08:06:45 +0200 - build 213
1. Порядок вывода пунктов в меню выбора макроса (при наличии более одного макроса на сочетание area/key)
не был постоянным, он мог меняться после каждой перезагрузки макросов (следствие переделки в билде 191).
zg 01.08.2013 18:20:23 +0200 - build 212
1. LuaFAR: usercontrol.new -> far.CreateUserControl.
zg 31.07.2013 21:24:49 +0200 - build 211
1. LuaFAR: добавлена поддержка буфера для DI_USERCONTROL. использовать примерно так:
local buffer=usercontrol.new(10,10)
local textel={Char="a",Attributes={Flags=bit64.bor(F.FCF_FG_4BIT,F.FCF_BG_4BIT),ForegroundColor=9,BackgroundColor=8}}
for ii=1,#buffer do
buffer[ii]=textel
end
local items={
{"DI_DOUBLEBOX",0,0,11,11,0,0,0,0,""},
{"DI_USERCONTROL",1,1,10,10,buffer,0,0,0,""}
}
shmuel 30.07.2013 22:19:16 +0200 - build 210
1. LuaFAR: в far.MacroExecute неправильно обрабатывался тип FMVT_BINARY.
shmuel 30.07.2013 19:30:59 +0200 - build 209
1. Рефакторинг передачи параметров из Фара в плагин при OpenFrom==OPEN_LUAMACRO
(параметры помещаются непосредственно на Lua-стек, без создания таблицы).
shmuel 19.07.2013 10:45:16 +0200 - build 208
1. Событие ExitFAR теперь вызывается также при операциях выгрузки и перезагрузки макросов.
shmuel 17.07.2013 21:51:48 +0200 - build 207
1. При загрузке макросов первым всегда исполняется макрофайл %FARPROFILE%\Macros\scripts\_macroinit.lua,
если такой файл существует. Порядок исполнения прочих макрофайлов не определён.
shmuel 17.07.2013 16:44:15 +0200 - build 206
1. LuaFAR: export.ProcessEditorEvent(EE_SAVE) получает параметром таблицу (M#2446).
shmuel 16.07.2013 15:03:34 +0200 - build 205
1. LuaFAR: export.ProcessEditorEvent(EE_SAVE) получает параметром имя сохраняемого файла (M#2446).
shmuel 07.07.2013 00:59:38 +0200 - build 204
1. LuaFAR: fix compatibility with Lua 5.2.
shmuel 06.07.2013 20:57:39 +0300 - build 203
1. LuaFAR: рефакторинг.
shmuel 06.07.2013 18:17:47 +0300 - build 202
1. LuaFAR: win.CreateDir почти полностью переписана.
2. Мелкий рефакторинг.
shmuel 04.07.2013 17:39:47 +0300 - build 201
1. Мелкий рефакторинг.
shmuel 04.07.2013 15:54:01 +0300 - build 200
1. LuaFAR: расширены возможности ф-ции win.CreateDir.
2. Отмена импорта ф-ции Фара CreatePath.
shmuel 03.07.2013 21:13:37 +0200 - build 199
1. Из форума: "Зачем фар создает каталоги с корне С".
Внутренняя функция Фара CreatePath импортирована в плагин LuaMacro и используется вместо win.CreateDir.
shmuel 03.07.2013 13:24:32 +0300 - build 198
1. Вызов скрипт-файлов с аргументами:
Аргументы от имени файла отделяются пробелом, то-есть разделитель :: упразднён.
Друг от друга аргументы по-прежнему отделяются запятыми.
shmuel 01.07.2013 17:29:01 +0200 - build 197
1. LuaFAR: уточнение обработки DN_GETVALUE.
shmuel 30.06.2013 13:12:37 +0200 - build 196
1. Добавлена возможность вызывать скрипт-файлы с аргументами.
Это касается: MCTL_SENDSTRING, MCTL_ADDMACRO, eval, lm:post, lm:check.
shmuel 24.06.2013 17:17:36 +0300 - build 195
1. Macro Browser: при нажатии Enter ("исполнить выделенный макрос")
передаётся аргумент для функции condition и работает функция akey,
(но не во всех случаях, т.к. реального ключа, запустившего макрос, нет).
shmuel 21.06.2013 20:55:30 +0200 - build 194
1. Мелкий рефакторинг.
shmuel 21.06.2013 18:31:26 +0200 - build 193
1. Рефакторинг функции GetMacro.
shmuel 21.06.2013 12:38:30 +0200 - build 192
1. Рефакторинг функции GetMacro.
shmuel 20.06.2013 21:25:25 +0200 - build 191
1. Почти полностью переписана функция GetMacro - возможны баги. Но теперь её должно быть легче поддерживать.
shmuel 18.06.2013 18:28:33 +0200 - build 190
1. LuaFAR: bit64.new имела неоправданно узкий диапазон при аргументе типа "number".
shmuel 18.06.2013 10:44:58 +0200 - build 189
1. Имена флагов макросов перемещены из Фара в плагин LuaMacro.
shmuel 16.06.2013 12:02:57 +0200 - build 188
1. LuaFAR: far.MacroExecute поддерживает передачу скрипту аргументов.
shmuel 15.06.2013 20:14:26 +0200 - build 187
1. Уточнение 186.
shmuel 15.06.2013 12:30:47 +0200 - build 186
1. Поддержка изменений в MCTL_EXECSTRING.
shmuel 14.06.2013 16:34:43 +0200 - build 185
1. Поддержка FMVT_NIL.
2. LuaFAR: LuaFAR-плагины при вызове OPEN_FROMMACRO теперь _всегда_ возвращают Фару указатель на структуру
FarMacroCall, даже если плагин ничего не вернул. Исключение - только возврат в результате runtime error.
shmuel 14.06.2013 00:46:43 +0300 - build 184
1. Fix 183.2.
shmuel 14.06.2013 00:22:19 +0200 - build 183
1. Поддержка MCTL_EXECSTRING.
2. LuaFAR: добавлена функция far.MacroExecute.
shmuel 10.06.2013 12:27:20 +0200 - build 182
1. LuaFAR: fix FileFilter:IsFileInFilter().
shmuel 09.06.2013 13:09:46 +0200 - build 181
1. LuaFAR: добавлена функция unicode.utf8.utf8valid. Описание - в мануале LuaFAR.
shmuel 05.06.2013 20:37:32 +0200 - build 180
1. LuaFAR: функция far.Menu:
Из флагов по умолчанию убран FMENU_AUTOHIGHLIGHT, поскольку приводит к диким тормозам на больших меню
(например, меню из 10000 пунктов, каждый с текстом в 1000 символов).
Кому надо - установит этот флаг в коде аппликации.
shmuel 30.05.2013 16:03:15 +0200 - build 179
1. M#2336: LuaMacro не сканирует каталоги-симлинки.
shmuel 30.05.2013 11:34:15 +0200 - build 178
1. Выбор автостартующих макросов производится не по соответствию области макроса текущей области,
а по соответствию области макроса области запуска Фара (определяемой ключами /e и /v).
shmuel 29.05.2013 19:17:49 +0200 - build 177
1. Была ошибка при запросе от Фара макроса в незагруженных областях (например, область "Disks" при запуске Фара
с ключом /e или /v).
shmuel 29.05.2013 17:53:38 +0200 - build 176
1. Экспериментально: автостартующие макросы работают при запуске Фара с ключами /e и /v.
shmuel 26.05.2013 11:20:07 +0200 - build 175
1. LuaFAR: в сообщениях об ошибках при отображении traceback начальные табы в строках заменяются на 3 пробела
для улучшения читаемости.
shmuel 25.05.2013 23:51:14 +0300 - build 174
1. LuaFAR: в функции editor.GetString добавлено значение параметра mode==3
(не меняет текущую позицию в редакторе, возвращает: StringText,StringEOL).
shmuel 24.05.2013 20:20:51 +0300 - build 173
1. Из форума:
lm:post error()
1. Хотелось бы выравнивание по левому краю
2. Зацикливается на Step: called on macro in dead status
shmuel 23.05.2013 12:02:55 +0300 - build 172
1. M#2365: Передавать макросам полный путь к файлу скрипта при загрузке.
Полный путь передаётся макрофайлу первым параметром.
Если в начале макрофайла определить переменную, например,
local MacroFileName = ...
то эта переменная будет доступна всем макросам и обработчикам событий в данном файле.
shmuel 22.05.2013 18:15:06 +0300 - build 171
1. Плагин создаёт таблицу package.nounload, ключи которой - имена модулей,
которые требуется не выгружать при выгрузке или перезагрузке иперосов.
Подробнее - в macroapi_manual.
shmuel 22.05.2013 00:19:37 +0200 - build 170
1. LuaFAR: функция far.Message больше не разрывает длинные строки на одинарных и двойных кавычках.
shmuel 21.05.2013 18:13:57 +0300 - build 169
1. Добавлено "?\\init.lua" в package.path.
shmuel 20.05.2013 15:11:46 +0300 - build 168
1. Рефакторинг.
shmuel 18.05.2013 19:46:39 +0200 - build 167
1. Macro Browser: меню ограничивается по высоте, чтобы не занимать весь экран.
shmuel 17.05.2013 20:01:52 +0300 - build 166
1. При "конфликте" макросов, в меню выбора макроса работает AltF4 - открытие модального редактора.
shmuel 17.05.2013 16:55:00 +0200 - build 165
1. LuaFAR: сброс разрешения floating point exceptions теперь делается в начале всех экспортируемых
плагинами функций. Это делает возможным совместную работу с плагинами, которые устанавливают
данное разрешение (плагины, использующие Delphi или FreePascal).
Существовавшей защиты оказалось недостаточно при проверке на Windows 7 x64 с LuaJIT 2.
2. Рефакторинг.
shmuel 15.05.2013 23:23:16 +0200 - build 164
1. Рефакторинг.
shmuel 14.05.2013 23:32:46 +0200 - build 163
1. Если в процессе начальной загрузки макросов выводилось меню или диалог, то тут же (то-есть преждевременно)
начиналось исполнение цикла автостартующих макросов.
shmuel 14.05.2013 21:05:41 +0200 - build 162
1. LuaFAR: функция far.Message при разрыве длинных строк больше не отдаёт предпочтения пробелам и табам
перед прочими разделителями.
2. В сообщениях об ошибках при отображении traceback начальные табы в строках заменяются на 3 пробела
для улучшения читаемости.
shmuel 14.05.2013 09:05:48 +0200 - build 161
1. LuaFAR: рефакторинг.
shmuel 13.05.2013 22:46:37 +0200 - build 160
1. Macro Browser: добавлена операция перехода к макрофайлу по CtrlPgUp.
shmuel 13.05.2013 20:23:41 +0200 - build 159
1. Macro Browser: состояние показа/скрытия неактивных макросов запоминается между вызовами.
shmuel 13.05.2013 13:22:40 +0300 - build 158
1. Локализация плагина, добавление lng-файлов.
shmuel 12.05.2013 20:58:40 +0200 - build 157
1. Рефакторинг и мелкие исправления.
shmuel 12.05.2013 17:22:33 +0200 - build 156
1. Macro Browser: добавлены операции:
-- исполнение макроса по Enter
-- скрытие/показ неактивных макросов по CtrlH
shmuel 11.05.2013 23:09:54 +0200 - build 155
1. Macro Browser: refactoring.
shmuel 11.05.2013 17:28:56 +0300 - build 154
1. Added "Macro Browser" utility.
shmuel 07.05.2013 00:29:54 +0200 - build 153
1. Рефакторинг.
t-rex 07.05.2013 00:14:27 +0200 - build 152
1. Коррекция 151 в связи с исправление в Far 3389.
shmuel 06.05.2013 23:19:36 +0200 - build 151
1. LuaFAR: fix editor.SaveFile
-- Поле CodePage было не инициализировано, что приводило к нулевому размеру сохраняемого файла.
-- Теперь CodePage является опциональным 4-м параметром функции.
shmuel 06.05.2013 19:48:08 +0200 - build 150
1. LuaFAR: небольшая ломка API, для единообразия между LuaFAR-плагинами и прочими плагинами.
-- far.MacroAdd возвращает не число, а light userdata.
-- far.MacroDelete получает не число, а light userdata.
shmuel 04.05.2013 15:49:15 +0200 - build 149
1. Уточнение 148.
shmuel 04.05.2013 08:46:57 +0200 - build 148
1. Макросы, загруженные по MCTL_ADDMACRO, больше не выгружаются по MCTL_LOADALL и lm:unload.
(Восстановлено исходное поведение данного типа макросов, сломанное в процессе перехода с макроязыка на Lua).
shmuel 02.05.2013 21:26:30 +0200 - build 147
1. В режиме запуска "Far /m" происходила ошибка "attempt to index upvalue 'Areas' (a nil value)"
при попытке выполнения любой из следующих операций:
(1)MCTL_ADDMACRO, (2)MSSC_POST, (3)ручная запись макроса и (4)просмотр списка макросов в хелпе.
shmuel 02.05.2013 13:12:26 +0200 - build 146
1. Небольшая оптимизация обработки ключей при загрузке макросов.
shmuel 30.04.2013 11:39:55 +0200 - build 145
1. Вызов far.MacroAdd из макрофайла при загрузке приводил к тому, что для всех макросов этого файла,
загружаемых после вызова far.MacroAdd, поле FileName не устанавливалось.
shmuel 29.04.2013 20:35:33 +0200 - build 144
1. LuaFAR: fix DM_LISTGETTITLES.
shmuel 29.04.2013 18:50:02 +0200 - build 143
1. Для макросов-обработчиков событий:
* Функция editor.SubscribeChangeEvent переопределена, и вызов оригинальной функции происходит только при переходе
"счётчика подписок" из 0 в 1 (если аргумент Subscribe==true), либо из 1 в 0 (если аргумент Subscribe==false).
Поэтому нужно, чтобы в каждом обработчике, делающем вызов Subscribe==true, был и парный вызов Subscribe==false.
* В отличие от плагинов, событие EE_CHANGE может приходить независимо от того, вызывал ли данный обработчик
функцию editor.SubscribeChangeEvent или не вызывал.
* Счётчики подписок отдельные для каждой сессии редактора.
shmuel 29.04.2013 14:17:24 +0200 - build 142
1. Уточнение 135.
shmuel 29.04.2013 12:19:52 +0200 - build 141
1. LuaFAR: unicode.utf8.format допускает 3 цифры в спецификации ширины вывода величины (было: 2).
shmuel 28.04.2013 16:32:41 +0200 - build 140
1. LuaFAR: новая функция editor.SubscribeChangeEvent.
2. В связи с появлением ECTL_SUBSCRIBECHANGEEVENT, ECTL_UNSUBSCRIBECHANGEEVENT (Фар 3.0.3371)
откатываем 137.1 и 137.2.
shmuel 26.04.2013 02:38:10 +0200 - build 139
1. LuaFAR: Объекты FarSettings не подбирались сборщиком мусора.
shmuel 25.04.2013 14:31:15 +0200 - build 138
1. LuaFAR: far_FreeSettings больше не вызывается автоматически перед возвращением из экспортируемых функций в Фар,
поскольку исполнение одного макроса может состоять из нескольких вызовов плагина.
shmuel 23.04.2013 18:01:28 +0200 - build 137
1. LuaFAR: экспортируемая функция ProcessEditorEventW теперь соответствует двум Lua-функциям:
a) export.ProcessEditorChange - если параметр Event==EE_CHANGE;
b) export.ProcessEditorEvent - для остальных значений параметра Event.
Это изменение - продолжение билда 136.
2. В макросах-событиях добавилась группа: group="EditorChange".
shmuel 21.04.2013 23:49:25 +0300 - build 136
1. После загрузки событий, обработчик каждого типа события (Lua-функция) создаётся только в случае,
если загружено хоть одно событие данного типа. Это значительно снижает время обработки для тех
экспортируемых функций, для которых не загружено ни одного события, так как не происходит вызова
Lua-функции из LuaFAR.
Это особенно актуально для ProcessEditorEventW(EE_CHANGE) во время массовой замены в редакторе.
shmuel 20.04.2013 11:42:53 +0200 - build 135
1. LuaFAR: editor.Editor: во время слома LuaFAR API зря сдвинули смещение у параметров StartLine и StartChar.
shmuel 19.04.2013 16:49:21 +0200 - build 134
1. LuaFAR: M#2375: Pattern %<multibyte char> in unicode.utf8.
shmuel 18.04.2013 08:54:23 +0200 - build 133
1. LuaFAR: panel.GetPanelItem и panel.GetSelectedPanelItem возвращают nil для неположительных индексов элемента.
shmuel 18.04.2013 08:14:21 +0200 - build 132
1. LuaFAR: рефакторинг.
shmuel 18.04.2013 00:36:55 +0200 - build 131
1. LuaFAR: M#2372: string:format неправильно учитывает длину юникодной строки.
shmuel 16.04.2013 12:03:47 +0200 - build 130
1. LuaFAR (SettingsControl/Enum): параметр Root можно указывать и стрингом (например, "FSSF_HISTORY_CMD").
shmuel 10.04.2013 17:23:01 +0200 - build 129
1. lm:post @filename работает без указания полного пути, если filename есть в активной панели.
shmuel 05.04.2013 15:31:22 +0200 - build 128
1. LuaFAR: при ломке API забыли про параметры ProcessDialogEvent.
shmuel 04.04.2013 16:12:53 +0300 - build 127
1. Предотвращение падения Фара при запуске макроса в диалоге "Find file".
Фар вызывает OpenW, не дожидаясь возврата плагина из ProcessDialogEventW,
запускаемого из дополнительного потока.
shmuel 02.04.2013 18:02:11 +0300 - build 126
1. mf.msave сохраняет таблицы произвольной степени вложенности.
Рекурсивные вложения не сохраняются (пропускаются).
/С использованием кода от SUSim/.
shmuel 02.04.2013 10:44:44 +0200 - build 125
1. Из форума: far.SendDlgMessage(id,far.Flags.DM_GETFOCUS,0,0) возвращает от 0.
shmuel 31.03.2013 23:36:30 +0200 - build 124
1. LuaFAR: продолжение ломки API.
dialog procedure:
* Param1: 1-based where it is element index, 0-based otherwise.
far.SendDlgMessage:
* Param1: 1-based where it is element index, 0-based otherwise.
far.GetDlgItem, far.SetDlgItem:
* 2-nd parameter ('numitem') is 1-based.
far.DialogRun, far.Dialog, far.Message:
* Return value: 1-based where it is element index, -1 otherwise.
shmuel 31.03.2013 00:36:33 +0200 - build 123
1. LuaFAR: far.AdvControl(ACTL_GETWINDOWINFO) в случае неудачи возвращает nil.
shmuel 29.03.2013 23:51:37 +0200 - build 122
1. LuaFAR: продолжение ломки API.
viewer.GetInfo, viewer.SetPosition:
* LeftPos: number, 1-based.
shmuel 28.03.2013 17:51:48 +0200 - build 121
1. LuaFAR: продолжение ломки API.
far.AdvControl, ACTL_GETWINDOWINFO:
* Param1: window number; 1-based integer (optional; default=0).
far.AdvControl, ACTL_SETCURRENTWINDOW:
* Param1: window number; 1-based integer.
shmuel 28.03.2013 12:53:29 +0200 - build 120
1. LuaFAR: продолжение ломки API.
far.SendDlgMessage, операции DM_GETSELECTION, DM_SETSELECTION, DM_GETEDITPOSITION, DM_SETEDITPOSITION:
* Начала отсчёта выделений и позиций приведены в соответствие с функциями editor.xxx.
shmuel 27.03.2013 18:37:53 +0200 - build 119
1. LuaFAR: из-за неинициализированной переменной были падения в LuaFAR-плагинах,
создающих панели.
shmuel 26.03.2013 23:04:35 +0200 - build 118
1. LuaFAR: far.RecursiveSearch, в случае, если первое возвращённое значение
callback() не false и не nil, возвращает все значения, возвращённые этим
вызовом callback.
shmuel 25.03.2013 21:18:35 +0200 - build 117
1. LuaFAR: коррекция editor.SaveFile в связи с изменением в Far 3 build 3275.
shmuel 22.03.2013 17:22:55 +0200 - build 116
1. LuaFAR: начало ограниченной ломки API (перевод индексов с базы 0 на базу 1).
Функции editor.xxx:
* Номера строк: +1 по отношению к Far API
* Номер строки начала выделения: +1 по отношению к Far API
* Позиция курсора в строке: +1 по отношению к Far API
* Позиция начала выделения в строке: +1 по отношению к Far API
* Позиция конца выделения в строке: +0 по отношению к Far API (без изменения)
* editor.AddColor, параметры StartPos и EndPos: +1 по отношению к Far API
* Обозначение номера текущей строки по умолчанию: nil или 0
* Обозначение текущей позиции в строке по умолчанию: nil или 0
* Обозначение конца выделения, включающего перевод строки: nil или -1 (без изменения)
2. LuaFAR: добавлена функция panel.SetActivePanel.
shmuel 22.03.2013 00:31:09 +0200 - build 115
1. Рефакторинг.
shmuel 22.03.2013 00:10:43 +0200 - build 114
1. Рефакторинг.
shmuel 18.03.2013 21:11:45 +0200 - build 113
1. LuaFAR (fix): игнорировался 6-й параметр far.Message (Id).
shmuel 18.03.2013 15:10:06 +0200 - build 112
1. Fix: eval("<area>/<key>",2): при указании несуществующего <area> исполнялись макросы из текущей области или "Common".
shmuel 16.03.2013 12:18:03 +0200 - build 111
1. При операциях выгрузки и перезагрузки макросов очищается кэш модулей
(за исключением "исходных" модулей).
shmuel 14.03.2013 20:20:39 +0200 - build 110
1. Откат 101 и 102 (т.к. сломалось MCTL_ADDMACRO).
shmuel 13.03.2013 16:31:55 +0200 - build 109
1. Fix: при расчёте текущих приоритетов событий не учитывалось, что обработчик
событий - рекурсивная функция.
shmuel 12.03.2013 15:47:57 +0200 - build 108
1. LuaFAR: защита от плагинов, устанавливающих разрешение floating point
exceptions в контрольном слове процессора, перенесена в начало LF_Open().
shmuel 09.03.2013 22:50:25 +0200 - build 107
1. MCTL_LOADALL и far.MacroLoadAll возвращают true только если не было ни одной ошибки при загрузке.
shmuel 09.03.2013 10:30:50 +0200 - build 106
1. Обработчики событий ничего не возвращали Фару.
shmuel 08.03.2013 12:44:18 +0200 - build 105
1. Уточнение 104.
shmuel 08.03.2013 11:51:14 +0200 - build 104
1. Добавлено событие 'EditorInput', т.е. в спецификации события надо указывать group="EditorInput".
Параметры функций action и condition, а также возвращаемое значение функции action - согласно
описанию функции export.ProcessEditorInput в мануале LuaFAR.
shmuel 06.03.2013 08:00:28 +0200 - build 103
1. При вызове eval(str,2) целевой макрос выбирается обычным алгоритмом выбора,
с учётом флагов, приоритетов и функции condition.
shmuel 04.03.2013 21:29:11 +0200 - build 102
1. Рефакторинг.
shmuel 04.03.2013 20:18:04 +0200 - build 101
1. Рефакторинг.
shmuel 02.03.2013 11:27:47 +0200 - build 100
1. Рефакторинг.
shmuel 02.03.2013 01:17:54 +0200 - build 99
1. Продолжение 97: mf.usermenu. Описание - в macroapi_manual.chm.
shmuel 28.02.2013 21:37:28 +0200 - build 98
1. Продолжение 97: расширение функциональности mf.usermenu. Полное описание - в macroapi_manual.chm.
shmuel 28.02.2013 17:22:41 +0200 - build 97
1. Добавлена макрофункция mf.usermenu(filename [,mode]).
Если 'mode' равен 0 или не задан, файл открывается "как есть", т.е. по заданному 'filename'.
Если 'mode' равен 1, файл открывается в %farprofile%\Menus (папка создаётся автоматически).
shmuel 27.02.2013 00:12:33 +0200 - build 96
1. LuaFAR: функция export.ProcessDialogEvent возвращает одно значение, а не два.
2. Добавлено событие 'DialogEvent', т.е. в спецификации события надо указывать group="DialogEvent".
Параметры функций action и condition, а также возвращаемое значение функции action - согласно
описанию функции export.ProcessDialogEvent в мануале LuaFAR.
shmuel 26.02.2013 18:07:30 +0200 - build 95
1. Добавлено событие 'ExitFAR', т.е. в спецификации события надо указывать group="ExitFAR".
Обработчики события вызываются при любой выгрузке плагина LuaMacro.
shmuel 25.02.2013 22:21:19 +0200 - build 94
1. При вызове error и других исключительных ситуациях при исполнении скриптов,
в сообщения об ошибках будет включаться стек вызовов функций.
shmuel 24.02.2013 22:30:21 +0200 - build 93
1. Добавлена экспортируемая функция 'GetLuaState', для возможности использования
Lua API непосредственно мз Фара.
shmuel 21.02.2013 23:24:02 +0200 - build 92
1. LuaFAR: в editor.AddColor() добавлен параметр 'Owner'.
shmuel 20.02.2013 18:26:48 +0200 - build 91
1. Фикс билда 68: при вызове макроса по eval(str,2), сначала вызывалась его функция condition().
shmuel 16.02.2013 22:52:12 +0200 - build 90
1. Функция condition() вызывается с одним аргументом-строкой: имя ключа.
* Это не касается макросов, вызываемых во время 'RunAfterFARStart'.
* Это не касается событий.
* Это сделано потому, что akey() не работает, будучи вызвана из condition().
shmuel 12.02.2013 22:39:04 +0200 - build 89
1. LuaFAR: в far.Menu() обозначение BreakKey стало регистронезависимым,
например, можно указать BreakKey="cS+rEtUrN".
shmuel 11.02.2013 23:24:08 +0200 - build 88
1. Макросы, ключи которых содержали Ctrl или Alt, показывались в хелпе более одного раза.
shmuel 11.02.2013 18:19:46 +0200 - build 87
1. Очерёдность в событиях - определяется динамическими приоритетами.
* Динамический приоритет определяется так же, как и для макросов, при помощи полей
'condition' и 'priority'.
* Вызывается функция action() для всех событий, исключая те, для которых вызов
condition() вернул false/nil/ничего, в порядке убывания динамических приоритетов.
shmuel 11.02.2013 11:14:37 +0200 - build 86
1. Новая спецификация событий (несовместимая с предыдущей):
1.1. Проверка флагов не делается, поле 'flags' не используется.
1.2. Отменяется поле 'name'.
1.3. Функции condition() и action() получают 3 аргумента: Id,Event,Param
(см. мануал LuaFAR, ф-ции ProcessEditorEvent, ProcessViewerEvent).
shmuel 10.02.2013 16:53:05 +0200 - build 85
1. Продолжение 82.
* В группе ViewerEvent, 'name' может иметь следующие значения:
'Read', 'Close', 'KillFocus', 'GotFocus'.
shmuel 09.02.2013 13:20:11 +0200 - build 84
1. LuaFAR: в export.ProcessEditorEvent(Id,Event,Param) во всех случаях,
кроме Event==EE_CHANGE, Param передаёт в Lua число, полученное от Фара.
shmuel 08.02.2013 01:16:32 +0200 - build 83
1. Продолжение 82.
* В группе EditorEvent, 'name' может иметь следующие значения:
'Read', 'Save', 'Change', 'Close', 'Redraw', 'KillFocus', 'GotFocus'.
shmuel 07.02.2013 20:15:14 +0200 - build 82
1. Новая спецификация обработчика событий (модифицирует спецификацию от 05.02.2013).
* Ключ key="Read" в таблице-параметре функции Macro отменяется.
* Новая загрузочная функция 'Event'; также, как и функция 'Macro', она принимает единственный параметр - таблицу.
* Отличия полей от полей таблицы-параметра функции Macro: вместо полей 'area' и 'key' - поля 'group' и 'name'.
* 'group' на данный момент может иметь следующие значения: 'EditorEvent' и 'ViewerEvent'.
* В группе EditorEvent, 'name' может иметь значения 'Read' и 'Save'.
* В группе ViewerEvent, 'name' может иметь значение 'Read'.
* Новая функция NoEvent аналогичная NoMacro.
* Из функции action нельзя вызывать функции, перечисленные в статье
"Ограничения в использовании некоторых функций" мануала MacroAPI.
Если эти функции необходимы, можно их вызвать посредством far.MacroPost().
* Пример:
Event {
group="EditorEvent"; name="Read"; flags="DisableOutput";
action=function() ...... end;
}
shmuel 06.02.2013 09:05:25 +0200 - build 81
1. Рефакторинг.
shmuel 05.02.2013 19:54:59 +0200 - build 80
1. Уточнение 79.
shmuel 05.02.2013 17:11:26 +0200 - build 79
1. Спецификация макросов: новое опциональное поле "filemask" типа string.
* Для областей Editor и Viewer, при наличии этого поля, проверяется
соответствие имени файла (без пути) заданной маске файла.
* Маска должна соответствовать правилам, применяемым для масок файлов
в диалоге поиска файлов (Alt-F7 из панелей).
* При проверке макроса на запуск, данное поле проверяется в первую очередь,
то-есть до проверки флагов и вызова функции condition.
2. В областях Editor и Viewer спецификации макросов обрабатывается специальный
ключ "Read". Это значит, что макрос может сработать по событию загрузки
файла соответственно в редактор или просмотрщик. Для подобных макросов
производятся следующие действия:
a) Проверяется соответствие поля "filemask" (если оно указано) имени файла.
b) Проверяются условия по флагам.
c) Если есть функция condition, то она вызывается, и ей передаётся параметр
ID (идентификатор данного экземпляра редактора или просмотрщика).
d) Если условия (a,b,c) не препятствуют, то вызывается функция action.
* Поле priority не используется.
* При вызове condition() имеет значение только логическая истинность
возвращаемого значения.
* Данные макросы исполняются один за другим, то-есть все, а не один из всех.
t-rex 01.02.2013 21:20:11 +0200 - build 78
1. При загрузке всегда создаём папочку %FARPROFILE%\Macros\scripts чтоб тупой юзер как я мог понять куда ложить свои макросы.
shmuel 30.01.2013 13:18:49 +0200 - build 77
1. LuaFAR: добавлена функция 'win.EnumRegValue'.
shmuel 29.01.2013 20:19:19 +0200 - build 76
1. LuaFAR: добавлена функция 'win.EnumRegKey'.
shmuel 29.01.2013 10:46:39 +0200 - build 75
1. При отмене меню выбора макроса ключ передавался Фару для дальнейшей обработки.
shmuel 27.01.2013 16:01:35 +0200 - build 74
1. LuaFAR: если в far.Menu передавался невалидный BreakKey, то все последующие
BreakKey игнорировались. Теперь игнорируются только невалидные BreakKey.
shmuel 26.01.2013 15:55:37 +0200 - build 73
1. Автостартующий макрос, назначенный на CtrlAltF8, запускался 4 раза
при старте Фара (т.е. для всех сочетаний левых/правых модификаторов).
shmuel 23.01.2013 21:26:52 +0200 - build 72
1. LuaFAR: функция 'dofile' сделана юникодной и понимающей UTF-8 BOM.
shmuel 18.01.2013 21:07:42 +0200 - build 71
1. Рефакторинг.
shmuel 15.01.2013 21:23:50 +0200 - build 70
1. Рефакторинг.
shmuel 14.01.2013 18:20:29 +0200 - build 69
1. Рефакторинг.
shmuel 13.01.2013 11:40:40 +0200 - build 68
1. Изменения, связанные с макросами.
1.1. Интерпретация нажатия ключа, появление левосторонних модификаторов.
При поступлении ключа, он рассматривается с различением лево- и правосторонних модификаторов.
То-есть, не может поступить "CtrlX", а может либо "LCtrlX", либо "RCtrlX".
1.2. "Точные" и "обобщённые" модификаторы в спецификациях ключей.
* Точные модификаторы - это LCtrl, LAlt, RCtrl и RAlt. Обобщённые модификаторы - это Ctrl и Alt.
* Каждый из обобщённых модификаторов обозначает "любой", т.е. левый или правый модификатор.
Таким образом, спецификация "CtrlAltX" эквивалентна спецификации "LCtrlLAltX LCtrlRAltX RCtrlLAltX RCtrlRAltX".
* В одной и той же спецификации ключа могут указываться как точные модификаторы, так и обобщённые,
например, "CtrlRAltX".
1.3. Ключи, заданные регулярным выражением.
* При поступлении ключа, производится регистронезависимое сопоставление его имени (см. п.1) регулярному выражению,
по правилам регулярных выражений Фара.
* Регулярное выражение "/CtrlX/" никогда не сработает, поскольку на сопоставление может поступить
либо "LCtrlX", либо "RCtrlX".
* Примеры регулярных выражений, независимых от типа модификатора: "/.CtrlX/" или "/[LR]CtrlX/".
У кого есть макросы со спецификациями ключей типа "/R?CtrlX/" - нужно поправить, как указано выше.
1.4. Спецификации ключей не имеют приоритетов друг перед другом.
Если есть макросы 1 (key="RCtrlX"), 2 (key="CtrlX") и 3 (key="/.CtrlX/"), то при нажатии RCtrlX все они
будут рассматриваться на одинаковых основаниях, а выбор будет производиться по совокупности заданных полей:
flags (включая возможный вызов callback для макросов MCTL_ADDMACRO), condition и priority.
1.5. При записи макросов с клавиатуры, всегда используются обобщённые модификаторы ключей, то-есть нельзя
с клавиатуры назначить макрос на LCtrlX или RCtrlX, а только на CtrlX.
1.6. Макросы, назначенные на область "Common", имеют приоритет по умолчанию = 40.
shmuel 11.01.2013 17:50:52 +0200 - build 67
1. Из форума: если при старте ФАРа на одной из панелей открывается сетевая папка, _может_ быть выдано такое сообщение:
attempt to index upvalue 'Areas' (a nil value).
shmuel 07.01.2013 19:41:07 +0200 - build 66
1. Рефакторинг.
shmuel 07.01.2013 12:08:17 +0200 - build 65
1. LuaFAR: поддержка UTF-8 BOM в Lua-файлах.
shmuel 06.01.2013 15:18:45 +0200 - build 64
1. Из форума: C макросом Panel.Esc.lua в Macros\scripts перестала работать отмена копирования файлов по Esc.
shmuel 05.01.2013 00:02:17 +0200 - build 63
1. LuaFAR: M#2242: regex.match()
shmuel 04.01.2013 13:27:23 +0200 - build 62
1. Снято ограничение доступа к глобальным переменным на этапе загрузки макросов.
shmuel 03.01.2013 00:39:45 +0200 - build 61
1. Уточнение 60.1
shmuel 02.01.2013 22:46:02 +0200 - build 60
1. Файл luamacro.lua разделён на два файла (luamacro.lua и utils.lua).
2. В файлах макросов допустима директива NoMacro {...} для быстрого запрещения
загрузки макроса (то-есть нужно дописать "No" перед директивой Macro). Хотя
предпочтительным способом запрещения загрузки является закомментирование
секции Macro {...}.
shmuel 02.01.2013 00:48:54 +0200 - build 59
1. Рефакторинг.
shmuel 01.01.2013 13:48:46 +0200 - build 58
1. ExitFARW больше не экспортируется.
shmuel 31.12.2012 00:00:49 +0200 - build 57
1. Неправильно работали ключи-регекспы при наличии группировки в ().
shmuel 30.12.2012 20:03:25 +0200 - build 56
1. В хелпе не отображались макросы, введенные с клавиатуры.
shmuel 29.12.2012 17:37:45 +0200 - build 55
1. 'area' в описании макроса может включать несколько областей, разделённых только пробелами.
shmuel 29.12.2012 15:09:01 +0200 - build 54
1. 'area' в описании макроса может включать несколько областей, разделённых пробелами/запятыми/точками с запятой.
2. 'key' в описании макроса может включать несколько ключей, разделённых пробелами.
3. 'key' в описании макроса может быть обозначен как фаровское регулярное выражение, обрамлённое слешами (/).
В этом случае /Ctrl/ не сработает при нажатии RCtrl, надо явно обозначать /R?Ctrl/ и т.п.
4. Допустимо более одного макроса на сочетание (key,area). В этом случае выполняется только макрос с наибольшим
приоритетом (как описано в 4a,4b,4c). Если есть более одного макроса с одинаковым приоритетом - выводится меню.
Для автостартующих макросов - выполняются все, независимо от приоритета.
4a. Опциональное поле 'priority' в описании макроса: число от 0 до 100. Значение по умолчанию = 50.
4b. Опциональное поле 'condition' в описании макроса: функция. Eсли возвращает false/nil/ничего, то макрос
не исполняется. Если возвращает число, то это число используется вместо 'priority'. При других значениях
возврата (например, true) используется 'priority'.
4c. Макросы, добавляемые посредством MCTL_ADDMACRO, имеют приоритет = 50.
5. Макросы, записанные с клавиатуры, обрабатываются особо. Их может быть не более одного на сочетание (key,area).
Их приоритет выше приоритета любых других макросов.
6. Формат макросов, записываемых с клавиатуры, изменился. Если у кого-то есть такие макросы, сохранённые в папке
Macros/internal, перенесите эти файлы в папку Macros/scripts.
shmuel 15.12.2012 00:00:28 +0200 - build 53
1. Увеличена длина строки "Последовательность", используемой в диалогах
удаления или модификации макросов.
shmuel 14.12.2012 20:26:02 +0200 - build 52
1. После перезагрузки плагина LuaMacro вызовы макросов приводили к ошибкам.
Теперь после перезагрузки плагина макросы не загружены, но их можно загрузить командой lm:load.
2. Плагин LuaMacro: новая команда lm:unload - выгружает все макросы.
shmuel 12.12.2012 19:20:43 +0200 - build 51
1. Опечатка.
shmuel 12.12.2012 13:37:03 +0200 - build 50
1. При сохранении макроса "action=function()" записывается в текущей строке записи,
для удобства просмотра аутлайнером колорера.
shmuel 12.12.2012 00:08:24 +0200 - build 49
1. Уточнение build 46:
"<" = "Less"
">" = "More"
shmuel 11.12.2012 15:34:44 +0200 - build 48
1. Уточнение предыдущих двух коммитов.
shmuel 11.12.2012 15:27:15 +0200 - build 47
1. Добавление к предыдущему коммиту:
"." = "Dot"
shmuel 11.12.2012 15:04:09 +0200 - build 46
1. Кодирование 'key' в имени файла-макроса при сохранении производится путём
замены некоторых символов, с помощью следующего соответствия:
"<" = "Lt"
">" = "Gt"
"|" = "Pipe"
"/" = "Slash"
":" = "Colon"
"?" = "Question"
"*" = "Asterisk"
'"' = "Quote"
shmuel 11.12.2012 01:11:46 +0200 - build 45
1. Кодирование 'key' в имени файла-макроса при сохранении производится только в случае,
если 'key' содержит символы, которые являются невалидными для имени файла.
shmuel 09.12.2012 22:32:32 +0200 - build 44
1. Рефакторинг.
shmuel 09.12.2012 20:26:09 +0200 - build 43
1. У функций, определённых вне таблицы-аргумента загрузочной функции Macro(),
не было доступа к глобальным переменным.
shmuel 09.12.2012 16:03:52 +0200 - build 42
1. Макросы переехали из macros.db в папку %FARPROFILE%\Macros и содержатся в Lua-файлах.
shmuel 27.11.2012 16:12:25 +0200 - build 41
1. Рефакторинг.
shmuel 25.11.2012 19:39:47 +0200 - build 40
1. Экспериментально: использование секции "farconfig/macros/variables" базы данных для Lua-модулей (библиотек).
Каждая переменная - модуль. Имена модулей регистрозависимы.
Например: <variable name="shmuel.utils" type="text"> ...... </variable>
Пример использования в макросе: utils=require "shmuel.utils"
ВНИМАНИЕ: "variables" больше не грузятся при старте Фара. Используйте для этого "constants".
shmuel 25.11.2012 11:05:58 +0200 - build 39
1. Добавлено свойство Mouse.LastCtrlState, которое (в отличие от Mouse.CtrlState)
обновляется как по мышиным, так и по клавиатурным событиям.
shmuel 23.11.2012 13:33:16 +0200 - build 38
1. LuaFAR: чистим структуру PluginPanelItem перед заполнением.
shmuel 23.11.2012 12:14:12 +0200 - build 37
1. M#2206: Соответствие структуры таблицы FindData со структурой PluginPanelItem.
shmuel 10.11.2012 00:05:31 +0200 - build 36
1. LuaFAR: рефакторинг.
shmuel 08.11.2012 10:43:21 +0200 - build 35
1. Перенос вызова _control87 из Фара в плагин LuaMacro.
shmuel 07.11.2012 15:30:22 +0200 - build 34
1. LuaFAR: фикс багов с передачей указателей на данные внутри блока наружу.
shmuel 02.11.2012 18:07:06 +0200 - build 33
1. Упорядочена структура FarMacroCall.
shmuel 01.11.2012 22:47:59 +0200 - build 32
1. LuaFAR: Far API 3.0.2918.
shmuel 31.10.2012 20:32:30 +0200 - build 31
1. Plugin.Call: для симметрии, величины типа FMVT_BINARY, возвращаемые плагином,
передаются в макрос в таблице, как 1-й элемент таблицы.
shmuel 30.10.2012 23:06:44 +0200 - build 30
1. LuaFAR-плагины при вызове OPEN_FROMMACRO получают таблицу-массив аргументов
без явного указания их типов.
shmuel 30.10.2012 20:42:17 +0200 - build 29
1. LuaFAR: фикс багов с передачей указателей на данные внутри блока наружу.
shmuel 30.10.2012 18:16:01 +0200 - build 28
1. Уточнение build 26.
2. Far API 3.0.2912.
zg 30.10.2012 00:32:37 +0200 - build 27
1. LuaFAR: Far API 3.0.2912.
shmuel 29.10.2012 22:58:41 +0200 - build 26
1. Поддержка передачи "бинарных величин" (FMVT_BINARY) из Lua в C, то-есть:
а) из макроса в (любой) плагин
б) из LuaFAR-плагина в макрос
Каждая такая величина должна передаваться в таблице, как 1-й элемент таблицы.
shmuel 28.10.2012 22:23:05 +0200 - build 25
1. Рефакторинг.
zg 28.10.2012 02:04:17 +0200 - build 24
1. LuaFAR: ACTL_GETWINDOWINFO возвращает userdata для Id также и для WTYPE_VMENU.
shmuel 27.10.2012 20:55:55 +0200 - build 23
1. LuaFAR: warnings.
shmuel 25.10.2012 00:12:09 +0200 - build 22
1. LuaFAR: рефакторинг.
shmuel 22.10.2012 11:20:01 +0200 - build 21
1. LuaFAR: поддержка последних изменений в Plugin.Call для LuaFAR-плагинов.
w17 21.10.2012 20:36:46 +0400 - build 20
1. luafar3.vcxproj postbuild - copy lua5.1.dll added
shmuel 21.10.2012 10:33:29 +0200 - build 19
1. LuaFAR: рефакторинг.
shmuel 20.10.2012 19:49:43 +0200 - build 18
1. LuaFAR: к четырём типам данных, которые может возвращать Plugin.Call,
добавился ещё один: "бинарная величина" - это string, который может содержать
любые данные и который не подвергается преобразованию UTF-16LE -> UTF-8.
shmuel 20.10.2012 08:36:00 +0200 - build 17
1. Plugin.Call может возвращать одну или более величин, каждая из которых
может быть: целым 64-битным числом, числом с плавающей точкой, строкой
(UTF-16LE) или булевой величиной.
shmuel 19.10.2012 15:48:43 +0200 - build 16
1. LuaFAR: рефакторинг.
shmuel 19.10.2012 11:41:44 +0200 - build 15
1. LuaFAR: удалены препроцессорные директивы FAR_LUA.
svs 15.10.2012 12:40:38 +0400 - build
1. Форматирование кода
AStyle --style=ansi --indent=tab=4 --brackets=break --indent-classes --indent-switches --indent-namespaces --indent-preprocessor --break-blocks --delete-empty-lines --unpad-paren --keep-one-line-statements --keep-one-line-blocks "!\!.!"
svs 15.10.2012 11:46:00 +0400 - build 14
1. ФАРоконстанты в api.lua и luamacro.lua
shmuel 14.10.2012 21:22:40 +0200 - build 13
1. Добавлена функция `unicode.utf8.cfind` (она будет автоматически вызываться
при использовании метода `cfind`).
zg 14.10.2012 19:42:19 +0200 - build 12
1. warnings.
shmuel 14.10.2012 15:33:27 +0200 - build 11
1. Немного упрощён протокол передачи данных Far->LuaFAR->LuaMacro.
shmuel 12.10.2012 20:55:00 +0200 - build 10
1. LuaFAR: удалена неиспользуемая функция far.DefDlgProc.
shmuel 11.10.2012 17:35:57 +0200 - build 9
1. Восстановлена работа функции MacroControl(MCTL_GETLASTERROR).
shmuel 10.10.2012 20:36:46 +0200 - build 8
1. LuaFAR: исправлена ошибка, приводящая к падению.
shmuel 10.10.2012 06:48:48 +0200 - build 7
1. Более корректная обработка командной строки.
2. LuaFAR: закомментирован кусок с ошибкой, приводящей к падению. На работу
плагина не влияет. Исправление займёт некоторое время.
shmuel 09.10.2012 11:44:09 +0200 - build 6
1. Добавлена поддержка командной строки (префикс LM).
Операции те же, что в плагине FarCmds: load, save, post, check.
Имя файла задаётся как @filename, а не <filename.
Теперь можно производить операции с командной строки, независимо от наличия плагина FarCmds.
shmuel 09.10.2012 06:37:50 +0200 - build 5
1. Refactor.
shmuel 09.10.2012 00:07:33 +0200 - build 4
1. Добавлена возможность интроспекции "свойств" глобальных таблиц API макроязыка.
Например, свойства таблицы Editor можно просмотреть так:
for k,v in pairs(Editor.properties) do .... end
t-rex 06.10.2012 18:48:30 +0200 - build 3
1. Обновил для Far build 2871.
shmuel 05.10.2012 20:00:00 +0200 - build 2
1. Macro API: все глобальные функции, относящиеся к этому API, продублированы также в таблице mf.
Например, eval и mf.eval - это одна и та же функция.
drkns 29.09.2012 22:52:06 +0200 - build 1
1. Импорт & адаптация под систему сборки.
You can’t perform that action at this time.