When calling remote functions or emitting deprecation warnings
respectively Electron and Grim create a fake `Error` object to retrieve
the stack trace of the current call site.
When doing this for the first time, if the call site was located inside
a snapshotted file, previously we would parse the source map for the
snapshot and translate the position of each call in the stack trace.
However, since the snapshot source map is quite big, we were observing
major slowdowns when parsing it for the first time.
With this commit we will parse the snapshot source map while generating
the snapshot, which will allow to not pay for it during runtime.
Signed-off-by: Michelle Tilley <binarymuse@github.com>
With snapshots, all the forbidden modules are required lazily. In the
case of `TextEditorElement` this can be problematic because users might
create editors via `document.createElement('atom-text-editor')`.
With this commit we will eagerly require
`src/text-editor-element.coffee`, thus forcing `TextEditorElement` to
register the HTML custom element and fixing the issue.
* master: (43 commits)
If one arch fails, kill the other for perf on appveyor
⬆️ dalek@0.2.1
Revert "⬆️ all packages that use atom-select-list"
⬆️ atom-keymap
⬆️ status-bar
⬆️ all packages that use atom-select-list
⬆️language-ruby@0.71.0
⬆️autocomplete-css@0.16.1
Ensure `packagesCache` exists before accessing it
🎨⬆️ less-cache
Use `core/` instead of `<embedded>` for keymaps loaded during snapshot
Set also defaultSettings.core.projectHome when initializing Config
Fix tests
⬆️ atom-keymap
Replace CommandRegistry.addBundled with a boolean param in .add
Delete unused build scripts
🔥 Remove parserlib
Resolve style sheets paths during `script/build` for bundled packages
Don't use cached less sources and imported files in dev mode
...
Note: "clean window" is defined as 1) having an empty project and 2)
having no pane items or only empty unnamed buffers
When project is empty and there is saved state associated with the
opened/added folders...
* Open a file or folder (from command line or Open menu)
* If we have a clean window, restore project state in window
* If window is dirty, restore saved state in new window
Note: "clean window" is defined as 1) having an empty project and 2)
having no pane items or only empty unnamed buffers
Adding folder(s)
* If we have a clean window, restore project state in window
* If window is dirty, prompt user to
* add folder to the existing window LOSING state
* OR open project folder in a new window