View Issue Details

IDProjectCategoryView StatusLast Update
0000841Far Manager 1.7xMacropublic2009-04-29 14:40
ReporterJohnDoe Assigned Tovskirdin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.75 
Summary0000841: Мусор в msgbox при неуказании опциональных параметров
DescriptionОдин из случаев удалось отловить: Если прервать макрос с помощью CtrlBreak то следующий вызов msgbox() вместо пустого диалога покажет мусор.

Пример:

msgbox()
"Press CtrlBreak" $Rep(100) . sleep(100) $End CtrlY

Повторный запуск после прерывания покажет "1"
Additional InformationПомнится и поинтереснее чем "1" мусор попадался, и при неуказанном втором параметре...

Но повторить пока не могу
TagsNo tags attached.
Build2568

Activities

alexy

2009-04-25 12:53

administrator   bugnote:0003029

Я долго пытался понять кто такой Майкоп (Мусор) :)

vskirdin

2009-04-27 18:57

administrator   bugnote:0003044

Так... здесь есть одна потеха :-)
Потеха под названием "Стек".

Собственно именно этот баг правится просто - достаточно в macro.cpp в KeyMacro::GetKey() в блоке с комментарием "Mantis#0000581" перед "goto done;" добавить "VMStack.Pop();".

Вроде как есть мысль, что стек нужно уравновесить - т.е. перед началом исполнения макроса получить его размер, а в конце - лишнее удалить.
Вот только когда этот "конец" наступает?
Макросы то у нас могут идти "подряд" (напихали, например, плагином). Здесь под "подряд" подразумевается так же вызовы "фунуций" (через eval).
"Конец" это когда текущая макропоследовательность отработала или когда больше нихрена нет? Если первое, то результат eval`а мы можем не узнать....
(хотя может я загоняюсь :-))

vskirdin

2009-04-29 10:27

administrator   bugnote:0003064

1.75 = build 2568
2.00 = build 888

Issue History

Date Modified Username Field Change
2009-04-25 12:51 JohnDoe New Issue
2009-04-25 12:53 alexy Note Added: 0003029
2009-04-25 15:03 vskirdin Status new => assigned
2009-04-25 15:03 vskirdin Assigned To => vskirdin
2009-04-27 18:57 vskirdin Note Added: 0003044
2009-04-29 10:27 vskirdin Note Added: 0003064
2009-04-29 10:27 vskirdin Status assigned => feedback
2009-04-29 10:44 JohnDoe Status feedback => resolved
2009-04-29 10:44 JohnDoe Resolution open => fixed
2009-04-29 14:40 vskirdin Build => 2568
2009-04-29 14:40 vskirdin Status resolved => closed
2009-04-29 14:40 vskirdin Fixed in Version => 1.75