anchor.diff:  
   (defmacro defhandler (event keys &body body)
     (let ((fn-name (gensym (symbol-name event)))
  -	(event-slots (gensym)))
  +        (event-slots (gensym)))
       `(labels ((,fn-name (&rest ,event-slots &key ,@keys &allow-other-keys)
  -		(declare (ignore ,event-slots))
  -		,@body))
  +                (declare (ignore ,event-slots))
  +                ,@body))
          (setf (elt *handlers* (position ,event xlib::*event-key-vector*)) #',fn-name))))
   
   (defun xclass (window) (multiple-value-bind (name class)
  
positive.code:   (let ((win (find (if class class (x11-capitalize program))
                     *windows* :test #'string-equal :key #'xclass)))
      (if win
  	(focus win)
  	(run program))))
  
  (defun send-message (window type &rest data)
    (xlib:send-event window :client-message nil :window window
  
negative.code: states. Use :inverse-p key to ungrab."
    (let ((code (code shortcut)))
      (if (< code 4)                      ;it's a mouse button
          (if inverse-p
              (dolist (s (states shortcut))
                (xlib:ungrab-button *root* code :modifiers s))
              (dolist (s (states shortcut))
  