Function: evil--eval-expr

evil--eval-expr is a byte-compiled function defined in evil-common.el.

Signature

(evil--eval-expr INPUT)

Documentation

Eval INPUT and return stringified result, if of a suitable type.

If INPUT starts with a number, +, -, or . use calc-eval instead.

Source Code

;; Defined in ~/.emacs.d/elpa/evil-20251108.138/evil-common.el
(defun evil--eval-expr (input)
  "Eval INPUT and return stringified result, if of a suitable type.
If INPUT starts with a number, +, -, or . use `calc-eval' instead."
  (let* ((calcable-p (string-match-p "\\`[[:space:]]*[0-9+.-]" input))
         (result (if calcable-p
                     (let ((calc-multiplication-has-precedence nil))
                       (calc-eval input))
                   (eval (car (read-from-string input)) t))))
    (cond
     ((stringp result) result)
     ((or (numberp result) (symbolp result))
      (format "%s" result))
     ((sequencep result)
      (mapconcat (lambda (x) (format "%s" x)) result "\n"))
     (t (user-error "Using `%s' as a string" (type-of result))))))