Просмотр исходного кода

Revert "Make very simple shallow copy of aceDelta when there's an undo error"

This reverts commit 1d77a95f17dde6f8792bca1989d65952474b144c.
James Allen 10 лет назад
Родитель
Сommit
c2eb49845f

+ 9 - 4
services/web/public/coffee/ide/editor/directives/aceEditor/undo/UndoManager.coffee

@@ -233,11 +233,16 @@ define [
 			start = aceDelta.start
 			start = aceDelta.start
 			if !start?
 			if !start?
 				error = new Error("aceDelta had no start event.")
 				error = new Error("aceDelta had no start event.")
-				inspectedAceDelta = {}
-				for key, value of aceDelta
-					inspectedAceDelta[key] = typeof value
+				JSONstringifyWithCycles = (o) ->
+					seen = []
+					return JSON.stringify o, (k,v) ->
+						if (typeof v == 'object')
+							if ( !seen.indexOf(v) )
+								return '__cycle__'
+							seen.push(v);
+						return v
 				Raven?.captureException(error, {
 				Raven?.captureException(error, {
-					aceDelta: JSON.stringify(inspectedAceDelta)
+					aceDelta: JSONstringifyWithCycles(aceDelta)
 				})
 				})
 				throw error
 				throw error
 			linesBefore = docLines.slice(0, start.row)
 			linesBefore = docLines.slice(0, start.row)