anchor.diff:      `(let ((,sc (compile-shortcut ',key)))
          (pushnew (cons ,sc #'(lambda () ,@body)) *shortcuts* :test #'equal :key #'car))))
   
  -(defun have-focus ()
  +(defun has-focus ()
     "Return a window (or list of) where the focus is."
     (let ((w (input-focus *display*)))
       (find w *windows* :test #'win=)))
  
positive.code:         ((and (listp a) (listp b))
           (loop for w in a thereis (win= w b)))))
  
  (defun next (&optional (way #'1+))
    (when *windows*
      (let* ((cw (input-focus *display*))
             (ncw (or (position-if #'(lambda (w) (win= w cw)) *windows*) 0))
             (n (length *windows*))
             (next (mod (funcall way ncw) n)))
        (focus (nth next *windows*)))))
  
  (defun flast ()
    (if *last*
        (focus *last*)
        (setf *last* (have-focus))))
  
  (defparameter *groupers* (list 
                            #'(lambda (w) 
  
negative.code: (defun focus-1 (window)
    (when (eql (window-map-state window) :viewable)
      (setf (window-priority window) :above)
      (set-input-focus *display* window :pointer-root)))
  
  (defun focus (window)
    (setf *last* (has-focus))
    (if (listp window)
        (dolist (w window) (focus-1 w))
        (focus-1 window))
    (display-finish-output *display*))
  
  (defun win= (a b)
    (cond ((and (window-p a) (window-p b))
  