port keys.rkt to avoid separate mred process and racy frame
top-level window stuff that drdr doesn't like
This commit is contained in:
parent
6b2ff36cc9
commit
757a3c2463
|
@ -53,7 +53,7 @@ signal failures when there aren't any.
|
||||||
- texts: text.rkt -- now runs directly via raco test.
|
- texts: text.rkt -- now runs directly via raco test.
|
||||||
- pasteboards: |# pasteboard.rkt #|
|
- pasteboards: |# pasteboard.rkt #|
|
||||||
|
|
||||||
- keybindings: |# keys.rkt #|
|
- keybindings: keys.rkt -- now runs directly via raco test.
|
||||||
|
|
||||||
| This tests the misc (non-scheme) keybindings
|
| This tests the misc (non-scheme) keybindings
|
||||||
|
|
||||||
|
|
|
@ -1,40 +1,24 @@
|
||||||
#lang racket/base
|
#lang racket/gui
|
||||||
|
(require framework rackunit)
|
||||||
|
|
||||||
(require "test-suite-utils.rkt")
|
(check-equal?
|
||||||
|
(let ([k (make-object keymap:aug-keymap%)])
|
||||||
(module test racket/base)
|
|
||||||
|
|
||||||
(test
|
|
||||||
'keymap:aug-keymap%/get-table
|
|
||||||
(lambda (x)
|
|
||||||
(equal? '((c:k "abc")) x))
|
|
||||||
(lambda ()
|
|
||||||
(queue-sexp-to-mred
|
|
||||||
'(let ([k (make-object keymap:aug-keymap%)])
|
|
||||||
(send k add-function "abc" void)
|
(send k add-function "abc" void)
|
||||||
(send k map-function "c:k" "abc")
|
(send k map-function "c:k" "abc")
|
||||||
(hash-map (send k get-map-function-table) list)))))
|
(hash-map (send k get-map-function-table) list))
|
||||||
|
'((c:k "abc")))
|
||||||
|
|
||||||
(test
|
(check-equal?
|
||||||
'keymap:aug-keymap%/get-table/ht
|
(let ([k (make-object keymap:aug-keymap%)]
|
||||||
(lambda (x)
|
|
||||||
(equal? x '((c:k "def"))))
|
|
||||||
(lambda ()
|
|
||||||
(queue-sexp-to-mred
|
|
||||||
'(let ([k (make-object keymap:aug-keymap%)]
|
|
||||||
[ht (make-hasheq)])
|
[ht (make-hasheq)])
|
||||||
(send k add-function "abc" void)
|
(send k add-function "abc" void)
|
||||||
(send k map-function "c:k" "abc")
|
(send k map-function "c:k" "abc")
|
||||||
(hash-set! ht 'c:k "def")
|
(hash-set! ht 'c:k "def")
|
||||||
(hash-map (send k get-map-function-table/ht ht) list)))))
|
(hash-map (send k get-map-function-table/ht ht) list))
|
||||||
|
'((c:k "def")))
|
||||||
|
|
||||||
(test
|
(check-equal?
|
||||||
'keymap:aug-keymap%/get-table/chain1
|
(let ([k (make-object keymap:aug-keymap%)]
|
||||||
(lambda (x)
|
|
||||||
(equal? x '((c:k "abc-k2"))))
|
|
||||||
(lambda ()
|
|
||||||
(queue-sexp-to-mred
|
|
||||||
'(let ([k (make-object keymap:aug-keymap%)]
|
|
||||||
[k1 (make-object keymap:aug-keymap%)]
|
[k1 (make-object keymap:aug-keymap%)]
|
||||||
[k2 (make-object keymap:aug-keymap%)])
|
[k2 (make-object keymap:aug-keymap%)])
|
||||||
(send k1 add-function "abc-k1" void)
|
(send k1 add-function "abc-k1" void)
|
||||||
|
@ -43,60 +27,44 @@
|
||||||
(send k2 map-function "c:k" "abc-k2")
|
(send k2 map-function "c:k" "abc-k2")
|
||||||
(send k chain-to-keymap k1 #t)
|
(send k chain-to-keymap k1 #t)
|
||||||
(send k chain-to-keymap k2 #t)
|
(send k chain-to-keymap k2 #t)
|
||||||
(hash-map (send k get-map-function-table) list)))))
|
(hash-map (send k get-map-function-table) list))
|
||||||
|
'((c:k "abc-k2")))
|
||||||
|
|
||||||
(test
|
(check-equal?
|
||||||
'keymap:aug-keymap%/get-table/chain/2
|
(let ([k (make-object keymap:aug-keymap%)]
|
||||||
(lambda (x)
|
|
||||||
(equal? x '((c:k "abc-k"))))
|
|
||||||
(lambda ()
|
|
||||||
(queue-sexp-to-mred
|
|
||||||
'(let ([k (make-object keymap:aug-keymap%)]
|
|
||||||
[k1 (make-object keymap:aug-keymap%)])
|
[k1 (make-object keymap:aug-keymap%)])
|
||||||
(send k1 add-function "abc-k1" void)
|
(send k1 add-function "abc-k1" void)
|
||||||
(send k1 map-function "c:k" "abc-k1")
|
(send k1 map-function "c:k" "abc-k1")
|
||||||
(send k add-function "abc-k" void)
|
(send k add-function "abc-k" void)
|
||||||
(send k map-function "c:k" "abc-k")
|
(send k map-function "c:k" "abc-k")
|
||||||
(send k chain-to-keymap k1 #t)
|
(send k chain-to-keymap k1 #t)
|
||||||
(hash-map (send k get-map-function-table) list)))))
|
(hash-map (send k get-map-function-table) list))
|
||||||
|
'((c:k "abc-k")))
|
||||||
|
|
||||||
(test
|
(check-equal?
|
||||||
'keymap:aug-keymap%/get-table/normalize-case
|
(let ([k (make-object keymap:aug-keymap%)]
|
||||||
(lambda (x)
|
|
||||||
(equal? x '((|esc;p| "abc-k2"))))
|
|
||||||
(lambda ()
|
|
||||||
(queue-sexp-to-mred
|
|
||||||
'(let ([k (make-object keymap:aug-keymap%)]
|
|
||||||
[k1 (make-object keymap:aug-keymap%)])
|
[k1 (make-object keymap:aug-keymap%)])
|
||||||
(send k1 add-function "abc-k1" void)
|
(send k1 add-function "abc-k1" void)
|
||||||
(send k1 map-function "esc;p" "abc-k1")
|
(send k1 map-function "esc;p" "abc-k1")
|
||||||
(send k add-function "abc-k2" void)
|
(send k add-function "abc-k2" void)
|
||||||
(send k map-function "ESC;p" "abc-k2")
|
(send k map-function "ESC;p" "abc-k2")
|
||||||
(send k chain-to-keymap k1 #t)
|
(send k chain-to-keymap k1 #t)
|
||||||
(hash-map (send k get-map-function-table) list)))))
|
(hash-map (send k get-map-function-table) list))
|
||||||
|
'((|esc;p| "abc-k2")))
|
||||||
|
|
||||||
(test
|
(check-equal?
|
||||||
'keymap:aug-keymap%/all-but-last-bug
|
(let ([k (make-object keymap:aug-keymap%)])
|
||||||
(lambda (x)
|
|
||||||
(equal? x '((s:a "shift-ah") (s:m "shift-em"))))
|
|
||||||
(lambda ()
|
|
||||||
(queue-sexp-to-mred
|
|
||||||
'(let ([k (make-object keymap:aug-keymap%)])
|
|
||||||
(send k add-function "shift-em" void)
|
(send k add-function "shift-em" void)
|
||||||
(send k add-function "shift-ah" void)
|
(send k add-function "shift-ah" void)
|
||||||
(send k map-function "s:m" "shift-em")
|
(send k map-function "s:m" "shift-em")
|
||||||
(send k map-function "s:a" "shift-ah")
|
(send k map-function "s:a" "shift-ah")
|
||||||
(sort (hash-map (send k get-map-function-table) list)
|
(sort (hash-map (send k get-map-function-table) list)
|
||||||
string<?
|
string<?
|
||||||
#:key (lambda (x) (format "~s" x)))))))
|
#:key (lambda (x) (format "~s" x))))
|
||||||
|
'((s:a "shift-ah") (s:m "shift-em")))
|
||||||
|
|
||||||
(test
|
(check-equal?
|
||||||
'keymap:aug-keymap%/longer-name
|
(let ()
|
||||||
(lambda (x)
|
|
||||||
(equal? x '((|c:x;r| "swap if branches"))))
|
|
||||||
(lambda ()
|
|
||||||
(queue-sexp-to-mred
|
|
||||||
'(let ()
|
|
||||||
(define k0 (new keymap:aug-keymap%))
|
(define k0 (new keymap:aug-keymap%))
|
||||||
(define k1 (new keymap:aug-keymap%))
|
(define k1 (new keymap:aug-keymap%))
|
||||||
(define k2 (new keymap:aug-keymap%))
|
(define k2 (new keymap:aug-keymap%))
|
||||||
|
@ -108,60 +76,51 @@
|
||||||
(send k0 chain-to-keymap k2 #t)
|
(send k0 chain-to-keymap k2 #t)
|
||||||
(sort (hash-map (send k0 get-map-function-table) list)
|
(sort (hash-map (send k0 get-map-function-table) list)
|
||||||
string<?
|
string<?
|
||||||
#:key (lambda (x) (format "~s" x)))))))
|
#:key (lambda (x) (format "~s" x))))
|
||||||
|
'((|c:x;r| "swap if branches")))
|
||||||
|
|
||||||
(define (test-canonicalize name str1 str2)
|
(check-equal? (keymap:canonicalize-keybinding-string "c:a") "c:a")
|
||||||
(test
|
(check-equal? (keymap:canonicalize-keybinding-string "d:a") "d:a")
|
||||||
(string->symbol (format "keymap:canonicalize-keybinding-string/~a" name))
|
(check-equal? (keymap:canonicalize-keybinding-string "m:a") "m:a")
|
||||||
(lambda (x)
|
(check-equal? (keymap:canonicalize-keybinding-string "a:a") "a:a")
|
||||||
(string=? x str2))
|
(check-equal? (keymap:canonicalize-keybinding-string "s:a") "s:a")
|
||||||
(lambda ()
|
(check-equal? (keymap:canonicalize-keybinding-string "c:a") "c:a")
|
||||||
(queue-sexp-to-mred
|
(check-equal? (keymap:canonicalize-keybinding-string "s:m:d:c:a:a") "a:c:d:m:s:a")
|
||||||
`(keymap:canonicalize-keybinding-string ,str1)))))
|
(check-equal? (keymap:canonicalize-keybinding-string "~s:~m:~d:~c:~a:a") "~a:~c:~d:~m:~s:a")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string ":a") "~a:~c:~d:~m:~s:a")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string ":d:a") "~a:~c:d:~m:~s:a")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string "esc;s:a") "esc;s:a")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string "s:a;esc") "s:a;esc")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string "ESC;p") "esc;p")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string "?:a:v") "?:a:v")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string "a:?:v") "?:a:v")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string "l:v") "l:v")
|
||||||
|
(check-equal? (keymap:canonicalize-keybinding-string "c:l:v") "c:l:v")
|
||||||
|
|
||||||
(test-canonicalize 1 "c:a" "c:a")
|
;; a key-spec is (make-key-spec buff-spec buff-spec (listof ?) (listof ?) (listof ?))
|
||||||
(test-canonicalize 2 "d:a" "d:a")
|
;; a key-spec represents a test case for a key; 'before' contains the
|
||||||
(test-canonicalize 3 "m:a" "m:a")
|
;; content of a buffer, and 'after' represents the desired content of the
|
||||||
(test-canonicalize 4 "a:a" "a:a")
|
;; buffer after the keypress. The keypress(es) in question are specified
|
||||||
(test-canonicalize 5 "s:a" "s:a")
|
;; independently for the three platforms by the respective 'macos', 'unix',
|
||||||
(test-canonicalize 6 "c:a" "c:a")
|
;; and 'windows' fields.
|
||||||
(test-canonicalize 7 "s:m:d:c:a:a" "a:c:d:m:s:a")
|
(define-struct key-spec (before after macos unix windows) #:prefab)
|
||||||
(test-canonicalize 8 "~s:~m:~d:~c:~a:a" "~a:~c:~d:~m:~s:a")
|
|
||||||
(test-canonicalize 9 ":a" "~a:~c:~d:~m:~s:a")
|
|
||||||
(test-canonicalize 10 ":d:a" "~a:~c:d:~m:~s:a")
|
|
||||||
(test-canonicalize 11 "esc;s:a" "esc;s:a")
|
|
||||||
(test-canonicalize 12 "s:a;esc" "s:a;esc")
|
|
||||||
(test-canonicalize 13 "ESC;p" "esc;p")
|
|
||||||
(test-canonicalize 14 "?:a:v" "?:a:v")
|
|
||||||
(test-canonicalize 15 "a:?:v" "?:a:v")
|
|
||||||
(test-canonicalize 16 "l:v" "l:v")
|
|
||||||
(test-canonicalize 17 "c:l:v" "c:l:v")
|
|
||||||
|
|
||||||
|
;; an abstraction to use when all platforms have the same sequence of keys
|
||||||
;; a key-spec is (make-key-spec buff-spec buff-spec (listof ?) (listof ?) (listof ?))
|
(define (make-key-spec/allplatforms before after keys)
|
||||||
;; a key-spec represents a test case for a key; 'before' contains the
|
|
||||||
;; content of a buffer, and 'after' represents the desired content of the
|
|
||||||
;; buffer after the keypress. The keypress(es) in question are specified
|
|
||||||
;; independently for the three platforms by the respective 'macos', 'unix',
|
|
||||||
;; and 'windows' fields.
|
|
||||||
(define-struct key-spec (before after macos unix windows) #:prefab)
|
|
||||||
|
|
||||||
;; an abstraction to use when all platforms have the same sequence of keys
|
|
||||||
(define (make-key-spec/allplatforms before after keys)
|
|
||||||
(make-key-spec before after keys keys keys))
|
(make-key-spec before after keys keys keys))
|
||||||
|
|
||||||
;; a buff-spec is (make-buff-spec string nat nat)
|
;; a buff-spec is (make-buff-spec string nat nat)
|
||||||
;; a buff-spec represents a buffer state; the content of the buffer,
|
;; a buff-spec represents a buffer state; the content of the buffer,
|
||||||
;; and the start and end of the highlighted region.
|
;; and the start and end of the highlighted region.
|
||||||
;; the overwrite? field specifies if the overwrite mode is enabled during the test
|
;; the overwrite? field specifies if the overwrite mode is enabled during the test
|
||||||
;; (its value is ignored for the result checking)
|
;; (its value is ignored for the result checking)
|
||||||
(define-struct buff-spec (string start end overwrite?) #:prefab)
|
(define-struct buff-spec (string start end overwrite?) #:prefab)
|
||||||
|
|
||||||
(define (build-buff-spec string start end #:overwrite? [overwrite? #f])
|
(define (build-buff-spec string start end #:overwrite? [overwrite? #f])
|
||||||
(make-buff-spec string start end overwrite?))
|
(make-buff-spec string start end overwrite?))
|
||||||
|
|
||||||
;; the keybindings test cases applied to frame:text% editors
|
;; the keybindings test cases applied to frame:text% editors
|
||||||
(define global-specs
|
(define global-specs
|
||||||
(list
|
(list
|
||||||
(make-key-spec (build-buff-spec "abc" 1 1)
|
(make-key-spec (build-buff-spec "abc" 1 1)
|
||||||
(build-buff-spec "abc" 2 2)
|
(build-buff-spec "abc" 2 2)
|
||||||
|
@ -200,7 +159,7 @@
|
||||||
(build-buff-spec "⊆" 1 1)
|
(build-buff-spec "⊆" 1 1)
|
||||||
'(((#\\ control) (#\e) (#\\ control))))))
|
'(((#\\ control) (#\e) (#\\ control))))))
|
||||||
|
|
||||||
(define (build-open-bracket-spec str pos char)
|
(define (build-open-bracket-spec str pos char)
|
||||||
(make-key-spec (build-buff-spec str pos pos)
|
(make-key-spec (build-buff-spec str pos pos)
|
||||||
(build-buff-spec
|
(build-buff-spec
|
||||||
(string-append (substring str 0 pos)
|
(string-append (substring str 0 pos)
|
||||||
|
@ -212,13 +171,13 @@
|
||||||
(list (list (list #\[)))
|
(list (list (list #\[)))
|
||||||
(list (list (list #\[)))))
|
(list (list (list #\[)))))
|
||||||
|
|
||||||
(define (ascii-art-box-spec before after)
|
(define (ascii-art-box-spec before after)
|
||||||
(make-key-spec/allplatforms (build-buff-spec before 0 0)
|
(make-key-spec/allplatforms (build-buff-spec before 0 0)
|
||||||
(build-buff-spec after 0 0)
|
(build-buff-spec after 0 0)
|
||||||
(list '((#\x control) (#\r) (#\a)))))
|
(list '((#\x control) (#\r) (#\a)))))
|
||||||
|
|
||||||
;; the keybindings test cases applied to racket:text% editors
|
;; the keybindings test cases applied to racket:text% editors
|
||||||
(define scheme-specs
|
(define scheme-specs
|
||||||
(list
|
(list
|
||||||
(make-key-spec (build-buff-spec "(abc (def))" 4 4)
|
(make-key-spec (build-buff-spec "(abc (def))" 4 4)
|
||||||
(build-buff-spec "(abc (def))" 10 10)
|
(build-buff-spec "(abc (def))" 10 10)
|
||||||
|
@ -394,7 +353,7 @@
|
||||||
"║ ║ ║\n"
|
"║ ║ ║\n"
|
||||||
"╚═╩═╝\n"))))
|
"╚═╩═╝\n"))))
|
||||||
|
|
||||||
(define automatic-scheme-specs
|
(define automatic-scheme-specs
|
||||||
(list (make-key-spec/allplatforms (build-buff-spec "" 0 0)
|
(list (make-key-spec/allplatforms (build-buff-spec "" 0 0)
|
||||||
(build-buff-spec "()" 1 1)
|
(build-buff-spec "()" 1 1)
|
||||||
'(((#\())))
|
'(((#\())))
|
||||||
|
@ -411,74 +370,88 @@
|
||||||
(build-buff-spec "||" 1 1)
|
(build-buff-spec "||" 1 1)
|
||||||
'(((#\|))))))
|
'(((#\|))))))
|
||||||
|
|
||||||
(queue-sexp-to-mred `(send (make-object frame:basic% "dummy to trick frame group") show #t))
|
(define (queue-callback/wait t)
|
||||||
(wait-for-frame "dummy to trick frame group")
|
(define c (make-channel))
|
||||||
|
(queue-callback (λ () (channel-put c (t))))
|
||||||
|
(channel-get c))
|
||||||
|
|
||||||
;; test-key : key-spec ->
|
(define (test-specs frame-name frame-class specs)
|
||||||
;; evaluates a test case represented as a key-spec
|
(define f #f)
|
||||||
(define (test-key key-spec i)
|
(queue-callback/wait
|
||||||
(let* ([key-sequences
|
(λ ()
|
||||||
|
(set! f (make-object frame-class frame-name))
|
||||||
|
(send f show #t)))
|
||||||
|
|
||||||
|
(for ([key-spec (in-list specs)]
|
||||||
|
[i (in-naturals)])
|
||||||
|
(define key-sequences
|
||||||
((case (system-type)
|
((case (system-type)
|
||||||
[(macos macosx) key-spec-macos]
|
[(macos macosx) key-spec-macos]
|
||||||
[(unix) key-spec-unix]
|
[(unix) key-spec-unix]
|
||||||
[(windows) key-spec-windows])
|
[(windows) key-spec-windows])
|
||||||
key-spec)]
|
key-spec))
|
||||||
[before (key-spec-before key-spec)]
|
(define before (key-spec-before key-spec))
|
||||||
[after (key-spec-after key-spec)]
|
(define after (key-spec-after key-spec))
|
||||||
[process-key-sequence
|
(for ([key-sequence (in-list key-sequences)])
|
||||||
(lambda (key-sequence)
|
(define text-expect (buff-spec-string after))
|
||||||
(let ([text-expect (buff-spec-string after)]
|
(define start-expect (buff-spec-start after))
|
||||||
[start-expect (buff-spec-start after)]
|
(define end-expect (buff-spec-end after))
|
||||||
[end-expect (buff-spec-end after)])
|
(queue-callback
|
||||||
(test (list key-sequence i)
|
(λ ()
|
||||||
(lambda (x) (equal? x (vector text-expect start-expect end-expect)))
|
(define frame (test:get-active-top-level-window))
|
||||||
`(let* ([qc (λ (t) (let ([c (make-channel)])
|
(define text (send frame get-editor))
|
||||||
(queue-callback (λ () (channel-put c (t))))
|
(send text set-overwrite-mode (buff-spec-overwrite? before))
|
||||||
(channel-get c)))]
|
|
||||||
[text (qc (λ () (send (get-top-level-focus-window) get-editor)))])
|
|
||||||
(qc (λ ()
|
|
||||||
(send text set-overwrite-mode ,(buff-spec-overwrite? before))
|
|
||||||
(send text erase)
|
(send text erase)
|
||||||
(send text insert ,(buff-spec-string before))
|
(send text insert (buff-spec-string before))
|
||||||
(send text set-position ,(buff-spec-start before) ,(buff-spec-end before))))
|
(send text set-position (buff-spec-start before) (buff-spec-end before))))
|
||||||
,@(map (lambda (key) `(test:keystroke ',(car key) ',(cdr key)))
|
(for ([key (in-list key-sequence)])
|
||||||
key-sequence)
|
(test:keystroke (car key) (cdr key)))
|
||||||
(qc (λ ()
|
(check-equal?
|
||||||
|
(queue-callback/wait
|
||||||
|
(λ ()
|
||||||
|
(define frame (test:get-active-top-level-window))
|
||||||
|
(define text (send frame get-editor))
|
||||||
(vector (send text get-text)
|
(vector (send text get-text)
|
||||||
(send text get-start-position)
|
(send text get-start-position)
|
||||||
(send text get-end-position))))))))])
|
(send text get-end-position))))
|
||||||
(for-each process-key-sequence key-sequences)))
|
(vector text-expect start-expect end-expect)
|
||||||
|
(~s (list key-sequence i)))))
|
||||||
|
(queue-callback/wait (λ () (send f close))))
|
||||||
|
|
||||||
|
(let ([pref-ht (make-hash)])
|
||||||
|
(parameterize ([test:use-focus-table #t]
|
||||||
|
[preferences:low-level-get-preference
|
||||||
|
(λ (sym [fail (λ () #f)])
|
||||||
|
(hash-ref pref-ht sym fail))]
|
||||||
|
[preferences:low-level-put-preferences
|
||||||
|
(λ (syms vals)
|
||||||
|
(for ([sym (in-list syms)]
|
||||||
|
[val (in-list vals)])
|
||||||
|
(hash-set! pref-ht sym val)))])
|
||||||
|
;; needs to be inside the test:use-focus-table setting
|
||||||
|
(parameterize ([current-eventspace (make-eventspace)])
|
||||||
|
|
||||||
(define (test-specs frame-name frame-class specs)
|
(define dummy #f)
|
||||||
(queue-sexp-to-mred `(send (make-object ,frame-class ,frame-name) show #t))
|
(queue-callback
|
||||||
(wait-for-frame frame-name)
|
(λ ()
|
||||||
(for ([spec (in-list specs)]
|
(set! dummy (make-object frame:basic% "dummy to trick frame group"))
|
||||||
[i (in-naturals)])
|
(send dummy show #t)))
|
||||||
(test-key spec i))
|
|
||||||
(queue-sexp-to-mred `(send (get-top-level-focus-window) close)))
|
|
||||||
|
|
||||||
(define old-paren-adjusting-prefs
|
(preferences:set 'framework:fixup-open-parens #t)
|
||||||
(queue-sexp-to-mred `(list (preferences:get 'framework:fixup-open-parens)
|
(preferences:set 'framework:automatic-parens #f)
|
||||||
(preferences:get 'framework:automatic-parens))))
|
(test-specs "global keybindings test" frame:text% global-specs)
|
||||||
|
(test-specs "racket mode keybindings test"
|
||||||
|
(class frame:editor%
|
||||||
(queue-sexp-to-mred `(preferences:set 'framework:fixup-open-parens #t))
|
|
||||||
(queue-sexp-to-mred `(preferences:set 'framework:automatic-parens #f))
|
|
||||||
(test-specs "global keybindings test" 'frame:text% global-specs)
|
|
||||||
(test-specs "scheme mode keybindings test"
|
|
||||||
'(class frame:editor%
|
|
||||||
(define/override (get-editor%) racket:text%)
|
(define/override (get-editor%) racket:text%)
|
||||||
(super-new))
|
(super-new))
|
||||||
scheme-specs)
|
scheme-specs)
|
||||||
(queue-sexp-to-mred `(preferences:set 'framework:automatic-parens #t))
|
|
||||||
(queue-sexp-to-mred `(preferences:set 'framework:fixup-open-parens #f))
|
(preferences:set 'framework:automatic-parens #t)
|
||||||
(test-specs "scheme mode automatic-parens on keybindings test"
|
(preferences:set 'framework:fixup-open-parens #f)
|
||||||
'(class frame:editor%
|
(test-specs "racket mode automatic-parens on keybindings test"
|
||||||
|
(class frame:editor%
|
||||||
(define/override (get-editor%) racket:text%)
|
(define/override (get-editor%) racket:text%)
|
||||||
(super-new))
|
(super-new))
|
||||||
automatic-scheme-specs)
|
automatic-scheme-specs)
|
||||||
|
|
||||||
(queue-sexp-to-mred
|
(queue-callback (λ () (send dummy show #f))))))
|
||||||
`(begin (preferences:set 'framework:fixup-open-parens ,(list-ref old-paren-adjusting-prefs 0))
|
|
||||||
(preferences:set 'framework:automatic-parens ,(list-ref old-paren-adjusting-prefs 1))))
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user