From 7f85b2584d11eb013921bd8bea03143c0ba81c21 Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 28 Feb 2013 20:13:12 +0400 Subject: [PATCH] restore defferedCall --- lib/ace/lib/lang.js | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/lib/ace/lib/lang.js b/lib/ace/lib/lang.js index 37b880bb..4e6ebf2c 100644 --- a/lib/ace/lib/lang.js +++ b/lib/ace/lib/lang.js @@ -144,9 +144,34 @@ exports.getMatchOffsets = function(string, regExp) { /* deprecated */ exports.deferredCall = function(fcn) { - if (typeof console != "undefined" && console.error) - console.error("Deprecated: use lang.delayedCall") - return exports.delayedCall(fcn); + + var timer = null; + var callback = function() { + timer = null; + fcn(); + }; + + var deferred = function(timeout) { + deferred.cancel(); + timer = setTimeout(callback, timeout || 0); + return deferred; + }; + + deferred.schedule = deferred; + + deferred.call = function() { + this.cancel(); + fcn(); + return deferred; + }; + + deferred.cancel = function() { + clearTimeout(timer); + timer = null; + return deferred; + }; + + return deferred; };