anchor.diff:          (cons state k))))
   (defun state (l) (car l))
   (defun code (l) (cdr l))
  +(defun sc= (sc state code) (and (= (code sc) code) (= (state sc) state)))
   
   (defparameter *shortcuts*
     (list (cons (compile-shortcut '(:shift #\q)) 'quit))
  
positive.code:   (event-case (*display*)
      (:key-press (code state)
                  (cond ((is-modifier code) (one-char))
                        ((and (= state (state *abort*)) (= code (code *abort*))))
                        (t (keycode->character *display* code state))))))
  
  (defun recapp (pos list)
  
negative.code:                                      ((eq fn 'quit) (loop-finish))))))
                           (ungrab-keyboard *display*)
                           (setf waiting-shortcut nil)))
                        ((sc= *prefix* state code)
                         (grab-keyboard *root*)
                         (setf waiting-shortcut t))))
                 (:button-press
                  (code state child)
                  (when (and child (eql (window-override-redirect child) :off))
                    (cond ((sc= *kill* state code)
                           (kill-client *display* (window-id child)))
                          (t
                           (setf last-button code)
                           (grab-pointer child '(:pointer-motion :button-release))
                           (when (sc= *resize* state code)
                             (warp-pointer child (drawable-width child)
                                           (drawable-height child)))
                           (let ((lst (multiple-value-list (query-pointer *root*))))
  