Update of /project/mcclim/cvsroot/mcclim/ESA In directory clnet:/tmp/cvs-serv25657/ESA
Modified Files: esa.lisp packages.lisp Log Message: Wrap up the last dead-key stuff for Drei gadgets.
--- /project/mcclim/cvsroot/mcclim/ESA/esa.lisp 2008/04/30 21:27:46 1.22 +++ /project/mcclim/cvsroot/mcclim/ESA/esa.lisp 2008/05/01 06:48:22 1.23 @@ -501,6 +501,18 @@ (setf (accumulated-gestures command-processor) nil) (signal 'abort-gesture :event gesture)))
+(defclass dead-key-merging-command-processor (command-processor) + ((%dead-key-state :accessor dead-key-state + :initform nil + :documentation "The state of dead key +handling as per `merging-dead-keys'.")) + (:documentation "Helper class useful for asynchronous command +processors, merges incoming dead keys with the following key.")) + +(defmethod process-gesture :around ((command-processor dead-key-merging-command-processor) gesture) + (merging-dead-keys (gesture (dead-key-state command-processor)) + (call-next-method command-processor gesture))) + (defclass command-loop-command-processor (command-processor) ((%command-table :reader command-table :initarg :command-table --- /project/mcclim/cvsroot/mcclim/ESA/packages.lisp 2008/04/29 20:52:05 1.19 +++ /project/mcclim/cvsroot/mcclim/ESA/packages.lisp 2008/05/01 06:48:22 1.20 @@ -65,7 +65,7 @@ #:add-default-modes #:remove-default-modes))
(defpackage :esa - (:use :clim-lisp :clim :esa-utils) + (:use :clim-lisp :clim :esa-utils :clim-extensions) (:export #:*esa-instance* #:buffers #:esa-current-buffer #:current-buffer #:windows #:esa-current-window #:current-window @@ -79,6 +79,7 @@ #:unbound-gesture-sequence #:gestures #:command-processor #:instant-macro-execution-mixin #:asynchronous-command-processor #:command-loop-command-processor + #:dead-key-merging-command-processor #:overriding-handler #:directly-processing-p #:process-gesture #:process-gestures-or-command #:command-for-unbound-gestures #:*extended-command-prompt* @@ -89,7 +90,6 @@ #:find-applicable-command-table #:esa-command-parser #:esa-partial-command-parser - #:handling-dead-keys
#:gesture-matches-gesture-name-p #:meta-digit #:proper-gesture-p