anchor.diff:    (let ((history (buffer-history buffer)))
       (sera:and-let* ((owner (htree:owner history (id buffer)))
                       (parent-id (htree:creator-id owner)))
  -                   (gethash parent-id (buffers *browser*)))))
  +      (gethash parent-id (buffers *browser*)))))
   
   (defun buffers-with-history (history)
     "Return the list of buffers that have history HISTORY.
  
positive.code: When there is no next buffer, go to the first one so as to cycle."
    (labels ((buffer-first-root (buffer)
               (alex:if-let ((parent (buffer-parent buffer)))
                            (buffer-first-root parent)
                            (first (first (buffer-siblings buffer)))))
             (buffer-next-parent-sibling (buffer)
               (alex:when-let ((parent (buffer-parent buffer)))
                              (alex:if-let ((next-siblings (second (buffer-siblings parent))))
                                           (first next-siblings)
                                           (buffer-next-parent-sibling parent))))
             (buffer-sibling-next (&optional (buffer (current-buffer)))
               (first (second (buffer-siblings buffer)))))
      (alex:when-let ((next (or (first (buffer-children buffer))
                                (buffer-sibling-next buffer)
                                (buffer-next-parent-sibling buffer)
                                (buffer-first-root buffer))))
                     (set-current-buffer next))))
  
  (define-command switch-buffer-last ()
    "Switch to the last visited buffer.
  
negative.code:   (unless no-history-p
      ;; Register buffer in global history:
      (files:with-file-content (history (history-file buffer)
                                :default (make-history-tree buffer))
        ;; Owner may already exist if history was just created with the above
        ;; default value.
        (unless (htree:owner history (id buffer))
  