Subject: bug#63311: 30.0.50; [PATCH] smtpmail-send-it split

From: Eli Zaretskii <[email-masked]>
Date: Tue, 07 Nov 2023 05:26:21 +0200

> From: Manuel Giraud <[email-masked]>
> Cc: [email-masked]
> Date: Mon, 06 Nov 2023 21:55:49 +0100
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> If it is dead and (thread-last-error) returns nil maybe we can conclude
> >> that everything went well.  But if (thread-last-error) returns a
> >> message, it could be message from any other Emacs thread: what to do in
> >> such case?
> >
> > Display a message about the error.
> 
> I mean, the last error message could come from another thread not
> related in anyway to mail sending.  No?

It could, but why would there be other threads in this case?

> >> Or worse: the thread is dead, (thread-last-error) returns
> >> nil... but it was cleared from another part of Emacs.
> >
> > This means it exited successfully.  We could also maintain a data
> > structure where successfully-exiting threads will leave their success
> > status together with some id of the message they sent -- unlike a
> > thread that dies abruptly due to an error, a successful thread can
> > store the information in the data structure before exiting.
> 
> Yes why not but then I'd have to modify internals of 'message-send':
> something I thought I could escape.

I thought we were talking about a new function for this purpose, which
would replace message-send, no?  Then that new function could have
this code.