Function: actype:eval

actype:eval is a byte-compiled function defined in hact.el.

Signature

(actype:eval ACTYPE &rest ARGS)

Documentation

Perform action formed from ACTYPE and rest of ARGS and return value.

This differs from actype:act in that it can return nil and does not expand relative pathname ARGS.

ACTYPE may be a string containing a Lisp expression from which ACTYPE and ARGS are extracted. ACTYPE may be a symbol or symbol name for either an action type or a function. Run action-act-hook before performing ACTION.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hact.el
(defun    actype:eval (actype &rest args)
  "Perform action formed from ACTYPE and rest of ARGS and return value.
This differs from `actype:act' in that it can return nil and does not
expand relative pathname ARGS.

ACTYPE may be a string containing a Lisp expression from which ACTYPE
and ARGS are extracted.  ACTYPE may be a symbol or symbol name for
either an action type or a function.  Run `action-act-hook' before
performing ACTION."
  (let ((prefix-arg current-prefix-arg)
	(action (actype:action actype)))
    (if (null action)
	(error "(actype:act): Null action for: `%s'" actype)
      (let ((hist-elt (hhist:element)))
	(run-hooks 'action-act-hook)
	(prog1 (if (or (symbolp action) (listp action)
			  (byte-code-function-p action)
			  (subrp action)
			  (and (stringp action) (not (integerp action))
			       (setq action (key-binding action))))
		   (apply action args)
		 (eval action))
	  (hhist:add hist-elt))))))