Is there a way to periodically run an elisp function in a long-running emacs, similar to cron, but within the emacs process?
For example I want to "automatically run (recentf-save-list) every half hour" because it otherwise only runs on exit, which sucks when emacs occasionally crashes. (There are other examples as well so looking for a general solution rather than one in particular for recentf).