Subject: Re: bug#76969: kill-buffer fails silently when a thread exists where it's current

From: Spencer Baugh <[email-masked]>
Date: Wed, 23 Jul 2025 16:41:42 -0400

Eli Zaretskii <[email-masked]> writes:

>> Date: Wed, 23 Jul 2025 04:39:33 +0300
>> Cc: [email-masked], [email-masked]
>> From: Dmitry Gutov <[email-masked]>
>> 
>> On 22/07/2025 15:54, Eli Zaretskii wrote:
>> >> So if we make it an optional argument of 'make-thread', and the default
>> >> is for thread's buffer to be killable, that might call for a name change
>> >> (flipping the meaning).
>> >>
>> >> Should it be
>> >>
>> >>     (make-thread FUNCTION &optional NAME BUFFER-PROTECTED)
>> >>
>> >> ?
>> > I'd prefer to call that argument BUFFER-DISPOSITION.
>> 
>> I had to google it just now. A term from POSIX signals?
>
> Or from email messages.
>
>> Makes certain sense.
>> 
>> Seems like the default value would have to be nil, though, if it's 
>> passed as an optional argument to a function.
>
> Yes.  But given that this isn't a simple boolean, what it means when
> disposition = nil is open to interpretation, and the doc string should
> say clearly what that means.
>
>> Are we okay with nil meaning "thread's buffer is killed and sent a 
>> signal", t meaning "thread's buffer is never killed" and 'silently' 
>> meaning "thread's buffer is killed without a signal"?
>
> Maybe.  I'm not sure there's a definite agreement about the default.

Just as one vote, I'm in favor of "thread's buffer is killed and sent a
signal" being the default behavior.