Speaking of Emacs 29 goodness, Robert Enzmann has a post that describes the new completions functionality in Emacs 29. Those changes mainly involve new configuration settings that subtly change how completions work.
The first set of settings items configure what happens when you press Tab to trigger a completion. These items mainly determine how many times you have to press Tab to get the completion list. There are two new settings for completion-auto-help
:
always
, which displays the completion buffer after any attempt to compilevisible
, which displays completions only if they are already visible
Enzmann has some animated GIFs that show these options in action and help you understand how they work.
The second set of configuration items determine when the completions buffer is selected. The new options allow for the selection of the completions buffer either automatically or after the second Tab.
There are some new commands for navigating the completion buffer. You can take a look at Enzmann’s post to see these commands. As he says, you may want to change the bindings for them because the defaults use the arrow keys.
There’s also new functionality that allows the items in the completion buffer to be sorted according to user determined criteria. For example, Enzmann sorts his first by the frequency with which he uses them and secondly by length. This works by providing a sort routine so virtually any sorting criteria is possible.
Finally, there are a couple of minor items that determine the height of the completion buffer and the format of the items in that buffer.
Enzmann’s post is a nice précis of the new completion functionality and worth a read for those looking forward to the release of Emacs 29.1.