From 4795261b94619e9f864f86c1b582b2f9657297f6 Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 6 Feb 2014 00:13:52 +0400 Subject: [PATCH] fix infinite loop when inserting snippet with self referencing tabstop fixes #1802 --- lib/ace/snippets.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/ace/snippets.js b/lib/ace/snippets.js index ee1a5498..4418550d 100644 --- a/lib/ace/snippets.js +++ b/lib/ace/snippets.js @@ -329,8 +329,11 @@ var SnippetManager = function() { continue; var id = p.tabstopId; var i1 = tokens.indexOf(p, i + 1); - if (expanding[id] == p) { - expanding[id] = null; + if (expanding[id]) { + // if reached closing bracket clear expanding state + if (expanding[id] === p) + expanding[id] = null; + // otherwise just ignore recursive tabstop continue; }