added begin-metadata-changes and end-metadata-changes

svn: r6990
This commit is contained in:
Robby Findler 2007-08-01 03:12:52 +00:00
parent 1e5bc33d87
commit d1d9322d24
2 changed files with 12 additions and 2 deletions

View File

@ -833,7 +833,8 @@ profile todo:
(define/private (can-clear-coverage?) (define/private (can-clear-coverage?)
(let ([tab (get-tab)]) (let ([tab (get-tab)])
(or (not (send tab get-test-coverage-info-visible?)) (or (not tab)
(not (send tab get-test-coverage-info-visible?))
(not (send tab ask-about-clearing-test-coverage?)) (not (send tab ask-about-clearing-test-coverage?))
(clear-test-coverage?)))) (clear-test-coverage?))))

View File

@ -88,9 +88,12 @@ module browser threading seems wrong.
(define definitions-text<%> (define definitions-text<%>
(interface () (interface ()
begin-metadata-changes
end-metadata-changes
get-tab get-tab
get-next-settings get-next-settings
after-set-next-settings)) after-set-next-settings
set-needs-execution-message))
(define-struct teachpack-callbacks (define-struct teachpack-callbacks
(get-names ;; settings -> (listof string) (get-names ;; settings -> (listof string)
@ -433,6 +436,10 @@ module browser threading seems wrong.
get-character) get-character)
(define save-file-metadata #f) (define save-file-metadata #f)
(define/pubment (begin-metadata-changes) (inner (void) begin-metadata-changes))
(define/pubment (end-metadata-changes) (inner (void) end-metadata-changes))
(define/augment (on-save-file filename fmt) (define/augment (on-save-file filename fmt)
(inner (void) on-save-file filename fmt) (inner (void) on-save-file filename fmt)
(let* ([lang (drscheme:language-configuration:language-settings-language next-settings)] (let* ([lang (drscheme:language-configuration:language-settings-language next-settings)]
@ -441,6 +448,7 @@ module browser threading seems wrong.
(when name-mod ;; the reader-module method's result is used a test of whether or not the get-metadata method is used for this language (when name-mod ;; the reader-module method's result is used a test of whether or not the get-metadata method is used for this language
(let ([metadata (send lang get-metadata (filename->modname filename) settings)]) (let ([metadata (send lang get-metadata (filename->modname filename) settings)])
(begin-edit-sequence) (begin-edit-sequence)
(begin-metadata-changes)
(set! save-file-metadata metadata) (set! save-file-metadata metadata)
(insert metadata 0 0))))) (insert metadata 0 0)))))
(define/private (filename->modname filename) (define/private (filename->modname filename)
@ -464,6 +472,7 @@ module browser threading seems wrong.
(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
(set-modified modified?) (set-modified modified?)
(end-metadata-changes)
(end-edit-sequence))) (end-edit-sequence)))
(inner (void) after-save-file success?)) (inner (void) after-save-file success?))