2010-10-01 12 views
24

¿Hay alguna manera de ejecutar periódicamente una función elisp en un emacs de larga ejecución, similar a cron, pero dentro del proceso emacs?¿Cómo ejecutar periódicamente una tarea dentro de emacs?

Por ejemplo, quiero "ejecutar automáticamente (recentf-save-list) cada media hora" porque de lo contrario solo se ejecuta al salir, lo cual es una mierda cuando emacs ocasionalmente se cuelga. (También hay otros ejemplos que buscan una solución general en lugar de una en particular para recentf).

Respuesta

37

Consulte run-with-timer.

(run-with-timer 0 (* 30 60) 'recentf-save-list) 
+0

Ese enlace es a la página de temporizadores inactivos (también es útil, por supuesto). – phils

+0

Justo lo que estaba buscando, ¡gracias! –

+2

ver también: http://www.emacswiki.org/emacs/IdleTimers#toc2 – lindes

1

También puede encontrar midnight mode útil. Uno puede definir arbitrariamente 'medianoche' y luego agregar ganchos según lo desee.

Cuestiones relacionadas