Function: gptel--preset-syms
gptel--preset-syms is a natively compiled function defined in
gptel.el.
Signature
(gptel--preset-syms PRESET)
Documentation
Return a list of gptel variables (symbols) set by PRESET.
PRESET is the name of a preset, or a spec (plist) of the form
(:KEY1 VAL1 :KEY2 VAL2 ...).
Source Code
;; Defined in /nix/store/q3r7g81pvghw7a523kjk2k2zih3pfk8z-emacs-packages-deps/share/emacs/site-lisp/elpa/gptel-20261002.545/gptel.el
(defun gptel--preset-syms (preset)
"Return a list of gptel variables (symbols) set by PRESET.
PRESET is the name of a preset, or a spec (plist) of the form
(:KEY1 VAL1 :KEY2 VAL2 ...)."
(when (memq (type-of preset) '(string symbol))
(let ((spec (or (gptel-get-preset preset)
(user-error "gptel preset \"%s\": Cannot find preset"
preset))))
(setq preset spec)))
(let* ((index preset)
syms key val)
(while index
(setq key (pop index) val (pop index))
(pcase key
((or :description :pre :post))
(:parents
(setq syms
(nconc syms (mapcan #'gptel--preset-syms (ensure-list val)))))
(:system (push 'gptel-system-prompt syms))
(_ (if-let* ((var (or (intern-soft
(concat "gptel-" (substring (symbol-name key) 1)))
(intern-soft
(concat "gptel--" (substring (symbol-name key) 1))))))
(push var syms)
(display-warning
'(gptel presets)
(format "gptel preset \"%s\": setting for %s not found, ignoring."
(car preset) key))))))
(cl-delete-duplicates syms)))