bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#16334: 24.3.50; company-capf eats the first char in IELM filename co


From: Stefan Monnier
Subject: bug#16334: 24.3.50; company-capf eats the first char in IELM filename completions
Date: Sat, 04 Jan 2014 00:00:43 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

> 1. Open an IELM buffer and (on Unix) type `"/' there.
> 2. Leave the point after `/'.
> 3. Type `M-x company-capf', see that all candidates have the first
> character missing.

That's normal.  Try C-x C-f / TAB TAB and you'll see that the leading /
is also "missing" in the *Completions* buffer.

> Not sure how `completion-at-point' ignores that problem.

It doesn't ignore the problem.  It knows that (all-completions STR
TABLE) doesn't always return strings that have STR as a prefix and
spends a fair bit of effort handling it right.

> 5. Type `/usr/', then `M-x company-capf', see an error caused by some
> candidates being shorter than the prefix.

Indeed, Company can't handle all completion-at-point-functions so far
because it assumes all completion tables are "simple", unlike
for example filename completion.

You can know how many chars are "missing" by calling
`completion-boundaries'.  Ideally, Company should be extended to handle
this feature, but for now that can be handled in company-capf.


        Stefan





reply via email to

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