In your code:
(let (...
activity)
(dotimes ...
(setq activity ...)
(push
(make-instance 'menu-item
:menu-item-title (string activity)
:menu-item-action
#'(lambda ()
(print activity)))
items)))
Instead of
#'(lambda () (print activity))
you could use
(compile nil `(lambda () (print ',activity)))
-- Bob