diff --git a/collects/mred/private/filedialog.rkt b/collects/mred/private/filedialog.rkt index 947dd24c..58630c4b 100644 --- a/collects/mred/private/filedialog.rkt +++ b/collects/mred/private/filedialog.rkt @@ -60,10 +60,6 @@ message directory filename extension ;; file types: filters - #; - (apply string-append - (map (lambda (s) (format "~a|~a|" (car s) (cadr s))) - filters)) ;; style: (cons (cond [dir? 'dir] [put? 'put] diff --git a/collects/mred/private/wx/cocoa/filedialog.rkt b/collects/mred/private/wx/cocoa/filedialog.rkt index 3e6d35d1..662bad58 100644 --- a/collects/mred/private/wx/cocoa/filedialog.rkt +++ b/collects/mred/private/wx/cocoa/filedialog.rkt @@ -29,7 +29,10 @@ parent)]) (let ([extensions (append - (if extension (list extension) null) + (if (and extension + (not (equal? "" extension))) + (list extension) + null) (if (memq 'packages style) (list "app") null) (for/list ([e (in-list filters)] #:when (and (regexp-match #rx"[*][.][^.]+$" (cadr e)) diff --git a/collects/scribblings/gui/dialog-funcs.scrbl b/collects/scribblings/gui/dialog-funcs.scrbl index d6300abc..65d477a0 100644 --- a/collects/scribblings/gui/dialog-funcs.scrbl +++ b/collects/scribblings/gui/dialog-funcs.scrbl @@ -121,7 +121,7 @@ Under Windows, if @scheme[extension] is not @scheme[#f], the returned path to have an extension mapping @scheme[extension]. Under Mac OS X 10.5 and later, if @scheme[extension] is not - @scheme[#f], the returned path will get a default extension if the + @scheme[#f] or @racket[""], the returned path will get a default extension if the user does not supply one. If @scheme[filters] contains as @scheme["*.*"] pattern, then the user can supply any extension that is recognized by the system; otherwise, the extension on the returned @@ -133,7 +133,8 @@ Under Mac OS X 10.5 and later, if @scheme[extension] is not extension mapping @scheme[extension]. Under Mac OS X versions before 10.5, the returned path will get a - default extension only if @scheme[extension] is not @scheme[#f] and + default extension only if @scheme[extension] is not @scheme[#f], + @scheme[extension] is not @racket[""], and @scheme[filters] contains only @scheme[(string-append "*." extension)].