Function: magit--with-refresh-cache

magit--with-refresh-cache is a macro defined in magit-git.el.

Signature

(magit--with-refresh-cache KEY &rest BODY)

Source Code

;; Defined in ~/.emacs.d/elpa/magit-20260411.1452/magit-git.el
(defmacro magit--with-refresh-cache (key &rest body)
  (declare (indent 1) (debug (form body)))
  (let ((k (gensym))
        (hit (gensym)))
    `(if magit--refresh-cache
         (let ((,k ,key))
           (if-let ((,hit (assoc ,k (cdr magit--refresh-cache))))
               (progn (cl-incf (caar magit--refresh-cache))
                      (cdr ,hit))
             (cl-incf (cdar magit--refresh-cache))
             (let ((value ,(macroexp-progn body)))
               (push (cons ,k value)
                     (cdr magit--refresh-cache))
               value)))
       ,@body)))