anchor.diff:      (hooks:remove-hook (request-resource-hook (buffer mode))
                          'request-resource-block)))
   
  -(defmethod files:write-file ((profile nyxt-profile) (hostlist hostlist) &key &allow-other-keys)
  -  "Download the hostlist file if it has a URL."
  -  (when (url-body hostlist)
  -    (let ((path (files:expand hostlist)))
  -      (uiop:with-staging-pathname (destination path)
  -        (alex:write-string-into-file (url-body hostlist) destination :if-exists :supersede)))))
  -
  -(defmethod files:read-file :around ((profile nyxt-profile) (hostlist hostlist) &key)
  -  ;; Must be an `:around' method so that the `files:file' specialization which
  -  ;; does file existence check is not called.
  -  "Fetch HOSTLIST file from its `url' and save it on disk.
  -If file is already on disk and younger then `update-interval', load it instead of fetching online."
  -  (let ((path (files:expand hostlist)))
  -    (cond
  -      ((and (not (url-empty-p (url hostlist)))
  -            (or (force-update-p hostlist)
  -                (uiop:emptyp (url-body hostlist))
  -                (< (update-interval hostlist)
  -                   (- (get-universal-time) (last-update hostlist))))
  -            (or (force-update-p hostlist)
  -                (not (uiop:file-exists-p path))
  -                (< (update-interval hostlist)
  -                   (- (get-universal-time) (uiop:safe-file-write-date path)))))
  -       (handler-case (let ((body (dex:get (url hostlist))))
  -                       (unless (uiop:emptyp body)
  -                         (setf (url-body hostlist) body)
  -                         (setf (last-update hostlist) (get-universal-time))
  -                         (echo "Restoring hostlist from ~a." (url hostlist))))
  -         (t (c)
  -           (log:info "Error during ~s hostlist download: ~a"
  -                     (render-url (url hostlist))
  -                     c))))
  -      ((uiop:file-exists-p path)
  -       (echo "Restoring hostlist from ~s." path)
  -       (setf (url-body hostlist)
  -             (alex:read-file-into-string path))
  -       (setf (last-update hostlist) (get-universal-time))))
  -    (unless (uiop:emptyp (url-body hostlist))
  -      (with-input-from-string (s (url-body hostlist))
  -        (files:deserialize profile hostlist s)))))
  +(defmethod files:write-file ((profile nyxt-profile) (hostlist hostlist) &key destination)
  +  "Write the downloaded hostlist to disk.
  +This is the raw downloaded content and not the serialized parsed content.
  +This gives more integrity guaranteees to the user and allows external manipulation."
  +  (unless (uiop:emptyp (files:url-content hostlist))
  +    (alex:write-string-into-file (files:url-content hostlist) destination :if-exists :supersede)))
   
   (defmethod files:deserialize ((profile nyxt-profile) (hostlist hostlist) raw-content &key)
     (flet ((empty-line? (line)
  
positive.code: 
  (define-command update-hostlists (&optional (blocker-mode (find-submode 'nyxt/blocker-mode:blocker-mode (current-buffer))))
    "Forces update for all the hostlists of `blocker-mode'."
    (load-hostlists blocker-mode :force-update-p t)
    (echo "Hostlists updating..."))
  
negative.code: (defun load-hostlists (blocker-mode &key force-update-p)
    "Load BLOCKER-MODE's hostlists into `blocked-hosts' (in the background)."
    (clrhash (blocked-hosts blocker-mode))
    (dolist (hostlist (hostlists blocker-mode))
      ;; TODO: Allow running in the background, but warning, it could leak
      ;; personal information to undesired third-party.
      (dolist (host (or (hosts hostlist)
                        (let ((path (files:expand hostlist)))
                          (unless (uiop:file-exists-p path)
                            (echo "Updating hostlist ~s..." path))
                          (files:content hostlist
                                         :force-update force-update-p))))
        (setf (gethash host (blocked-hosts blocker-mode)) host))))
  
  (defmethod blocklisted-host-p ((mode blocker-mode) host)
    "Return non-nil of HOST if found in the hostlists of MODE.
  