diff -r 94a5bf416e50 Lib/idlelib/PyShell.py --- a/Lib/idlelib/PyShell.py Tue May 29 22:55:43 2012 -0700 +++ b/Lib/idlelib/PyShell.py Thu May 31 11:01:36 2012 -0500 @@ -309,6 +309,11 @@ "console": idleConf.GetHighlight(theme, "console"), }) + def removecolors(self): + # Don't remove shell color tags before "iomark" + for tag in self.tagdefs: + self.tag_remove(tag, "iomark", "end") + class ModifiedUndoDelegator(UndoDelegator): "Extend base class: forbid insert/delete before the I/O mark" diff -r 94a5bf416e50 Misc/NEWS --- a/Misc/NEWS Tue May 29 22:55:43 2012 -0700 +++ b/Misc/NEWS Thu May 31 11:01:36 2012 -0500 @@ -10,6 +10,8 @@ Core and Builtins ----------------- +- Issue #14962: Preserve IDLE shell coloring tags when changing configuration. + - Issue #14835: Make plistlib output empty arrays & dicts like OS X. Patch by Sidney San Martín.