diff --git a/collects/drscheme/private/unit.ss b/collects/drscheme/private/unit.ss index 62a7c7c09d..f9fd2c88c9 100644 --- a/collects/drscheme/private/unit.ss +++ b/collects/drscheme/private/unit.ss @@ -458,10 +458,12 @@ module browser threading seems wrong. (let-values ([(creator type) (file-creator-and-type filename)]) (file-creator-and-type filename #"DrSc" type)))))) (when save-file-metadata - (delete 0 (string-length save-file-metadata)) - (set! save-file-metadata #f) - (end-edit-sequence) - (set-modified #f)) + (let ([modified? (is-modified?)]) + (delete 0 (string-length save-file-metadata)) + (set! save-file-metadata #f) + (end-edit-sequence) + ;; restore modification status to where it was before the metadata is removed + (set-modified modified?))) (inner (void) after-save-file success?)) (define/augment (on-load-file filename format)