anchor.diff:    (shadow '(cl:special cl:close)))
   
   (export '(;; events / GFs
  -          timer idle keyboard special reshape visibility display mouse
  +          idle keyboard special reshape visibility display mouse
             motion passive-motion entry menu-state spaceball-motion
             spaceball-rotate spaceball-button button-box dials tablet-motion
             tablet-button menu-status overlay-display window-status keyboard-up
             special-up joystick mouse-wheel close wm-close menu-destroy
  -          enable-event disable-event display-window
  +          enable-event disable-event display-window tick
             ;; classes
             base-window window sub-window
             ;; accessors
             title name id events parent pos-x pos-y width height mode
             ;; other functions and macros
             display-window find-window with-window destroy-current-window
  +          schedule-timer enable-tick disable-tick
             ;; specials
             *run-main-loop-after-display*))
   
  
positive.code: (defmethod close ((w base-window))
    (values))
  
  ;;;; Top-level Windows
  
  (defclass window (base-window)
  
negative.code:    (height :accessor height :initarg :height :initform 300)
     (width  :accessor width  :initarg :width  :initform 300)
     (title  :accessor title  :initarg :title  :initform +default-title+)
     (tick-interval :accessor tick-interval :initarg :tick-interval :initform nil)
     ;; When this slot unbound, DISPLAY-WINDOW calls
     ;; FIND-APPLICABLE-EVENTS to populate it.
     (events :accessor events :initarg :events)))
  