From 1ade9da766ac9fd9222ba0b05df7c692713d2f0a Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 12 Mar 1998 17:57:32 +0000 Subject: [PATCH] fixed bugs in read and mis other bugs original commit: 38dc7ee480ceffd065d80da911677003ec992706 --- collects/mred/edit.ss | 56 ++++++++++++++++--------------------------- collects/mred/keys.ss | 5 +--- 2 files changed, 22 insertions(+), 39 deletions(-) diff --git a/collects/mred/edit.ss b/collects/mred/edit.ss index b3f05002..a6703d2a 100644 --- a/collects/mred/edit.ss +++ b/collects/mred/edit.ss @@ -175,41 +175,27 @@ (error 'after-edit-sequence "extra call to after-edit-sequence")) (super-after-edit-sequence) - (when (= 0 edit-sequence-counter) - (mred:debug:printf 'lock-icon - "queue: ~a" - edit-sequence-queue) - (let ([queue edit-sequence-queue] - [ht edit-sequence-ht] - [find-enclosing-edit - (lambda (edit) - (let ([admin (send edit get-admin)]) - (cond - [(is-a? admin wx:media-snip-media-admin%) - (send (send admin get-snip) get-media)] - - ;; assume that any non-media-snip - ;; administrator doesn't have embedded edits. - [else #f])))]) - (unless (null? queue) - (set! edit-sequence-queue null) - (set! edit-sequence-ht (make-hash-table)) - (let loop ([edit (find-enclosing-edit this)]) - (cond - [(and edit (= 0 (ivar edit edit-sequence-counter))) - (loop (find-enclosing-edit edit))] - [edit - (mred:debug:printf 'lock-icon - "passing queue to another edit ~a" - edit - edit-sequence-counter) - (send edit extend-edit-sequence-queue queue ht)] - [else - (mred:debug:printf 'lock-icon - "running queue") - (hash-table-for-each ht (lambda (k t) (t))) - (for-each (lambda (t) (t)) queue)]))))))]) - + (let ([queue edit-sequence-queue] + [ht edit-sequence-ht] + [find-enclosing-edit + (lambda (edit) + (let ([admin (send edit get-admin)]) + (cond + [(is-a? admin wx:media-snip-media-admin%) + (send (send (send admin get-snip) get-admin) get-media)] + ;; assume that any non-media-snip + ;; administrator doesn't have embedded edits. + [else #f])))]) + (set! edit-sequence-queue null) + (set! edit-sequence-ht (make-hash-table)) + (let loop ([edit (find-enclosing-edit this)]) + (cond + [(and edit (not (ivar edit local-edit-sequence?))) + (loop (find-enclosing-edit edit))] + [edit (send edit extend-edit-sequence-queue queue ht)] + [else + (hash-table-for-each ht (lambda (k t) (t))) + (for-each (lambda (t) (t)) queue)]))))]) (public [locked? #f] [lock diff --git a/collects/mred/keys.ss b/collects/mred/keys.ss index 73189d3d..bb419d20 100644 --- a/collects/mred/keys.ss +++ b/collects/mred/keys.ss @@ -177,10 +177,7 @@ (wx:message-box "Checkout Failed")))))]))))))))] [save-file-as (lambda (edit event) - (let ([file - (parameterize ([mred:finder:dialog-parent-parameter - (mred:test:test:get-active-frame)]) - (mred:finder:put-file))]) + (let ([file (mred:finder:put-file)]) (if file (send edit save-file file))) #t)]