emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Support "\n" in icomplete-separator


From: Eli Zaretskii
Subject: Re: [PATCH] Support "\n" in icomplete-separator
Date: Wed, 11 Nov 2020 18:06:31 +0200

> Cc: Eli Zaretskii <eliz@gnu.org>, spacibba@aol.com, monnier@iro.umontreal.ca,
>  emacs-devel@gnu.org
> From: martin rudalics <rudalics@gmx.at>
> Date: Wed, 11 Nov 2020 11:01:43 +0100
> 
>  >> Applications have to accept that users want their minibuffer windows to
>  >> show just one line.  Or at most two lines.  Or three ...
>  >
>  > Also users: "Show us completions vertically" and
>  > (setq <icomplete/ido/etc>-separator "\n")
> 
> Users shouldn't want the cake and eat it too.  Any application should
> take care of such users.  If an application has a truly expandable
> minibuffer window or a normal window at its hands, it can try to show
> completions vertically.  With the default minibuffer window, it should
> always behave as if only one line were available.

I'd say this much more bluntly: Emacs's minibuffer input was not
designed for showing too many completion candidates, let alone show
them vertically arranged.  It was even less designed to display the
candidates or other hints in overlays.  Users come from other GUI
applications, and expect a very different way of showing completion
candidates than Emacs traditionally does.  they want a UI which is
akin to a combo box, sometimes even with scroll capability.  If we
want to support such UI, we should support it properly: by dropping
down or popping up such a combo-like list.  It is IMO wrong to do this
the way icomplete-vertical and other similar packages try doing it,
because the result will never look as pretty and professional as those
other GUI applications offer.

IOW, we should add new infrastructure into Emacs for supporting these
features, perhaps by reusing some existing toolkit widgets.  Playing
tricks with display based on overlays with embedded newlines is not
TRT, it's a dead end -- there are many things you simply will be
unable to do reliably that way, and the results will not be pretty
anyway.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]