Function: dape--config-eval-value
dape--config-eval-value is a natively compiled function defined in
dape.el.
Signature
(dape--config-eval-value VALUE &optional SKIP-FUNCTIONS SKIP-INTERACTIVE)
Documentation
Return recursively evaluated VALUE.
If SKIP-FUNCTIONS is non-nil return VALUE as is if functionp is
non-nil.
If SKIP-INTERACTIVE is non-nil return VALUE as is if functionp is
non-nil and function uses the minibuffer.
Source Code
;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
(defun dape--config-eval-value (value &optional skip-functions skip-interactive)
"Return recursively evaluated VALUE.
If SKIP-FUNCTIONS is non-nil return VALUE as is if `functionp' is
non-nil.
If SKIP-INTERACTIVE is non-nil return VALUE as is if `functionp' is
non-nil and function uses the minibuffer."
(pcase value
;; On function (or list that starts with a non keyword symbol)
((or (pred functionp)
(and `(,x . ,_) (guard (and (symbolp x) (not (keywordp x))))))
(if skip-functions
value
;; Try to eval function, signal on minibuffer
(let ((enable-recursive-minibuffers (not skip-interactive)))
(if (functionp value)
(funcall-interactively value)
(eval value t)))))
;; On plist recursively evaluate
((pred dape--plistp)
(dape--config-eval-1 value skip-functions skip-interactive))
;; On vector evaluate each item
((pred vectorp)
(cl-map 'vector
(lambda (value)
(dape--config-eval-value value skip-functions skip-interactive))
value))
;; On symbol evaluate symbol value
((and (pred symbolp)
;; Guard against infinite recursion
(guard (not (eq (symbol-value value) value))))
(dape--config-eval-value (symbol-value value) skip-functions
skip-interactive))
;; Otherwise just value
(_ value)))