Subject: bug#55205: 28.1.50; completion--replace illegally mutates completion candidates

From: Eli Zaretskii <[email-masked]>
Date: Sun, 01 May 2022 15:49:30 +0300

> Date: Sun, 1 May 2022 14:40:54 +0200
> From: Daniel Mendler <[email-masked]>
> Cc: Stefan Monnier <[email-masked]>, [email-masked]
> 
> No, documenting this is not sufficient. I agree that mutating is not
> strictly speaking illegal as a side effect of completion--replace, but
> unfortunate and bad API design.
> 
> But the bug report here is about an actual bug in
> minibuffer-force-complete which relies on completion--replace. As a
> consequence  completion candidate strings are *illegally mutated*. I
> propose to fix such issues once and for all by removing the unfortunate
> mutation in completion--replace.

As an aside, please don't use "illegal" unless you mean something that
is against the law.  GNU Coding Standards frown on using "illegal" for
something that is merely incorrect or invalid coding practices.