>>>> Why is this a patch that uses advice and hook instead of a user >>>> option that changes the behaviour of icomplete directly? >>> >>> Because it's the simplest / cleanest way to do it. It's a kind of >>> derived minor mode. >> >> Advice is not entirely unproblematic though, so the recommendation is >> usually to avoid them in libraries for use by others. Even more so in >> Emacs itself, I think. >> >> See the ELisp Manual sections `(elisp) Advising Named Functions' and >> `(elisp) Coding Conventions'. > > Indeed, we prefer not to use advice in our own code. > Okay, I did not know that there is a strict rule against advice. Here is the updated patch, which uses a hook instead. This makes the code even more flexible.