(Sentinels): Clarify about output and quitting.
(Filter Functions): Mention with-local-quit.
This commit is contained in:
parent
c4ac63d085
commit
75c0692f1b
1 changed files with 14 additions and 7 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue