I've been starting to use dynamic completion with icicle-support in Emacs (command icicle-complete with dynamic-completion-mode on), but now I've stumbled over hippie-expand and it sounds like they both are doing very similar things, so I'm not sure which one to use. What is even the difference between the two?

  • I know what hippie-expand is, but what do you specifically mean by "dynamic completion"?
    – phils
    Apr 10, 2023 at 11:26
  • @phils Ah, sorry, I should have been more precise. I'm using the command icicle-complete with dynamic-completion-mode on. Apr 10, 2023 at 11:28
  • @Drew That's weird, I think it should be quite old. I have the instructions from here: emacswiki.org/emacs/Icicles_-_Completion_in_Other_Buffers#h5o-3 but I'm pretty sure it doesn't depend on icicles. Apr 10, 2023 at 15:36

1 Answer 1


I can't answer the question well about comparing the two. But the doc of each should help. completion.el is very old, and the only doc for it is in that source file.

completion.el works with the text you type. It can learn from what you type, if you tell it to. It can save what it's "learned" persistently, if you want it to. In other respects it's similar to dabbrev.

hippie-expand, as I understand it, knows various predefined ways of computing different kinds of things. You can have it use dabbrev as one of the ways, for example.

Hopefully someone else will provide a better description of hippie-expand and perhaps compare the two better. I don't expect that there's really any overlap between the two, but I could be wrong. You can no doubt use both, binding them to different keys.

My guess is that the best approach is to just experiment with each. To start with what completion.el offers (with or without Icicles), read the Commentary in the source file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.