Hi Ergus, Thanks, I had a look at your patch. I'm personally not too fond of that kind of complexity coming into lisp/icomplete.el especially when then are simpler formulae for achieving a funcional vertical icomplete system. My solution is even simpler than Gregory's for example (and based on his): (setq icomplete-prospects-height 6) (setq icomplete-separator "\n") (defun icomplete-vertical-adjust-minibuffer-height (completions) (let* ((comp completions) (complen (length (split-string comp "\n")))) (if (> complen 1) (enlarge-window (- icomplete-prospects-height (1- (window-height))))) comp)) (advice-add 'icomplete-completions :filter-return #'icomplete-vertical-adjust-minibuffer-height) So, in my view, all that's needed is to fix the window height problem (addressed separately in a discussion which I haven't been following), and then add sufficient hookage so that a _separate_ icomplete-vertical.el package with all the advanced features you are working on can be developed. By the way, do you mind listing here exactly which ones those are in relation to the system attained by the code above? João On Thu, Oct 1, 2020 at 5:48 PM Ergus wrote: > Hi: > > I made some corrections to simplify the icomplete-vertical feature > branch and pushed (forced) some days ago. (sorry for that, I should have > used a scratch branch instead) > > Now the icomplete-format variable is removed and the user only needs to > add at least one '\n' to the separator. I also use > window-text-pixel-size to correct the issue with long lines but still > perform the height calculations in pixels to properly show the ellipsis > as Eli recommended. > > I keep the funcall approach because IMO it is cleaner, and reduces > unneeded and redundant things. (And because it is compatible with > something else I am working in) > > If some of the previous testers could give it a second try. When it is > fine I will add some documentation and merge in master. > > BTW: If someone could give a look to the completions-highlight feature > branch too and make recommendations, report issues? > > Best, > Ergus > -- João Távora