Fixed a few code style issues related to the usage of mutable types for default arguments.

Wed, 22 Mar 2017 18:50:20 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 22 Mar 2017 18:50:20 +0100
changeset 5651
982465f8389c
parent 5650
4c52f07c186e
child 5652
d1b65f380408

Fixed a few code style issues related to the usage of mutable types for default arguments.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
DebugClients/Python/DebugClientBase.py file | annotate | diff | comparison | revisions
DebugClients/Python/ThreadExtension.py file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.E5Gui.E5Completers.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Globals.AppInfo.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Graphics.ClassItem.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Graphics.ModuleItem.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Graphics.PackageItem.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Preferences.ConfigurationDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Project.ProjectBrowserModel.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.QScintilla.Lexers.__init__.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.SqlBrowser.SqlBrowser.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Tools.TRPreviewer.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.UI.CompareDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.UI.UserInterface.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Utilities.ClassBrowsers.__init__.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Utilities.ClassBrowsers.idlclbr.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Utilities.ClassBrowsers.jsclbr.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Utilities.ClassBrowsers.pyclbr.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Utilities.ClassBrowsers.rbclbr.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Utilities.ModuleParser.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.install-debugclients.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.install.html file | annotate | diff | comparison | revisions
E5Gui/E5Completers.py file | annotate | diff | comparison | revisions
Globals/AppInfo.py file | annotate | diff | comparison | revisions
Graphics/ClassItem.py file | annotate | diff | comparison | revisions
Graphics/ModuleItem.py file | annotate | diff | comparison | revisions
Graphics/PackageItem.py file | annotate | diff | comparison | revisions
IconEditor/IconEditorWindow.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsMercurial/HgDialog.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationDialog.py file | annotate | diff | comparison | revisions
Project/ProjectBrowserModel.py file | annotate | diff | comparison | revisions
QScintilla/Lexers/__init__.py file | annotate | diff | comparison | revisions
SqlBrowser/SqlBrowser.py file | annotate | diff | comparison | revisions
Tools/TRPreviewer.py file | annotate | diff | comparison | revisions
UI/CompareDialog.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
Utilities/ClassBrowsers/__init__.py file | annotate | diff | comparison | revisions
Utilities/ClassBrowsers/idlclbr.py file | annotate | diff | comparison | revisions
Utilities/ClassBrowsers/jsclbr.py file | annotate | diff | comparison | revisions
Utilities/ClassBrowsers/pyclbr.py file | annotate | diff | comparison | revisions
Utilities/ClassBrowsers/rbclbr.py file | annotate | diff | comparison | revisions
Utilities/ModuleParser.py file | annotate | diff | comparison | revisions
eric6.e4p file | annotate | diff | comparison | revisions
install-debugclients.py file | annotate | diff | comparison | revisions
install.py file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Wed Mar 22 18:45:15 2017 +0100
+++ b/APIs/Python3/eric6.api	Wed Mar 22 18:50:20 2017 +0100
@@ -302,7 +302,7 @@
 eric6.DebugClients.Python.ThreadExtension.QThreadWrapper?1(*args, **kwargs)
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension._bootstrap?5(run)
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension._bootstrapQThread?5(run)
-eric6.DebugClients.Python.ThreadExtension.ThreadExtension.attachThread?4(target=None, args=None, kwargs={}, mainThread=False)
+eric6.DebugClients.Python.ThreadExtension.ThreadExtension.attachThread?4(target=None, args=None, kwargs=None, mainThread=False)
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension.dumpThreadList?4()
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension.find_module?4(fullname, path=None)
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension.getExecutedFrame?4(frame)
@@ -910,7 +910,7 @@
 eric6.E5Gui.E5Completers.E5FileCompleter.rootPath?4()
 eric6.E5Gui.E5Completers.E5FileCompleter.setRootPath?4(path)
 eric6.E5Gui.E5Completers.E5FileCompleter?1(parent=None, completionMode=QCompleter.PopupCompletion, showHidden=False)
-eric6.E5Gui.E5Completers.E5StringListCompleter?1(parent=None, strings=[], completionMode=QCompleter.PopupCompletion)
+eric6.E5Gui.E5Completers.E5StringListCompleter?1(parent=None, strings=None, completionMode=QCompleter.PopupCompletion)
 eric6.E5Gui.E5ErrorMessage.E5ErrorMessage.editMessageFilters?4()
 eric6.E5Gui.E5ErrorMessage.E5ErrorMessage.showMessage?4(message, msgType="")
 eric6.E5Gui.E5ErrorMessage.E5ErrorMessage?1(parent=None)
@@ -1628,7 +1628,7 @@
 eric6.E5XML.XMLStreamWriterBase.XMLStreamWriterBase.writeBasics?4(tag, pyobject)
 eric6.E5XML.XMLStreamWriterBase.XMLStreamWriterBase.writeXML?4()
 eric6.E5XML.XMLStreamWriterBase.XMLStreamWriterBase?1(device)
-eric6.Globals.AppInfo.makeAppInfo?4(argv, name, arg, description, options=[])
+eric6.Globals.AppInfo.makeAppInfo?4(argv, name, arg, description, options=None)
 eric6.Globals.E5ConfigParser.E5ConfigParser.OPTCRE?7
 eric6.Globals.E5ConfigParser.E5ConfigParser.OPTCRE_NV?7
 eric6.Globals.E5ConfigParser.E5ConfigParser._OPT_NV_TMPL?8
@@ -1704,7 +1704,7 @@
 eric6.Graphics.ClassItem.ClassModel.addMethod?4(method)
 eric6.Graphics.ClassItem.ClassModel.getAttributes?4()
 eric6.Graphics.ClassItem.ClassModel.getMethods?4()
-eric6.Graphics.ClassItem.ClassModel?1(name, methods=[], attributes=[])
+eric6.Graphics.ClassItem.ClassModel?1(name, methods=None, attributes=None)
 eric6.Graphics.GraphicsUtilities._buildChildrenLists?5(routes)
 eric6.Graphics.GraphicsUtilities.sort?4(nodes, routes, noRecursion=False)
 eric6.Graphics.ImportsDiagramBuilder.ImportsDiagramBuilder.buildDiagram?4()
@@ -1720,7 +1720,7 @@
 eric6.Graphics.ModuleItem.ModuleItem?1(model=None, x=0, y=0, rounded=False, parent=None, scene=None)
 eric6.Graphics.ModuleItem.ModuleModel.addClass?4(classname)
 eric6.Graphics.ModuleItem.ModuleModel.getClasses?4()
-eric6.Graphics.ModuleItem.ModuleModel?1(name, classlist=[])
+eric6.Graphics.ModuleItem.ModuleModel?1(name, classlist=None)
 eric6.Graphics.PackageDiagramBuilder.PackageDiagramBuilder.buildDiagram?4()
 eric6.Graphics.PackageDiagramBuilder.PackageDiagramBuilder.getPersistenceData?4()
 eric6.Graphics.PackageDiagramBuilder.PackageDiagramBuilder.initialize?4()
@@ -1734,7 +1734,7 @@
 eric6.Graphics.PackageItem.PackageItem?1(model=None, x=0, y=0, rounded=False, noModules=False, parent=None, scene=None)
 eric6.Graphics.PackageItem.PackageModel.addModule?4(modulename)
 eric6.Graphics.PackageItem.PackageModel.getModules?4()
-eric6.Graphics.PackageItem.PackageModel?1(name, moduleslist=[])
+eric6.Graphics.PackageItem.PackageModel?1(name, moduleslist=None)
 eric6.Graphics.PixmapDiagram.PixmapDiagram.ZoomLevelDefault?7
 eric6.Graphics.PixmapDiagram.PixmapDiagram.ZoomLevels?7
 eric6.Graphics.PixmapDiagram.PixmapDiagram.event?4(evt)
@@ -4836,7 +4836,7 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.on_input_returnPressed?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.on_passwordCheckBox_toggled?4(isOn)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.on_sendButton_clicked?4()
-eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.startProcess?4(args, workingDir=None, showArgs=True, environment={})
+eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog.startProcess?4(args, workingDir=None, showArgs=True, environment=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.HgDialog?1(text, hg=None, useClient=True, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffDialog.HgDiffDialog.closeEvent?4(e)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgDiffDialog.HgDiffDialog.on_buttonBox_clicked?4(button)
@@ -6191,7 +6191,7 @@
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.preferencesChanged?7
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.setPreferences?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.showConfigurationPageByName?4(pageName)
-eric6.Preferences.ConfigurationDialog.ConfigurationDialog?1(parent=None, name=None, modal=False, fromEric=True, displayMode=ConfigurationWidget.DefaultMode, expandedEntries=[], webEngine=False)
+eric6.Preferences.ConfigurationDialog.ConfigurationDialog?1(parent=None, name=None, modal=False, fromEric=True, displayMode=ConfigurationWidget.DefaultMode, expandedEntries=None, webEngine=False)
 eric6.Preferences.ConfigurationDialog.ConfigurationPageItem.getPageName?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationPageItem?1(parent, text, pageName, iconFile)
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.DefaultMode?7
@@ -6217,7 +6217,7 @@
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.rejected?7
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.setPreferences?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.showConfigurationPageByName?4(pageName, setCurrent=True)
-eric6.Preferences.ConfigurationDialog.ConfigurationWidget?1(parent=None, fromEric=True, displayMode=DefaultMode, expandedEntries=[], webEngine=False)
+eric6.Preferences.ConfigurationDialog.ConfigurationWidget?1(parent=None, fromEric=True, displayMode=DefaultMode, expandedEntries=None, webEngine=False)
 eric6.Preferences.ConfigurationDialog.ConfigurationWindow.accept?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationWindow.showConfigurationPageByName?4(pageName)
 eric6.Preferences.ConfigurationDialog.ConfigurationWindow?1(parent=None, webEngine=False)
@@ -7036,7 +7036,7 @@
 eric6.Project.ProjectBrowserModel.ProjectBrowserItemMixin.setVcsStatus?4(vcsStatus)
 eric6.Project.ProjectBrowserModel.ProjectBrowserItemMixin?1(type_, bold=False)
 eric6.Project.ProjectBrowserModel.ProjectBrowserItemSimpleDirectory?7
-eric6.Project.ProjectBrowserModel.ProjectBrowserModel.addNewItem?4(typeString, name, additionalTypeStrings=[])
+eric6.Project.ProjectBrowserModel.ProjectBrowserModel.addNewItem?4(typeString, name, additionalTypeStrings=None)
 eric6.Project.ProjectBrowserModel.ProjectBrowserModel.changeVCSStates?4(statesList)
 eric6.Project.ProjectBrowserModel.ProjectBrowserModel.data?4(index, role)
 eric6.Project.ProjectBrowserModel.ProjectBrowserModel.directoryChanged?4(path)
@@ -7828,7 +7828,7 @@
 eric6.QScintilla.Lexers.getSaveFileFiltersList?4(includeAll=False, asString=False, withAdditional=True)
 eric6.QScintilla.Lexers.getSupportedApiLanguages?4()
 eric6.QScintilla.Lexers.getSupportedLanguages?4()
-eric6.QScintilla.Lexers.registerLexer?4(name, displayString, filenameSample, getLexerFunc, openFilters=[], saveFilters=[], defaultAssocs=[], iconFileName="")
+eric6.QScintilla.Lexers.registerLexer?4(name, displayString, filenameSample, getLexerFunc, openFilters=None, saveFilters=None, defaultAssocs=None, iconFileName="")
 eric6.QScintilla.Lexers.unregisterLexer?4(name)
 eric6.QScintilla.MarkupProviders.HtmlProvider.HtmlProvider.bold?4(editor)
 eric6.QScintilla.MarkupProviders.HtmlProvider.HtmlProvider.bulletedList?4(editor)
@@ -8247,7 +8247,7 @@
 eric6.Snapshot.SnapshotTimer.SnapshotTimer.stop?4()
 eric6.Snapshot.SnapshotTimer.SnapshotTimer.timeout?7
 eric6.Snapshot.SnapshotTimer.SnapshotTimer?1()
-eric6.SqlBrowser.SqlBrowser.SqlBrowser?1(connections=[], parent=None)
+eric6.SqlBrowser.SqlBrowser.SqlBrowser?1(connections=None, parent=None)
 eric6.SqlBrowser.SqlBrowserWidget.SqlBrowserWidget.addConnection?4(driver, dbName, user, password, host, port)
 eric6.SqlBrowser.SqlBrowserWidget.SqlBrowserWidget.addConnectionByDialog?4()
 eric6.SqlBrowser.SqlBrowserWidget.SqlBrowserWidget.cCount?7
@@ -8405,7 +8405,7 @@
 eric6.Tools.TRPreviewer.TRPreviewer.reloadTranslations?4()
 eric6.Tools.TRPreviewer.TRPreviewer.setTranslation?4(name)
 eric6.Tools.TRPreviewer.TRPreviewer.show?4()
-eric6.Tools.TRPreviewer.TRPreviewer?1(filenames=[], parent=None, name=None)
+eric6.Tools.TRPreviewer.TRPreviewer?1(filenames=None, parent=None, name=None)
 eric6.Tools.TRPreviewer.Translation?1()
 eric6.Tools.TRPreviewer.TranslationsDict.add?4(fileName, setTranslation=True)
 eric6.Tools.TRPreviewer.TranslationsDict.hasTranslations?4()
@@ -8623,9 +8623,9 @@
 eric6.UI.CompareDialog.CompareDialog.on_synchronizeCheckBox_toggled?4(sync)
 eric6.UI.CompareDialog.CompareDialog.on_upButton_clicked?4()
 eric6.UI.CompareDialog.CompareDialog.show?4(filename=None)
-eric6.UI.CompareDialog.CompareDialog?1(files=[], parent=None)
+eric6.UI.CompareDialog.CompareDialog?1(files=None, parent=None)
 eric6.UI.CompareDialog.CompareWindow.eventFilter?4(obj, event)
-eric6.UI.CompareDialog.CompareWindow?1(files=[], parent=None)
+eric6.UI.CompareDialog.CompareWindow?1(files=None, parent=None)
 eric6.UI.CompareDialog.removeMarkers?4(line)
 eric6.UI.CompareDialog.sbsdiff?4(a, b, linenumberwidth=4)
 eric6.UI.Config.ToolBarIconSize?7
@@ -8938,7 +8938,7 @@
 eric6.Utilities.ClassBrowsers.idlclbr._getnext?8
 eric6.Utilities.ClassBrowsers.idlclbr._modules?8
 eric6.Utilities.ClassBrowsers.idlclbr._normalize?8
-eric6.Utilities.ClassBrowsers.idlclbr.readmodule_ex?4(module, path=[])
+eric6.Utilities.ClassBrowsers.idlclbr.readmodule_ex?4(module, path=None)
 eric6.Utilities.ClassBrowsers.jsclbr.Attribute?1(module, name, file, lineno)
 eric6.Utilities.ClassBrowsers.jsclbr.Function?1(module, name, file, lineno, signature='', separator=', ')
 eric6.Utilities.ClassBrowsers.jsclbr.SUPPORTED_TYPES?7
@@ -8952,7 +8952,7 @@
 eric6.Utilities.ClassBrowsers.jsclbr.Visitor.visit_var?4(node)
 eric6.Utilities.ClassBrowsers.jsclbr.Visitor?1(src, module, filename)
 eric6.Utilities.ClassBrowsers.jsclbr._modules?8
-eric6.Utilities.ClassBrowsers.jsclbr.readmodule_ex?4(module, path=[])
+eric6.Utilities.ClassBrowsers.jsclbr.readmodule_ex?4(module, path=None)
 eric6.Utilities.ClassBrowsers.pyclbr.Attribute?1(module, name, file, lineno)
 eric6.Utilities.ClassBrowsers.pyclbr.Class?1(module, name, superClasses, file, lineno)
 eric6.Utilities.ClassBrowsers.pyclbr.Function?1(module, name, file, lineno, signature='', separator=', ', modifierType=ClbrBaseClasses.Function.General, annotation="")
@@ -8970,7 +8970,7 @@
 eric6.Utilities.ClassBrowsers.pyclbr._getnext?8
 eric6.Utilities.ClassBrowsers.pyclbr._indent?5(ws)
 eric6.Utilities.ClassBrowsers.pyclbr._modules?8
-eric6.Utilities.ClassBrowsers.pyclbr.readmodule_ex?4(module, path=[], inpackage=False, isPyFile=False)
+eric6.Utilities.ClassBrowsers.pyclbr.readmodule_ex?4(module, path=None, inpackage=False, isPyFile=False)
 eric6.Utilities.ClassBrowsers.rbclbr.Attribute?1(module, name, file, lineno)
 eric6.Utilities.ClassBrowsers.rbclbr.Class?1(module, name, superClasses, file, lineno)
 eric6.Utilities.ClassBrowsers.rbclbr.Function?1(module, name, file, lineno, signature='', separator=', ')
@@ -8980,8 +8980,8 @@
 eric6.Utilities.ClassBrowsers.rbclbr._commentsub?8
 eric6.Utilities.ClassBrowsers.rbclbr._getnext?8
 eric6.Utilities.ClassBrowsers.rbclbr._modules?8
-eric6.Utilities.ClassBrowsers.rbclbr.readmodule_ex?4(module, path=[])
-eric6.Utilities.ClassBrowsers.readmodule?4(module, path=[], isPyFile=False)
+eric6.Utilities.ClassBrowsers.rbclbr.readmodule_ex?4(module, path=None)
+eric6.Utilities.ClassBrowsers.readmodule?4(module, path=None, isPyFile=False)
 eric6.Utilities.CodingError?1(coding)
 eric6.Utilities.FtpUtilities.FtpDirLineParser.MonthnamesNumbers?7
 eric6.Utilities.FtpUtilities.FtpDirLineParser.parseLine?4(line)
@@ -9038,7 +9038,7 @@
 eric6.Utilities.ModuleParser._rb_getnext?8
 eric6.Utilities.ModuleParser.find_module?4(name, path, extensions)
 eric6.Utilities.ModuleParser.getTypeFromTypeName?4(name)
-eric6.Utilities.ModuleParser.readModule?4(module, path=[], inpackage=False, basename="", extensions=None, caching=True)
+eric6.Utilities.ModuleParser.readModule?4(module, path=None, inpackage=False, basename="", extensions=None, caching=True)
 eric6.Utilities.ModuleParser.resetParsedModule?4(module, basename="")
 eric6.Utilities.ModuleParser.resetParsedModules?4()
 eric6.Utilities.MouseUtilities.MouseButtonModifier2String?4(modifiers, button)
@@ -11162,7 +11162,7 @@
 eric6.eric6config.getConfig?4(name)
 eric6.install-debugclients.cleanUp?4()
 eric6.install-debugclients.cleanupSource?4(dirName)
-eric6.install-debugclients.copyTree?4(src, dst, filters, excludeDirs=[], excludePatterns=[])
+eric6.install-debugclients.copyTree?4(src, dst, filters, excludeDirs=None, excludePatterns=None)
 eric6.install-debugclients.currDir?7
 eric6.install-debugclients.distDir?7
 eric6.install-debugclients.doCleanup?7
@@ -11199,7 +11199,7 @@
 eric6.install.copyAppStreamFile?4(src, dst, marker)
 eric6.install.copyDesktopFile?4(src, dst, marker)
 eric6.install.copyToFile?4(name, text)
-eric6.install.copyTree?4(src, dst, filters, excludeDirs=[], excludePatterns=[])
+eric6.install.copyTree?4(src, dst, filters, excludeDirs=None, excludePatterns=None)
 eric6.install.createConfig?4()
 eric6.install.createGlobalPluginsDir?4()
 eric6.install.createInstallConfig?4()
--- a/DebugClients/Python/DebugClientBase.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/DebugClients/Python/DebugClientBase.py	Wed Mar 22 18:50:20 2017 +0100
@@ -1598,7 +1598,7 @@
             
         return varlist
     
-    def __formatVariablesList(self, keylist, dict_, scope, filterList=[],
+    def __formatVariablesList(self, keylist, dict_, scope, filterList=None,
                               formatSequences=False):
         """
         Private method to produce a formated variables list.
@@ -1625,6 +1625,8 @@
             variable entry is a tuple of three elements, the variable name,
             its type and value.
         """
+        filterList = [] if filterList is None else filterList[:]
+        
         varlist = []
         if scope:
             patternFilterObjects = self.globalsFilterObjects
--- a/DebugClients/Python/ThreadExtension.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/DebugClients/Python/ThreadExtension.py	Wed Mar 22 18:50:20 2017 +0100
@@ -64,7 +64,7 @@
         
         sys.meta_path.insert(0, self)
 
-    def attachThread(self, target=None, args=None, kwargs={},
+    def attachThread(self, target=None, args=None, kwargs=None,
                      mainThread=False):
         """
         Public method to setup a standard thread for DebugClient to debug.
@@ -80,6 +80,9 @@
               started mainthread of the app
         @return identifier of the created thread
         """
+        if kwargs is None:
+            kwargs = {}
+        
         if mainThread:
             ident = _thread.get_ident()
             name = 'MainThread'
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html	Wed Mar 22 18:50:20 2017 +0100
@@ -355,7 +355,7 @@
 </dd>
 </dl><a NAME="DebugClientBase.__formatVariablesList" ID="DebugClientBase.__formatVariablesList"></a>
 <h4>DebugClientBase.__formatVariablesList</h4>
-<b>__formatVariablesList</b>(<i>keylist, dict_, scope, filterList=[], formatSequences=False</i>)
+<b>__formatVariablesList</b>(<i>keylist, dict_, scope, filterList=None, formatSequences=False</i>)
 <p>
         Private method to produce a formated variables list.
 </p><p>
--- a/Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html	Wed Mar 22 18:50:20 2017 +0100
@@ -169,7 +169,7 @@
 </dd>
 </dl><a NAME="ThreadExtension.attachThread" ID="ThreadExtension.attachThread"></a>
 <h4>ThreadExtension.attachThread</h4>
-<b>attachThread</b>(<i>target=None, args=None, kwargs={}, mainThread=False</i>)
+<b>attachThread</b>(<i>target=None, args=None, kwargs=None, mainThread=False</i>)
 <p>
         Public method to setup a standard thread for DebugClient to debug.
 </p><p>
--- a/Documentation/Source/eric6.E5Gui.E5Completers.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.E5Gui.E5Completers.html	Wed Mar 22 18:50:20 2017 +0100
@@ -229,7 +229,7 @@
 </table>
 <a NAME="E5StringListCompleter.__init__" ID="E5StringListCompleter.__init__"></a>
 <h4>E5StringListCompleter (Constructor)</h4>
-<b>E5StringListCompleter</b>(<i>parent=None, strings=[], completionMode=QCompleter.PopupCompletion</i>)
+<b>E5StringListCompleter</b>(<i>parent=None, strings=None, completionMode=QCompleter.PopupCompletion</i>)
 <p>
         Constructor
 </p><dl>
--- a/Documentation/Source/eric6.Globals.AppInfo.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Globals.AppInfo.html	Wed Mar 22 18:50:20 2017 +0100
@@ -41,7 +41,7 @@
 <hr /><hr />
 <a NAME="makeAppInfo" ID="makeAppInfo"></a>
 <h2>makeAppInfo</h2>
-<b>makeAppInfo</b>(<i>argv, name, arg, description, options=[]</i>)
+<b>makeAppInfo</b>(<i>argv, name, arg, description, options=None</i>)
 <p>
     Module function to generate a dictionary describing the application.
 </p><dl>
--- a/Documentation/Source/eric6.Graphics.ClassItem.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Graphics.ClassItem.html	Wed Mar 22 18:50:20 2017 +0100
@@ -243,7 +243,7 @@
 </table>
 <a NAME="ClassModel.__init__" ID="ClassModel.__init__"></a>
 <h4>ClassModel (Constructor)</h4>
-<b>ClassModel</b>(<i>name, methods=[], attributes=[]</i>)
+<b>ClassModel</b>(<i>name, methods=None, attributes=None</i>)
 <p>
         Constructor
 </p><dl>
--- a/Documentation/Source/eric6.Graphics.ModuleItem.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Graphics.ModuleItem.html	Wed Mar 22 18:50:20 2017 +0100
@@ -216,7 +216,7 @@
 </table>
 <a NAME="ModuleModel.__init__" ID="ModuleModel.__init__"></a>
 <h4>ModuleModel (Constructor)</h4>
-<b>ModuleModel</b>(<i>name, classlist=[]</i>)
+<b>ModuleModel</b>(<i>name, classlist=None</i>)
 <p>
         Constructor
 </p><dl>
--- a/Documentation/Source/eric6.Graphics.PackageItem.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Graphics.PackageItem.html	Wed Mar 22 18:50:20 2017 +0100
@@ -220,7 +220,7 @@
 </table>
 <a NAME="PackageModel.__init__" ID="PackageModel.__init__"></a>
 <h4>PackageModel (Constructor)</h4>
-<b>PackageModel</b>(<i>name, moduleslist=[]</i>)
+<b>PackageModel</b>(<i>name, moduleslist=None</i>)
 <p>
         Constructor
 </p><dl>
--- a/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html	Wed Mar 22 18:50:20 2017 +0100
@@ -262,7 +262,7 @@
         Private slot to send the input to the subversion process.
 </p><a NAME="HgDialog.startProcess" ID="HgDialog.startProcess"></a>
 <h4>HgDialog.startProcess</h4>
-<b>startProcess</b>(<i>args, workingDir=None, showArgs=True, environment={}</i>)
+<b>startProcess</b>(<i>args, workingDir=None, showArgs=True, environment=None</i>)
 <p>
         Public slot used to start the process.
 </p><dl>
--- a/Documentation/Source/eric6.Preferences.ConfigurationDialog.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Preferences.ConfigurationDialog.html	Wed Mar 22 18:50:20 2017 +0100
@@ -107,7 +107,7 @@
 </table>
 <a NAME="ConfigurationDialog.__init__" ID="ConfigurationDialog.__init__"></a>
 <h4>ConfigurationDialog (Constructor)</h4>
-<b>ConfigurationDialog</b>(<i>parent=None, name=None, modal=False, fromEric=True, displayMode=ConfigurationWidget.DefaultMode, expandedEntries=[], webEngine=False</i>)
+<b>ConfigurationDialog</b>(<i>parent=None, name=None, modal=False, fromEric=True, displayMode=ConfigurationWidget.DefaultMode, expandedEntries=None, webEngine=False</i>)
 <p>
         Constructor
 </p><dl>
@@ -368,7 +368,7 @@
 </table>
 <a NAME="ConfigurationWidget.__init__" ID="ConfigurationWidget.__init__"></a>
 <h4>ConfigurationWidget (Constructor)</h4>
-<b>ConfigurationWidget</b>(<i>parent=None, fromEric=True, displayMode=DefaultMode, expandedEntries=[], webEngine=False</i>)
+<b>ConfigurationWidget</b>(<i>parent=None, fromEric=True, displayMode=DefaultMode, expandedEntries=None, webEngine=False</i>)
 <p>
         Constructor
 </p><dl>
--- a/Documentation/Source/eric6.Project.ProjectBrowserModel.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Project.ProjectBrowserModel.html	Wed Mar 22 18:50:20 2017 +0100
@@ -431,7 +431,7 @@
 </dd>
 </dl><a NAME="ProjectBrowserModel.addNewItem" ID="ProjectBrowserModel.addNewItem"></a>
 <h4>ProjectBrowserModel.addNewItem</h4>
-<b>addNewItem</b>(<i>typeString, name, additionalTypeStrings=[]</i>)
+<b>addNewItem</b>(<i>typeString, name, additionalTypeStrings=None</i>)
 <p>
         Public method to add a new item to the model.
 </p><dl>
--- a/Documentation/Source/eric6.QScintilla.Lexers.__init__.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.QScintilla.Lexers.__init__.html	Wed Mar 22 18:50:20 2017 +0100
@@ -237,7 +237,7 @@
 <hr /><hr />
 <a NAME="registerLexer" ID="registerLexer"></a>
 <h2>registerLexer</h2>
-<b>registerLexer</b>(<i>name, displayString, filenameSample, getLexerFunc, openFilters=[], saveFilters=[], defaultAssocs=[], iconFileName=""</i>)
+<b>registerLexer</b>(<i>name, displayString, filenameSample, getLexerFunc, openFilters=None, saveFilters=None, defaultAssocs=None, iconFileName=""</i>)
 <p>
     Module function to register a custom QScintilla lexer.
 </p><dl>
--- a/Documentation/Source/eric6.SqlBrowser.SqlBrowser.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.SqlBrowser.SqlBrowser.html	Wed Mar 22 18:50:20 2017 +0100
@@ -85,7 +85,7 @@
 </table>
 <a NAME="SqlBrowser.__init__" ID="SqlBrowser.__init__"></a>
 <h4>SqlBrowser (Constructor)</h4>
-<b>SqlBrowser</b>(<i>connections=[], parent=None</i>)
+<b>SqlBrowser</b>(<i>connections=None, parent=None</i>)
 <p>
         Constructor
 </p><dl>
--- a/Documentation/Source/eric6.Tools.TRPreviewer.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Tools.TRPreviewer.html	Wed Mar 22 18:50:20 2017 +0100
@@ -121,7 +121,7 @@
 </table>
 <a NAME="TRPreviewer.__init__" ID="TRPreviewer.__init__"></a>
 <h4>TRPreviewer (Constructor)</h4>
-<b>TRPreviewer</b>(<i>filenames=[], parent=None, name=None</i>)
+<b>TRPreviewer</b>(<i>filenames=None, parent=None, name=None</i>)
 <p>
         Constructor
 </p><dl>
--- a/Documentation/Source/eric6.UI.CompareDialog.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.UI.CompareDialog.html	Wed Mar 22 18:50:20 2017 +0100
@@ -120,7 +120,7 @@
 </table>
 <a NAME="CompareDialog.__init__" ID="CompareDialog.__init__"></a>
 <h4>CompareDialog (Constructor)</h4>
-<b>CompareDialog</b>(<i>files=[], parent=None</i>)
+<b>CompareDialog</b>(<i>files=None, parent=None</i>)
 <p>
         Constructor
 </p><dl>
@@ -296,7 +296,7 @@
 </table>
 <a NAME="CompareWindow.__init__" ID="CompareWindow.__init__"></a>
 <h4>CompareWindow (Constructor)</h4>
-<b>CompareWindow</b>(<i>files=[], parent=None</i>)
+<b>CompareWindow</b>(<i>files=None, parent=None</i>)
 <p>
         Constructor
 </p><dl>
--- a/Documentation/Source/eric6.UI.UserInterface.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.UI.UserInterface.html	Wed Mar 22 18:50:20 2017 +0100
@@ -1293,7 +1293,7 @@
 </dd>
 </dl><a NAME="UserInterface.__installPlugins" ID="UserInterface.__installPlugins"></a>
 <h4>UserInterface.__installPlugins</h4>
-<b>__installPlugins</b>(<i>pluginFileNames=[]</i>)
+<b>__installPlugins</b>(<i>pluginFileNames=None</i>)
 <p>
         Private slot to show a dialog to install a new plugin.
 </p><dl>
--- a/Documentation/Source/eric6.Utilities.ClassBrowsers.__init__.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Utilities.ClassBrowsers.__init__.html	Wed Mar 22 18:50:20 2017 +0100
@@ -88,7 +88,7 @@
 <hr /><hr />
 <a NAME="readmodule" ID="readmodule"></a>
 <h2>readmodule</h2>
-<b>readmodule</b>(<i>module, path=[], isPyFile=False</i>)
+<b>readmodule</b>(<i>module, path=None, isPyFile=False</i>)
 <p>
     Read a source file and return a dictionary of classes, functions, modules,
     etc. .
--- a/Documentation/Source/eric6.Utilities.ClassBrowsers.idlclbr.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Utilities.ClassBrowsers.idlclbr.html	Wed Mar 22 18:50:20 2017 +0100
@@ -299,7 +299,7 @@
 <hr /><hr />
 <a NAME="readmodule_ex" ID="readmodule_ex"></a>
 <h2>readmodule_ex</h2>
-<b>readmodule_ex</b>(<i>module, path=[]</i>)
+<b>readmodule_ex</b>(<i>module, path=None</i>)
 <p>
     Read a CORBA IDL file and return a dictionary of classes, functions and
     modules.
--- a/Documentation/Source/eric6.Utilities.ClassBrowsers.jsclbr.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Utilities.ClassBrowsers.jsclbr.html	Wed Mar 22 18:50:20 2017 +0100
@@ -334,7 +334,7 @@
 <hr /><hr />
 <a NAME="readmodule_ex" ID="readmodule_ex"></a>
 <h2>readmodule_ex</h2>
-<b>readmodule_ex</b>(<i>module, path=[]</i>)
+<b>readmodule_ex</b>(<i>module, path=None</i>)
 <p>
     Read a JavaScript file and return a dictionary of functions and variables.
 </p><dl>
--- a/Documentation/Source/eric6.Utilities.ClassBrowsers.pyclbr.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Utilities.ClassBrowsers.pyclbr.html	Wed Mar 22 18:50:20 2017 +0100
@@ -483,7 +483,7 @@
 <hr /><hr />
 <a NAME="readmodule_ex" ID="readmodule_ex"></a>
 <h2>readmodule_ex</h2>
-<b>readmodule_ex</b>(<i>module, path=[], inpackage=False, isPyFile=False</i>)
+<b>readmodule_ex</b>(<i>module, path=None, inpackage=False, isPyFile=False</i>)
 <p>
     Read a module file and return a dictionary of classes.
 </p><p>
--- a/Documentation/Source/eric6.Utilities.ClassBrowsers.rbclbr.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Utilities.ClassBrowsers.rbclbr.html	Wed Mar 22 18:50:20 2017 +0100
@@ -296,7 +296,7 @@
 <hr /><hr />
 <a NAME="readmodule_ex" ID="readmodule_ex"></a>
 <h2>readmodule_ex</h2>
-<b>readmodule_ex</b>(<i>module, path=[]</i>)
+<b>readmodule_ex</b>(<i>module, path=None</i>)
 <p>
     Read a Ruby file and return a dictionary of classes, functions and modules.
 </p><dl>
--- a/Documentation/Source/eric6.Utilities.ModuleParser.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.Utilities.ModuleParser.html	Wed Mar 22 18:50:20 2017 +0100
@@ -899,7 +899,7 @@
 <hr /><hr />
 <a NAME="readModule" ID="readModule"></a>
 <h2>readModule</h2>
-<b>readModule</b>(<i>module, path=[], inpackage=False, basename="", extensions=None, caching=True</i>)
+<b>readModule</b>(<i>module, path=None, inpackage=False, basename="", extensions=None, caching=True</i>)
 <p>
     Function to read a module file and parse it.
 </p><p>
@@ -909,18 +909,18 @@
 </p><dl>
 <dt><i>module</i></dt>
 <dd>
-Name of the module to be parsed (string)
+name of the module to be parsed (string)
 </dd><dt><i>path</i></dt>
 <dd>
-Searchpath for the module (list of strings)
+search path for the module (list of strings)
 </dd><dt><i>inpackage</i></dt>
 <dd>
-Flag indicating that module is inside a
+flag indicating that module is inside a
         package (boolean)
 </dd><dt><i>basename</i></dt>
 <dd>
-a path basename. This basename is deleted from
-        the filename of the module file to be read. (string)
+a path basename that is deleted from the filename of
+        the module file to be read (string)
 </dd><dt><i>extensions</i></dt>
 <dd>
 list of extensions, which should be considered valid
--- a/Documentation/Source/eric6.install-debugclients.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.install-debugclients.html	Wed Mar 22 18:50:20 2017 +0100
@@ -87,7 +87,7 @@
 <hr /><hr />
 <a NAME="copyTree" ID="copyTree"></a>
 <h2>copyTree</h2>
-<b>copyTree</b>(<i>src, dst, filters, excludeDirs=[], excludePatterns=[]</i>)
+<b>copyTree</b>(<i>src, dst, filters, excludeDirs=None, excludePatterns=None</i>)
 <p>
     Copy files of a directory tree.
 </p><dl>
--- a/Documentation/Source/eric6.install.html	Wed Mar 22 18:45:15 2017 +0100
+++ b/Documentation/Source/eric6.install.html	Wed Mar 22 18:50:20 2017 +0100
@@ -213,7 +213,7 @@
 <hr /><hr />
 <a NAME="copyTree" ID="copyTree"></a>
 <h2>copyTree</h2>
-<b>copyTree</b>(<i>src, dst, filters, excludeDirs=[], excludePatterns=[]</i>)
+<b>copyTree</b>(<i>src, dst, filters, excludeDirs=None, excludePatterns=None</i>)
 <p>
     Copy Python, translation, documentation, wizards configuration,
     designer template files and DTDs of a directory tree.
--- a/E5Gui/E5Completers.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/E5Gui/E5Completers.py	Wed Mar 22 18:50:20 2017 +0100
@@ -128,7 +128,7 @@
     """
     Class implementing a completer for string lists.
     """
-    def __init__(self, parent=None, strings=[],
+    def __init__(self, parent=None, strings=None,
                  completionMode=QCompleter.PopupCompletion):
         """
         Constructor
@@ -140,7 +140,9 @@
             completer (QCompleter.CompletionMode)
         """
         super(E5StringListCompleter, self).__init__(parent)
-        self.__model = QStringListModel(strings, parent)
+        self.__model = QStringListModel(
+            [] if strings is None else strings[:],
+            parent)
         self.setModel(self.__model)
         self.setCompletionMode(completionMode)
         if parent:
--- a/Globals/AppInfo.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Globals/AppInfo.py	Wed Mar 22 18:50:20 2017 +0100
@@ -12,7 +12,7 @@
 from UI.Info import Version
 
 
-def makeAppInfo(argv, name, arg, description, options=[]):
+def makeAppInfo(argv, name, arg, description, options=None):
     """
     Module function to generate a dictionary describing the application.
     
@@ -32,5 +32,5 @@
         "name": name,
         "description": description,
         "version": Version,
-        "options": options
+        "options": [] if options is None else options[:]
     }
--- a/Graphics/ClassItem.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Graphics/ClassItem.py	Wed Mar 22 18:50:20 2017 +0100
@@ -21,7 +21,7 @@
     """
     Class implementing the class model.
     """
-    def __init__(self, name, methods=[], attributes=[]):
+    def __init__(self, name, methods=None, attributes=None):
         """
         Constructor
         
@@ -33,8 +33,8 @@
         """
         super(ClassModel, self).__init__(name)
         
-        self.methods = methods
-        self.attributes = attributes
+        self.methods = [] if methods is None else methods[:]
+        self.attributes = [] if attributes is None else attributes[:]
     
     def addMethod(self, method):
         """
--- a/Graphics/ModuleItem.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Graphics/ModuleItem.py	Wed Mar 22 18:50:20 2017 +0100
@@ -19,7 +19,7 @@
     """
     Class implementing the module model.
     """
-    def __init__(self, name, classlist=[]):
+    def __init__(self, name, classlist=None):
         """
         Constructor
         
@@ -28,7 +28,7 @@
         """
         super(ModuleModel, self).__init__(name)
         
-        self.classlist = classlist
+        self.classlist = [] if classlist is None else classlist[:]
     
     def addClass(self, classname):
         """
--- a/Graphics/PackageItem.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Graphics/PackageItem.py	Wed Mar 22 18:50:20 2017 +0100
@@ -21,7 +21,7 @@
     """
     Class implementing the package model.
     """
-    def __init__(self, name, moduleslist=[]):
+    def __init__(self, name, moduleslist=None):
         """
         Constructor
         
@@ -30,7 +30,7 @@
         """
         super(PackageModel, self).__init__(name)
         
-        self.moduleslist = moduleslist
+        self.moduleslist = [] if moduleslist is None else moduleslist[:]
     
     def addModule(self, modulename):
         """
--- a/IconEditor/IconEditorWindow.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/IconEditor/IconEditorWindow.py	Wed Mar 22 18:50:20 2017 +0100
@@ -1389,6 +1389,7 @@
             if pinch.state() == Qt.GestureStarted:
                 pinch.setTotalScaleFactor(self.__editor.zoomFactor() / 100.0)
             elif pinch.state() == Qt.GestureUpdated:
-                self.__editor.setZoomFactor(int(pinch.totalScaleFactor() * 100))
+                self.__editor.setZoomFactor(
+                    int(pinch.totalScaleFactor() * 100))
                 self.__updateZoom()
             evt.accept()
--- a/Plugins/VcsPlugins/vcsMercurial/HgDialog.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Plugins/VcsPlugins/vcsMercurial/HgDialog.py	Wed Mar 22 18:50:20 2017 +0100
@@ -118,7 +118,7 @@
         self.__finish()
     
     def startProcess(self, args, workingDir=None, showArgs=True,
-                     environment={}):
+                     environment=None):
         """
         Public slot used to start the process.
         
--- a/Preferences/ConfigurationDialog.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Preferences/ConfigurationDialog.py	Wed Mar 22 18:50:20 2017 +0100
@@ -83,7 +83,7 @@
     WebBrowserMode = 4
     
     def __init__(self, parent=None, fromEric=True, displayMode=DefaultMode,
-                 expandedEntries=[], webEngine=False):
+                 expandedEntries=None, webEngine=False):
         """
         Constructor
         
@@ -110,6 +110,7 @@
         self.fromEric = fromEric
         self.displayMode = displayMode
         self.__webEngine = webEngine
+        expandedEntries = [] if expandedEntries is None else expandedEntries[:]
         
         self.__setupUi()
         
@@ -954,7 +955,7 @@
     
     def __init__(self, parent=None, name=None, modal=False,
                  fromEric=True, displayMode=ConfigurationWidget.DefaultMode,
-                 expandedEntries=[], webEngine=False):
+                 expandedEntries=None, webEngine=False):
         """
         Constructor
         
--- a/Project/ProjectBrowserModel.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Project/ProjectBrowserModel.py	Wed Mar 22 18:50:20 2017 +0100
@@ -530,7 +530,7 @@
         
         return None
         
-    def addNewItem(self, typeString, name, additionalTypeStrings=[]):
+    def addNewItem(self, typeString, name, additionalTypeStrings=None):
         """
         Public method to add a new item to the model.
         
--- a/QScintilla/Lexers/__init__.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/QScintilla/Lexers/__init__.py	Wed Mar 22 18:50:20 2017 +0100
@@ -31,8 +31,8 @@
 
 
 def registerLexer(name, displayString, filenameSample, getLexerFunc,
-                  openFilters=[], saveFilters=[],
-                  defaultAssocs=[], iconFileName=""):
+                  openFilters=None, saveFilters=None,
+                  defaultAssocs=None, iconFileName=""):
     """
     Module function to register a custom QScintilla lexer.
     
@@ -53,9 +53,13 @@
     if name in LexerRegistry:
         raise KeyError('Lexer "{0}" already registered.'.format(name))
     else:
-        LexerRegistry[name] = [displayString, filenameSample, getLexerFunc,
-                               openFilters, saveFilters, defaultAssocs[:],
-                               iconFileName]
+        LexerRegistry[name] = [
+            displayString, filenameSample, getLexerFunc,
+            [] if openFilters is None else openFilters[:],
+            [] if saveFilters is None else saveFilters[:],
+            [] if defaultAssocs is None else defaultAssocs[:],
+            iconFileName
+        ]
 
 
 def unregisterLexer(name):
--- a/SqlBrowser/SqlBrowser.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/SqlBrowser/SqlBrowser.py	Wed Mar 22 18:50:20 2017 +0100
@@ -28,7 +28,7 @@
     """
     Class implementing the SQL Browser main window.
     """
-    def __init__(self, connections=[], parent=None):
+    def __init__(self, connections=None, parent=None):
         """
         Constructor
         
@@ -39,6 +39,9 @@
         super(SqlBrowser, self).__init__(parent)
         self.setObjectName("SqlBrowser")
         
+        if connections is None:
+            connections = []
+        
         self.setWindowTitle(self.tr("SQL Browser"))
         self.setWindowIcon(UI.PixmapCache.getIcon("eric.png"))
         
--- a/Tools/TRPreviewer.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Tools/TRPreviewer.py	Wed Mar 22 18:50:20 2017 +0100
@@ -37,7 +37,7 @@
     """
     Class implementing the UI Previewer main window.
     """
-    def __init__(self, filenames=[], parent=None, name=None):
+    def __init__(self, filenames=None, parent=None, name=None):
         """
         Constructor
         
@@ -120,7 +120,7 @@
         self.SAServer.loadTranslation.connect(self.translations.add)
         
         # defere loading of a UI file until we are shown
-        self.filesToLoad = filenames[:]
+        self.filesToLoad = [] if filenames is None else filenames[:]
         
     def show(self):
         """
--- a/UI/CompareDialog.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/UI/CompareDialog.py	Wed Mar 22 18:50:20 2017 +0100
@@ -90,7 +90,7 @@
     Class implementing a dialog to compare two files and show the result side
     by side.
     """
-    def __init__(self, files=[], parent=None):
+    def __init__(self, files=None, parent=None):
         """
         Constructor
         
@@ -101,6 +101,9 @@
         super(CompareDialog, self).__init__(parent)
         self.setupUi(self)
         
+        if files is None:
+            files = []
+        
         self.file1Picker.setMode(E5PathPickerModes.OpenFileMode)
         self.file2Picker.setMode(E5PathPickerModes.OpenFileMode)
         
@@ -451,7 +454,7 @@
     """
     Main window class for the standalone dialog.
     """
-    def __init__(self, files=[], parent=None):
+    def __init__(self, files=None, parent=None):
         """
         Constructor
         
--- a/UI/UserInterface.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/UI/UserInterface.py	Wed Mar 22 18:50:20 2017 +0100
@@ -6106,7 +6106,7 @@
         self.__pluginInfoDialog.show()
         
     @pyqtSlot()
-    def __installPlugins(self, pluginFileNames=[]):
+    def __installPlugins(self, pluginFileNames=None):
         """
         Private slot to show a dialog to install a new plugin.
         
@@ -6114,7 +6114,10 @@
             installation list of strings
         """
         from PluginManager.PluginInstallDialog import PluginInstallDialog
-        dlg = PluginInstallDialog(self.pluginManager, pluginFileNames, self)
+        dlg = PluginInstallDialog(
+            self.pluginManager,
+            [] if pluginFileNames is None else pluginFileNames[:],
+            self)
         dlg.exec_()
         if dlg.restartNeeded():
             self.__restart()
--- a/Utilities/ClassBrowsers/__init__.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Utilities/ClassBrowsers/__init__.py	Wed Mar 22 18:50:20 2017 +0100
@@ -40,7 +40,7 @@
 }
 
 
-def readmodule(module, path=[], isPyFile=False):
+def readmodule(module, path=None, isPyFile=False):
     """
     Read a source file and return a dictionary of classes, functions, modules,
     etc. .
@@ -54,6 +54,7 @@
     @return the resulting dictionary
     """
     ext = os.path.splitext(module)[1].lower()
+    path = [] if path is None else path[:]
     
     if ext in __extensions["IDL"]:
         from . import idlclbr
--- a/Utilities/ClassBrowsers/idlclbr.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Utilities/ClassBrowsers/idlclbr.py	Wed Mar 22 18:50:20 2017 +0100
@@ -181,7 +181,7 @@
         VisibilityMixin.__init__(self)
 
 
-def readmodule_ex(module, path=[]):
+def readmodule_ex(module, path=None):
     """
     Read a CORBA IDL file and return a dictionary of classes, functions and
     modules.
@@ -201,7 +201,7 @@
 
     # search the path for the file
     f = None
-    fullpath = list(path)
+    fullpath = [] if path is None else path[:]
     f, file, (suff, mode, type) = ClassBrowsers.find_module(module, fullpath)
     if f:
         f.close()
--- a/Utilities/ClassBrowsers/jsclbr.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Utilities/ClassBrowsers/jsclbr.py	Wed Mar 22 18:50:20 2017 +0100
@@ -274,7 +274,7 @@
                                   self.__file, var.line))
 
 
-def readmodule_ex(module, path=[]):
+def readmodule_ex(module, path=None):
     """
     Read a JavaScript file and return a dictionary of functions and variables.
 
@@ -292,7 +292,7 @@
 
     # search the path for the file
     f = None
-    fullpath = list(path)
+    fullpath = [] if path is None else path[:]
     f, file, (suff, mode, type) = ClassBrowsers.find_module(module, fullpath)
     if f:
         f.close()
--- a/Utilities/ClassBrowsers/pyclbr.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Utilities/ClassBrowsers/pyclbr.py	Wed Mar 22 18:50:20 2017 +0100
@@ -325,7 +325,7 @@
                 self.importedNames[name].append(lineno)
     
 
-def readmodule_ex(module, path=[], inpackage=False, isPyFile=False):
+def readmodule_ex(module, path=None, inpackage=False, isPyFile=False):
     """
     Read a module file and return a dictionary of classes.
 
@@ -353,6 +353,7 @@
         return dictionary
 
     # search the path for the module
+    path = [] if path is None else path[:]
     f = None
     if inpackage:
         try:
@@ -361,7 +362,7 @@
         except ImportError:
             f = None
     if f is None:
-        fullpath = list(path) + sys.path
+        fullpath = path[:] + sys.path[:]
         f, file, (suff, mode, type) = \
             ClassBrowsers.find_module(module, fullpath, isPyFile)
     if module.endswith(".py") and type == imp.PKG_DIRECTORY:
--- a/Utilities/ClassBrowsers/rbclbr.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Utilities/ClassBrowsers/rbclbr.py	Wed Mar 22 18:50:20 2017 +0100
@@ -251,7 +251,7 @@
         self.setPrivate()
 
 
-def readmodule_ex(module, path=[]):
+def readmodule_ex(module, path=None):
     """
     Read a Ruby file and return a dictionary of classes, functions and modules.
 
@@ -270,7 +270,7 @@
 
     # search the path for the file
     f = None
-    fullpath = list(path)
+    fullpath = [] if path is None else path[:]
     f, file, (suff, mode, type) = ClassBrowsers.find_module(module, fullpath)
     if f:
         f.close()
--- a/Utilities/ModuleParser.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/Utilities/ModuleParser.py	Wed Mar 22 18:50:20 2017 +0100
@@ -1448,7 +1448,7 @@
             self.linenos.append(lineno)
 
 
-def readModule(module, path=[], inpackage=False, basename="",
+def readModule(module, path=None, inpackage=False, basename="",
                extensions=None, caching=True):
     """
     Function to read a module file and parse it.
@@ -1457,12 +1457,12 @@
     If the module was parsed before, the information is taken
     from a cache in order to speed up processing.
     
-    @param module Name of the module to be parsed (string)
-    @param path Searchpath for the module (list of strings)
-    @param inpackage Flag indicating that module is inside a
+    @param module name of the module to be parsed (string)
+    @param path search path for the module (list of strings)
+    @param inpackage flag indicating that module is inside a
         package (boolean)
-    @param basename a path basename. This basename is deleted from
-        the filename of the module file to be read. (string)
+    @param basename a path basename that is deleted from the filename of
+        the module file to be read (string)
     @param extensions list of extensions, which should be considered valid
         source file extensions (list of strings)
     @param caching flag indicating that the parsed module should be
@@ -1518,6 +1518,7 @@
         return mod
     
     # search the path for the module
+    path = [] if path is None else path[:]
     f = None
     if inpackage:
         try:
@@ -1526,7 +1527,7 @@
         except ImportError:
             f = None
     if f is None:
-        fullpath = list(path) + sys.path
+        fullpath = path[:] + sys.path[:]
         f, file, (suff, mode, moduleType) = find_module(
             module, fullpath, _extensions)
     if f:
--- a/eric6.e4p	Wed Mar 22 18:45:15 2017 +0100
+++ b/eric6.e4p	Wed Mar 22 18:50:20 2017 +0100
@@ -2522,7 +2522,7 @@
               <string>ExcludeMessages</string>
             </key>
             <value>
-              <string>C101, E265, E266, E305, E402, M811, N802, N803, N807, N808, N821, W293, M821</string>
+              <string>C101, E265, E266, E305, E402, M811, M822, N802, N803, N807, N808, N821, W293</string>
             </value>
             <key>
               <string>FixCodes</string>
--- a/install-debugclients.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/install-debugclients.py	Wed Mar 22 18:50:20 2017 +0100
@@ -101,7 +101,7 @@
     pyModDir = modDir
 
 
-def copyTree(src, dst, filters, excludeDirs=[], excludePatterns=[]):
+def copyTree(src, dst, filters, excludeDirs=None, excludePatterns=None):
     """
     Copy files of a directory tree.
     
@@ -112,6 +112,10 @@
     @keyparam excludePatterns list of filter pattern determining the files to
         be skipped
     """
+    if excludeDirs is None:
+        excludeDirs = []
+    if excludePatterns is None:
+        excludePatterns = []
     try:
         names = os.listdir(src)
     except OSError:
--- a/install.py	Wed Mar 22 18:45:15 2017 +0100
+++ b/install.py	Wed Mar 22 18:50:20 2017 +0100
@@ -425,7 +425,7 @@
     return wname
 
 
-def copyTree(src, dst, filters, excludeDirs=[], excludePatterns=[]):
+def copyTree(src, dst, filters, excludeDirs=None, excludePatterns=None):
     """
     Copy Python, translation, documentation, wizards configuration,
     designer template files and DTDs of a directory tree.
@@ -437,6 +437,10 @@
     @keyparam excludePatterns list of filter pattern determining the files to
         be skipped
     """
+    if excludeDirs is None:
+        excludeDirs = []
+    if excludePatterns is None:
+        excludePatterns = []
     try:
         names = os.listdir(src)
     except OSError:

eric ide

mercurial