anchor.diff:  
   (defvar update-lock (bt:make-lock))
   
  +(defmethod update-hostlist-with-lock ((hostlist hostlist))
  +  (bt:make-thread
  +   (lambda ()
  +     (when (bt:acquire-lock update-lock nil)
  +       (update hostlist)
  +       (bt:release-lock update-lock)))))
  +
   (defmethod read-hostlist ((hostlist hostlist))
     "Return hostlist file as a string.
   Return nil if hostlist file is not ready yet.
  
positive.code:   (when (or (not (uiop:file-exists-p (expand-path (path hostlist))))
              (< (update-interval hostlist)
                 (- (get-universal-time) (uiop:safe-file-write-date (expand-path (path hostlist))))))
      (bt:make-thread
       (lambda ()
         (when (bt:acquire-lock update-lock nil)
           (update hostlist)
           (bt:release-lock update-lock)))))
    (handler-case
        (uiop:read-file-string (expand-path (path hostlist)))
      (error ()
  
negative.code:   (delete 'nyxt/blocker-mode::hostlists
            (mapcar #'closer-mop:slot-definition-name
                    (closer-mop:class-slots (class-of object)))))
  
  (define-command update-hostlists ()
    "Forces update for all the hostlists of `blocker-mode'."
    (let ((blocker-mode (find-mode (current-buffer) 'blocker-mode)))
      (dolist (hostlist (hostlists blocker-mode))
        (update-hostlist-with-lock hostlist))
      (echo "Hostlists updated.")))
  