Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates

From: Juri Linkov <[email-masked]>
Date: Thu, 21 Aug 2025 19:04:17 +0300

>> The text was indeed produced by the julia-mode package, namely by the
>> `julia--latexsub-capf-list` function for creating a CAPF completion
>> table for that mode.
>> However, the list of completion candidates (based on that completion
>> table) in the
>> "*Completions*" buffer was produced by the Emacs core (`display-completion-list`
>> function defined in `minibuffer.el`).
>
> But display-completion-list just shows the strings it gets as its
> argument.  AFAIU, theses strings already include both the completion
> candidate and its visualization (which causes the problem).  If that
> is correct, then the code which generates those strings is the one we
> need to fix.  Can you (or someone else of the people I CC) point to
> the code which generates those strings?

This was already fixed in julia-mode long ago.
The current version adds the preceding space character:

  :annotation-function (lambda (s)
                         (concat " " (gethash s julia-mode-latexsubs)))

So there is no such problem anymore:

PS: To make it even nicer, it's better to show the character
before completions like in 'C-x 8 RET TAB' with something like:

  :affixation-function (lambda (strings)
                         (mapcar (lambda (s)
                                   (list s (concat (gethash s julia-mode-latexsubs) "\t") ""))
                                 strings))