(And fix a really poor function name.) Issue #986
…alue className is misleading -- these are not the actual CSS classes.
';' after end of class definition is changing context to 'statement' from 'top' (or '}'). This results in subsequent lines to be indented with 2-spaces (extra). Fix is not to pushContext when curPunc is ';' and context.type is '} or 'top'.
This prevents the offset computations from becoming confused when the border falls on a hidden line. Closes #978
By checking *first* whether it needs to be pushed, and *then* whether anything did actually change. Closes #975
That's apparently not a reliable thing to test for.
…changes as input This helps the undo history notice that it may combine them. Issue #970