From 286361bf2bc0ee711a60dbd8b392eb4fd2974094 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Fri, 5 Dec 2014 12:47:27 -0800 Subject: [PATCH] Fix line numbers in coffeescript stack traces for error hooks --- src/atom.coffee | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/atom.coffee b/src/atom.coffee index 22b2ef3f0..2381b7461 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -11,6 +11,7 @@ _ = require 'underscore-plus' {Emitter} = require 'event-kit' {Model} = require 'theorist' fs = require 'fs-plus' +{convertStackTrace, convertLine} = require 'coffeestack' {$} = require './space-pen-extensions' WindowEventHandler = require './window-event-handler' @@ -195,9 +196,16 @@ class Atom extends Model unless @inDevMode() or @inSpecMode() require('grim').deprecate = -> + sourceMapCache = {} + window.onerror = => @lastUncaughtError = Array::slice.call(arguments) [message, url, line, column, originalError] = @lastUncaughtError + + convertedLine = convertLine(url, line, column, sourceMapCache) + {line, column} = convertedLine if convertedLine? + originalError.stack = convertStackTrace(originalError.stack, sourceMapCache) if originalError + eventObject = {message, url, line, column, originalError} openDevTools = true