diff --git a/collects/framework/private/group.ss b/collects/framework/private/group.ss index 6b1b1356..03e9abe4 100644 --- a/collects/framework/private/group.ss +++ b/collects/framework/private/group.ss @@ -137,13 +137,14 @@ [define frame-label-changed (lambda (frame) - (when (member frame (map frame-frame frames)) + (when (memq frame (map frame-frame frames)) (update-windows-menus)))] [define frame-shown/hidden (lambda (frame) - (when (member frame (map frame-frame frames)) - (update-windows-menus)))] + (let ([frame-frames (map frame-frame frames)]) + (when (memq frame frame-frames) + (update-windows-menus))))] [define for-each-frame (lambda (f) @@ -243,6 +244,13 @@ (super-instantiate ()))) + (define (in-list? ele lst) + (let loop ([lst lst]) + (cond + [(null? lst) #f] + [else (or (eq? (car lst) ele) + (loop (cdr lst)))]))) + (define (choose-a-frame parent) (letrec ([sorted-frames (quicksort