From 3235598f6d352bcd7406da2e166f435d1737d7a5 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Thu, 2 Jun 2011 10:06:15 -0400 Subject: [PATCH] * Make the drracket `default-filters' have a ";"-separated glob for all patterns instead of one pattern per suffix. (This was almost never used -- only when saving a file that is in text mode.) * Since this default is the same that the scheme mode ("framework/private/scheme.rkt") sets, remove that setting. (Leave it commented in case there's need to have some different global default.) It makes the above default get used when saving a scheme-mode file. * Finally, for some reason the code in "framework/private/finder.rkt" was not using these `default-filters' at all for the file open dialog in `*get-file'. (I tracked it back to CVS when the code was written, and it was never used.) I made it use it now. This is visible on gtk (and probably on windows, not sure what OSX does) in that openning a file would show you all files. After this change, it would show only racket source files, but there will be an option to switch the pattern to show all files. ** If the previous setup (showing all files) was intentional, it would be better to simply change "drracket/private/main.rkt" to add the racket source globs before the default. In that case it might also make sense to uncomment the change in scheme.rkt back in, so when saving the default is the racket file suffixes (but this sounds like a confusing UI). original commit: 1582f160bc9c778af05ff9216854576b3b1d806b --- collects/framework/private/finder.rkt | 5 +++-- collects/framework/private/scheme.rkt | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/collects/framework/private/finder.rkt b/collects/framework/private/finder.rkt index c899505d..5136537f 100644 --- a/collects/framework/private/finder.rkt +++ b/collects/framework/private/finder.rkt @@ -25,7 +25,7 @@ (message-box (string-constant error) msg) #f))))) - (define default-filters (make-parameter '(("Any" "*.*")))) + (define default-filters (make-parameter '(["Any" "*.*"]))) (define default-extension (make-parameter "")) ;; dialog wrappers @@ -66,7 +66,8 @@ [filter #f] [filter-msg (string-constant file-wrong-form)] [parent-win (dialog-parent-parameter)]) - (let ([f (get-file prompt parent-win directory #f #f style)]) + (let ([f (get-file prompt parent-win directory #f + (default-extension) style (default-filters))]) (and f (or (not filter) (filter-match? filter f filter-msg)) (let ([f (normalize-path f)]) (cond [(directory-exists? f) diff --git a/collects/framework/private/scheme.rkt b/collects/framework/private/scheme.rkt index 556a9660..712d0375 100644 --- a/collects/framework/private/scheme.rkt +++ b/collects/framework/private/scheme.rkt @@ -1276,6 +1276,7 @@ (define/override (put-file text sup directory default-name) (parameterize ([finder:default-extension "rkt"] + #; ; no need for the following, since it's the default [finder:default-filters '(["Racket Sources" "*.rkt;*.scrbl;*.ss;*.scm"] ["Any" "*.*"])]) ;; don't call the surrogate's super, since it sets the default extension