Commit 75c0692f authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(Sentinels): Clarify about output and quitting.

(Filter Functions): Mention with-local-quit.
parent c4ac63d0
......@@ -1096,9 +1096,10 @@ then free to do whatever it chooses with the output.
Quitting is normally inhibited within a filter function---otherwise,
the effect of typing @kbd{C-g} at command level or to quit a user
command would be unpredictable. If you want to permit quitting inside a
filter function, bind @code{inhibit-quit} to @code{nil}.
@xref{Quitting}.
command would be unpredictable. If you want to permit quitting inside
a filter function, bind @code{inhibit-quit} to @code{nil}. In most
cases, the right way to do this is with the macro
@code{with-local-quit}. @xref{Quitting}.
If an error happens during execution of a filter function, it is
caught automatically, so that it doesn't stop the execution of whatever
......@@ -1375,16 +1376,22 @@ quick succession, can call the sentinel just once. However, process
termination will always run the sentinel exactly once. This is
because the process status can't change again after termination.
Quitting is normally inhibited within a sentinel---otherwise, the
effect of typing @kbd{C-g} at command level or to quit a user command
would be unpredictable. If you want to permit quitting inside a
sentinel, bind @code{inhibit-quit} to @code{nil}. @xref{Quitting}.
Emacs explicitly checks for output from the process before running
the process sentinel. Once the sentinel runs due to process
termination, no further output can arrive from the process.
A sentinel that writes the output into the buffer of the process
should check whether the buffer is still alive. If it tries to insert
into a dead buffer, it will get an error. If the buffer is dead,
@code{(buffer-name (process-buffer @var{process}))} returns @code{nil}.
Quitting is normally inhibited within a sentinel---otherwise, the
effect of typing @kbd{C-g} at command level or to quit a user command
would be unpredictable. If you want to permit quitting inside a
sentinel, bind @code{inhibit-quit} to @code{nil}. In most cases, the
right way to do this is with the macro @code{with-local-quit}.
@xref{Quitting}.
If an error happens during execution of a sentinel, it is caught
automatically, so that it doesn't stop the execution of whatever
programs was running when the sentinel was started. However, if
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment