* `[object Object].anonymous` changed a while back to just `.anonymous`
* Windows uses `file:///path` notation, so take that into account
* Also relativize paths in parentheses
This changes the element pool to only remove elements' children right
before we use an element again in order to preserve the structure of
double-freed elements. This will aid in debugging double-free
occurrences. It's also less work in cases where nodes aren't reused.
Fixes#13729
Previously, when adding a window, we were unable to read its current
project paths out of the hash of the URL during window initialization
because the window still considered itself to be loading. Rather than
fixing this issue, we decided to completely eliminate the sharing of
state between processes in the window.location and instead switch to
cached synchronous RPC for the loadSettings and a dedicated RPC-based
mechanism for the project paths.
Fixes#13647.
This restores the behavior we had prior to #13475 when there are no pane
items while preserving its improved behavior for paths outside of the
current project.
This regression was introduced with the removal of the shadow DOM from
`<atom-text-editor>` elements. Previously we were relying on Chrome
always reporting `<atom-text-editor>` as the mousewheel `event.target`.
As a result, removing the shadow boundary caused the mousewheel event to
be potentially dispatched from anywhere inside the editor element,
making our previous logic for handling ctrl-mousewheel invalid. This
commit fixes it by recognizing mousewheel events that are dispatched
from within an editor.
We are working on a feature that changes the content of the editor when you mouse over some things and it makes the UI jump when going from 1 line to > 10. This makes the UI feel really bad.
I've looked at Sublime and the 1-9 state is the same as 1-99, only when you reach 100 lines then it jumps. I think that it is a better behavior as you want to minimize jumps as much as possible and it is extremely likely that you are going to hit the 9-10 lines threshold.

While this is being reviewed and until the new version shipped, we are going to monkeypatch Atom in order to get this feature.
```js
var presenter = atom.textEditors.editors.entries().next().value[0].presenter.__proto__;
var old_updateLineNumberGutterState = presenter.updateLineNumberGutterState;
presenter.updateLineNumberGutterState = function() {
var res = old_updateLineNumberGutterState.apply(this, arguments);
this.lineNumberGutter.maxLineNumberDigits = Math.max(2, this.lineNumberGutter.maxLineNumberDigits);
return res;
};
```
Released under CC0