/
changelog
2860 lines (1620 loc) · 126 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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 при этом автоматически загружает макросы и обработчики событий из макрофайлов.