Subject: bug#48669: Inconsistent overlay placement between minibuffer-message and set-minibuffer-message

From: Juri Linkov <[email-masked]>
Date: Sun, 06 Jun 2021 23:54:58 +0300

>> @@ -741,7 +741,8 @@ minibuffer-message
>>                  ;; Don't overwrite the face properties the caller has set
>>                  (text-properties-at 0 message))
>>        (setq message (apply #'propertize message minibuffer-message-properties)))
>> -    (let ((ol (make-overlay (point-max) (point-max) nil t t))
>> +    (let* ((ovpos (minibuffer--message-overlay-pos))
>> +           (ol (make-overlay ovpos ovpos nil t t))
>
> Doesn't this rely too much on the internal details of
> minibuffer--message-overlay-pos?  At least, without any comments, this
> call looks like a riddle that isn't easy to unlock.

If minibuffer--message-overlay-pos serves its purpose for
set-minibuffer-message, it seems suitable for
minibuffer-message as well.

>> -              (put-text-property 0 1 'cursor t message))
>> +              (put-text-property 0 1 'cursor 1 message))
>
> Why this change?

Only to make minibuffer-message the identical copy of
set-minibuffer-message.