On Fri, Apr 27, 2007 at 11:23:06PM +0200, Bram Moolenaar wrote:
> Andrei Voropaev wrote:
[...]
> > Unfortunately it's not just a missing screen. If you try to do
> > completion again it won't work. So again, type the beginning of word,
> > hit Ctrl-N, hit Backspace, type ( and beginning of another word, hit
> > Ctrl-N to complete it. It won't work saying that there are no matches.
> > That's because old completion is still active and it tries to complete
> > the whole thing. This happens very often when one has to write C
> > functions :) So, I would say this is a more serious bug than just
> > missing update of the screen.
> 
> When you press Backspace you go into a mode where you edit the text, so
> that you can change the list of matches. 

Aha, this is a feature after all. Is this something new for Version 7? I
don't remember such behaviour in the old version. I guess there's no way
to turn this feature off, since it is very confusing for me. I feel it
is much easier to hit Ctrl-N one more time after I've done my
adjustments, than to remember, that any adjustment I start will result
in almost endless completion. 

In fact it is still broken. Let's look at example. I have word "brown"
in text. Now I type "bru" and hit Ctrl-N. Completion says "No matches".
I think "oops, typo", hit BackSpace, Oops. Completion has ended :)

So, this appears to be the feature that works where it shouldn't, but
does not work where it should :)

> It's difficult to decide when to leave this editing mode.
> Also because you can make a typo, and expect Backspace to correct that.
> If the key exits completion mode you can't go back to what you were doing.

It's strange that you are saying "it's difficult to decide when to leave
the editing mode". As soon as there are no matches after my editing, the
completion shall stop, just like it stops when I don't hit the BackSpace
key. Or do I miss something? I mean, why appending to what I've typed is
different from modifying it? Essentially it's just different way to
modify the input for the completion function. From my naive point of
view, the logic should be something like following.

User starts completion of a word. Display available matches if any,
wait for input. More text provided, leave the completion as
soon as text does not match anything. Text is reduced using BackSpace,
then adjust the matches, return to waiting for input or stop completion,
if the user deleted the word completely.


> If you find a way to reproduce this "undo line numbers wrong error" then
> I would very much like to see it.  It's hard to fix something that I
> can't reproduce.

Yes, I know :) I'll keep looking. Hopefully this was already fixed by
the patches. I was missing about 150 of them :)

Andrei

Reply via email to