fix problem with keymap chaining and prefix bindings

svn: r14513
This commit is contained in:
Matthew Flatt 2009-04-14 16:38:37 +00:00
parent 6082e6a9c3
commit 0f9cb4882d

View File

@ -473,12 +473,14 @@
(for/fold ([r 0])
([c (in-list chain-to)]
#:when (r . <= . 0))
(let ([r (send c chain-handle-key-event obj event grab try-prefixed? score)])
(if (r . > . 0)
(let ([r2 (send c chain-handle-key-event obj event grab try-prefixed? score)])
(if (r2 . > . 0)
(begin
(reset)
r)
r))))
r2)
(if (r2 . < . 0)
r2
r)))))
(define/public (chain-handle-key-event obj event grab only-prefixed? score)
;; results: 0 = no match, 1 = match, -1 = matched prefix