changes the way the drracket frame is initialized so that it finishes on a single GUI event callback

related to PR 11590
This commit is contained in:
Robby Findler 2011-01-04 06:18:44 -06:00
parent dd9e8c530b
commit b0309ae99e
2 changed files with 10 additions and 8 deletions

View File

@ -1674,8 +1674,10 @@ TODO
(reset-console)
(insert-prompt)
;; call the first-opened method on the user's thread, but wait here for that to terminate
(let ([lang (drracket:language-configuration:language-settings-language user-language-settings)]
[drr-evtspace (current-eventspace)])
[drr-evtspace (current-eventspace)]
[s (make-semaphore 0)])
(run-in-evaluation-thread
(λ ()
(let/ec k
@ -1689,12 +1691,12 @@ TODO
[else
;; this is the backwards compatible case.
(send lang first-opened)])))
(parameterize ([current-eventspace drr-evtspace])
(queue-callback
(λ ()
(send context enable-evaluation)
(end-edit-sequence)
(clear-undos))))))))
(semaphore-post s)))
(semaphore-wait s))
(send context enable-evaluation)
(end-edit-sequence)
(clear-undos))
(define indenting-limit 0)
(define/override (get-limit n)

View File

@ -786,7 +786,7 @@ module browser threading seems wrong.
(and (or (= (last-position) 0) (not really-modified?))
(not (is-modified?))
(not (get-filename))))
;; inserts the auto-text if any, and executes the text if so
;; inserts the auto-text if any
(define/public (insert-auto-text)
(define lang
(drracket:language-configuration:language-settings-language