From 045369e3b9d54dcef0e4a950f21581a0810aa56a Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Fri, 3 Jun 2011 01:38:40 -0400 Subject: [PATCH] cocoa: fix `get-file' when any extension is allowed --- collects/mred/private/wx/cocoa/filedialog.rkt | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/collects/mred/private/wx/cocoa/filedialog.rkt b/collects/mred/private/wx/cocoa/filedialog.rkt index 6d82ccfeff..904acd7fbe 100644 --- a/collects/mred/private/wx/cocoa/filedialog.rkt +++ b/collects/mred/private/wx/cocoa/filedialog.rkt @@ -40,22 +40,18 @@ (if (memq 'packages style) (cons "app" extensions) extensions)] [extensions (if (and extension (not (equal? "" extension))) - (cons extension extensions) extensions)] - ;; add "foo~" suffixes too. - [extensions - (append (for/list ([e (in-list extensions)] - #:when (not (regexp-match? #rx"~$" e))) - (string-append e "~")) - extensions)]) + (cons extension extensions) extensions)]) (unless (null? extensions) (when (memq 'put style) (tellv ns setCanSelectHiddenExtension: #:type _BOOL #t)) - (let ([a (tell NSArray - arrayWithObjects: #:type (_list i _NSString) extensions - count: #:type _NSUInteger (length extensions))]) - (tellv ns setAllowedFileTypes: a)) - (tellv ns setAllowsOtherFileTypes: - #:type _BOOL (and (member "*.*" globs) #t)))) + (let ([allow-any? (member "*.*" globs)]) + (when (or (not allow-any?) + (memq 'put style)) + (let ([a (tell NSArray + arrayWithObjects: #:type (_list i _NSString) extensions + count: #:type _NSUInteger (length extensions))]) + (tellv ns setAllowedFileTypes: a)) + (tellv ns setAllowsOtherFileTypes: #:type _BOOL allow-any?))))) (cond [(memq 'multi style)