I'd like to note that this trick never quite worked anyway. For example if you do i"test"<CR><Esc>.uu in a new buffer you end up with two empty lines even though you're at the “oldest” change. This could be another bug with setline(), I suppose.
On Thu, Jul 11, 2013 at 6:57 PM, Ben Fritz <[email protected]> wrote: > On Thursday, July 11, 2013 10:45:16 AM UTC-5, Christian Brabandt wrote: > > On Thu, July 11, 2013 17:36, Ben Fritz wrote: > > > > > On Thursday, July 4, 2013 4:44:26 AM UTC-5, Bram Moolenaar wrote: > > > > >> > > > > >> Perhaps we can somehow detect that CTRL-R = had the side effect of > > > > >> > > > > >> changing the text and then split undo. When it only returns the text > to > > > > >> > > > > >> be inserted, there is no need to split undo. > > > > >> > > > > > > > > > > Even though it won't fix it all the way, I think this is a good idea. > It > > > > > will make things a lot better at least. > > > > > > > > > > Then we can do this obviously simplified example without breaking undo: > > > > > > > > > > inoremap <Space> <C-R>="\<LT>Space>"<CR> > > > > > > > > Wouldn't in this example CTRL-R= also change the text and therefore break > > > > undo here as well? > > > > It doesn't change the text directly, it only returns a value. > > Actually this mapping seems to work now that I try it again. I'm not sure > what I did differently when it didn't work the first time I tried. > Something is making me unable to use delimitMate, because even if set the > option that makes the <Space> mapping simply return a space, the undo > sequence breaks on every space insertion. > > This is closer to what is actually going on in delimitMate, but I still > can't reproduce the issue. I will try again later to get a smaller example: > > function! Space() > return "\<Space>" > endfun > > inoremap flarbityflarb <C-]><C-R>=Space()<CR> > > imap <Space> <C-]>flarbityflarb > > -- > -- > 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 > > --- > You received this message because you are subscribed to the Google Groups > "vim_dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- 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 --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
