>> Comments/objections? > > I suggest to try this on a system that has a lot of fonts installed, I don't have such a thing. My `font-family-list` has only 1k entries. But I tried it with `corfu-mode` on a slow build (debug + enable-checking) and I did not see any lag even though it presumably rebuilds the list after each character I type. This said, clearly, there is room for improvement via caching, so the new patch below does that. > to make sure this doesn't slow down customize-face too much. It should make no difference in general: the list of completions is computed only when a completion is actually requested on that field. > Also, the doc string of customize-face should be amended to say that > it offers completion on fonts. Hmm... the docstring currently doesn't describe the UI at all (and I can't think of a reason why it should). Similarly the manual doesn't seem to describe any part of the UI of `customize-face`. Apparently, we presume the UI is self-explanatory. If we want to fix that, I think it's beyond the scope of this patch submission. > Btw, how does one invoke completion on the face attributes which are > supposed to provide one, such as weight or colors? M-C-i doesn't seem > to do it for me, or what am I missing? M-TAB worked for me on the "Foregound" color name field. For weights, I see a menu rather than a text field so there doesn't seem to be a "completion" option. Stefan