[Top][All Lists]

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

bug#10618: 24.0.92; completion candidates consisting of newline chars

From: Michael Heerdegen
Subject: bug#10618: 24.0.92; completion candidates consisting of newline chars
Date: Fri, 27 Jan 2012 02:55:24 +0100


this is an enhancement request concerning the appearance of completion
candidates including newline characters, especially those consisting of
only newlines, in the *Completions* buffer.

This issue was discussed in gmane.emacs.devel in 2012/01.

Try this for example:

(completing-read "foo: " '(("aaaa") ("bbbb") ("\n") ("cccc")))

The "\n" candidate is appearing as an empty line in *Completions*, which
is confusing for the user.  The "\n" candidate also gets no visible
mouse-face when you move the mouse over "it" in *Completions*, so the
user doesn't see where to click to select it.

If you try that:

(completing-read "foo: " '("xxx" ("a\n\nb")))

the whole area between a and b gets a mouse-face (from the left to the
right border of the window), but only if the mouse is exactly over the a
or the b. 

There is a discrepancy between what gets highlighted, and where the
mouse pointer must be to get the highlighting shown.  In the
first example, you can select the newline candidate when you
click near the end of the line.  So, also the space where the
highlighting is "activated" doesn't correspond to the space where
the candidate can be selected.

To sum up, such problematic selectable newlines probably need to be
displayed specially, using some meaningful character glyph (that needs
to be displayable on all TTYs, btw).



In GNU Emacs (i486-pc-linux-gnu, GTK+ Version 3.2.3)
 of 2012-01-26 on zelenka, modified by Debian
 (emacs-snapshot package, version 2:20120126-1)
Windowing system distributor `The X.Org Foundation', version 11.0.11103901
configured using `configure  '--build' 'i486-linux-gnu' '--host' 
'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' 
'--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' 
'--mandir=/usr/share/man' '--with-pop=yes' 
 '--without-compress-info' '--with-crt-dir=/usr/lib/i386-linux-gnu/' 
'--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes' 
'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN 

reply via email to

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