[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#38035: 27.0.50; Trivial errors in process filters can render Emacs u
From: |
Lars Ingebrigtsen |
Subject: |
bug#38035: 27.0.50; Trivial errors in process filters can render Emacs unusable |
Date: |
Sat, 02 Nov 2019 18:53:57 +0100 |
If you eval the following, your Emacs will become unusable and you'll
have to kill it (so don't eval it):
(let ((process (start-process
"foo" (get-buffer-create "*foo*")
"bash" "-c" "while true; do echo foo; sleep 1; done")))
(set-process-filter
process
(lambda (&rest _)
(error))))
The reason for this is that when signalling an error from a process
filter, Emacs messages the error message and then seems to sleep for a
second? I haven't investigated the code yet.
This is something that has bit me more than a few times when working
with process filters (i.e., making a syntax error and then having Emacs
blow up on me).
I'm not sure what solution would be best. I see two obvious things we
could do: Remove the process filter, so that it doesn't trigger again.
Or -- remove the one-second sleep, which would allow the user to `M-x
list-processes' and kill the offending process.
In GNU Emacs 27.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version 3.24.5)
of 2019-11-01 built on marnie
Repository revision: eda98211e31ed969823c1048b3cde635e08eebe5
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux 10 (buster)
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
- bug#38035: 27.0.50; Trivial errors in process filters can render Emacs unusable,
Lars Ingebrigtsen <=