]> git.eshelyaron.com Git - emacs.git/commit
* src/dispnew.c (sit_for): Return nil when interrupted by process output
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 16 Jan 2021 03:38:52 +0000 (22:38 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 16 Jan 2021 03:38:52 +0000 (22:38 -0500)
commit5d6817086d6485bc6e3dde054d877c0759656ddd
tree4f8c0ddbf4437aee265776f7a1f801821a869707
parentf45be48ddbde00610e1e08fca6590dcf24a4e1b5
* src/dispnew.c (sit_for): Return nil when interrupted by process output

Before adbb4eacc2a984c0fc0b65ec761368fd9067d6c5,
`read_and_dispose_of_process_output` called
`record_asynch_buffer_change` which added "artificial" input events
(in the form of BUFFER_SWITCH_EVENTs), causing sit_for to return
Qnil when interrupted by process output.  Without those BUFFER_SWITCH_EVENTs,
sit_for now tends to return Qt when interrupted by process output
making `read_char` believe that we've waited the whole timeout,
As consequence incoming process output tended to cause premature
auto-saving of files (sometimes right after almost every key press).

This patch recovers the previous behavior, which is not ideal
(incoming process output can delay auto-save indefinitely), but has
been good enough for many years.
src/dispnew.c