Thomas Fitzsimmons writes: > [...] > If I remove this line from message.el: > > (add-hook 'completion-at-point-functions #'eudc-capf-complete -1 t) > > and rebuild Emacs, then my recipe works, via: > > message-tab -...-> message-expand-name -> eudc-expand-inline > > The EUDC multi-selector UI is invoked allowing me to choose between > emacs-ert-test-3 and emacs-ert-test-4, and the full name and email > address is inserted correctly. This is with completion-styles left at > its default value. > > So that's one code path validated, phew. > [...] There are two ends to this, I think. For one, you are no longer adding `eudc-capf-complete` to `completion-at-point-functions` in message mode. This seems fine given that we are not there yet to make `eudc-capf-complete` the default thing to happen in 29. OTOH, `eudc-capf-complete` is now just sitting there for people to use it. The docstring, and the NEWS entry advertise it for adding to `completion-at-point-functions`. If & when someone does that, it won't work as expected, as you & I just figured, because `completion-styles` has a default value aimed at single-word replacements (such as for programming language keywords, or prose words from a dictionary), but not for more complex, multi-word replacements (such as email addresses). The `substring` entry is needed for this use-case. To make this work, I am hence attaching a patch (relative to the tip of master as of this writing), which sets `completion-style` from `eudc-capf-complete`. The modification is done when the user has not modified its value (assuming that a sensible value will have been set by the user). If you need a patch on top of the 29 branch, please don't hesitate to drop me a note. Hoping to have helped, and looking forward to your thoughts, --alexander