anchor.diff:        (ffi-buffer-enable-smooth-scrolling buffer t)
         (ffi-buffer-enable-smooth-scrolling buffer nil))
     (connect-signal-function buffer "decide-policy" (make-decide-policy-handler buffer))
  -  (connect-signal buffer "load-changed" (web-view load-event)
  +  (connect-signal buffer "load-changed" nil (web-view load-event)
       (declare (ignore web-view))
       (on-signal-load-changed buffer load-event))
  -  (connect-signal buffer "mouse-target-changed" (web-view hit-test-result modifiers)
  +  (connect-signal buffer "mouse-target-changed" nil (web-view hit-test-result modifiers)
       (declare (ignore web-view))
       (on-signal-mouse-target-changed buffer hit-test-result modifiers))
     ;; Mouse events are captured by the web view first, so we must intercept them here.
  -  (connect-signal buffer "button-press-event" (web-view event)
  +  (connect-signal buffer "button-press-event" nil (web-view event)
       (declare (ignore web-view))
       (on-signal-button-press-event buffer event))
  -  (connect-signal buffer "scroll-event" (web-view event)
  +  (connect-signal buffer "scroll-event" nil (web-view event)
       (declare (ignore web-view))
       (on-signal-scroll-event buffer event))
     (connect-signal-function buffer "script-dialog" #'process-script-dialog)
     (connect-signal-function buffer "run-file-chooser" #'process-file-chooser-request)
     ;; TLS certificate handling
  -  (connect-signal buffer "load-failed-with-tls-errors" (web-view failing-url certificate errors)
  +  (connect-signal buffer "load-failed-with-tls-errors" nil (web-view failing-url certificate errors)
       (declare (ignore web-view errors))
       (on-signal-load-failed-with-tls-errors buffer certificate (quri:uri failing-url)))
  -  (connect-signal buffer "notify::uri" (web-view param-spec)
  +  (connect-signal buffer "notify::uri" nil (web-view param-spec)
       (declare (ignore web-view param-spec))
       (on-signal-notify-uri buffer nil))
  -  (connect-signal buffer "notify::title" (web-view param-spec)
  +  (connect-signal buffer "notify::title" nil (web-view param-spec)
       (declare (ignore web-view param-spec))
       (on-signal-notify-title buffer nil))
  -  (connect-signal buffer "web-process-crashed" (web-view)
  +  (connect-signal buffer "web-process-crashed" nil (web-view)
       (echo-warning "Web process crashed for buffer ~a" (id buffer))
       (log:debug "Web process crashed for web view ~a" web-view)
       (delete-buffer :id (id buffer)))
  -  (connect-signal buffer "load-failed" (web-view load-event failing-url error)
  +  (connect-signal buffer "load-failed" nil (web-view load-event failing-url error)
       (declare (ignore load-event web-view error))
       (unless (member (slot-value buffer 'load-status) '(:finished :failed))
         (echo "Failed to load URL ~a in buffer ~a." failing-url (id buffer))
  
positive.code:                         (lambda (,@args)
                            ,@(sera:unsplice documentation)
                            ,@declares
                            (with-protect ("Error in signal thread: ~a" :condition)
                              ,@forms)))))
         (push handler-id (handler-ids ,object)))))
  
  (defmethod initialize-instance :after ((buffer status-buffer) &key)
  
negative.code:             (echo "Destination ~s exists, saving as ~s." path unique-path)
              (log:debug "Downloading file to ~s." unique-path))
          (webkit:webkit-download-set-destination webkit-download file-path)))
      (connect-signal download "created-destination" nil (webkit-download destination)
        (declare (ignore destination))
        (setf (destination-path download)
              (webkit:webkit-download-destination webkit-download)))
      (connect-signal download "failed" nil (webkit-download error)
        (declare (ignore error))
        (unless (eq (status download) :canceled)
          (setf (status download) :failed))
        (echo "Download failed for ~s."
              (webkit:webkit-uri-request-uri
               (webkit:webkit-download-get-request webkit-download))))
      (connect-signal download "finished" nil (webkit-download)
        (declare (ignore webkit-download))
        (unless (member (status download) '(:canceled :failed))
          (setf (status download) :finished)
  