Function: magit--get-blob-buffer

magit--get-blob-buffer is a byte-compiled function defined in magit-files.el.

Signature

(magit--get-blob-buffer OBJ FILE &optional VOLATILE)

Source Code

;; Defined in ~/.emacs.d/elpa/magit-20260411.1452/magit-files.el
(defun magit--get-blob-buffer (obj file &optional volatile)
  ;; If OBJ is a commit, is assummed to be abbreviated.
  ;; FILE is assumed to be relative to the top-level.
  (cond-let
    ([buf (if (magit-blob-p obj)
              (magit--find-buffer 'magit-buffer-blob-oid (magit-rev-parse obj)
                                  'magit-buffer-file-name file)
            (magit--find-buffer 'magit-buffer-revision obj
                                'magit-buffer-file-name file))]
     (with-current-buffer buf
       (when (and (not volatile) magit-buffer--volatile)
         (setq magit-buffer--volatile nil)
         (rename-buffer (magit--blob-buffer-name obj file))
         (magit--blob-cache-remove buf)))
     buf)
    ([buf (get-buffer-create (magit--blob-buffer-name obj file volatile))]
     (with-current-buffer buf
       (setq magit-buffer--volatile volatile)
       (magit--blob-cache-put buf))
     (buffer-enable-undo buf)
     buf)))