GNU bug report logs - #79279
28.2; Combining characters cause formatting problems when showing CAP candidates

Previous Next

Package: emacs;

Reported by: Dmitry Safronov <saf.dmitry <at> gmail.com>

Date: Wed, 20 Aug 2025 15:45:02 UTC

Severity: normal

Found in version 28.2

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 79279 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>, Dmitry Safronov <saf.dmitry <at> gmail.com>
Subject: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates
Date: Thu, 21 Aug 2025 19:04:17 +0300
[Message part 1 (text/plain, inline)]
>> 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:

[vec.png (image/png, attachment)]
[Message part 3 (text/plain, inline)]
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))

This bug report was last modified 14 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.