Skip to content

Broken history with delimitMate #114

Closed
dmayle opened this Issue Jan 18, 2013 · 3 comments

3 participants

@dmayle
dmayle commented Jan 18, 2013

For a while now, I've run into the occasional issue where I seem to be able to paste through vim history, so that undo doesn't work for certain changes.

It's taken me six months to figure out what was causing it, and come up with a working test case. As it turns out, a fresh install with just delimitMate triggers the behavior:

Either from a new instance or a fresh buffer (:enew), I hit 'a' and type the following:
foo><CR>bar<ESC>u

That is, I type 'foo' followed by a closing bracket, then carriage return, type 'bar', escape and undo. The undo removes the line with 'foo>' on it, and leaves 'bar' indelibly stuck in history.

It has to be done with 'i' or 'a' (insert or append), not 'o' (append blank line and start insert mode there).

@dmayle
dmayle commented Jan 19, 2013

It turns out that the underlying cause is a VIM bug in setline():
https://groups.google.com/forum/?fromgroups=#!topic/vim_use/yRcEE2eO8TQ

Since delimiteMate defaults to disabling CR expansion in comments, this bug is triggered.

@Raimondi Raimondi closed this Feb 9, 2013
@mimecuvalo

Heyo! I see the bug is closed but wondering:

  • is there a workaround in the meantime? (particularly frustrating when writing HTML with this bug...)
  • the vim thread mentioned is from 2 years ago and seems that no bug was filed / or solution proposed there. Perhaps if there isn't a workaround with delimitMate then I shall ping that old vim thread?
@Raimondi
Owner

There is no workaround at the moment. Try the old thread, Bram or someone else might be inspired to look into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.