Флаги ECSTATE_SAVED и ECSTATE_MODIFIED
Флаги ECSTATE_SAVED и ECSTATE_MODIFIED
В промежутке 6565 - 6571 сломалось: ECSTATE_MODIFIED
Если открыть файл в редакторе, внести изменения, то звездочка модификации появляется, а флаг ECSTATE_MODIFIED не выставляется (вообще флагов нет CurState == 0).
Если открыть файл в редакторе нажать F2, внести изменения, то всё норм (CurState == 1).
Если открыть файл в редакторе, внести изменения, то звездочка модификации появляется, а флаг ECSTATE_MODIFIED не выставляется (вообще флагов нет CurState == 0).
Если открыть файл в редакторе нажать F2, внести изменения, то всё норм (CurState == 1).
SimSU ··· ·· -- ··· ··-
- John Doe
- Бюрократ
- Posts: 14407
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 83 times
- Been thanked: 482 times
- Contact:
Глюки и баги, появившиеся в «ночных сборках»
Это не ошибка. Вам нужен другой флаг - ECSTATE_SAVED.
https://t.me/FarManager — Telegram чат
Глюки и баги, появившиеся в «ночных сборках»
John Doe, откууда Вы знаете что мне нужно?
Мне нужно знать перед сохранением, что файл изменился! А там вообще флагов нет! Или это какаято извращенная логика???
А отсутсисвия всех флагов после измения только что открытого файла вообще неожиданность = глюк.
Я бы приветсвовал отсустсвие флагов при редакторе с новым файлом по Shift F4 без имени, но там как раз почемуто ECSTATE_SAVED ЕСТЬ!,
Мне нужно знать перед сохранением, что файл изменился! А там вообще флагов нет! Или это какаято извращенная логика???
А отсутсисвия всех флагов после измения только что открытого файла вообще неожиданность = глюк.
Я бы приветсвовал отсустсвие флагов при редакторе с новым файлом по Shift F4 без имени, но там как раз почемуто ECSTATE_SAVED ЕСТЬ!,
Last edited by SUSim on Sun 12 Oct, 2025 14:59, edited 5 times in total.
SimSU ··· ·· -- ··· ··-
- John Doe
- Бюрократ
- Posts: 14407
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 83 times
- Been thanked: 482 times
- Contact:
Глюки и баги, появившиеся в «ночных сборках»
Из вашего сообщения.
Логика может и специфическая, но ваши потребности должна закрыть.
ECSTATE_SAVED в точности соответствует состоянию, когда в строке статуса отсутствует признак модификации "*".SUSim wrote: Sun 12 Oct, 2025 14:44 Я бы приветсвовал отсустсвие флагов при редакторе с новым файлом по Shift F4 без имени, но там как раз почемуто ECSTATE_SAVED ЕСТЬ!,
https://t.me/FarManager — Telegram чат
Глюки и баги, появившиеся в «ночных сборках»
как раз в приведенном мной примере звездочка есть а флага нет! Вообще флагов нет!John Doe wrote: Sun 12 Oct, 2025 15:35 ECSTATE_SAVED в точности соответствует состоянию, когда в строке статуса отсутствует признак модификации "*".
SimSU ··· ·· -- ··· ··-
-
Shmuel
- Posts: 7107
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 47 times
- Been thanked: 604 times
Глюки и баги, появившиеся в «ночных сборках»
По теперешней логике, отсутствие флага EESTATE_SAVED означает, что файл находится в модифицированном состоянии.SUSim wrote: Sun 12 Oct, 2025 20:01 как раз в приведенном мной примере звездочка есть а флага нет! Вообще флагов нет!
Так по крайней мере я это понимаю.
- John Doe
- Бюрократ
- Posts: 14407
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 83 times
- Been thanked: 482 times
- Contact:
Глюки и баги, появившиеся в «ночных сборках»
Флаг установлен когда файл НЕ модифирован. И наоборот.
https://t.me/FarManager — Telegram чат
Глюки и баги, появившиеся в «ночных сборках»
С ECSTATE_SAVED становится более менее понятно как работать:
То есть если band(CurState, ECSTATE_SAVED)==0, то при выходе из редактора появится запрос "Сохранить?".
band(Curstate, ECSTATE_SAVED)==1 это значит файл в редакторе не изменялся после открытия или последнего сохранения.
А за что теперь отвечает ECSTATE_MODIFIED ?
Я бы подумал что если band(CurState, ECSTATE_MODIFIED)==1, то он отличается от первоначального состояния и можно сделать отмены (CtrlZ), но это не так...
То есть если band(CurState, ECSTATE_SAVED)==0, то при выходе из редактора появится запрос "Сохранить?".
band(Curstate, ECSTATE_SAVED)==1 это значит файл в редакторе не изменялся после открытия или последнего сохранения.
А за что теперь отвечает ECSTATE_MODIFIED ?
Я бы подумал что если band(CurState, ECSTATE_MODIFIED)==1, то он отличается от первоначального состояния и можно сделать отмены (CtrlZ), но это не так...
Last edited by SUSim on Mon 13 Oct, 2025 07:58, edited 1 time in total.
SimSU ··· ·· -- ··· ··-
- John Doe
- Бюрократ
- Posts: 14407
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 83 times
- Been thanked: 482 times
- Contact:
Глюки и баги, появившиеся в «ночных сборках»
Он означает что файл хотя бы раз сохранялся в текущем сеансе.
https://t.me/FarManager — Telegram чат
-
Shmuel
- Posts: 7107
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 47 times
- Been thanked: 604 times
Глюки и баги, появившиеся в «ночных сборках»
Мне кажется, он означает, что файл хотя бы раз был модифицирован в текущем сеансе.John Doe wrote: Mon 13 Oct, 2025 08:37 Он означает что файл хотя бы раз сохранялся в текущем сеансе.
- John Doe
- Бюрократ
- Posts: 14407
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 83 times
- Been thanked: 482 times
- Contact:
Глюки и баги, появившиеся в «ночных сборках»
Дайте определение "модифицирован".
https://t.me/FarManager — Telegram чат
-
Shmuel
- Posts: 7107
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 47 times
- Been thanked: 604 times
Глюки и баги, появившиеся в «ночных сборках»
Этот вопрос - индикация того , что мы находимся в ситуации, где общепринятые понятия перестают совпадать с названиями флагов.
Я проверил сейчас поведение на своём рабочем билде 6570, оказалось, что ваше определение правильно.
Таким образом, флаг ECSTATE_MODIFIED стал практически бесполезным, ибо какой интерес может представлять был файл уже сохранён или нет, если после этого в редакторе могли производиться любые действия. И сохранение неизменённого редактора тоже взводит этот флаг.
Вообще по моему мнению - не надо было это трогать, хорошее АПИ или не очень, но оно было давным-давно заморожено и так и должно было оставаться.
- John Doe
- Бюрократ
- Posts: 14407
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 83 times
- Been thanked: 482 times
- Contact:
Глюки и баги, появившиеся в «ночных сборках»
Раньше не взводило. И это собственно единственное изменение по сравнению со старым поведением АПИ, до 6185. (Не очень существенное изменение в любом случае).
Получается названия флагов и раньше были неочевидны.
Лучшее что можно тут сделать на мой взгляд - это детализировать их описания в Энциклопедии.
Обсуждение было тут https://github.com/FarGroup/FarManager/issues/939
https://t.me/FarManager — Telegram чат
-
Shmuel
- Posts: 7107
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 47 times
- Been thanked: 604 times
Глюки и баги, появившиеся в «ночных сборках»
Нет. Вплоть до 6570 изменения в редакторе (например ввод текста) взводили флаг ECSTATE_MODIFIED. В 6570 не взводят.John Doe wrote: Mon 13 Oct, 2025 15:11 И это собственно единственное изменение по сравнению со старым поведением АПИ, до 6185.
- John Doe
- Бюрократ
- Posts: 14407
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 83 times
- Been thanked: 482 times
- Contact:
Глюки и баги, появившиеся в «ночных сборках»
Почему сразу "нет". Противоречие тут отсутствует.
Я указал билд в котором апи сломали в первый раз. После это его ломали ещё.
Но сравнивать между собой произвольные промежуточные билды не очень продуктивно. У нас есть точка отсчёта, почему бы именно из неё и не исходить. Или что вы имели ввиду под давным-давно замороженным апи?
Я указал билд в котором апи сломали в первый раз. После это его ломали ещё.
Но сравнивать между собой произвольные промежуточные билды не очень продуктивно. У нас есть точка отсчёта, почему бы именно из неё и не исходить. Или что вы имели ввиду под давным-давно замороженным апи?
https://t.me/FarManager — Telegram чат