View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000905 | Far Manager | Macro | public | 2009-06-01 08:52 | 2009-08-20 12:14 |
Reporter | JohnDoe | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Fixed in Version | 2.0 | ||||
Summary | 0000905: Изменения в eval | ||||
Description | N=eval(S[,T]) 1) В случае ошибки перестал возвращается её код - теперь всегда N=0 2) При T=1 не надо выводить сообщение об ошибке - ведь мы используем этот параметр когда хотим сами обработать ошибку. | ||||
Tags | No tags attached. | ||||
Build | 1086 | ||||
|
я так понимаю, что в 1.75 такого нет, так? |
|
Такое появилось после >5. При разборе макросов теперь всегда выдаётся предупреждение, если макрос содержит ошибки. А в 1.75 предупреждение не реализовано, поэтому всё работает по-старому, т.е. правильно |
|
так, кто-то где-то что-то не договаривает. JohnDoe, у тебя случаем для диалогов для Enter нет никаких макросов? И вообще... (в т.ч.) покажи макрос(ы) где увидел баг. |
|
msgbox(eval("!!",1)) Видим пустой msgbox Под ним - красное окошко "Macro parsing error" Во-первых msgbox не должен быть пустой |
|
так, в общем тут 2 проблемы. 1. вывод сообщения не должен выводиться всегда... в некоторых случаях нужен режим silent 2. так вышло, что последовательность исполнения была такой: а) eval б) eval выводит диалог (он еще не виден) в) как только в памяти оказался этот диалог об ошибке, макродвиг продолжил исполнение (по сути управление получи ФАР) г) дошел до функции msgbox, НО! eval еще не положил в стек значение парсинга д) при исполнении msgbox разлочил экран и мы увидели 2 диалога. в общим фиксед, но фиксед только п.2. |
|
2.00 = build 970 |
|
Первый пункт тикета теперь в порядке А что планируется с другим пунктом? 2) При T=1 не надо выводить сообщение об ошибке - ведь мы используем этот параметр когда хотим сами обработать ошибку. |
|
по второму пункту после build 1047 |
|
Тестируем: eval("",1) - возвращает ноль, что означает "без ошибок" Исполняем: eval("",0) ╔═ Macro parsing error ═╗ ║ ║ ╟───────────────────────╢ ║ ║ ║ ║ ╟───────────────────────╢ ║ OK ║ ╚═══════════════════════╝ 1) Предлагаю при пустом макро возвращать -1 2) Сообщение должно быть более осмысленным, типа "Zero-length macro" |
|
Нашел. Теперь надо понять ;-) Выражение eval("",?) считаем допустимым? (я про пустую макропоследовательность) |
|
До изменений в eval пустая макропоследовательность была допустима, можно вернуть как было... А как удобно лично мне я уже описал сообщением выше (возвращать -1) |
|
Ок. Считаем (пока) пустую последовательность ошибкой. Вариант eval("",1) вернет ошибку 12 ("Zero-length macro") 2 = build 1086 1 = build 2605 |
|
fixed (Сам закрыть не могу - традиционный Access Denied) |
|
1.7x = build 2605 |
Date Modified | Username | Field | Change |
---|---|---|---|
2009-06-01 08:52 | JohnDoe | New Issue | |
2009-06-01 09:54 | vskirdin | Note Added: 0003411 | |
2009-06-01 10:15 | JohnDoe | Note Added: 0003414 | |
2009-06-01 11:41 | vskirdin | Note Added: 0003420 | |
2009-06-01 12:08 | JohnDoe | Note Added: 0003421 | |
2009-06-01 12:44 | vskirdin | Status | new => assigned |
2009-06-01 12:44 | vskirdin | Assigned To | => vskirdin |
2009-06-01 12:50 | vskirdin | Note Added: 0003423 | |
2009-06-01 13:03 | vskirdin | Note Added: 0003424 | |
2009-06-01 13:03 | vskirdin | Status | assigned => feedback |
2009-06-02 09:18 | JohnDoe | Note Added: 0003452 | |
2009-07-15 17:33 | JohnDoe | Status | feedback => resolved |
2009-07-15 17:33 | JohnDoe | Status | resolved => assigned |
2009-07-15 17:33 | JohnDoe | Resolution | open => reopened |
2009-07-17 14:49 | vskirdin | Note Added: 0003754 | |
2009-07-17 14:49 | vskirdin | Status | assigned => feedback |
2009-07-18 09:42 | JohnDoe | Note Added: 0003757 | |
2009-08-17 08:57 | vskirdin | Note Added: 0003915 | |
2009-08-18 10:21 | JohnDoe | Note Added: 0003917 | |
2009-08-19 07:49 | vskirdin | Note Added: 0003918 | |
2009-08-20 11:35 | JohnDoe | Note Added: 0003919 | |
2009-08-20 12:14 | vskirdin | Build | => 1086 |
2009-08-20 12:14 | vskirdin | Note Added: 0003920 | |
2009-08-20 12:14 | vskirdin | Status | feedback => closed |
2009-08-20 12:14 | vskirdin | Resolution | reopened => fixed |
2009-08-20 12:14 | vskirdin | Fixed in Version | => 2.0 |