Subject: Re: bug#74027: [PATCH] ; Insert "Stealing lock" at the beginning of a message

From: Philip Kaludercic <[email-masked]>
Date: Fri, 08 Nov 2024 14:15:53 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Philip Kaludercic <[email-masked]>
>> Date: Sat, 26 Oct 2024 07:41:49 +0000
>> 
>> It appears "vc-steal-lock" is not compatible with automatic signatures,
>> as the "I stole the lock on ..." is inserted at the end of the message,
>> which can appear behind the signature.  This should fix it:
>> 
>> >From b5539a1924bbcbb1ee68fcbb21310856fcd437a9 Mon Sep 17 00:00:00 2001
>> From: Philip Kaludercic <[email-masked]>
>> Date: Sat, 26 Oct 2024 09:39:00 +0200
>> Subject: [PATCH] ; Insert "Stealing lock" at the beginning of a message
>> 
>> * lisp/vc/vc.el (vc-steal-lock): Use 'mail-text' instead of
>> jumping to 'point-max', to avoid inserting the message after
>> signatures.
>> ---
>>  lisp/vc/vc.el | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
>> index a30ba06aec3..0d72b169e41 100644
>> --- a/lisp/vc/vc.el
>> +++ b/lisp/vc/vc.el
>> @@ -1661,6 +1661,7 @@ vc-mark-resolved
>>  	 (format "%d files" (length files))
>>         "this file"))))
>>  
>> +(declare-function mail-text "sendmail" ())
>>  (defun vc-steal-lock (file rev owner)
>>    "Steal the lock on FILE."
>>    (let (file-description)
>> @@ -1681,7 +1682,7 @@ vc-steal-lock
>>      ;; goes wrong, we don't want to send any mail.
>>      (compose-mail owner (format "Stolen lock on %s" file-description))
>>      (setq default-directory (expand-file-name "~/"))
>> -    (goto-char (point-max))
>> +    (mail-text)
>
> I guess you are using sendmail.el as your mail-user-agent?  But the
> default is message.el, so I think we should either use
> message-goto-body here, 

Ok, I falsely assumed that using 'mail-text' would be more compatible.

>                         
>                         or perhaps dispatch to either to message.el or
> sendmail.el based on the value of mail-user-agent.

So a `cond' expression checking mail-user-agent and then invoking the
right function, or is there some more generic way to do that?

-- 
	Philip Kaludercic on siskin