diff --git a/configs/client-default.js b/configs/client-default.js index 3ee8cf9b..aa32aeee 100644 --- a/configs/client-default.js +++ b/configs/client-default.js @@ -382,7 +382,7 @@ module.exports = function(options) { "plugins/c9.ide.immediate/evaluator", "plugins/c9.ide.immediate/evaluators/browserjs", "plugins/c9.ide.immediate/evaluators/debugnode", - // "plugins/c9.ide.immediate/evaluators/bash", + "plugins/c9.ide.immediate/evaluators/bash", "plugins/c9.ide.run.debug/variables", "plugins/c9.ide.run.debug/watches", "plugins/c9.ide.run.debug/liveinspect", diff --git a/package.json b/package.json index e6b56e6a..ea0cbbc5 100644 --- a/package.json +++ b/package.json @@ -71,12 +71,12 @@ "c9.ide.find": "#35379124ca", "c9.ide.find.infiles": "#c132ad243c", "c9.ide.find.replace": "#44772dd796", - "c9.ide.run.debug": "#e38e16e120", + "c9.ide.run.debug": "#a46abda8e9", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", "c9.ide.ace.keymaps": "#2e3c6e3c8f", - "c9.ide.ace.repl": "#ed708a1b98", + "c9.ide.ace.repl": "#4b88a85b7b", "c9.ide.ace.split": "#0ae0151c78", "c9.ide.ace.statusbar": "#d95be89d53", "c9.ide.ace.stripws": "#cf0f42ac59", @@ -88,7 +88,7 @@ "c9.ide.format": "#33ebd01914", "c9.ide.help.support": "#e95f98f87c", "c9.ide.imgeditor": "#66a9733dc1", - "c9.ide.immediate": "#18c23aa730", + "c9.ide.immediate": "#29fd6d3f51", "c9.ide.installer": "#0fde9f0067", "c9.ide.mount": "#3e017a3324", "c9.ide.navigate": "#c191d9b92f", diff --git a/plugins/c9.core/ext.js b/plugins/c9.core/ext.js index f5b90e52..29369049 100644 --- a/plugins/c9.core/ext.js +++ b/plugins/c9.core/ext.js @@ -530,8 +530,8 @@ define(function(require, exports, module) { }); } - function cleanUp(keepElements) { - if (!keepElements) { + function cleanUp(what) { + if (!what || ~what.indexOf("elements")) { // Loop through elements elements.forEach(function(element) { element.destroy(true, true); @@ -542,33 +542,36 @@ define(function(require, exports, module) { } // Loop through events - events.forEach(function(eventRecord) { - var event = eventRegistry[eventRecord[0]]; - if (!event) return; // this happens with mock plugins during testing - var type = eventRecord[1]; - var id = eventRecord[2]; - var _events = event._events; - var eventList = _events && _events[type]; - if (typeof eventList == "function") { - if (eventList.listenerId == id) - event.off(type, eventList); - } else if (Array.isArray(eventList)) { - eventList.some(function(listener) { - if (listener.listenerId != id) return; - event.off(type, listener); - return true; - }); - } - }); - events = []; + if (!what || ~what.indexOf("events")) { + events.forEach(function(eventRecord) { + var event = eventRegistry[eventRecord[0]]; + if (!event) return; // this happens with mock plugins during testing + var type = eventRecord[1]; + var id = eventRecord[2]; + var _events = event._events; + var eventList = _events && _events[type]; + if (typeof eventList == "function") { + if (eventList.listenerId == id) + event.off(type, eventList); + } else if (Array.isArray(eventList)) { + eventList.some(function(listener) { + if (listener.listenerId != id) return; + event.off(type, listener); + return true; + }); + } + }); + events = []; + onNewEvents = {}; + } // Loop through other - other.forEach(function(o) { - o(); - }); - other = []; - - onNewEvents = {}; + if (!what || ~what.indexOf("other")) { + other.forEach(function(o) { + o(); + }); + other = []; + } } function setAPIKey(apikey){ diff --git a/plugins/c9.ide.ui/lib/menu/menu.js b/plugins/c9.ide.ui/lib/menu/menu.js index 8c786579..711e7ac9 100644 --- a/plugins/c9.ide.ui/lib/menu/menu.js +++ b/plugins/c9.ide.ui/lib/menu/menu.js @@ -738,6 +738,8 @@ apf.menu = function(struct, tagName){ * @param {String} value The value of the item to select. */ this.select = function(group, value){ + this.selectedValue = value; + var nodes = this.childNodes; var i, l = nodes.length; for (i = 0; i < l; i++) { @@ -1530,8 +1532,8 @@ apf.item = function(struct, tagName){ //@todo Anim effect here? this.dispatchEvent("click", { - xmlContext : this.parentNode.xmlReference, - opener : this.parentNode.opener + xmlContext : (this.parentNode || 0).xmlReference, + opener : (this.parentNode || 0).opener });