Emacs Lisp macro to evaluate arguments

One argument:

(defmacro macro-evaluates-arg (arg)
  "Evaluate `ARG'."
  `(when (not (null arg))
     ,arg))

Multiple arguments:

(defmacro macro-evaluates-args (&rest args)
  "Evaluate `ARGS'."
  `(when (not (null args))
     ,@args))