From 846342db9f993f4bd96770145a897cec6dee06d0 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 24 Apr 2014 07:01:26 -0500 Subject: [PATCH] get-filename might return #f; check for that properly --- .../drracket/private/module-browser.rkt | 47 ++++++++++--------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/module-browser.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/module-browser.rkt index c0c0fb8201..e961270429 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/module-browser.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/module-browser.rkt @@ -647,8 +647,9 @@ (let loop ([snip (send pasteboard find-first-snip)]) (when snip (when (is-a? snip boxed-word-snip<%>) + (define fn (send snip get-filename)) (define found? - (and reg (regexp-match reg (path->string (send snip get-filename))))) + (and reg fn (regexp-match reg (path->string fn)))) (when (or (not reg) found?) (for ([phase (in-list (send snip get-require-phases))]) (set! phases (set-add phases phase))) @@ -1098,28 +1099,28 @@ (is-a? snip boxed-word-snip<%>) canvas (send snip get-filename)) - (instantiate menu-item% () - (label - (trim-string - (format open-file-format - (path->string (send snip get-filename))) - 200)) - (parent right-button-menu) - (callback - (λ (x y) - (handler:edit-file - (send snip get-filename)))))) - (instantiate menu-item% () - (label (string-constant module-browser-open-all)) - (parent right-button-menu) - (callback - (λ (x y) - (let loop ([snip (find-first-snip)]) - (when snip - (when (is-a? snip boxed-word-snip<%>) - (let ([filename (send snip get-filename)]) - (handler:edit-file filename))) - (loop (send snip next))))))) + (new menu-item% + [label + (trim-string + (format open-file-format + (path->string (send snip get-filename))) + 200)] + [parent right-button-menu] + [callback + (λ (x y) + (handler:edit-file + (send snip get-filename)))])) + (new menu-item% + [label (string-constant module-browser-open-all)] + [parent right-button-menu] + [callback + (λ (x y) + (let loop ([snip (find-first-snip)]) + (when snip + (when (is-a? snip boxed-word-snip<%>) + (let ([filename (send snip get-filename)]) + (handler:edit-file filename))) + (loop (send snip next)))))]) (send canvas popup-menu right-button-menu (+ (send evt get-x) 1)