diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index 347c854a..b11ff05c 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -893,17 +893,17 @@ var EditSession = function(text, mode) { config.loadModule(["mode", path], function(m) { if (this.$modeId !== path) return cb && cb(); - if (this.$modes[path] && !options) - return this.$onChangeMode(this.$modes[path]); - if (m && m.Mode) { + if (this.$modes[path] && !options) { + this.$onChangeMode(this.$modes[path]); + } else if (m && m.Mode) { m = new m.Mode(options); if (!options) { this.$modes[path] = m; m.$id = path; } this.$onChangeMode(m); - cb && cb(); } + cb && cb(); }.bind(this)); // set mode to text until loading is finished