From bee344f41d21ea75b105015b4694057bc87600a7 Mon Sep 17 00:00:00 2001 From: Neil Toronto Date: Thu, 24 Apr 2014 10:11:43 -0600 Subject: [PATCH] Fix Plot for new undefined behavior: # is not a truth value This is a nice example of why having # as a language value is generally a bad idea. Because in Scheme/Racket, everything that isn't `refresh?` argument entirely - it was as if its value was always #t. Any GUI change that was not meant to cause a refresh caused one anyway: a silent performance error. --- pkgs/plot-pkgs/plot-gui-lib/plot/private/gui/snip.rkt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/plot-pkgs/plot-gui-lib/plot/private/gui/snip.rkt b/pkgs/plot-pkgs/plot-gui-lib/plot/private/gui/snip.rkt index 4462850ae1..6031d795f6 100644 --- a/pkgs/plot-pkgs/plot-gui-lib/plot/private/gui/snip.rkt +++ b/pkgs/plot-pkgs/plot-gui-lib/plot/private/gui/snip.rkt @@ -56,10 +56,10 @@ (send message-timer start message-timeout #t)) (define/public (set-message msg #:refresh? [refresh? #t]) - (define refresh? (and refresh? (not (equal? msg message)))) - (set! message msg) - (reset-message-timeout) - (when refresh? (refresh))) + (let ([refresh? (and refresh? (not (equal? msg message)))]) + (set! message msg) + (reset-message-timeout) + (when refresh? (refresh)))) (define (draw-message dc dc-x-min dc-y-min) (define bm (get-bitmap))