-           });
-
-           $('#source-editor .toolbar').toolbarize({
-               actionContext: self.codemirror
-           });
-
-           // textarea is no longer needed
-           $('#codemirror_placeholder').remove();
-           old_callback.call(self);
-       }
-
-        $.wiki.Perspective.call(this, options);
-    };
-
-
-    CodeMirrorPerspective.prototype = new $.wiki.Perspective();
-
-    CodeMirrorPerspective.prototype.freezeState = function() {
-        this.config().position =  this.codemirror.getScrollInfo().top;
-    };
-
-    CodeMirrorPerspective.prototype.unfreezeState = function () {
-        this.codemirror.scrollTo(0, this.config().position || 0);
-    };
-
-       CodeMirrorPerspective.prototype.onEnter = function(success, failure) {
-               $.wiki.Perspective.prototype.onEnter.call(this);