anchor.diff:        (gtk-object new-buffer)))
     ;; Remove "download to disk" from the right click context menu because it
     ;; bypasses request resource signal
  -  (connect-signal buffer "context-menu" (web-view context-menu event hit-test-result)
  +  (connect-signal buffer "context-menu" nil (web-view context-menu event hit-test-result)
       (declare (ignore web-view event hit-test-result))
       (let ((length (webkit:webkit-context-menu-get-n-items context-menu)))
         (dotimes (i length)
  
positive.code:                       (gtk-object ,object) ,signal ,fn)))
       (push handler-id (handler-ids ,object))))
  
  (defmacro connect-signal (object signal (&rest args) &body body)
    "Connect SIGNAL to OBJECT with a lambda that takes ARGS.
  OBJECT must have the `gtk-object' and `handler-ids' slots.
  The BODY is wrapped with `with-protect'."
    (multiple-value-bind (forms declares documentation)
        (alex:parse-body body :documentation t)
      `(let ((handler-id (gobject:g-signal-connect
  
negative.code:                         (lambda (,@args)
                            ,@(sera:unsplice documentation)
                            ,@declares
                            ,(if run-in-new-thread-p
                                 `(run-thread ,@forms)
                                 `(with-protect ("Error in signal thread: ~a" :condition)
                                    ,@forms))))))
         (push handler-id (handler-ids ,object)))))
  
  (defmethod initialize-instance :after ((buffer status-buffer) &key)
  