anchor.diff:    (setf (slot-value win 'id) (create-sub-window (id (parent win)) 0 0 0 0))
     (call-next-method))
   
  -;;; For posterity:
  -;;;
  +;;;; For posterity
  +
   ;;; "This is quite ugly: OS X is very picky about which thread gets to handle
   ;;; events and only allows the main thread to do so. We need to run any event
   ;;; loops in the initial thread on multithreaded Lisps, or in this case,
  
positive.code: (defmethod close ((w base-window))
    (values))
  
  ;;;; Top-level Windows
  
  (defclass window (base-window)
  
negative.code:     (setq *id->window*
            (adjust-array *id->window* (1+ (id win)) :initial-element nil)))
    (setf (aref *id->window* (id win)) win)
    ;; setup tick timer
    (when (tick-interval win)
      (enable-tick win (tick-interval win)))
    (call-next-method))
  
  (defmethod display-window ((win base-window))
    (values))
  
  (defmethod enable-event ((window base-window) event-name)
    (let ((event (find-event-or-lose event-name)))
      (with-window window
        (register-callback event))
      (pushnew event (events window))
  