[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ERC completion
From: |
Antoine Levitt |
Subject: |
Re: ERC completion |
Date: |
Fri, 29 Apr 2011 09:43:54 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
29/04/11 02:50, Stefan Monnier
>>>> Sorry, it isn't ignored. But rather, erc-pcompletions-at-point always
>>>> return non-nil, even when it does not complete anything, so that my
>>>> customization
>>>> (setq erc-complete-functions '(erc-pcompletions-at-point
>>>> my-dabbrev-expand))
>>>> does not work as expected. (the intent is to have dabbrev take over if
>>>> I'm not completing a nick)
>>> Hmm, does the patch below help?
>
>> It's looks like it's a step in the right direction, but it does not fix
>> the problem: "completions" is still non-nil, and includes every nick,
>> even those that don't begin by the word before point.
>
> I see. The problem is that completion-at-point-functions is meant to
> first decide what kind of completion should take place at point,
> regardless of whether the text at point might match any one of those
> completions (and determining whether or not it matches would need to pay
> attention to completion-styles and completion-in-region-function, ...,
> i.e. do a dry-run of completion-in-region). Note that the decision
> should take place separately from the completion itself since we want to
> be able to do things like completion-help-at-point.
>
> IIUC in your case, you seem to want to use "nick completion if such
> a completion exists, or else fallback on dabbrev".
>
> I'm not sure how best provide that kind of behavior (other than by
> trying to merge the two entries using something like
> completion-table-in-turn).
Can't you just wrap the new framework as a function that completes and
returns nil if it did not do anything, and use this for erc-complete-functions?
In any cases the change breaks erc-complete-functions. Maybe this
should be resolved in a general way before converting ERC (and maybe
others that use a similar way of customizing completions) to the new
completion framework.
Or just drop erc-complete-functions support and document a way of
achieving the same effect under the new framework.
>
>> Also, while on the subject of ERC completions, it seems an extra space
>> is appended after erc-pcomplete-nick-postfix, originating from the same
>> commit.
>
> Hmm... can you show me exactly what you've done, what was the result
> with the code and what is the result with the new code?
Just run emacs -Q, join any channel, and complete a username. Old code
did
"ERC> some_nick: "
new code does
"ERC> some_nick: "
- ERC completion, Antoine Levitt, 2011/04/27
- Re: ERC completion, Stefan Monnier, 2011/04/27
- Re: ERC completion, Antoine Levitt, 2011/04/28
- Re: ERC completion, Stefan Monnier, 2011/04/28
- Re: ERC completion, Antoine Levitt, 2011/04/28
- Re: ERC completion, Stefan Monnier, 2011/04/28
- Re: ERC completion,
Antoine Levitt <=
- Re: ERC completion, Stefan Monnier, 2011/04/29
- Re: ERC completion, Antoine Levitt, 2011/04/29