On Wednesday, June 20, 2012 1:40:10 PM UTC-4, Christian Brabandt wrote: > Hi Raymond! > > On Mi, 20 Jun 2012, Raymond Ko wrote: > > > This patch breaks the dot register for my autocompletion plugin when > > 'refresh: always' is NOT set. Once the popup menu shows up, any > > following character is appended twice to the dot register. Although I > > can work around it by setting 'refresh: always' (my plugin is not > > dependent on this), I'm sure there is an underlying bug with the code. > > > > Attached is a minimal test case based off of my plugin to reproduce > > the bug. My results are marked on the comments of the return clause > > inside the completion function. It is also available on: > > > > https://gist.github.com/2960778 > > > > Steps to reproduce: 1. Run "C:\Program Files (x86)\Vim\vim73\gvim.exe" > > -u NONE -i NONE 2. :source test.vim 3. Enter insert mode 4. Type test > > 5. <ESC> 6. :reg(.) > > > > My original plugin is at: > > https://github.com/raymond-w-ko/omegacomplete.vim for any interested > > as to why I am doing this. Note that it is still a work in progress. > > > So only add to the redo buffer, when refresh:always is set, right? > > diff --git a/src/edit.c b/src/edit.c > --- a/src/edit.c > +++ b/src/edit.c > @@ -3467,13 +3467,15 @@ > (*mb_char2bytes)(c, buf); > buf[cc] = NUL; > ins_char_bytes(buf, cc); > - AppendToRedobuff(buf); > + if (compl_opt_refresh_always) > + AppendToRedobuff(buf); > } > else > #endif > { > ins_char(c); > - AppendCharToRedobuff(c); > + if (compl_opt_refresh_always) > + AppendCharToRedobuff(c); > } > > /* If we didn't complete finding matches we must search again. */ > > > regards, > Christian > --
I just tested this on both my testcase and plugin and it seems to work fine. Someone should probably check with Val Markovic <v...@markovic.io> to make sure that this change does not somehow break the plugin that he is writing, even though it seems highly unlikely that it will happen. Thanks! -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php