anchor.diff:      (reduce #'hooks:add-hook
               (mapcar #'make-handler-resource (list #'old-reddit-handler #'auto-proxy-handler))
               :initial-value %slot-default%))))")
  -   (default-new-buffer-url (quri:uri "https://nyxt.atlas.engineer/start")
  -                           :type url-designator
  -                           :documentation "The URL set to a new blank buffer opened by Nyxt.")
  -   (scroll-distance 50
  -                    :type integer
  -                    :documentation "The distance scroll-down or scroll-up will scroll.")
  -   (smooth-scrolling nil
  -                     :documentation "Whether to scroll smoothly with the mouse.")
  -   (horizontal-scroll-distance 50
  -                               :type integer
  -                               :documentation "Horizontal scroll distance. The
  +   (default-new-buffer-url
  +    (quri:uri "https://nyxt.atlas.engineer/start")
  +    :type url-designator
  +    :documentation "The URL set to a new blank buffer opened by Nyxt.")
  +   (scroll-distance
  +    50
  +    :type integer
  +    :documentation "The distance scroll-down or scroll-up will scroll.")
  +   (smooth-scrolling
  +    nil
  +    :documentation "Whether to scroll smoothly with the mouse.")
  +   (horizontal-scroll-distance
  +    50
  +    :type integer
  +    :documentation "Horizontal scroll distance. The
   distance scroll-left or scroll-right will scroll.")
  -   (current-zoom-ratio 1.0
  -                       :type float
  -                       :documentation "The current zoom relative to the default zoom.")
  -   (zoom-ratio-step 0.2
  -                    :type float
  -                    :documentation "The step size for zooming in and out.")
  -   (zoom-ratio-min 0.2
  -                   :type float
  -                   :documentation "The minimum zoom ratio relative to the default.")
  -   (zoom-ratio-max 5.0
  -                   :type float
  -                   :documentation "The maximum zoom ratio relative to the default.")
  -   (zoom-ratio-default 1.0
  -                       :type float
  -                       :documentation "The default zoom ratio.")
  -   (page-scroll-ratio 0.90
  -                      :type float
  -                      :documentation "The ratio of the page to scroll.
  +   (current-zoom-ratio
  +    1.0
  +    :type float
  +    :documentation "The current zoom relative to the default zoom.")
  +   (zoom-ratio-step
  +    0.2
  +    :type float
  +    :documentation "The step size for zooming in and out.")
  +   (zoom-ratio-min
  +    0.2
  +    :type float
  +    :documentation "The minimum zoom ratio relative to the default.")
  +   (zoom-ratio-max
  +    5.0
  +    :type float
  +    :documentation "The maximum zoom ratio relative to the default.")
  +   (zoom-ratio-default
  +    1.0
  +    :type float
  +    :documentation "The default zoom ratio.")
  +   (page-scroll-ratio
  +    0.90
  +    :type float
  +    :documentation "The ratio of the page to scroll.
   A value of 0.95 means that the bottom 5% will be the top 5% when scrolling
   down.")
  -   (buffer-load-hook (make-hook-url->url
  -                      :combination #'hooks:combine-composed-hook)
  -                     :type hook-url->url
  -                     :accessor nil
  -                     :export nil ; TODO: Export?  Maybe not since `request-resource-hook' mostly supersedes it.
  -                     :documentation "Hook run in `buffer-load' before loading.
  +   (buffer-load-hook
  +    (make-hook-url->url
  +     :combination #'hooks:combine-composed-hook)
  +    :type hook-url->url
  +    :accessor nil
  +    :export nil
  +    :documentation "Hook run in `buffer-load' before loading.
   The handlers take the URL going to be loaded as argument
   and must return a (possibly new) URL.")
  -   (buffer-loaded-hook (make-hook-buffer)
  -                       :type hook-buffer
  -                       :documentation "Hook run on `on-signal-load-finished'.
  +   (buffer-loaded-hook
  +    (make-hook-buffer)
  +    :type hook-buffer
  +    :documentation "Hook run on `on-signal-load-finished'.
   The handlers take the buffer as argument.")
  -   (buffer-delete-hook (make-hook-buffer)
  -                       :type hook-buffer
  -                       :documentation "Hook run before `buffer-delete' takes effect.
  +   (buffer-delete-hook
  +    (make-hook-buffer)
  +    :type hook-buffer
  +    :documentation "Hook run before `buffer-delete' takes effect.
   The handlers take the buffer as argument.")
  -   (password-interface (make-password-interface)
  -                       :type (or null password::password-interface)
  -                       :documentation "The current password interface.
  +   (password-interface
  +    (make-password-interface)
  +    :type (or null password::password-interface)
  +    :documentation "The current password interface.
   See `password:*interfaces*' for the list of all currently registered interfaces.
   To use, say, KeepassXC, set this slot to
   
  
positive.code:    (prompter:follow-mode-functions #'(lambda (buffer)
                                         (set-current-buffer buffer :focus nil)))
     (prompter:destructor (let ((buffer (current-buffer)))
                             (lambda (prompter source)
                               (declare (ignore source))
                               (unless (or (prompter:returned-p prompter)
                                           (eq buffer (current-buffer)))
                                 (set-current-buffer buffer))))))
    (:export-class-name-p t))
  (define-user-class buffer-source)
  
  
negative.code: 
  Password interfaces may have user classes (that is, prefixed with 'user-' as in
  the above example), in which case you can use `define-configuration' on them.")
     (download-path
      (make-instance 'download-data-path)
      :type data-path
      :documentation "Path of directory where downloads will be
  stored.  Nil means use system default.
  Downloads are kept in browser's `user-data', keyed by the expanded `download-path'.")
     (download-engine
      :initform :renderer
      :type symbol
      :documentation "Select a download engine to use,
  such as :lisp or :renderer.")
     (history-path
      (make-instance 'history-data-path)
      :type data-path
      :documentation "
  The path where the system will create/save the global history.
  History data is kept in browser's `user-data', keyed by the expanded `history-path'.")
     (bookmarks-path
      (make-instance 'bookmarks-data-path)
      :type data-path
      :documentation "
  The path where the system will create/save the bookmarks.
  Bookmarks' data is kept in browser's `user-data', keyed by the expanded `bookmarks-path'.")
     (annotations-path
      (make-instance 'annotations-data-path)
      :type data-path
      :documentation "
  The path where the system will create/save annotations.
  Annotation' data is kept in browser's `user-data', keyed by the expanded
  `annotations-path'.")
     (inputs-path
      (make-instance 'inputs-data-path)
      :type data-path
      :documentation "
  The path where the system will create/save the input data.
  Inputs' data is kept in browser's `user-data', keyed by the expanded `save-inputs-path'.")
     (auto-mode-rules-path
      (make-instance 'auto-mode-rules-data-path)
      :type data-path
      :documentation "The path where the auto-mode rules are saved.
  Rules are kept in browser's `user-data', keyed by the expanded `auto-mode-rules-path'.")
     (standard-output-path
      (make-instance 'standard-output-data-path)
      :type data-path
      :documentation "Path where `*standard-output*' can be written to.")
     (error-output-path
      (make-instance 'error-output-data-path)
      :type data-path
      :documentation "Path where `*error-output*' can be written to."))
    (:export-class-name-p t)
    (:export-accessor-names-p t)
    (:export-predicate-name-p t)
  