Just a heads up that the Komodo 5.0.3 release will change the behaviour of some of the common API methods. This should only affect a small minority of Komodo macros and extensions.

The below APIs have now been changed:

ko.open.URI

ko.open.displayPath

These methods were previously operating synchronously in Komodo 5.0.2, but will now operate asynchronous as of Komodo 5.0.3.

These below methods are now deprecated:

ko.views.manager.doFileOpen

ko.views.manager.doNewView

ko.views.manager.newViewFromURI

ko.views.manager.doFileNewFromTemplate

instead, new asynchronous functions have been created in their place:

ko.views.manager.doFileOpenAsync

ko.views.manager.doNewViewAsync

ko.views.manager.newViewFromURIAsync

ko.views.manager.doFileNewFromTemplateAsync

What this means is that if you were using these API methods, and using the return value (a koIView instance) or expected to be able to use “ko.views.manager.currentView” to access the new view after calling these methods, then you’ll need to update your code to now use the asynchronous callback handling.

Example:


// Open an existing file in Komodo 5.0.2 and modify the text.
var view = ko.open.URI("file:///path/to/file.txt");
view.scimoz.text = "Some text";

In Komodo 5.0.3 this would need to be updated like so:


// Open an existing file in Komodo 5.0.3 and modify the text.
ko.open.URI("file:///path/to/file.txt", null, false,
function(view) {
view.scimoz.text = "Some text";
}
);

The reason for the change was to workaround the Komodo editor plugin (Scintilla) not being correctly shutdown/finalized when the editor file was closed (mostly affecting Mac OS X). The full details of the problem are logged in this bug:

https://bugs.www.activestate.com/show_bug.cgi?id=80683

Cheers,

Todd