From 8d46df4ba1c0d3f4f47188c4211da981054bb44c Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Tue, 22 Apr 2014 07:55:20 -0500 Subject: [PATCH] Rackety (mostly to bring down below 102 columns) --- .../private/language-configuration.rkt | 501 +++++++++++------- 1 file changed, 295 insertions(+), 206 deletions(-) diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/language-configuration.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/language-configuration.rkt index ce9c47b822..de72e0e16d 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/language-configuration.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/language-configuration.rkt @@ -1,6 +1,5 @@ #lang racket/base -(require (prefix-in : mred/mred) ;; ensure that this module is always loaded since it is shared below for pretty big - racket/unit +(require racket/unit mrlib/hierlist racket/class racket/contract @@ -19,12 +18,18 @@ net/url syntax/toplevel browser/external - (only-in mzlib/struct make-->vector)) + (only-in mzlib/struct make-->vector) + + ;; ensure that this module is always loaded since it is shared below for pretty big + (prefix-in : mred/mred)) (define original-output (current-output-port)) (define (oprintf . args) (apply fprintf original-output args)) - (define-values (sc-use-language-in-source sc-use-teaching-language sc-choose-a-language mouse-event-uses-shortcut-prefix?) + (define-values (sc-use-language-in-source + sc-use-teaching-language + sc-choose-a-language + mouse-event-uses-shortcut-prefix?) (let* ([shortcut-prefix (get-default-shortcut-prefix)] [menukey-string (apply string-append @@ -102,14 +107,17 @@ ;; add-language : (instanceof language%) -> void ;; only allows addition on phase2 ;; effect: updates `languages' - (define (add-language language [front? #f] #:allow-executable-creation? [allow-executable-creation? #f]) + (define (add-language language [front? #f] + #:allow-executable-creation? [allow-executable-creation? #f]) (drracket:tools:only-in-phase 'drracket:language:add-language 'phase2) (for-each (λ (i<%>) (unless (is-a? language i<%>) (error 'drracket:language:add-language - "expected language ~e to implement ~e, forgot to use `drracket:language:get-default-mixin'?" + (string-append + "expected language ~e to implement ~e," + " forgot to use `drracket:language:get-default-mixin'?") language i<%>))) (drracket:language:get-language-extensions)) @@ -158,22 +166,41 @@ - ; - ; - ; - ; ; ; ; ; - ; ; ; ; - ; ; ; ; - ; ; ;;; ; ;; ;; ; ; ; ;;; ;; ; ;;; ;; ; ; ;;; ; ;;; ;; ; - ; ; ; ; ;; ; ; ;; ; ; ; ; ; ;; ; ; ; ;; ; ; ; ; ; ; ; ;; - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - ; ; ;;;; ; ; ; ; ; ; ;;;; ; ; ;;;;;; ; ; ; ;;;; ; ; ; ; ; - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - ; ; ; ; ; ; ; ;; ; ;; ; ; ; ;; ; ; ;; ; ; ; ; ; ; ; ;; - ; ; ;;;;; ; ; ;; ; ;; ; ;;;;; ;; ; ;;;; ;; ; ; ;;;;; ; ;;; ;; ; - ; ; ; ; - ; ; ; ; ; ; ; - ; ;;;; ;;;; ;;;; + +; +; +; +; +; ;;; +; ;;; +; ;;; ;;;;; ;;; ;; ;; ;;; ;;; ;;; ;;;;; ;; ;;; ;;;; +; ;;; ;;;;;;; ;;;;;;; ;;;;;;; ;;; ;;; ;;;;;;; ;;;;;;; ;; ;;; +; ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;;;; ;;; ;;; ;;;;;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;;;;;; ;;;;;;; ;;; ;;; ;;;;;;; ;;;;;; +; ;;; ;;;;;; ;;; ;;; ;; ;;; ;; ;;; ;;;;;; ;; ;;; ;;;; +; ;;; ;;; +; ;;;;;; ;;;;;; +; +; +; +; +; +; +; ;;; ;;; ;;; +; ;;; ;;; +; ;; ;;; ;;; ;;;;; ;;; ;;; ;; ;;; +; ;;;;;;; ;;; ;;;;;;; ;;; ;;;;; ;;;;;;; +; ;;; ;;; ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;;;;;; ;;; ;;; ;;; ;;; ;;;;; ;;;;;;; +; ;; ;;; ;;; ;;;;;; ;;; ;;; ;; ;;; +; ;;; +; ;;;;;; +; +; ;; language-dialog : (boolean language-setting -> (union #f language-setting)) @@ -294,9 +321,10 @@ (get-selected-language) (get-selected-language-settings))))) - ;; fill-language-dialog : (vertical-panel panel language-setting -> language-setting) - ;; (union dialog #f) [...more stuff...] - ;; -> (-> (union #f language<%>)) (-> settings[corresponding to fst thnk result]) + ;; fill-language-dialog : + ;; (vertical-panel panel language-setting -> language-setting) + ;; (union dialog #f) [...more stuff...] + ;; -> (-> (union #f language<%>)) (-> settings[corresponding to fst thnk result]) ;; allows the user to configure their language. The input language-setting is used ;; as the defaults in the dialog and the output language setting is the user's choice ;; if re-center is a dialog, when the show details button is clicked, the dialog is recenterd. @@ -563,7 +591,9 @@ [stretchable-width #f] [min-width 32])) (define in-source-discussion-editor-canvas - (add-discussion in-source-discussion-panel definitions-text use-language-in-source-rb-callback)) + (add-discussion in-source-discussion-panel + definitions-text + use-language-in-source-rb-callback)) (define most-recent-languages-hier-list-selection (preferences:get 'drracket:language-dialog:hierlist-default)) (define most-recent-teaching-languages-hier-list-selection @@ -630,33 +660,35 @@ [parent languages-hier-list-panel] [stretchable-width #f] [min-width 32])) - (define ellipsis-message (new (class canvas% - (define/override (on-paint) - (define dc (get-dc)) - (send dc set-font normal-control-font) - (send dc draw-text "..." 0 0)) - (define/override (on-event evt) - (when (send evt button-up?) - (show-other-languages))) - (inherit get-dc min-width min-height) - (super-new [style '(transparent)] - [parent languages-hier-list-panel] - [stretchable-width #f] - [stretchable-height #t]) - (let () - (define dc (get-dc)) - (define-values (w h _1 _2) (send dc get-text-extent "..." normal-control-font)) - (min-width (inexact->exact (ceiling w))) - (min-height (inexact->exact (ceiling h))))))) + (define ellipsis-message + (new (class canvas% + (define/override (on-paint) + (define dc (get-dc)) + (send dc set-font normal-control-font) + (send dc draw-text "..." 0 0)) + (define/override (on-event evt) + (when (send evt button-up?) + (show-other-languages))) + (inherit get-dc min-width min-height) + (super-new [style '(transparent)] + [parent languages-hier-list-panel] + [stretchable-width #f] + [stretchable-height #t]) + (let () + (define dc (get-dc)) + (define-values (w h _1 _2) (send dc get-text-extent "..." normal-control-font)) + (min-width (inexact->exact (ceiling w))) + (min-height (inexact->exact (ceiling h))))))) (define languages-hier-list-spacer (new horizontal-panel% [parent languages-hier-list-panel] [stretchable-width #f] [min-width 16])) - (define other-languages-hier-list (new selectable-hierlist% - [parent languages-hier-list-panel] - [style '(no-border no-hscroll auto-vscroll transparent)])) + (define other-languages-hier-list + (new selectable-hierlist% + [parent languages-hier-list-panel] + [style '(no-border no-hscroll auto-vscroll transparent)])) (define details-outer-panel (make-object vertical-pane% outermost-panel)) (define details/manual-parent-panel (make-object vertical-panel% details-outer-panel)) (define details-panel (make-object panel:single% details/manual-parent-panel)) @@ -688,10 +720,14 @@ (init-rest args) (define/public (get-language) language) (define/public (selected) - (update-gui-based-on-selected-language language get-language-details-panel get/set-settings)) + (update-gui-based-on-selected-language language + get-language-details-panel + get/set-settings)) (apply super-make-object args)))) - (define (update-gui-based-on-selected-language language get-language-details-panel get/set-settings) + (define (update-gui-based-on-selected-language language + get-language-details-panel + get/set-settings) (let ([ldp (get-language-details-panel)]) (when ldp (send details-panel active-child ldp))) @@ -793,7 +829,9 @@ (when (null? (cdr positions)) (unless (equal? positions (list (string-constant module-language-name))) (error 'drracket:language - "Only the module language may be at the top level. Other languages must have at least two levels"))) + (string-append + "Only the module language may be at the top level." + " Other languages must have at least two levels")))) (send other-languages-hier-list clear-fringe-cache) (send teaching-languages-hier-list clear-fringe-cache) @@ -817,7 +855,10 @@ (cdr numbers) numbers)] [first? #t] - [second-number #f]) ;; only non-#f during the second iteration in which case it is the first iterations number + + ;; only non-#f during the second iteration + ;; in which case it is the first iterations number + [second-number #f]) (cond [(null? (cdr positions)) (let* ([language-details-panel #f] @@ -875,7 +916,9 @@ [else (let* ([mixin (compose number-mixin - (language-mixin language get-language-details-panel get/set-settings))] + (language-mixin language + get-language-details-panel + get/set-settings))] [item (send hier-list new-item (if second-number @@ -986,7 +1029,8 @@ (define/public (set-second-number _second-number) (set! second-number _second-number)) (super-instantiate ()))) - ;; make-details-panel : ((instanceof language<%>) -> (values panel (case-> (-> settings) (settings -> void)))) + ;; make-details-panel : (instanceof language<%>) + ;; -> (values panel (case-> (-> settings) (settings -> void))) ;; adds a details panel for `language', using ;; the language's default settings, unless this is ;; the to-show language. @@ -1034,7 +1078,8 @@ [(not (and language-to-show settings-to-show)) (no-language-selected)] [(is-a? language-to-show drracket:module-language:module-language<%>) - ;; the above changes the radio button selections, so do it before calling module-language-selected + ;; the above changes the radio button selections, + ;; so do it before calling module-language-selected (module-language-selected)] [else (define position (send language-to-show get-language-position)) @@ -1081,7 +1126,8 @@ [(null? position) (send child select #t)] [else - (when (is-a? child hierarchical-list-compound-item<%>) ;; test can fail when prefs are bad + ;; test can fail when prefs are bad + (when (is-a? child hierarchical-list-compound-item<%>) (send child open) (loop child (car position) (cdr position)))]))])))])) @@ -1232,8 +1278,9 @@ (do-construct-details)) (update-show/hide-details) (when get/set-selected-language-settings - ;; this call to get/set-selected-language-settings has to come after the call to do-construct-details above - ;; because do-construct-details sets all of the controls to the language's default settings + ;; this call to get/set-selected-language-settings has to come after the call + ;; to do-construct-details above because do-construct-details sets all of the + ;; controls to the language's default settings (get/set-selected-language-settings settings-to-show)) (size-discussion-canvas in-source-discussion-editor-canvas) (values @@ -1276,7 +1323,9 @@ [editor t])) (send t set-styles-sticky #f) (send t set-autowrap-bitmap #f) - (define size-sd (make-object style-delta% 'change-size (send normal-control-font get-point-size))) + (define size-sd (make-object style-delta% + 'change-size + (send normal-control-font get-point-size))) (define (do-insert str tt-style?) (define before (send t last-position)) (send t insert str before before) @@ -1324,8 +1373,9 @@ (if definitions-text (find-language-position definitions-text) (values #f #f))) - (define existing-lang-line (and current-line-start - (send definitions-text get-text current-line-start current-line-end))) + (define existing-lang-line + (and current-line-start + (send definitions-text get-text current-line-start current-line-end))) (case (message-box/custom (string-constant drscheme) (string-append @@ -1341,7 +1391,8 @@ existing-lang-line the-lang-line)] [else - (format (string-constant racket-dialect-add-new-#lang-line) the-lang-line)])) + (format (string-constant racket-dialect-add-new-#lang-line) + the-lang-line)])) (cond [(and existing-lang-line (equal? existing-lang-line the-lang-line)) @@ -1359,7 +1410,10 @@ [current-line-start (send definitions-text begin-edit-sequence) (send definitions-text delete current-line-start current-line-end) - (send definitions-text insert the-lang-line current-line-start current-line-start) + (send definitions-text insert + the-lang-line + current-line-start + current-line-start) (send definitions-text end-edit-sequence)] [else (send definitions-text begin-edit-sequence) @@ -1597,34 +1651,41 @@ (floor (inexact->exact (unbox y-box)))))) -; -; -; ; ;;; -; ; -; ;;; ;; ;; ;;;;; ;;; ;;;; ;;;; -; ; ;; ; ; ; ; ; ; ; ; -; ; ; ; ; ; ; ;;; ;;; -; ; ; ; ; ; ; ; ; -; ; ; ; ; ; ; ;; ; ; ; ; -; ;;;;; ;;; ;;; ;;;;; ;;; ;; ;;;; ;;;; -; -; -; -; -; -; -; ;; -; ; -; ; ;;; ;; ;; ;; ;;;; ;; ;;; ;; ;; ;;; ;;;; -; ; ; ; ;; ; ; ;; ; ; ; ; ; ;; ; ; ; ; -; ; ;;;; ; ; ; ; ; ; ;;;; ; ; ;;;;; ;;; -; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; -; ; ; ; ; ; ; ; ; ;; ; ; ; ; ; ; ; -; ;;;;; ;;;;;;;; ;;; ;;;; ;; ;; ;;;;; ;;;; ;;;; ;;;; -; ; ; -; ;;; ;;; -; -; + +; +; +; +; +; ;;; ;;;; +; ;;; +; ;;; ;;; ;; ;;;; ;;; ;;;; ;;;; +; ;;; ;;;;;;; ;;;; ;;;;; ;;; ;; ;;; ;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;;; ;;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;;;; ;;; ;; ;;; ;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;;; ;;;; +; +; +; +; +; +; +; +; +; ;;; +; ;;; +; ;;; ;;;;; ;;; ;; ;; ;;; ;;; ;;; ;;;;; ;; ;;; ;;;; ;;;; +; ;;; ;;;;;;; ;;;;;;; ;;;;;;; ;;; ;;; ;;;;;;; ;;;;;;; ;; ;;; ;;; ;; +; ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;;;; ;;; ;;; ;;;;;;; ;;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;;;;;; ;;;;;;; ;;; ;;; ;;;;;;; ;;;;;; ;; ;;; +; ;;; ;;;;;; ;;; ;;; ;; ;;; ;; ;;; ;;;;;; ;; ;;; ;;;; ;;;; +; ;;; ;;; +; ;;;;;; ;;;;;; +; +; (define (add-info-specified-languages) (for-each add-info-specified-language @@ -1634,9 +1695,10 @@ (define (add-info-specified-language directory) (let ([info-proc (get-info/full directory)]) (when info-proc - (let* ([lang-positions (append - (info-proc 'drscheme-language-positions (λ () null)) - (indirect-info-field info-proc 'get-drscheme-language-positions directory))] + (let* ([lang-positions + (append + (info-proc 'drscheme-language-positions (λ () null)) + (indirect-info-field info-proc 'get-drscheme-language-positions directory))] [lang-modules (info-proc 'drscheme-language-modules (λ () null))] [numberss (info-proc 'drscheme-language-numbers (λ () @@ -1693,66 +1755,66 @@ (length summaries) (length urls) (length reader-specs))) - (for-each - (λ (lang-module lang-position lang-numbers one-line-summary url reader-spec) - (let ([% - ((drracket:language:get-default-mixin) - (drracket:language:module-based-language->language-mixin - (drracket:language:simple-module-based-language->module-based-language-mixin - drracket:language:simple-module-based-language%)))] - [reader - (if reader-spec - (with-handlers ([exn:fail? - (λ (x) - (message-box (string-constant drscheme) - (if (exn? x) - (exn-message x) - (format "uncaught exception: ~s" x)) - #:dialog-mixin frame:focus-table-mixin) - read-syntax/namespace-introduce)]) - (contract - (->* () - (any/c port?) - (or/c syntax? eof-object?)) - (dynamic-require - (cond - [(string? reader-spec) - (build-path - directory - (platform-independent-string->path reader-spec))] - [else reader-spec]) - 'read-syntax) - (string->symbol (format "~s" lang-position)) - 'drscheme)) - read-syntax/namespace-introduce)]) - (add-language (instantiate % () - (module (if (string? lang-module) + + (for ([lang-module (in-list lang-modules)] + [lang-position (in-list lang-positions)] + [lang-numbers (in-list numberss)] + [one-line-summary (in-list summaries)] + [url (in-list urls)] + [reader-spec (in-list reader-specs)]) + (define % + ((drracket:language:get-default-mixin) + (drracket:language:module-based-language->language-mixin + (drracket:language:simple-module-based-language->module-based-language-mixin + drracket:language:simple-module-based-language%)))) + (define reader + (if reader-spec + (with-handlers ([exn:fail? + (λ (x) + (message-box (string-constant drscheme) + (if (exn? x) + (exn-message x) + (format "uncaught exception: ~s" x)) + #:dialog-mixin frame:focus-table-mixin) + read-syntax/namespace-introduce)]) + (contract + (->* () + (any/c port?) + (or/c syntax? eof-object?)) + (dynamic-require + (cond + [(string? reader-spec) + (build-path + directory + (platform-independent-string->path reader-spec))] + [else reader-spec]) + 'read-syntax) + (string->symbol (format "~s" lang-position)) + 'drscheme)) + read-syntax/namespace-introduce)) + (add-language (new % + [module (if (string? lang-module) (build-path directory (platform-independent-string->path lang-module)) - `(lib ,@lang-module))) - (language-position lang-position) - (language-id (format "plt:lang-from-module: ~s" lang-module)) - (language-numbers lang-numbers) - (one-line-summary one-line-summary) - (language-url url) - (reader reader))))) - lang-modules - lang-positions - numberss - summaries - urls - reader-specs)] + `(lib ,@lang-module))] + [language-position lang-position] + [language-id (format "plt:lang-from-module: ~s" lang-module)] + [language-numbers lang-numbers] + [one-line-summary one-line-summary] + [language-url url] + [reader reader])))] [else (message-box (string-constant drscheme) (format (string-append - "The drscheme-language-position, drscheme-language-modules, drscheme-language-numbers," - " and drscheme-language-readers specifications aren't correct. Expected" - " (listof (cons string (listof string))), (listof (listof string)), (listof (listof number)), (listof string)," - " (listof string), and (listof module-spec) respectively, where the lengths of the outer lists are the same." - " Got ~e, ~e, ~e, ~e, ~e, and ~e") + "The drscheme-language-position, drscheme-language-modules," + " drscheme-language-numbers, and drscheme-language-readers specifications" + " aren't correct. Expected (listof (cons string (listof string)))," + " (listof (listof string)), (listof (listof number)), (listof string)," + " (listof string), and (listof module-spec) respectively, where the lengths" + " of the outer lists are the same. Got ~e, ~e, ~e, ~e, ~e, and ~e") lang-positions lang-modules numberss @@ -1795,34 +1857,42 @@ -; -; -; ;; ; ;; ; -; ; ; ; -; ; ;; ;; ;; ;;; ; ;;;;; ;;; ;; ;; -; ;; ; ; ; ; ; ; ; ;; ; -; ; ; ; ; ; ; ; ;;;;; ; ; ; -; ; ; ; ; ; ; ; ; ; ; -; ; ; ; ;; ; ; ; ; ; ; ; -; ;;;;; ;; ;; ;;;;; ;;;;; ;;; ;;;;; ;;; ;;; -; -; -; -; -; -; -; ;; -; ; -; ; ;;; ;; ;; ;; ;;;; ;; ;;; ;; ;; ;;; ;;;; -; ; ; ; ;; ; ; ;; ; ; ; ; ; ;; ; ; ; ; -; ; ;;;; ; ; ; ; ; ; ;;;; ; ; ;;;;; ;;; -; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; -; ; ; ; ; ; ; ; ; ;; ; ; ; ; ; ; ; -; ;;;;; ;;;;;;;; ;;; ;;;; ;; ;; ;;;;; ;;;; ;;;; ;;;; -; ; ; -; ;;; ;;; -; -; +; +; +; +; +; +; ;;; ;;; ;;; ; ;;; +; ;;; ;;; ;;; +; ;;; ;; ;;; ;;; ;;; ;;; ;;;; ;;; ;;; ;; +; ;;;;;;; ;;; ;;; ;;; ;;; ;;;; ;;; ;;;;;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;;;;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;;;;;; ;;; ;;; +; ;;;;;;; ;;;;;;; ;;; ;;; ;;;; ;;; ;;; ;;; +; ;;; ;; ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; +; +; +; +; +; +; +; +; ;;; +; ;;; +; ;;; ;;;;; ;;; ;; ;; ;;; ;;; ;;; ;;;;; ;; ;;; ;;;; ;;;; +; ;;; ;;;;;;; ;;;;;;; ;;;;;;; ;;; ;;; ;;;;;;; ;;;;;;; ;; ;;; ;;; ;; +; ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;;;; ;;; ;;; ;;;;;;; ;;;; +; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;;;;;; ;;;;;;; ;;; ;;; ;;;;;;; ;;;;;; ;; ;;; +; ;;; ;;;;;; ;;; ;;; ;; ;;; ;; ;;; ;;;;;; ;; ;;; ;;;; ;;;; +; ;;; ;;; +; ;;;;;; ;;;;;; +; +; + ;; add-expand-to-front-end : mixin @@ -2003,18 +2073,18 @@ (super-new))))] [make-simple (λ (module id position numbers mred-launcher? one-line-summary extra-mixin) - (let ([% - (extra-mixin - ((extras-mixin mred-launcher? one-line-summary) - ((drracket:language:get-default-mixin) - (drracket:language:module-based-language->language-mixin - (drracket:language:simple-module-based-language->module-based-language-mixin - drracket:language:simple-module-based-language%)))))]) - (instantiate % () - (module module) - (language-id id) - (language-position position) - (language-numbers numbers))))]) + (define % + (extra-mixin + ((extras-mixin mred-launcher? one-line-summary) + ((drracket:language:get-default-mixin) + (drracket:language:module-based-language->language-mixin + (drracket:language:simple-module-based-language->module-based-language-mixin + drracket:language:simple-module-based-language%)))))) + (new % + (module module) + (language-id id) + (language-position position) + (language-numbers numbers)))]) (add-language (make-simple '(lib "lang/plt-pretty-big.rkt") "plt:pretty-big" @@ -2023,7 +2093,9 @@ (list -200 3) #t (string-constant pretty-big-scheme-one-line-summary) - (λ (%) (pretty-big-mixin (macro-stepper-mixin (assume-mixin (add-errortrace-key-mixin %))))))) + (λ (%) (pretty-big-mixin + (macro-stepper-mixin + (assume-mixin (add-errortrace-key-mixin %))))))) (add-language (make-simple '(lib "r5rs/lang.rkt") "plt:r5rs" @@ -2032,7 +2104,9 @@ (list -200 -1000) #f (string-constant r5rs-one-line-summary) - (lambda (%) (r5rs-mixin (macro-stepper-mixin (assume-mixin (add-errortrace-key-mixin %))))))) + (lambda (%) (r5rs-mixin + (macro-stepper-mixin + (assume-mixin (add-errortrace-key-mixin %))))))) (add-language (make-simple 'racket/base @@ -2076,20 +2150,24 @@ -; -; -; ;; -; ; ; -; ;; ;; ;;; ;;;;; ;;; ; ;;; ;; ;; ;; ;;;; ;; ;;; ;; ;; ;;; -; ;; ; ; ; ; ; ; ; ; ; ;; ; ; ;; ; ; ; ; ; ;; ; ; -; ; ; ; ; ; ;;;;; ;;;; ;;;;; ; ;;;; ; ; ; ; ; ; ;;;; ; ; ;;;;; -; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; -; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;; ; ; ; ; ; -; ;;; ;;; ;;; ;;; ;;;;; ;;;;; ;;;;;;;; ;;; ;;;; ;; ;; ;;;;; ;;;; ;;;; -; ; ; -; ;;; ;;; -; -; + +; +; +; +; +; ; ;;; +; ;;; ;;; +; ;;; ;; ;;; ;;;; ;;;;; ;;; ;;;;; ;;; ;; ;; ;;; ;;; ;;; ;;;;; ;; ;;; ;;;; +; ;;;;;;; ;;;;; ;;;; ;;;;;;; ;;; ;;;;;;; ;;;;;;; ;;;;;;; ;;; ;;; ;;;;;;; ;;;;;;; ;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;; ;;; ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;; ;;; ;;; ;;;; ;;;;; ;;;;;;; ;;;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;;;; ;;; ;;; ;;;;;;; +; ;;; ;;; ;;; ;;; ;;; ;;;;;;; ;;; ;;;;;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; +; ;;; ;;; ;;;;; ;;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;;;;;; ;;;;;;; ;;; ;;; ;;;;;;; ;;;;;; +; ;;; ;;; ;;; ;;; ;;;;;; ;;; ;;;;;; ;;; ;;; ;; ;;; ;; ;;; ;;;;;; ;; ;;; ;;;; +; ;;; ;;; +; ;;;;;; ;;;;;; +; +; (define (not-a-language-message) @@ -2177,8 +2255,15 @@ (parent drs-frame) (label (string-constant drscheme)))) (define top-hp (new horizontal-pane% [parent dialog])) - (define qa-panel (new vertical-panel% [style '(border)] (parent top-hp) (stretchable-width #f))) - (define racketeer-panel (new vertical-panel% [style '(border)] [parent top-hp] [alignment '(center center)] [stretchable-width #f])) + (define qa-panel (new vertical-panel% + [style '(border)] + [parent top-hp] + [stretchable-width #f])) + (define racketeer-panel (new vertical-panel% + [style '(border)] + [parent top-hp] + [alignment '(center center)] + [stretchable-width #f])) (define button-panel (new horizontal-pane% (parent dialog) (stretchable-height #f) @@ -2227,7 +2312,9 @@ (for-each display-text-pl (sort - (apply append (map get-text-pls (find-relevant-directories '(textbook-pls get-textbook-pls)))) + (apply append + (map get-text-pls + (find-relevant-directories '(textbook-pls get-textbook-pls)))) (λ (x y) (cond [(string=? (cadr x) (string-constant how-to-design-programs)) @@ -2244,12 +2331,14 @@ (new canvas-message% [label (read-bitmap (collection-file-path "plt-logo-red-shiny.png" "icons"))] [parent racketeer-panel] - [callback (λ () (change-current-lang-to (λ (x) (is-a? x drracket:module-language:module-language<%>))))]) + [callback (λ () (change-current-lang-to + (λ (x) (is-a? x drracket:module-language:module-language<%>))))]) (new canvas-message% (parent racketeer-panel) (label (string-constant use-language-in-source)) (color (send the-color-database find-color "blue")) - (callback (λ () (change-current-lang-to (λ (x) (is-a? x drracket:module-language:module-language<%>))))) + (callback (λ () (change-current-lang-to + (λ (x) (is-a? x drracket:module-language:module-language<%>))))) (font (get-font #:underlined #t)))) (define (display-text-pl lst)