anchor.diff:  \(define-configuration buffer
     ((default-modes (append '(my-blocker-mode) %slot-default%))))"
     ((hostlists (list *default-hostlist*))
  -   (thread
  -    nil
  -    :type (or bt:thread null)
  -    :export nil
  -    :documentation "This thread is used to update the hostlists in the background.")
  -   (worker-channel
  -    nil
  -    :type (or calispel:channel null)
  -    :export nil
  -    :documentation "Communication channel between `thread' and `blocker-mode'.")
      (blocked-hosts
       (make-hash-table :test 'equal)
       :export nil
  -    :documentation "The set of domain names to block.")
  +    :documentation "The set of host names to block.")
      (destructor
       (lambda (mode)
  -      (destroy-thread* (thread mode))
         (when (web-buffer-p (buffer mode))
           (hooks:remove-hook (request-resource-hook (buffer mode))
                              'request-resource-block))))
      (constructor
       (lambda (mode)
  -      (setf (worker-channel mode) (nyxt::make-channel))
  -      (setf (thread mode)
  -            (run-thread "blocker-mode hostlist update worker"
  -              (worker mode)))
         (load-hostlists mode)
         (when (web-buffer-p (buffer mode))
           (if (request-resource-hook (buffer mode))
  
positive.code: (defparameter *default-hostlist*
    (make-instance 'hostlist
                   :url (quri:uri "https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts")
                   :basename "hostlist-stevenblack.txt")
    "Default hostlist for `blocker-mode'.")
  
  (define-mode blocker-mode ()
  
negative.code: 
  ;; TODO: Add convenient interface to block hosts depending on the current URL.
  
  (define-class hostlist (nfiles:data-file nyxt-file)
    ((url
      (quri:uri "")
      :type quri:uri
  