From a4fee4f82c31c16ee531eea1e647081df5a351d1 2014-07-31 21:25:34 From: Jason Grout Date: 2014-07-31 21:25:34 Subject: [PATCH] Copy codemirror mode configuration instead of changing it If we change it, the modified (wrong) mode is saved in the notebook, which wrecks havoc on highlighting once the notebook is saved and reopened. --- diff --git a/IPython/html/static/notebook/js/codemirror-ipython.js b/IPython/html/static/notebook/js/codemirror-ipython.js index 096ba17..1fb01ee 100644 --- a/IPython/html/static/notebook/js/codemirror-ipython.js +++ b/IPython/html/static/notebook/js/codemirror-ipython.js @@ -7,10 +7,15 @@ CodeMirror.requireMode('python',function(){ "use strict"; CodeMirror.defineMode("ipython", function(conf, parserConf) { - - parserConf.singleOperators = new RegExp("^[\\+\\-\\*/%&|\\^~<>!\\?]"); - parserConf.name = 'python' - return CodeMirror.getMode(conf, parserConf); + var pythonConf = {}; + for (var prop in parserConf) { + if (parserConf.hasOwnProperty(prop)) { + pythonConf[prop] = parserConf[prop]; + } + } + pythonConf.name = 'python'; + pythonConf.singleOperators = new RegExp("^[\\+\\-\\*/%&|\\^~<>!\\?]"); + return CodeMirror.getMode(conf, pythonConf); }, 'python'); CodeMirror.defineMIME("text/x-ipython", "ipython");