Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv6690
Modified Files: input-editing.lisp Log Message: Added support for CLIM 2.2-style `with-activation-gestures' and `with-delimiter-gestures'.
--- /project/mcclim/cvsroot/mcclim/input-editing.lisp 2006/12/12 22:32:40 1.54 +++ /project/mcclim/cvsroot/mcclim/input-editing.lisp 2006/12/12 22:36:32 1.55 @@ -63,12 +63,14 @@ (t existing-delimiter-gestures)))
(defmacro with-activation-gestures ((gestures &key override) &body body) - ;; XXX Guess this implies that gestures need to be defined at compile time. - ;; Sigh. - (let ((gesture-form (if (and (symbolp gestures) - (gethash gestures *gesture-names*)) - `(list ',gestures) - gestures)) + ;; XXX Guess this implies that gestures need to be defined at + ;; compile time. Sigh. We permit both CLIM 2.0-style gesture names + ;; and CLIM 2.2 style characters. + (let ((gesture-form (cond ((or (and (symbolp gestures) + (gethash gestures *gesture-names*)) + (characterp gestures)) + `(list ',gestures)) + (t gestures))) (gestures (gensym)) (override-var (gensym))) `(let* ((,gestures ,gesture-form) ;Preserve evaluation order of arguments @@ -81,15 +83,17 @@ ,@body)))
(defmacro with-delimiter-gestures ((gestures &key override) &body body) - ;; XXX Guess this implies that gestures need to be defined at compile time. - ;; Sigh. - (let ((gesture-form (if (and (symbolp gestures) - (gethash gestures *gesture-names*)) - `(list ',gestures) - gestures)) + ;; XXX Guess this implies that gestures need to be defined at + ;; compile time. Sigh. We permit both CLIM 2.0-style gesture names + ;; and CLIM 2.2 style characters. + (let ((gesture-form (cond ((or (and (symbolp gestures) + (gethash gestures *gesture-names*)) + (characterp gestures)) + `(list ',gestures)) + (t gestures))) (gestures (gensym)) (override-var (gensym))) - `(let* ((,gestures ,gesture-form) ;Preserve evaluation order of arguments + `(let* ((,gestures ,gesture-form) ;Preserve evaluation order of arguments (,override-var ,override) (*delimiter-gestures* (make-delimiter-gestures (if ,override-var