# HG changeset patch # User Chong Yidong # Date 1159197644 0 # Node ID 43aadb7f2e64ada8854457072c9a667c6dfafac3 # Parent febee77392958f4ade5dc0590df67e14b903fc37 * os.texi (Timers): Mention with-local-quit. diff -r febee7739295 -r 43aadb7f2e64 lispref/ChangeLog --- a/lispref/ChangeLog Mon Sep 25 15:13:07 2006 +0000 +++ b/lispref/ChangeLog Mon Sep 25 15:20:44 2006 +0000 @@ -1,3 +1,7 @@ +2006-09-25 Chong Yidong + + * os.texi (Timers): Mention with-local-quit. + 2006-09-24 Richard Stallman * searching.texi (Searching and Matching): Mention property search. diff -r febee7739295 -r 43aadb7f2e64 lispref/os.texi --- a/lispref/os.texi Mon Sep 25 15:13:07 2006 +0000 +++ b/lispref/os.texi Mon Sep 25 15:20:44 2006 +0000 @@ -1386,7 +1386,12 @@ things in an inconsistent state. This is normally unproblematical because most timer functions don't do a lot of work. Indeed, for a timer to call a function that takes substantial time to run is likely -to be annoying. +to be annoying. If a timer function needs to allow quitting, it +should use @code{with-local-quit} (@pxref{Quitting}). For example, if +a timer function calls @code{accept-process-output} to receive output +from an external process, that call should be wrapped inside +@code{with-local-quit}, to ensure that @kbd{C-g} works if the external +process hangs. It is usually a bad idea for timer functions to alter buffer contents. When they do, they usually should call @code{undo-boundary}