| Age | Commit message (Expand) | Author |
| 2014-10-12 | Preserve selection orientation when replacing | Maxime Coste |
| 2014-10-03 | Use InternedStrings for buffer contents | Maxime Coste |
| 2014-09-22 | Use std:move for selection parameters | Maxime Coste |
| 2014-07-25 | Fix Selection::insert when replacing with empty string at the end of the buffer | Maxime Coste |
| 2014-07-05 | Add support for paste all (on <a-[pP]>) | Maxime Coste |
| 2014-07-05 | utf8: use end of sequence iterators for more security | Maxime Coste |
| 2014-06-12 | Fix selection update | Maxime Coste |
| 2014-06-05 | Fix handling of empty insert | Maxime Coste |
| 2014-06-05 | Rework and fix corner cases in selection updating code | Maxime Coste |
| 2014-06-02 | Fix selection updating, avoid overlapping selections | Maxime Coste |
| 2014-06-02 | Move compute_modified_ranges to selection.cc and use an optimized approach | Maxime Coste |
| 2014-06-02 | Optimize SelectionList::update in the case where changes are backward | Maxime Coste |
| 2014-06-01 | Extract merge_overlapping as a free function template | Maxime Coste |
| 2014-05-31 | formatting fix | Maxime Coste |
| 2014-05-29 | Use forward iteration on selections, and take advantage of it when updating | Maxime Coste |
| 2014-05-26 | Go back to Buffer::Change based implementation for SelectionList::update | Maxime Coste |
| 2014-05-25 | Use SelectionList::insert in InputModes::Insert | Maxime Coste |
| 2014-05-25 | Move insert/erase methods from normal.cc to member functions in SelectionList | Maxime Coste |
| 2014-05-24 | Clamp modified coord in Selection as it could be buffer end | Maxime Coste |
| 2014-05-24 | Fix, cleanup and refactor compute_modifications | Maxime Coste |
| 2014-05-21 | Add initial (and probably buggy) compute_modifications code | Maxime Coste |
| 2014-05-14 | Iterate in reversed order on selections when modifing buffer | Maxime Coste |
| 2014-05-14 | Use a plain SelectionList for Context, remove DynamicSelectionList | Maxime Coste |
| 2014-05-14 | utf8::is_character_start takes directly the char value | Maxime Coste |
| 2014-05-13 | Make it harder to have an invalid SelectionList | Maxime Coste |
| 2014-05-13 | SelectionList know its buffer and timestamp | Maxime Coste |
| 2014-05-13 | Pass a at_end param to BufferChangeListener::on_{insert,erase} | Maxime Coste |
| 2014-05-07 | Refactor LineAndColumn coordinates | Maxime Coste |
| 2014-04-08 | Minor formatting fixes (very long lines) | Maxime Coste |
| 2014-03-29 | Remove Range struct, merge it back in Selection | Maxime Coste |
| 2014-01-28 | Rename selections first,last to more explicit anchor,cursor | Maxime Coste |
| 2013-12-14 | SelectionList should never be empty | Maxime Coste |
| 2013-12-14 | Move main selection index to SelectionList | Maxime Coste |
| 2013-07-26 | LineAndColumns: always pass by value | Maxime Coste |
| 2013-06-04 | Use coord instead of iterators for selections | Maxime Coste |
| 2013-06-01 | BufferChangeListener: pass buffer to on_{inser,erase} | Maxime Coste |
| 2013-05-30 | reorganize check_invariant in SelectionList | Maxime Coste |
| 2013-05-30 | Remove Range::content | Maxime Coste |
| 2013-05-30 | Remove begin/end from Ranges, replace with min/max | Maxime Coste |
| 2013-05-30 | buffer end should not be in a selection | Maxime Coste |
| 2013-05-29 | Remove Selection::avoid_eol, move as static func in editor.cc | Maxime Coste |
| 2013-05-14 | tweak Range::merge_with behaviour | Maxime Coste |
| 2013-05-03 | add SelectionList::check_invariant | Maxime Coste |
| 2013-05-02 | Move selection update code to SelectionList | Maxime Coste |
| 2013-04-09 | rename assert to kak_assert to avoid collisions | Maxime Coste |
| 2013-02-27 | Add String Range::content() const | Maxime Coste |
| 2013-02-27 | Add a debug option to Makefile, and use KAK_DEBUG define to remove debug code | Maxime Coste |
| 2013-01-23 | add more asserts | Maxime Coste |
| 2012-12-13 | move selection updating code out of selection, to DynamicSelectionList | Maxime Coste |
| 2012-11-30 | Selection: refactoring, move CaptureList to Selection | Maxime Coste |