On Fri, Apr 14, 2006 at 12:42:53PM +0200, Bram Moolenaar wrote:
> 
> Benji Fisher wrote:
> 
> >      I am a few days behind:  vim 7.0d (Linux).
> > 
> >      I have the text "Mary Ellen" and "May 2" in my buffer.  I want to
> > type "Mary Ellen" again, so (not noticing the "May 2") I do
> > 
> > Ma<C-P><C-X><C-P>
> > 
> > but that gives me
> > 
> > May 2
> > 
> > Oops!  So I type <BS> a few times (three, to be exact).  Much to my
> > surprise, I get
> > 
> > May x=EF=BF=BD>     =10Ma
> > 
> > (In case it gets garbled in translation, that looks like
> > 
> > May x<99>>  ^PMa
> > 
> > to me.)  When I repeat the experiment, I get different garbage, so I am
> > guessing that there is an uninitialized variable here.
> 
> I guess the state for adding completion isn't reset properly when you
> backspace.  The patch below makes it work better for me.  But I could
> not reproduce the "garbage" thus I can't verify that is fixed too.

     The patch gets rid of the garbage.  There is still a slight
problem.  After Ma<C-P><C-X><C-P><BS><BS><BS> I now have

Ma

as expected.  The pop-up menu shows "Mary" (selected) and "May", but the
buffer just shows "Ma".  One <C-P> leaves me with "Ma" and nothing
selected in the menu; another gives me "May", and a third gives me
"Mary" (with the buffer matching the menu selection).  IMO when I have
"Ma" in the buffer, nothing should be selected from the pop-up menu.

     For the sake of users, like me, who are used to the old CTRL-X
mode, I suggest the following addition to doc/insert.txt .  Maybe a
reference to |ins-completion-menu| would be better than the suggested
|popupmenu-keys|.  Or even rewrite the paragraph about CTRL-X mode above
the lines I added.

                                        --Benji Fisher

*** src/vim70d03/runtime/doc/insert.txt 2006-04-11 16:50:30.000000000 -0400
--- -   2006-04-14 08:47:29.251949000 -0400
***************
*** 1,4 ****
! *insert.txt*    For Vim version 7.0d.  Last change: 2006 Apr 11
  
  
                  VIM REFERENCE MANUAL    by Bram Moolenaar
--- 1,4 ----
! *insert.txt*    For Vim version 7.0d.  Last change: 2006 Apr 14
  
  
                  VIM REFERENCE MANUAL    by Bram Moolenaar
***************
*** 590,595 ****
--- 590,598 ----
  CTRL-X mode command.  Valid keys are the CTRL-X command itself, CTRL-N (next),
  and CTRL-P (previous).
  
+ If 'completeopt' comtains "menu" (the default), then the special meanings
+ described under |popupmenu-keys| apply.
+ 
  Also see the 'infercase' option if you want to adjust the case of the match.
  
                                                        *complete_CTRL-E*

Reply via email to