Subject: Re: bug#22324: 25.0.50; completion-category-defaults style doesn't override completion-styles (gets prepended instead)

From: Eli Zaretskii <[email-masked]>
Date: Thu, 02 Dec 2021 11:45:45 +0200

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
> Date: Thu, 02 Dec 2021 10:10:40 +0100
> 
> Dmitry Gutov <[email-masked]> writes:
> 
> > On 01/08/2016 03:26 PM, Eli Zaretskii wrote:
> >
> >> Thanks, that wasn't clear from the problem description.  Normally,
> >> when someone says "the documentation doesn't describe the behavior
> >> accurately", they mean the documentation should be updated.
> >
> > Right, sorry. Poor wording on my part.
> >
> > But if you were talking about a documentation fix, changing the list
> > in `(emacs) Completion Styles' to include `partial-completion' is not
> > a good fix semantically, because the result would still contain the
> > word "only".
> 
> This bug report is a bit on the vague side.
> 
> It looks like `partial-completion' is documented in that node?
> 
> The subject mentions "doesn't override", but is that about
> `completion-category-overrides' instead?
> 
> ---
> This overrides the defaults specified in `completion-category-defaults'."
> ---
> 
> And it does indeed prepend:
> 
> (defun completion--category-override (category tag)
>   (or (assq tag (cdr (assq category completion-category-overrides)))
>       (assq tag (cdr (assq category completion-category-defaults)))))
> 
> But...  I think saying that that "overrides" is fine?
> 
> So it's unclear what's suggested in this bug report.

I think the problem is that we don't clearly document how the list of
styles to be actually used for some CATEGORY is obtained from the
various contributions, like completion-category-defaults and
completion-category-overrides, and what is the priority of each
contribution in the resulting list of styles.