diff --git a/collects/mred/mred.ss b/collects/mred/mred.ss index bf3fb3fd..96946ac3 100644 --- a/collects/mred/mred.ss +++ b/collects/mred/mred.ss @@ -5408,6 +5408,7 @@ (unless (and (list? l) (andmap label-string? l)) (raise-type-error (who->name '(method tab-panel% set)) "list of strings (up to 200 characters)" l)) + (set! save-choices (map string->immutable-string l)) (send (mred->wx tabs) set l)))] [get-item-label (entry-point (lambda (i) diff --git a/collects/tests/mred/item.ss b/collects/tests/mred/item.ss index 75ae789b..4d919815 100644 --- a/collects/tests/mred/item.ss +++ b/collects/tests/mred/item.ss @@ -1947,6 +1947,15 @@ (send p set-selection (sub1 (send p get-number))))) (make-object button% "Rename" p2 (lambda (b e) (send p set-item-label (quotient (send p get-number) 2) "Do&nut"))) + (make-object button% "Labels" p2 (lambda (b e) + (printf "~s~n" + (reverse + (let loop ([i (send p get-number)]) + (if (zero? i) + null + (cons (send p get-item-label (sub1 i)) (loop (sub1 i))))))))) + (make-object button% "Set" p2 (lambda (b e) + (send p set '("New One" "New Second" "New Third")))) (when no-border? (make-object button% "Toggle" p2 (lambda (b e) (if on?