anchor.diff:                                    :documentation "Hook run before `rpc-window-set-active-buffer' takes effect.
   The handlers take the window and the buffer as argument.")
      (window-delete-hook :accessor window-delete-hook :initform '() :type list
  -                       :documentation "Hook run before `rpc-window-delete' takes effect.
  +                       :documentation "Hook run after `rpc-window-delete' takes effect.
   The handlers take the window as argument.")))
   
   @export
  
positive.code: @export
  (defun rpc-window-delete (window)
    "Delete a window object and remove it from the hash of windows.
  Run INTERFACE's `window-delete-hook' over WINDOW before deleting it."
    (hooks:run-hook (hooks:object-hook window 'window-delete-hook) window)
    (%rpc-send "window_delete" (id window))
    (remhash (id window) (windows *interface*)))
  
  @export
  (defun rpc-window-active ()
  
negative.code:     ()
    (:interface +core-interface+)
    (:name "window_will_close")
    (let* ((windows (windows *interface*))
           (window (gethash window-id windows)))
      (log:debug "Closing window ID ~a (new total: ~a)" window-id
                 (1- (hash-table-count windows)))
      (hooks:run-hook (hooks:object-hook window 'window-delete-hook)
                      window)
      (remhash window-id windows))
    (values))
  
  