Function: magit-refresh-buffer

magit-refresh-buffer is an interactive and byte-compiled function defined in magit-mode.el.

Signature

(magit-refresh-buffer &optional CREATED &key INITIAL-SECTION SELECT-SECTION)

Documentation

Refresh the current Magit buffer.

The arguments are for internal use.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/magit-20260411.1452/magit-mode.el
(cl-defun magit-refresh-buffer ( &optional created
                                 &key initial-section select-section)
  "Refresh the current Magit buffer.
The arguments are for internal use."
  (interactive)
  (when-let ((refresh (magit--refresh-buffer-function)))
    (let ((magit--refreshing-buffer-p t)
          (magit--refresh-start-time (current-time))
          (magit--refresh-cache (or magit--refresh-cache (list (cons 0 0))))
          (action (if created "Creating" "Refreshing")))
      (when magit-refresh-verbose
        (message "%s buffer `%s'..." action (buffer-name)))
      (cond
        (created
         (funcall refresh)
         (cond (initial-section (funcall initial-section))
               (select-section (funcall select-section))))
        (t
         (deactivate-mark)
         (setq magit-section-pre-command-section nil)
         (setq magit-section-highlight-overlays nil)
         (setq magit-section-selection-overlays nil)
         (setq magit-section-highlighted-sections nil)
         (setq magit-section-focused-sections nil)
         (let ((positions (magit--refresh-buffer-get-positions)))
           (funcall refresh)
           (cond (select-section (funcall select-section))
                 ((magit--refresh-buffer-set-positions positions))))))
      (let ((magit-section-cache-visibility nil))
        (magit-section-show magit-root-section))
      (run-hooks 'magit-refresh-buffer-hook)
      (magit-section-update-highlight)
      (set-buffer-modified-p nil)
      (push (current-buffer) magit-section--refreshed-buffers)
      (when magit-refresh-verbose
        (message "%s buffer `%s'...done (%.3fs)" action (buffer-name)
                 (float-time (time-since magit--refresh-start-time)))))))