Function: magit-set-buffer-margins

magit-set-buffer-margins is a byte-compiled function defined in magit-margin.el.

Signature

(magit-set-buffer-margins &optional RESET-RIGHT REFRESH-RIGHT)

Source Code

;; Defined in ~/.emacs.d/elpa/magit-20260411.1452/magit-margin.el
;;; Core

(defun magit-set-buffer-margins (&optional reset-right refresh-right)
  (let ((lmargin nil)
        (rmargin nil)
        (roption (magit--right-margin-option)))
    (when (or lmargin roption)
      (when roption
        (let* ((default (symbol-value roption))
               (default-width (nth 2 default)))
          (when (or reset-right (not magit--right-margin-config))
            (setq magit--right-margin-config (copy-sequence default)))
          (pcase-let ((`(,enable ,style ,_width ,details ,details-width)
                       magit--right-margin-config))
            (setq rmargin enable)
            (when (functionp default-width)
              (setf (nth 2 magit--right-margin-config)
                    (funcall default-width style details details-width))))))
      (dolist (window (get-buffer-window-list nil nil 0))
        (with-selected-window window
          (magit-set-window-margins window)
          (if (or lmargin rmargin)
              (add-hook  'window-configuration-change-hook
                         #'magit-set-window-margins nil t)
            (remove-hook 'window-configuration-change-hook
                         #'magit-set-window-margins t))))
      (when (and rmargin (or refresh-right magit--right-margin-delayed))
        (magit-refresh-buffer)))))