| Age | Commit message (Expand) | Author |
| 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 |
| 2012-11-12 | make Buffer::{add,remove}_change_listener const and the listener list mutable | Maxime Coste |
| 2012-10-08 | selections should always point to an utf8 character sequence start byte | Maxime Coste |
| 2012-09-05 | fix Selection::merge_with | Maxime Coste |
| 2012-08-15 | avoid keeping end of lines selected in Editor::erase | Maxime Coste |
| 2012-07-16 | Go back to a generic BufferChangeListener interface for selection update | Maxime Coste |
| 2012-04-04 | remove ModificationListener and use a list of iterators to update instead | Maxime Coste |
| 2012-03-30 | Store buffer content in a list of lines | Maxime Coste |
| 2012-02-22 | Selection: handle last buffer character deleted case | Maxime Coste |
| 2012-02-09 | Merge captures into registers, implements register insertion | Maxime Coste |
| 2012-01-31 | extract an Editor class from Window and refactor | Maxime Coste |