anchor.diff:  (defmethod process-destroy ((window qt-window))
     (window-delete window))
   
  -(serapeum:export-always 'ffi-window-delete)
   (defmethod ffi-window-delete ((window qt-window))
     "Delete a window object and remove it from the hash of windows.")
   
  
positive.code: ;;; renderer-qt.lisp --- functions for creating Qt interface onscreen
  
  (in-package :next)
  
  (define-condition unsupported-operation (error)
    ()
    (:report (lambda (c stream)
               (declare (ignore c))
               (format stream "~a" "Unsupported operation for this renderer."))))
  
  (defclass-export qt-browser (browser)
    ((application :accessor application)))
  
negative.code:   (qt:widget-show (qt-object buffer))
    (setf (active-buffer window) buffer))
  
  (defmethod ffi-window-set-minibuffer-height ((window qt-window) height)
    (qt:widget-set-fixed-height (minibuffer-view window) height))
  
  (defmethod ffi-buffer-make ((browser qt-browser) &key title default-modes)
    "Make buffer with title TITLE and modes DEFAULT-MODES."
    (apply #'make-instance *buffer-class*
           (append (when title `(:title ,title))
                   (when default-modes `(:default-modes ,default-modes)))))
  
  (defmethod ffi-buffer-delete ((buffer qt-buffer)))
  
  (defmethod ffi-buffer-load ((buffer qt-buffer) uri)
    (qt:web-engine-view-load (qt-object buffer) uri))
  
  (defmethod ffi-buffer-evaluate-javascript ((buffer qt-buffer) javascript &key callback)
    (qt:web-engine-page-run-javascript (qt:web-engine-view-page (qt-object buffer)) javascript callback))
  
  (defmethod ffi-minibuffer-evaluate-javascript ((window qt-window) javascript &key callback)
    (qt:web-engine-page-run-javascript (qt:web-engine-view-page (minibuffer-view window)) javascript callback))
  
  (defmethod ffi-generate-input-event ((window qt-window) event))
  
  (defmethod ffi-generated-input-event-p ((window qt-window) event))
  