GNU bug report logs - #63865
29.0.90; call-process while owning the X selection hangs other processes

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Sat, 3 Jun 2023 01:56:01 UTC

Severity: normal

Found in version 29.0.90

Full log


View this message in rfc822 format

From: Spencer Baugh <sbaugh <at> janestreet.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: luangruo <at> yahoo.com, 63865 <at> debbugs.gnu.org
Subject: bug#63865: 29.0.90; call-process while owning the X selection hangs other processes
Date: Sat, 03 Jun 2023 11:34:44 -0400
Eli Zaretskii <eliz <at> gnu.org> writes:
>> I would be happy with a targeted, specific fix for the bad behavior I
>> reported.
>> 
>> Here's a specific instance that would be good to fix: If I run "M-!
>> sleep 30 RET", that will cause some applications to hang while Emacs is
>> waiting on the sleep; sometimes (as with Slack) without user
>> interaction, or sometimes only if the user tries to paste in them.  Do
>> you have a suggestion on how to fix that?
>
> No, I don't.  And I explained why at the very beginning.  I invite you
> to read xselect.c and see what kind of processing we do there to
> handle selection requests.

What about a new version of call-process, maybe
"call-process-allow-lisp", which doesn't stop timers/process
filters/Lisp/etc from running while Emacs is blocked in it?  Then any
caller which doesn't want to stop Lisp from running while they are
waiting for the subprocess can use "call-process-allow-lisp" instead of
"call-process".

I can implement that if it sounds desirable.  I can also send a mail to
emacs-devel if you want more discussion of it beforehand.




This bug report was last modified 1 year and 357 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.