/
changelog
2459 lines (1394 loc) · 108 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
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: мелкий рефакторинг.