fixed a bug SK reported -- when saving locked files in the teaching language, the metadata wouldnt be inserted properly

svn: r10635
This commit is contained in:
Robby Findler 2008-07-06 23:32:14 +00:00
parent 7816a6899c
commit d313fd72c3

View File

@ -381,7 +381,7 @@ module browser threading seems wrong.
(λ (x) x) (λ (x) x)
text:info%)))))))))]) text:info%)))))))))])
(class* definitions-super% (definitions-text<%>) (class* definitions-super% (definitions-text<%>)
(inherit get-top-level-window is-locked? lock) (inherit get-top-level-window is-locked? lock while-unlocked)
(define interactions-text #f) (define interactions-text #f)
(define/public (set-interactions-text it) (define/public (set-interactions-text it)
@ -445,7 +445,9 @@ module browser threading seems wrong.
(let ([locked? (is-locked?)]) (let ([locked? (is-locked?)])
(when locked? (lock #f)) (when locked? (lock #f))
(set! save-file-metadata metadata) (set! save-file-metadata metadata)
(insert metadata 0 0) (while-unlocked
(λ ()
(insert metadata 0 0)))
(when locked? (lock #t))))))) (when locked? (lock #t)))))))
(define/private (filename->modname filename) (define/private (filename->modname filename)
(let-values ([(base name dir) (split-path filename)]) (let-values ([(base name dir) (split-path filename)])
@ -466,7 +468,9 @@ module browser threading seems wrong.
(let ([modified? (is-modified?)] (let ([modified? (is-modified?)]
[locked? (is-locked?)]) [locked? (is-locked?)])
(when locked? (lock #f)) (when locked? (lock #f))
(delete 0 (string-length save-file-metadata)) (while-unlocked
(λ ()
(delete 0 (string-length save-file-metadata))))
(when locked? (lock #t)) (when locked? (lock #t))
(set! save-file-metadata #f) (set! save-file-metadata #f)
;; restore modification status to where it was before the metadata is removed ;; restore modification status to where it was before the metadata is removed