> -- Александр Ильин писал(а):
> Подскажите, пожалуйста, как разрешить отмену после сохранения. Ну, то есть, чтобы после сохранения на диск документ не забывал историю своих правок, и можно было вернуться по Ctrl+Z?Давным-давно нашёл я для себя ответ на этот вопрос, да вот забыл поделиться с остальными. Решение находится в Windows.SaveWindow. Нужно заменить## Код:
```
IF w.seq.Dirty() THEN
                  w.seq.BeginModification(Sequencers.notUndoable, NIL);
                  w.seq.EndModification(Sequencers.notUndoable, NIL);   (* clear sequencer *)
                  w.seq.SetDirty(FALSE)
               END;
```
на## Код:
```
IF w.seq.Dirty() THEN
                  (* Alexander Iljin: don't clear undo buffer on save *)
                  w.seq.SetDirty(FALSE)
               END;
```
Т.е. удалить или закомментировать две строки (я их свернул в складку). После этого сохранение документа не приводит к очистке буфера отмены. Побочный эффект такой: отмена после сохранения не помечает документ изменённым. Соответственно, если вы сохранили, отменили и снова сохранили, то последнее сохранение не будет выполнено, т.к. пункт меню File - Save и комбинация Ctrl+S не доступны. Чтобы это изменить, нужно пересмотреть реализацию Windows.StdSequencer.Dirty.

Вариант временного решения - убрать SetDirty (FALSE) в предыдущем куске кода. Тогда сохранение возможно, но нет индикации того, что файл был сохранён.