Example: SET-TO-ONE
Takes any number of arguments, which must be symbols, and gives each the value 1.
(defmacro set-to-one (&rest symbols)
(mapcar #'(lambda (s) (list 'setq s 1))
> (macroexpand '(set-to-one x y z))
(PROGN (SETQ X 1) (SETQ Y 1) (SETQ Z 1))