45e3775c18
UltiSnips tracks changes in buffer and apply user changes only on CursorMoved event. So, if placeholder is replaced completely by using <BS>, CursorMoved is not triggered and internal snippet representation is not updated, causing placeholder boundaries go out-of-sync. Fixed by triggering text objects sync forcefully if change without cursor move is detected.