Replace setLineClass with addLineClass and removeLineClass
Add possibility to attach classes to line wrapper. Closes #896
Add support for 'atomic markers'
This is an experimental feature. Not stable, nor well tested. Atomic markers allow a marked range to act as an indivisible unit, as far as cursor movement, selection, and deletion is concerned. Paves the way for widget placeholders that behave properly, and chunks of non-editable text in an editable document.
Allow one pixel difference between scrollbar and scroller position
Otherwise, at some zoom levels, rounding errors would cause a feedback loop that made the scroll position 'drift'. Closes #907
Add support for readOnly spans
Experimental feature. Makes a span impossible to edit.
Change the argument list for markText
The class is now specified as an option, rather than a separate argument (and is thus optional). Incompatible API change.
Prevents weird side effects after setting the selection on an unfocused editor.
.. to be a little less gigantic and convoluted.
Sort marked spans on creation, not on rendering
To prevent repeated re-sorting and general silly side effects.
Add collapsed and replacedWith options to markText
To allow arbitrary folding of text, and replacement with widgets. Remove old line folding system.
Minimize some expensive loops in tests
That were used to find the precise width at which something wraps.
Move to a new way of measuring character positions
Cut down on round-trips (and improve caching) by measuing all characters in a line at once, and caching the resulting object, rather than forcing an (expensive) DOM layout for every char that is measured, and caching per-char.
Cache line measurement object inside cursorCoords and coordsChar
It's already cached globally, but such cache lookups are not that cheap.
Make lineIsHidden properly recognize lines filled up by collapsed spans
(It used to only notice when a single span filled the whole line.)
Only try to override escape key event keyCode on old IEs
It's no longer allowed on IE10, and not needed on IE9. Closes #911
Added "dirty counter" so we can tell when the user has undone/redone …
…to the last point at which the document was marked clean.