Remove double semicolon.
Restore functionality of binding a key to false
(This will cause it to pass through CM's key handlers unmolested.)
Adjust vert scrollbar in size when horiz one is visible
And fix some more scrolling-related confusion. Closes #663
Use measureLine when determining max line width
It used to use stringWidth, which ignored transformations applied to the text (most notably, tab replacement), and produced bad results. Closes #672
Clean up scrolling event handlers
They could get into an infinite recursion on Safari, causing scrolling glitches.
Change vim iterList to a standard for loop.
This fixes an error in the case that extra properties have been added to the array prototype.
Move 'use strict' inside of main function
To prevent problems with script concatenation.
Bail out of measureLine when editor is not in the DOM
That'll make getElementById fail to return our measure element, which shouldn't break the whole editor anymore now.
And move browser detection up in the codemirror.js file, to prevent further instances of 'use sniffing before actually doing it' bugs.