Function: gptel--sum-plists

gptel--sum-plists is a natively compiled function defined in gptel-request.el.

Signature

(gptel--sum-plists &rest PLISTS)

Documentation

Sum the values of keys across PLISTS.

All values must be numeric or nil. Returns a new plist.

Source Code

;; Defined in /nix/store/q3r7g81pvghw7a523kjk2k2zih3pfk8z-emacs-packages-deps/share/emacs/site-lisp/elpa/gptel-20261002.545/gptel-request.el
;; MAYBE: Can be generalized to gptel--combine-plists, taking a "combiner"
;; function and default-value as arguments.
(defun gptel--sum-plists (&rest plists)
  "Sum the values of keys across PLISTS.

All values must be numeric or nil.  Returns a new plist."
  (let ((rtn (copy-sequence (pop plists)))
        k v ls)
    (while plists
      (setq ls (pop plists))
      (while ls
        (setq k (pop ls) v (pop ls))
        (setq rtn (plist-put rtn k (+ (or (plist-get rtn k) 0)
                                      (or v 0))))))
    rtn))