Thu, 16 Jan 2014 18:28:34 +0100
Updated pyflakes to version 0.7.3.
--- a/APIs/Python3/eric5.api Wed Jan 15 19:16:06 2014 +0100 +++ b/APIs/Python3/eric5.api Thu Jan 16 18:28:34 2014 +0100 @@ -6065,7 +6065,7 @@ eric5.Preferences.Prefs.projectBrowserColourDefaults?7 eric5.Preferences.Prefs.projectBrowserFlagsDefaults?7 eric5.Preferences.Prefs.projectDefaults?7 -eric5.Preferences.Prefs.py3flakesDefaults?7 +eric5.Preferences.Prefs.pyflakesDefaults?7 eric5.Preferences.Prefs.qtDefaults?7 eric5.Preferences.Prefs.resetLayout?7 eric5.Preferences.Prefs.shellDefaults?7 @@ -8377,106 +8377,125 @@ eric5.Utilities.parseString?4(s, rx) eric5.Utilities.prepareQtMacBundle?4(toolname, version, args) eric5.Utilities.py2compile?4(fileName, checkFlakes=False, txt="") -eric5.Utilities.py3flakes.checker.Binding?1(name, source) -eric5.Utilities.py3flakes.checker.Checker.ASSIGN?4(node) -eric5.Utilities.py3flakes.checker.Checker.ATTRIBUTES?7 -eric5.Utilities.py3flakes.checker.Checker.AUGASSIGN?4(node) -eric5.Utilities.py3flakes.checker.Checker.BOOLOP?7 -eric5.Utilities.py3flakes.checker.Checker.CALL?7 -eric5.Utilities.py3flakes.checker.Checker.CLASSDEF?4(node) -eric5.Utilities.py3flakes.checker.Checker.COMPREHENSION?7 -eric5.Utilities.py3flakes.checker.Checker.DICTCOMP?4(node) -eric5.Utilities.py3flakes.checker.Checker.EXCEPTHANDLER?4(node) -eric5.Utilities.py3flakes.checker.Checker.FOR?4(node) -eric5.Utilities.py3flakes.checker.Checker.FUNCTIONDEF?4(node) -eric5.Utilities.py3flakes.checker.Checker.GLOBAL?4(node) -eric5.Utilities.py3flakes.checker.Checker.IMPORT?4(node) -eric5.Utilities.py3flakes.checker.Checker.IMPORTFROM?4(node) -eric5.Utilities.py3flakes.checker.Checker.INVERT?7 -eric5.Utilities.py3flakes.checker.Checker.ISNOT?7 -eric5.Utilities.py3flakes.checker.Checker.LAMBDA?4(node) -eric5.Utilities.py3flakes.checker.Checker.LISTCOMP?4(node) -eric5.Utilities.py3flakes.checker.Checker.LOAD?7 -eric5.Utilities.py3flakes.checker.Checker.MOD?7 -eric5.Utilities.py3flakes.checker.Checker.NAME?4(node) -eric5.Utilities.py3flakes.checker.Checker.NONLOCAL?7 -eric5.Utilities.py3flakes.checker.Checker.PASS?7 -eric5.Utilities.py3flakes.checker.Checker.RETURN?7 -eric5.Utilities.py3flakes.checker.Checker.SETCOMP?7 -eric5.Utilities.py3flakes.checker.Checker.SLICE?7 -eric5.Utilities.py3flakes.checker.Checker.STARRED?4(node) -eric5.Utilities.py3flakes.checker.Checker.TRY?7 -eric5.Utilities.py3flakes.checker.Checker._runDeferred?5(deferred) -eric5.Utilities.py3flakes.checker.Checker.addArgs?4() -eric5.Utilities.py3flakes.checker.Checker.addBinding?4(lineno, value, reportRedef=True) -eric5.Utilities.py3flakes.checker.Checker.checkUnusedAssignments?4() -eric5.Utilities.py3flakes.checker.Checker.check_dead_scopes?4() -eric5.Utilities.py3flakes.checker.Checker.collectLoopVars?4() -eric5.Utilities.py3flakes.checker.Checker.deferAssignment?4(callable) -eric5.Utilities.py3flakes.checker.Checker.deferFunction?4(callable) -eric5.Utilities.py3flakes.checker.Checker.handleAssignName?4(node) -eric5.Utilities.py3flakes.checker.Checker.handleBody?4(tree) -eric5.Utilities.py3flakes.checker.Checker.handleChildren?4(tree) -eric5.Utilities.py3flakes.checker.Checker.handleNode?4(node, parent) -eric5.Utilities.py3flakes.checker.Checker.ignore?4(node) -eric5.Utilities.py3flakes.checker.Checker.isDocstring?4(node) -eric5.Utilities.py3flakes.checker.Checker.nodeDepth?7 -eric5.Utilities.py3flakes.checker.Checker.popScope?4() -eric5.Utilities.py3flakes.checker.Checker.pushClassScope?4() -eric5.Utilities.py3flakes.checker.Checker.pushFunctionScope?4() -eric5.Utilities.py3flakes.checker.Checker.report?4(messageClass, *args, **kwargs) -eric5.Utilities.py3flakes.checker.Checker.runFunction?4() -eric5.Utilities.py3flakes.checker.Checker.scope?4() -eric5.Utilities.py3flakes.checker.Checker.scope?7 -eric5.Utilities.py3flakes.checker.Checker.traceTree?7 -eric5.Utilities.py3flakes.checker.Checker?1(module, filename='(none)') -eric5.Utilities.py3flakes.checker.ExportBinding.names?4() -eric5.Utilities.py3flakes.checker.FunctionDefinition.is_property?7 -eric5.Utilities.py3flakes.checker.FunctionScope?1() -eric5.Utilities.py3flakes.checker.Importation?1(name, source) -eric5.Utilities.py3flakes.checker.Scope.importStarred?7 -eric5.Utilities.py3flakes.checker.Scope?1() -eric5.Utilities.py3flakes.checker._MAGIC_GLOBALS?8 -eric5.Utilities.py3flakes.messages.DuplicateArgument.message?7 -eric5.Utilities.py3flakes.messages.DuplicateArgument.message_id?7 -eric5.Utilities.py3flakes.messages.DuplicateArgument?1(filename, lineno, name) -eric5.Utilities.py3flakes.messages.ImportShadowedByLoopVar.message?7 -eric5.Utilities.py3flakes.messages.ImportShadowedByLoopVar.message_id?7 -eric5.Utilities.py3flakes.messages.ImportShadowedByLoopVar?1(filename, lineno, name, orig_lineno) -eric5.Utilities.py3flakes.messages.ImportStarUsed.message?7 -eric5.Utilities.py3flakes.messages.ImportStarUsed.message_id?7 -eric5.Utilities.py3flakes.messages.ImportStarUsed?1(filename, lineno, modname) -eric5.Utilities.py3flakes.messages.LateFutureImport.message?7 -eric5.Utilities.py3flakes.messages.LateFutureImport.message_id?7 -eric5.Utilities.py3flakes.messages.LateFutureImport?1(filename, lineno, names) -eric5.Utilities.py3flakes.messages.Message.getMessageData?4() -eric5.Utilities.py3flakes.messages.Message.message?7 -eric5.Utilities.py3flakes.messages.Message.message_args?7 -eric5.Utilities.py3flakes.messages.Message.message_id?7 -eric5.Utilities.py3flakes.messages.Message?1(filename, lineno) -eric5.Utilities.py3flakes.messages.RedefinedFunction.message?7 -eric5.Utilities.py3flakes.messages.RedefinedFunction.message_id?7 -eric5.Utilities.py3flakes.messages.RedefinedFunction?1(filename, lineno, name, orig_lineno) -eric5.Utilities.py3flakes.messages.RedefinedWhileUnused.message?7 -eric5.Utilities.py3flakes.messages.RedefinedWhileUnused.message_id?7 -eric5.Utilities.py3flakes.messages.RedefinedWhileUnused?1(filename, lineno, name, orig_lineno) -eric5.Utilities.py3flakes.messages.UndefinedExport.message?7 -eric5.Utilities.py3flakes.messages.UndefinedExport.message_id?7 -eric5.Utilities.py3flakes.messages.UndefinedExport?1(filename, lineno, name) -eric5.Utilities.py3flakes.messages.UndefinedLocal.message?7 -eric5.Utilities.py3flakes.messages.UndefinedLocal.message_id?7 -eric5.Utilities.py3flakes.messages.UndefinedLocal?1(filename, lineno, name, orig_lineno) -eric5.Utilities.py3flakes.messages.UndefinedName.message?7 -eric5.Utilities.py3flakes.messages.UndefinedName.message_id?7 -eric5.Utilities.py3flakes.messages.UndefinedName?1(filename, lineno, name) -eric5.Utilities.py3flakes.messages.UnusedImport.message?7 -eric5.Utilities.py3flakes.messages.UnusedImport.message_id?7 -eric5.Utilities.py3flakes.messages.UnusedImport?1(filename, lineno, name) -eric5.Utilities.py3flakes.messages.UnusedVariable.message?7 -eric5.Utilities.py3flakes.messages.UnusedVariable.message_id?7 -eric5.Utilities.py3flakes.messages.UnusedVariable?1(filename, lineno, name) -eric5.Utilities.py3flakes.translations._messages?8 -eric5.Utilities.py3flakes.translations.getTranslatedFlakesMessage?4(message_id, message_args) +eric5.Utilities.pyflakes.checker.Checker.AND?7 +eric5.Utilities.pyflakes.checker.Checker.ASSIGN?4(node) +eric5.Utilities.pyflakes.checker.Checker.AUGASSIGN?4(node) +eric5.Utilities.pyflakes.checker.Checker.BOOLOP?7 +eric5.Utilities.pyflakes.checker.Checker.CLASSDEF?4(node) +eric5.Utilities.pyflakes.checker.Checker.COMPREHENSION?7 +eric5.Utilities.pyflakes.checker.Checker.CONTINUE?7 +eric5.Utilities.pyflakes.checker.Checker.DICTCOMP?4(node) +eric5.Utilities.pyflakes.checker.Checker.EXCEPTHANDLER?4(node) +eric5.Utilities.pyflakes.checker.Checker.FOR?4(node) +eric5.Utilities.pyflakes.checker.Checker.FUNCTIONDEF?4(node) +eric5.Utilities.pyflakes.checker.Checker.GENERATOREXP?4(node) +eric5.Utilities.pyflakes.checker.Checker.GLOBAL?4(node) +eric5.Utilities.pyflakes.checker.Checker.IMPORT?4(node) +eric5.Utilities.pyflakes.checker.Checker.IMPORTFROM?4(node) +eric5.Utilities.pyflakes.checker.Checker.LAMBDA?4(node) +eric5.Utilities.pyflakes.checker.Checker.LISTCOMP?4(node) +eric5.Utilities.pyflakes.checker.Checker.LOAD?7 +eric5.Utilities.pyflakes.checker.Checker.NAME?4(node) +eric5.Utilities.pyflakes.checker.Checker.NONLOCAL?7 +eric5.Utilities.pyflakes.checker.Checker.NUM?7 +eric5.Utilities.pyflakes.checker.Checker.RETURN?7 +eric5.Utilities.pyflakes.checker.Checker.SETCOMP?7 +eric5.Utilities.pyflakes.checker.Checker.SLICE?7 +eric5.Utilities.pyflakes.checker.Checker.TRY?4(node) +eric5.Utilities.pyflakes.checker.Checker.TRYEXCEPT?7 +eric5.Utilities.pyflakes.checker.Checker._customBuiltIns?8 +eric5.Utilities.pyflakes.checker.Checker._getDoctestExamples?8 +eric5.Utilities.pyflakes.checker.Checker.addArgs?4() +eric5.Utilities.pyflakes.checker.Checker.addBinding?4(node, value, reportRedef=True) +eric5.Utilities.pyflakes.checker.Checker.builtIns?7 +eric5.Utilities.pyflakes.checker.Checker.checkDeadScopes?4() +eric5.Utilities.pyflakes.checker.Checker.checkUnusedAssignments?4() +eric5.Utilities.pyflakes.checker.Checker.collectLoopVars?4() +eric5.Utilities.pyflakes.checker.Checker.deferAssignment?4(callable) +eric5.Utilities.pyflakes.checker.Checker.deferFunction?4(callable) +eric5.Utilities.pyflakes.checker.Checker.descendantOf?4(node, ancestors, stop=None) +eric5.Utilities.pyflakes.checker.Checker.differentForks?4(lnode, rnode) +eric5.Utilities.pyflakes.checker.Checker.getCommonAncestor?4(lnode, rnode, stop=None) +eric5.Utilities.pyflakes.checker.Checker.getDocstring?4(node) +eric5.Utilities.pyflakes.checker.Checker.getNodeHandler?4(node_class) +eric5.Utilities.pyflakes.checker.Checker.handleChildren?4(tree) +eric5.Utilities.pyflakes.checker.Checker.handleDoctests?4(node) +eric5.Utilities.pyflakes.checker.Checker.handleNode?4(node, parent) +eric5.Utilities.pyflakes.checker.Checker.handleNodeDelete?4(node) +eric5.Utilities.pyflakes.checker.Checker.handleNodeLoad?4(node) +eric5.Utilities.pyflakes.checker.Checker.handleNodeStore?4(node) +eric5.Utilities.pyflakes.checker.Checker.hasParent?4(node, kind) +eric5.Utilities.pyflakes.checker.Checker.ignore?4(node) +eric5.Utilities.pyflakes.checker.Checker.isDocstring?4(node) +eric5.Utilities.pyflakes.checker.Checker.nodeDepth?7 +eric5.Utilities.pyflakes.checker.Checker.offset?7 +eric5.Utilities.pyflakes.checker.Checker.onFork?4(parent, lnode, rnode, items) +eric5.Utilities.pyflakes.checker.Checker.popScope?4() +eric5.Utilities.pyflakes.checker.Checker.pushClassScope?4() +eric5.Utilities.pyflakes.checker.Checker.pushFunctionScope?4() +eric5.Utilities.pyflakes.checker.Checker.pushScope?4(scopeClass=FunctionScope) +eric5.Utilities.pyflakes.checker.Checker.report?4(messageClass, *args, **kwargs) +eric5.Utilities.pyflakes.checker.Checker.runDeferred?4(deferred) +eric5.Utilities.pyflakes.checker.Checker.runFunction?4() +eric5.Utilities.pyflakes.checker.Checker.scope?4() +eric5.Utilities.pyflakes.checker.Checker.traceTree?7 +eric5.Utilities.pyflakes.checker.Checker.withDoctest?7 +eric5.Utilities.pyflakes.checker.Checker?1(tree, filename='(none)', builtins=None) +eric5.Utilities.pyflakes.checker.FunctionScope.alwaysUsed?7 +eric5.Utilities.pyflakes.checker.FunctionScope.usesLocals?7 +eric5.Utilities.pyflakes.checker.Scope.importStarred?7 +eric5.Utilities.pyflakes.checker._MAGIC_GLOBALS?8 +eric5.Utilities.pyflakes.checker.getNodeName?4(node) +eric5.Utilities.pyflakes.checker.getNodeType?4(node_class) +eric5.Utilities.pyflakes.checker.iter_child_nodes?4(node) +eric5.Utilities.pyflakes.checker.names?4(self) +eric5.Utilities.pyflakes.checker.unusedAssignments?4(self) +eric5.Utilities.pyflakes.messages.DoctestSyntaxError.message?7 +eric5.Utilities.pyflakes.messages.DoctestSyntaxError.message_id?7 +eric5.Utilities.pyflakes.messages.DoctestSyntaxError?1(filename, loc, position=None) +eric5.Utilities.pyflakes.messages.DuplicateArgument.message?7 +eric5.Utilities.pyflakes.messages.DuplicateArgument.message_id?7 +eric5.Utilities.pyflakes.messages.DuplicateArgument?1(filename, loc, name) +eric5.Utilities.pyflakes.messages.ImportShadowedByLoopVar.message?7 +eric5.Utilities.pyflakes.messages.ImportShadowedByLoopVar.message_id?7 +eric5.Utilities.pyflakes.messages.ImportShadowedByLoopVar?1(filename, loc, name, orig_loc) +eric5.Utilities.pyflakes.messages.ImportStarUsed.message?7 +eric5.Utilities.pyflakes.messages.ImportStarUsed.message_id?7 +eric5.Utilities.pyflakes.messages.ImportStarUsed?1(filename, loc, modname) +eric5.Utilities.pyflakes.messages.LateFutureImport.message?7 +eric5.Utilities.pyflakes.messages.LateFutureImport.message_id?7 +eric5.Utilities.pyflakes.messages.LateFutureImport?1(filename, loc, names) +eric5.Utilities.pyflakes.messages.Message.getMessageData?4() +eric5.Utilities.pyflakes.messages.Message.message?7 +eric5.Utilities.pyflakes.messages.Message.message_args?7 +eric5.Utilities.pyflakes.messages.Message.message_id?7 +eric5.Utilities.pyflakes.messages.Message?1(filename, loc) +eric5.Utilities.pyflakes.messages.Redefined.message?7 +eric5.Utilities.pyflakes.messages.Redefined.message_id?7 +eric5.Utilities.pyflakes.messages.Redefined?1(filename, loc, name, orig_loc) +eric5.Utilities.pyflakes.messages.RedefinedInListComp.message?7 +eric5.Utilities.pyflakes.messages.RedefinedInListComp.message_id?7 +eric5.Utilities.pyflakes.messages.RedefinedInListComp?1(filename, loc, name, orig_loc) +eric5.Utilities.pyflakes.messages.RedefinedWhileUnused.message?7 +eric5.Utilities.pyflakes.messages.RedefinedWhileUnused.message_id?7 +eric5.Utilities.pyflakes.messages.RedefinedWhileUnused?1(filename, loc, name, orig_loc) +eric5.Utilities.pyflakes.messages.UndefinedExport.message?7 +eric5.Utilities.pyflakes.messages.UndefinedExport.message_id?7 +eric5.Utilities.pyflakes.messages.UndefinedExport?1(filename, loc, name) +eric5.Utilities.pyflakes.messages.UndefinedLocal.message?7 +eric5.Utilities.pyflakes.messages.UndefinedLocal.message_id?7 +eric5.Utilities.pyflakes.messages.UndefinedLocal?1(filename, loc, name, orig_loc) +eric5.Utilities.pyflakes.messages.UndefinedName.message?7 +eric5.Utilities.pyflakes.messages.UndefinedName.message_id?7 +eric5.Utilities.pyflakes.messages.UndefinedName?1(filename, loc, name) +eric5.Utilities.pyflakes.messages.UnusedImport.message?7 +eric5.Utilities.pyflakes.messages.UnusedImport.message_id?7 +eric5.Utilities.pyflakes.messages.UnusedImport?1(filename, loc, name) +eric5.Utilities.pyflakes.messages.UnusedVariable.message?7 +eric5.Utilities.pyflakes.messages.UnusedVariable.message_id?7 +eric5.Utilities.pyflakes.messages.UnusedVariable?1(filename, loc, names) +eric5.Utilities.pyflakes.translations._messages?8 +eric5.Utilities.pyflakes.translations.getTranslatedFlakesMessage?4(message_id, message_args) eric5.Utilities.readEncodedFile?4(filename) eric5.Utilities.readEncodedFileWithHash?4(filename) eric5.Utilities.readStringFromStream?4(stream)
--- a/APIs/Python3/eric5.bas Wed Jan 15 19:16:06 2014 +0100 +++ b/APIs/Python3/eric5.bas Thu Jan 16 18:28:34 2014 +0100 @@ -64,6 +64,7 @@ ChatWidget QWidget Ui_ChatWidget ChromeImporter BookmarksImporter Class ClbrBaseClasses.Class VisibilityMixin +ClassDefinition Definition ClassItem UMLItem ClassModel UMLModel ClassScope Scope @@ -127,11 +128,13 @@ DebuggerPython3Page ConfigurationPageBase Ui_DebuggerPython3Page DebuggerPythonPage ConfigurationPageBase Ui_DebuggerPythonPage DebuggerRubyPage ConfigurationPageBase Ui_DebuggerRubyPage +Definition Binding DeleteFilesConfirmationDialog QDialog Ui_DeleteFilesConfirmationDialog DiffDialog QWidget Ui_DiffDialog DiffReport StandardReport DiffWindow E5MainWindow DirectorySyncHandler SyncHandler +DoctestSyntaxError Message DownloadAskActionDialog QDialog Ui_DownloadAskActionDialog DownloadItem QWidget Ui_DownloadItem DownloadManager QDialog Ui_DownloadManager @@ -260,6 +263,7 @@ Function ClbrBaseClasses.Function VisibilityMixin FunctionDefinition Binding FunctionScope Scope +GeneratorScope Scope GotoDialog QDialog Ui_GotoDialog Gpg HgExtension GpgProjectHelper HgExtensionProjectHelper @@ -571,7 +575,9 @@ Rebase HgExtension RebaseProjectHelper HgExtensionProjectHelper RecursionError OverflowError ValueError +Redefined Message RedefinedFunction Message +RedefinedInListComp Message RedefinedWhileUnused Message Redirector QObject RemoveBookmarksCommand QUndoCommand
--- a/Documentation/Help/source.qhp Wed Jan 15 19:16:06 2014 +0100 +++ b/Documentation/Help/source.qhp Thu Jan 16 18:28:34 2014 +0100 @@ -1506,11 +1506,8 @@ <keyword name="BinaryModel.setValue" id="BinaryModel.setValue" ref="eric5.UI.NumbersWidget.html#BinaryModel.setValue" /> <keyword name="Binding" id="Binding" ref="eric5.Utilities.pyflakes.checker.html#Binding" /> <keyword name="Binding" id="Binding" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Binding" /> - <keyword name="Binding (Constructor)" id="Binding (Constructor)" ref="eric5.Utilities.pyflakes.checker.html#Binding.__init__" /> <keyword name="Binding (Constructor)" id="Binding (Constructor)" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Binding.__init__" /> - <keyword name="Binding.__repr__" id="Binding.__repr__" ref="eric5.Utilities.pyflakes.checker.html#Binding.__repr__" /> <keyword name="Binding.__repr__" id="Binding.__repr__" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Binding.__repr__" /> - <keyword name="Binding.__str__" id="Binding.__str__" ref="eric5.Utilities.pyflakes.checker.html#Binding.__str__" /> <keyword name="Binding.__str__" id="Binding.__str__" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Binding.__str__" /> <keyword name="BookmarkActionSelectionDialog" id="BookmarkActionSelectionDialog" ref="eric5.Helpviewer.UrlBar.BookmarkActionSelectionDialog.html#BookmarkActionSelectionDialog" /> <keyword name="BookmarkActionSelectionDialog (Constructor)" id="BookmarkActionSelectionDialog (Constructor)" ref="eric5.Helpviewer.UrlBar.BookmarkActionSelectionDialog.html#BookmarkActionSelectionDialog.__init__" /> @@ -1996,6 +1993,7 @@ <keyword name="Checker.FOR" id="Checker.FOR" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.FOR" /> <keyword name="Checker.FUNCTIONDEF" id="Checker.FUNCTIONDEF" ref="eric5.Utilities.pyflakes.checker.html#Checker.FUNCTIONDEF" /> <keyword name="Checker.FUNCTIONDEF" id="Checker.FUNCTIONDEF" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.FUNCTIONDEF" /> + <keyword name="Checker.GENERATOREXP" id="Checker.GENERATOREXP" ref="eric5.Utilities.pyflakes.checker.html#Checker.GENERATOREXP" /> <keyword name="Checker.GLOBAL" id="Checker.GLOBAL" ref="eric5.Utilities.pyflakes.checker.html#Checker.GLOBAL" /> <keyword name="Checker.GLOBAL" id="Checker.GLOBAL" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.GLOBAL" /> <keyword name="Checker.IMPORT" id="Checker.IMPORT" ref="eric5.Utilities.pyflakes.checker.html#Checker.IMPORT" /> @@ -2008,8 +2006,7 @@ <keyword name="Checker.LISTCOMP" id="Checker.LISTCOMP" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.LISTCOMP" /> <keyword name="Checker.NAME" id="Checker.NAME" ref="eric5.Utilities.pyflakes.checker.html#Checker.NAME" /> <keyword name="Checker.NAME" id="Checker.NAME" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.NAME" /> - <keyword name="Checker.STARRED" id="Checker.STARRED" ref="eric5.Utilities.pyflakes.checker.html#Checker.STARRED" /> - <keyword name="Checker._runDeferred" id="Checker._runDeferred" ref="eric5.Utilities.pyflakes.checker.html#Checker._runDeferred" /> + <keyword name="Checker.TRY" id="Checker.TRY" ref="eric5.Utilities.pyflakes.checker.html#Checker.TRY" /> <keyword name="Checker._runDeferred" id="Checker._runDeferred" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker._runDeferred" /> <keyword name="Checker.addArgs" id="Checker.addArgs" ref="eric5.Utilities.pyflakes.checker.html#Checker.addArgs" /> <keyword name="Checker.addArgs" id="Checker.addArgs" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.addArgs" /> @@ -2017,13 +2014,13 @@ <keyword name="Checker.addBinding" id="Checker.addBinding" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.addBinding" /> <keyword name="Checker.build_tokens_line" id="Checker.build_tokens_line" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.build_tokens_line" /> <keyword name="Checker.build_tokens_line" id="Checker.build_tokens_line" ref="eric5.UtilitiesPython2.pep8.html#Checker.build_tokens_line" /> + <keyword name="Checker.checkDeadScopes" id="Checker.checkDeadScopes" ref="eric5.Utilities.pyflakes.checker.html#Checker.checkDeadScopes" /> <keyword name="Checker.checkUnusedAssignments" id="Checker.checkUnusedAssignments" ref="eric5.Utilities.pyflakes.checker.html#Checker.checkUnusedAssignments" /> <keyword name="Checker.checkUnusedAssignments" id="Checker.checkUnusedAssignments" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.checkUnusedAssignments" /> <keyword name="Checker.check_all" id="Checker.check_all" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.check_all" /> <keyword name="Checker.check_all" id="Checker.check_all" ref="eric5.UtilitiesPython2.pep8.html#Checker.check_all" /> <keyword name="Checker.check_ast" id="Checker.check_ast" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.check_ast" /> <keyword name="Checker.check_ast" id="Checker.check_ast" ref="eric5.UtilitiesPython2.pep8.html#Checker.check_ast" /> - <keyword name="Checker.check_dead_scopes" id="Checker.check_dead_scopes" ref="eric5.Utilities.pyflakes.checker.html#Checker.check_dead_scopes" /> <keyword name="Checker.check_dead_scopes" id="Checker.check_dead_scopes" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.check_dead_scopes" /> <keyword name="Checker.check_logical" id="Checker.check_logical" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.check_logical" /> <keyword name="Checker.check_logical" id="Checker.check_logical" ref="eric5.UtilitiesPython2.pep8.html#Checker.check_logical" /> @@ -2035,24 +2032,34 @@ <keyword name="Checker.deferAssignment" id="Checker.deferAssignment" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.deferAssignment" /> <keyword name="Checker.deferFunction" id="Checker.deferFunction" ref="eric5.Utilities.pyflakes.checker.html#Checker.deferFunction" /> <keyword name="Checker.deferFunction" id="Checker.deferFunction" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.deferFunction" /> + <keyword name="Checker.descendantOf" id="Checker.descendantOf" ref="eric5.Utilities.pyflakes.checker.html#Checker.descendantOf" /> + <keyword name="Checker.differentForks" id="Checker.differentForks" ref="eric5.Utilities.pyflakes.checker.html#Checker.differentForks" /> <keyword name="Checker.generate_tokens" id="Checker.generate_tokens" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.generate_tokens" /> <keyword name="Checker.generate_tokens" id="Checker.generate_tokens" ref="eric5.UtilitiesPython2.pep8.html#Checker.generate_tokens" /> - <keyword name="Checker.handleAssignName" id="Checker.handleAssignName" ref="eric5.Utilities.pyflakes.checker.html#Checker.handleAssignName" /> - <keyword name="Checker.handleBody" id="Checker.handleBody" ref="eric5.Utilities.pyflakes.checker.html#Checker.handleBody" /> + <keyword name="Checker.getCommonAncestor" id="Checker.getCommonAncestor" ref="eric5.Utilities.pyflakes.checker.html#Checker.getCommonAncestor" /> + <keyword name="Checker.getDocstring" id="Checker.getDocstring" ref="eric5.Utilities.pyflakes.checker.html#Checker.getDocstring" /> + <keyword name="Checker.getNodeHandler" id="Checker.getNodeHandler" ref="eric5.Utilities.pyflakes.checker.html#Checker.getNodeHandler" /> <keyword name="Checker.handleChildren" id="Checker.handleChildren" ref="eric5.Utilities.pyflakes.checker.html#Checker.handleChildren" /> <keyword name="Checker.handleChildren" id="Checker.handleChildren" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.handleChildren" /> + <keyword name="Checker.handleDoctests" id="Checker.handleDoctests" ref="eric5.Utilities.pyflakes.checker.html#Checker.handleDoctests" /> <keyword name="Checker.handleNode" id="Checker.handleNode" ref="eric5.Utilities.pyflakes.checker.html#Checker.handleNode" /> <keyword name="Checker.handleNode" id="Checker.handleNode" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.handleNode" /> + <keyword name="Checker.handleNodeDelete" id="Checker.handleNodeDelete" ref="eric5.Utilities.pyflakes.checker.html#Checker.handleNodeDelete" /> + <keyword name="Checker.handleNodeLoad" id="Checker.handleNodeLoad" ref="eric5.Utilities.pyflakes.checker.html#Checker.handleNodeLoad" /> + <keyword name="Checker.handleNodeStore" id="Checker.handleNodeStore" ref="eric5.Utilities.pyflakes.checker.html#Checker.handleNodeStore" /> + <keyword name="Checker.hasParent" id="Checker.hasParent" ref="eric5.Utilities.pyflakes.checker.html#Checker.hasParent" /> <keyword name="Checker.ignore" id="Checker.ignore" ref="eric5.Utilities.pyflakes.checker.html#Checker.ignore" /> <keyword name="Checker.ignore" id="Checker.ignore" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.ignore" /> <keyword name="Checker.isDocstring" id="Checker.isDocstring" ref="eric5.Utilities.pyflakes.checker.html#Checker.isDocstring" /> <keyword name="Checker.isDocstring" id="Checker.isDocstring" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.isDocstring" /> + <keyword name="Checker.onFork" id="Checker.onFork" ref="eric5.Utilities.pyflakes.checker.html#Checker.onFork" /> <keyword name="Checker.popScope" id="Checker.popScope" ref="eric5.Utilities.pyflakes.checker.html#Checker.popScope" /> <keyword name="Checker.popScope" id="Checker.popScope" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.popScope" /> <keyword name="Checker.pushClassScope" id="Checker.pushClassScope" ref="eric5.Utilities.pyflakes.checker.html#Checker.pushClassScope" /> <keyword name="Checker.pushClassScope" id="Checker.pushClassScope" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.pushClassScope" /> <keyword name="Checker.pushFunctionScope" id="Checker.pushFunctionScope" ref="eric5.Utilities.pyflakes.checker.html#Checker.pushFunctionScope" /> <keyword name="Checker.pushFunctionScope" id="Checker.pushFunctionScope" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.pushFunctionScope" /> + <keyword name="Checker.pushScope" id="Checker.pushScope" ref="eric5.Utilities.pyflakes.checker.html#Checker.pushScope" /> <keyword name="Checker.readline" id="Checker.readline" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.readline" /> <keyword name="Checker.readline" id="Checker.readline" ref="eric5.UtilitiesPython2.pep8.html#Checker.readline" /> <keyword name="Checker.readline_check_physical" id="Checker.readline_check_physical" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.readline_check_physical" /> @@ -2061,6 +2068,7 @@ <keyword name="Checker.report" id="Checker.report" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.report" /> <keyword name="Checker.report_invalid_syntax" id="Checker.report_invalid_syntax" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.report_invalid_syntax" /> <keyword name="Checker.report_invalid_syntax" id="Checker.report_invalid_syntax" ref="eric5.UtilitiesPython2.pep8.html#Checker.report_invalid_syntax" /> + <keyword name="Checker.runDeferred" id="Checker.runDeferred" ref="eric5.Utilities.pyflakes.checker.html#Checker.runDeferred" /> <keyword name="Checker.runFunction" id="Checker.runFunction" ref="eric5.Utilities.pyflakes.checker.html#Checker.runFunction" /> <keyword name="Checker.runFunction" id="Checker.runFunction" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Checker.runFunction" /> <keyword name="Checker.run_check" id="Checker.run_check" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#Checker.run_check" /> @@ -2093,6 +2101,7 @@ <keyword name="Class.getMethod" id="Class.getMethod" ref="eric5.Utilities.ModuleParser.html#Class.getMethod" /> <keyword name="Class.setEndLine" id="Class.setEndLine" ref="eric5.Utilities.ModuleParser.html#Class.setEndLine" /> <keyword name="ClassBrowsers (Package)" id="ClassBrowsers (Package)" ref="index-eric5.Utilities.ClassBrowsers.html" /> + <keyword name="ClassDefinition" id="ClassDefinition" ref="eric5.Utilities.pyflakes.checker.html#ClassDefinition" /> <keyword name="ClassItem" id="ClassItem" ref="eric5.Graphics.ClassItem.html#ClassItem" /> <keyword name="ClassItem (Constructor)" id="ClassItem (Constructor)" ref="eric5.Graphics.ClassItem.html#ClassItem.__init__" /> <keyword name="ClassItem (Module)" id="ClassItem (Module)" ref="eric5.Graphics.ClassItem.html" /> @@ -3381,6 +3390,7 @@ <keyword name="DebuggerRubyPage.on_rubyInterpreterButton_clicked" id="DebuggerRubyPage.on_rubyInterpreterButton_clicked" ref="eric5.Preferences.ConfigurationPages.DebuggerRubyPage.html#DebuggerRubyPage.on_rubyInterpreterButton_clicked" /> <keyword name="DebuggerRubyPage.save" id="DebuggerRubyPage.save" ref="eric5.Preferences.ConfigurationPages.DebuggerRubyPage.html#DebuggerRubyPage.save" /> <keyword name="DefaultSearchEngines (Package)" id="DefaultSearchEngines (Package)" ref="index-eric5.Helpviewer.OpenSearch.DefaultSearchEngines.html" /> + <keyword name="Definition" id="Definition" ref="eric5.Utilities.pyflakes.checker.html#Definition" /> <keyword name="DeleteFilesConfirmationDialog" id="DeleteFilesConfirmationDialog" ref="eric5.UI.DeleteFilesConfirmationDialog.html#DeleteFilesConfirmationDialog" /> <keyword name="DeleteFilesConfirmationDialog (Constructor)" id="DeleteFilesConfirmationDialog (Constructor)" ref="eric5.UI.DeleteFilesConfirmationDialog.html#DeleteFilesConfirmationDialog.__init__" /> <keyword name="DeleteFilesConfirmationDialog (Module)" id="DeleteFilesConfirmationDialog (Module)" ref="eric5.UI.DeleteFilesConfirmationDialog.html" /> @@ -3531,6 +3541,8 @@ <keyword name="DocStyleContext.ssource" id="DocStyleContext.ssource" ref="eric5.UtilitiesPython2.DocStyleCheckerPy2.html#DocStyleContext.ssource" /> <keyword name="DocStyleContext.start" id="DocStyleContext.start" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.start" /> <keyword name="DocStyleContext.start" id="DocStyleContext.start" ref="eric5.UtilitiesPython2.DocStyleCheckerPy2.html#DocStyleContext.start" /> + <keyword name="DoctestSyntaxError" id="DoctestSyntaxError" ref="eric5.Utilities.pyflakes.messages.html#DoctestSyntaxError" /> + <keyword name="DoctestSyntaxError (Constructor)" id="DoctestSyntaxError (Constructor)" ref="eric5.Utilities.pyflakes.messages.html#DoctestSyntaxError.__init__" /> <keyword name="DocumentationPlugins (Package)" id="DocumentationPlugins (Package)" ref="index-eric5.Plugins.DocumentationPlugins.html" /> <keyword name="DocumentationTools (Package)" id="DocumentationTools (Package)" ref="index-eric5.DocumentationTools.html" /> <keyword name="Download (Package)" id="Download (Package)" ref="index-eric5.Helpviewer.Download.html" /> @@ -4824,7 +4836,6 @@ <keyword name="ExceptionsFilterDialog.on_exceptionList_itemSelectionChanged" id="ExceptionsFilterDialog.on_exceptionList_itemSelectionChanged" ref="eric5.Debugger.ExceptionsFilterDialog.html#ExceptionsFilterDialog.on_exceptionList_itemSelectionChanged" /> <keyword name="ExportBinding" id="ExportBinding" ref="eric5.Utilities.pyflakes.checker.html#ExportBinding" /> <keyword name="ExportBinding" id="ExportBinding" ref="eric5.UtilitiesPython2.py2flakes.checker.html#ExportBinding" /> - <keyword name="ExportBinding.names" id="ExportBinding.names" ref="eric5.Utilities.pyflakes.checker.html#ExportBinding.names" /> <keyword name="ExportBinding.names" id="ExportBinding.names" ref="eric5.UtilitiesPython2.py2flakes.checker.html#ExportBinding.names" /> <keyword name="ExporterBase" id="ExporterBase" ref="eric5.QScintilla.Exporters.ExporterBase.html#ExporterBase" /> <keyword name="ExporterBase (Constructor)" id="ExporterBase (Constructor)" ref="eric5.QScintilla.Exporters.ExporterBase.html#ExporterBase.__init__" /> @@ -5109,8 +5120,8 @@ <keyword name="FunctionDefinition" id="FunctionDefinition" ref="eric5.UtilitiesPython2.py2flakes.checker.html#FunctionDefinition" /> <keyword name="FunctionScope" id="FunctionScope" ref="eric5.Utilities.pyflakes.checker.html#FunctionScope" /> <keyword name="FunctionScope" id="FunctionScope" ref="eric5.UtilitiesPython2.py2flakes.checker.html#FunctionScope" /> - <keyword name="FunctionScope (Constructor)" id="FunctionScope (Constructor)" ref="eric5.Utilities.pyflakes.checker.html#FunctionScope.__init__" /> <keyword name="FunctionScope (Constructor)" id="FunctionScope (Constructor)" ref="eric5.UtilitiesPython2.py2flakes.checker.html#FunctionScope.__init__" /> + <keyword name="GeneratorScope" id="GeneratorScope" ref="eric5.Utilities.pyflakes.checker.html#GeneratorScope" /> <keyword name="Globals (Package)" id="Globals (Package)" ref="index-eric5.Globals.html" /> <keyword name="GotoDialog" id="GotoDialog" ref="eric5.QScintilla.GotoDialog.html#GotoDialog" /> <keyword name="GotoDialog (Constructor)" id="GotoDialog (Constructor)" ref="eric5.QScintilla.GotoDialog.html#GotoDialog.__init__" /> @@ -6835,7 +6846,6 @@ <keyword name="ImportStarUsed (Constructor)" id="ImportStarUsed (Constructor)" ref="eric5.UtilitiesPython2.py2flakes.messages.html#ImportStarUsed.__init__" /> <keyword name="Importation" id="Importation" ref="eric5.Utilities.pyflakes.checker.html#Importation" /> <keyword name="Importation" id="Importation" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Importation" /> - <keyword name="Importation (Constructor)" id="Importation (Constructor)" ref="eric5.Utilities.pyflakes.checker.html#Importation.__init__" /> <keyword name="Importation (Constructor)" id="Importation (Constructor)" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Importation.__init__" /> <keyword name="ImportsDiagramBuilder" id="ImportsDiagramBuilder" ref="eric5.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder" /> <keyword name="ImportsDiagramBuilder (Constructor)" id="ImportsDiagramBuilder (Constructor)" ref="eric5.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder.__init__" /> @@ -9622,10 +9632,12 @@ <keyword name="RebaseProjectHelper.initMenu" id="RebaseProjectHelper.initMenu" ref="eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.ProjectHelper.html#RebaseProjectHelper.initMenu" /> <keyword name="RebaseProjectHelper.menuTitle" id="RebaseProjectHelper.menuTitle" ref="eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.ProjectHelper.html#RebaseProjectHelper.menuTitle" /> <keyword name="RecursionError" id="RecursionError" ref="eric5.Graphics.GraphicsUtilities.html#RecursionError" /> - <keyword name="RedefinedFunction" id="RedefinedFunction" ref="eric5.Utilities.pyflakes.messages.html#RedefinedFunction" /> + <keyword name="Redefined" id="Redefined" ref="eric5.Utilities.pyflakes.messages.html#Redefined" /> + <keyword name="Redefined (Constructor)" id="Redefined (Constructor)" ref="eric5.Utilities.pyflakes.messages.html#Redefined.__init__" /> <keyword name="RedefinedFunction" id="RedefinedFunction" ref="eric5.UtilitiesPython2.py2flakes.messages.html#RedefinedFunction" /> - <keyword name="RedefinedFunction (Constructor)" id="RedefinedFunction (Constructor)" ref="eric5.Utilities.pyflakes.messages.html#RedefinedFunction.__init__" /> <keyword name="RedefinedFunction (Constructor)" id="RedefinedFunction (Constructor)" ref="eric5.UtilitiesPython2.py2flakes.messages.html#RedefinedFunction.__init__" /> + <keyword name="RedefinedInListComp" id="RedefinedInListComp" ref="eric5.Utilities.pyflakes.messages.html#RedefinedInListComp" /> + <keyword name="RedefinedInListComp (Constructor)" id="RedefinedInListComp (Constructor)" ref="eric5.Utilities.pyflakes.messages.html#RedefinedInListComp.__init__" /> <keyword name="RedefinedWhileUnused" id="RedefinedWhileUnused" ref="eric5.Utilities.pyflakes.messages.html#RedefinedWhileUnused" /> <keyword name="RedefinedWhileUnused" id="RedefinedWhileUnused" ref="eric5.UtilitiesPython2.py2flakes.messages.html#RedefinedWhileUnused" /> <keyword name="RedefinedWhileUnused (Constructor)" id="RedefinedWhileUnused (Constructor)" ref="eric5.Utilities.pyflakes.messages.html#RedefinedWhileUnused.__init__" /> @@ -9665,9 +9677,7 @@ <keyword name="SchemeAccessHandler.createRequest" id="SchemeAccessHandler.createRequest" ref="eric5.Helpviewer.Network.SchemeAccessHandler.html#SchemeAccessHandler.createRequest" /> <keyword name="Scope" id="Scope" ref="eric5.Utilities.pyflakes.checker.html#Scope" /> <keyword name="Scope" id="Scope" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Scope" /> - <keyword name="Scope (Constructor)" id="Scope (Constructor)" ref="eric5.Utilities.pyflakes.checker.html#Scope.__init__" /> <keyword name="Scope (Constructor)" id="Scope (Constructor)" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Scope.__init__" /> - <keyword name="Scope.__repr__" id="Scope.__repr__" ref="eric5.Utilities.pyflakes.checker.html#Scope.__repr__" /> <keyword name="Scope.__repr__" id="Scope.__repr__" ref="eric5.UtilitiesPython2.py2flakes.checker.html#Scope.__repr__" /> <keyword name="SearchReplaceSlidingWidget" id="SearchReplaceSlidingWidget" ref="eric5.QScintilla.SearchReplaceWidget.html#SearchReplaceSlidingWidget" /> <keyword name="SearchReplaceSlidingWidget (Constructor)" id="SearchReplaceSlidingWidget (Constructor)" ref="eric5.QScintilla.SearchReplaceWidget.html#SearchReplaceSlidingWidget.__init__" /> @@ -11753,7 +11763,6 @@ <keyword name="UMLSceneSizeDialog.getData" id="UMLSceneSizeDialog.getData" ref="eric5.Graphics.UMLSceneSizeDialog.html#UMLSceneSizeDialog.getData" /> <keyword name="Uid" id="Uid" ref="eric5.Utilities.binplistlib.html#Uid" /> <keyword name="Uid.__repr__" id="Uid.__repr__" ref="eric5.Utilities.binplistlib.html#Uid.__repr__" /> - <keyword name="UnBinding" id="UnBinding" ref="eric5.Utilities.pyflakes.checker.html#UnBinding" /> <keyword name="UnBinding" id="UnBinding" ref="eric5.UtilitiesPython2.py2flakes.checker.html#UnBinding" /> <keyword name="UndefinedExport" id="UndefinedExport" ref="eric5.Utilities.pyflakes.messages.html#UndefinedExport" /> <keyword name="UndefinedExport" id="UndefinedExport" ref="eric5.UtilitiesPython2.py2flakes.messages.html#UndefinedExport" /> @@ -12768,13 +12777,19 @@ <keyword name="__getMasterPassword" id="__getMasterPassword" ref="eric5.Utilities.crypto.__init__.html#__getMasterPassword" /> <keyword name="__getPygmentsLexer" id="__getPygmentsLexer" ref="eric5.QScintilla.Lexers.__init__.html#__getPygmentsLexer" /> <keyword name="__initChannelModesDict" id="__initChannelModesDict" ref="eric5.Network.IRC.IrcUtilities.html#__initChannelModesDict" /> + <keyword name="__init__" id="__init__" ref="eric5.Utilities.pyflakes.checker.html#__init__" /> + <keyword name="__init___1" id="__init___1" ref="eric5.Utilities.pyflakes.checker.html#__init___1" /> + <keyword name="__init___2" id="__init___2" ref="eric5.Utilities.pyflakes.checker.html#__init___2" /> <keyword name="__messageBox" id="__messageBox" ref="eric5.E5Gui.E5MessageBox.html#__messageBox" /> <keyword name="__readShortcut" id="__readShortcut" ref="eric5.Preferences.Shortcuts.html#__readShortcut" /> <keyword name="__render" id="__render" ref="eric5.Helpviewer.HelpSnap.html#__render" /> <keyword name="__reorderFilter" id="__reorderFilter" ref="eric5.E5Gui.E5FileDialog.html#__reorderFilter" /> + <keyword name="__repr__" id="__repr__" ref="eric5.Utilities.pyflakes.checker.html#__repr__" /> + <keyword name="__repr___1" id="__repr___1" ref="eric5.Utilities.pyflakes.checker.html#__repr___1" /> <keyword name="__saveShortcut" id="__saveShortcut" ref="eric5.Preferences.Shortcuts.html#__saveShortcut" /> <keyword name="__setAction" id="__setAction" ref="eric5.Preferences.Shortcuts.html#__setAction" /> <keyword name="__showwarning" id="__showwarning" ref="eric5.Utilities.__init__.html#__showwarning" /> + <keyword name="__str__" id="__str__" ref="eric5.Utilities.pyflakes.checker.html#__str__" /> <keyword name="_add_check" id="_add_check" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#_add_check" /> <keyword name="_add_check" id="_add_check" ref="eric5.UtilitiesPython2.pep8.html#_add_check" /> <keyword name="_buildChildrenLists" id="_buildChildrenLists" ref="eric5.Graphics.GraphicsUtilities.html#_buildChildrenLists" /> @@ -13062,6 +13077,9 @@ <keyword name="getLexer" id="getLexer" ref="eric5.QScintilla.Lexers.__init__.html#getLexer" /> <keyword name="getMessage" id="getMessage" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#getMessage" /> <keyword name="getMultiProject" id="getMultiProject" ref="eric5.Preferences.__init__.html#getMultiProject" /> + <keyword name="getNodeName" id="getNodeName" ref="eric5.Utilities.pyflakes.checker.html#getNodeName" /> + <keyword name="getNodeType" id="getNodeType" ref="eric5.Utilities.pyflakes.checker.html#getNodeType" /> + <keyword name="getNodeType_1" id="getNodeType_1" ref="eric5.Utilities.pyflakes.checker.html#getNodeType_1" /> <keyword name="getOpenFileFiltersList" id="getOpenFileFiltersList" ref="eric5.QScintilla.Lexers.__init__.html#getOpenFileFiltersList" /> <keyword name="getOpenFileName" id="getOpenFileName" ref="eric5.E5Gui.E5FileDialog.html#getOpenFileName" /> <keyword name="getOpenFileNameAndFilter" id="getOpenFileNameAndFilter" ref="eric5.E5Gui.E5FileDialog.html#getOpenFileNameAndFilter" /> @@ -13177,6 +13195,7 @@ <keyword name="is_stream_binary_plist" id="is_stream_binary_plist" ref="eric5.Utilities.binplistlib.html#is_stream_binary_plist" /> <keyword name="isatty" id="isatty" ref="eric5.DebugClients.Ruby.AsyncFile.html#isatty" /> <keyword name="isinpath" id="isinpath" ref="eric5.Utilities.__init__.html#isinpath" /> + <keyword name="iter_child_nodes" id="iter_child_nodes" ref="eric5.Utilities.pyflakes.checker.html#iter_child_nodes" /> <keyword name="iter_child_nodes" id="iter_child_nodes" ref="eric5.UtilitiesPython2.py2flakes.checker.html#iter_child_nodes" /> <keyword name="joinext" id="joinext" ref="eric5.Utilities.__init__.html#joinext" /> <keyword name="jsclbr (Module)" id="jsclbr (Module)" ref="eric5.Utilities.ClassBrowsers.jsclbr.html" /> @@ -13227,6 +13246,7 @@ <keyword name="missing_whitespace_around_operator" id="missing_whitespace_around_operator" ref="eric5.UtilitiesPython2.pep8.html#missing_whitespace_around_operator" /> <keyword name="mute_string" id="mute_string" ref="eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.html#mute_string" /> <keyword name="mute_string" id="mute_string" ref="eric5.UtilitiesPython2.pep8.html#mute_string" /> + <keyword name="names" id="names" ref="eric5.Utilities.pyflakes.checker.html#names" /> <keyword name="normabsjoinpath" id="normabsjoinpath" ref="eric5.Utilities.__init__.html#normabsjoinpath" /> <keyword name="normabspath" id="normabspath" ref="eric5.Utilities.__init__.html#normabspath" /> <keyword name="normalizeCode" id="normalizeCode" ref="eric5.UtilitiesPython2.Tools.html#normalizeCode" /> @@ -13423,6 +13443,7 @@ <keyword name="uninstall (Module)" id="uninstall (Module)" ref="eric5.uninstall.html" /> <keyword name="uninstallEric" id="uninstallEric" ref="eric5.uninstall.html#uninstallEric" /> <keyword name="unregisterLexer" id="unregisterLexer" ref="eric5.QScintilla.Lexers.__init__.html#unregisterLexer" /> + <keyword name="unusedAssignments" id="unusedAssignments" ref="eric5.Utilities.pyflakes.checker.html#unusedAssignments" /> <keyword name="usage" id="usage" ref="eric5.Toolbox.Startup.html#usage" /> <keyword name="usage" id="usage" ref="eric5.eric5_api.html#usage" /> <keyword name="usage" id="usage" ref="eric5.eric5_doc.html#usage" /> @@ -14217,9 +14238,6 @@ <file>eric5.Utilities.crypto.__init__.html</file> <file>eric5.Utilities.crypto.py3AES.html</file> <file>eric5.Utilities.crypto.py3PBKDF2.html</file> - <file>eric5.Utilities.py3flakes.checker.html</file> - <file>eric5.Utilities.py3flakes.messages.html</file> - <file>eric5.Utilities.py3flakes.translations.html</file> <file>eric5.Utilities.pyflakes.checker.html</file> <file>eric5.Utilities.pyflakes.messages.html</file> <file>eric5.Utilities.pyflakes.translations.html</file> @@ -14371,7 +14389,6 @@ <file>index-eric5.Utilities.ClassBrowsers.html</file> <file>index-eric5.Utilities.crypto.html</file> <file>index-eric5.Utilities.html</file> - <file>index-eric5.Utilities.py3flakes.html</file> <file>index-eric5.Utilities.pyflakes.html</file> <file>index-eric5.UtilitiesPython2.html</file> <file>index-eric5.UtilitiesPython2.py2flakes.html</file>
--- a/Documentation/Source/eric5.Utilities.pyflakes.checker.html Wed Jan 15 19:16:06 2014 +0100 +++ b/Documentation/Source/eric5.Utilities.pyflakes.checker.html Thu Jan 16 18:28:34 2014 +0100 @@ -40,9 +40,15 @@ <td><a href="#Checker">Checker</a></td> <td>Class to check the cleanliness and sanity of Python code.</td> </tr><tr> +<td><a href="#ClassDefinition">ClassDefinition</a></td> +<td>Represents a class definition.</td> +</tr><tr> <td><a href="#ClassScope">ClassScope</a></td> <td>Class representing a name scope for a class.</td> </tr><tr> +<td><a href="#Definition">Definition</a></td> +<td>A binding that defines a function or a class.</td> +</tr><tr> <td><a href="#ExportBinding">ExportBinding</a></td> <td>A binding created by an __all__ assignment.</td> </tr><tr> @@ -52,6 +58,9 @@ <td><a href="#FunctionScope">FunctionScope</a></td> <td>Class representing a name scope for a function.</td> </tr><tr> +<td><a href="#GeneratorScope">GeneratorScope</a></td> +<td>Class representing a name scope for a generator function.</td> +</tr><tr> <td><a href="#Importation">Importation</a></td> <td>A binding created by an import statement.</td> </tr><tr> @@ -60,14 +69,47 @@ </tr><tr> <td><a href="#Scope">Scope</a></td> <td>Class defining the scope base class.</td> -</tr><tr> -<td><a href="#UnBinding">UnBinding</a></td> -<td>Created by the 'del' operator.</td> </tr> </table> <h3>Functions</h3> <table> -<tr><td>None</td></tr> +<tr> +<td><a href="#__init__">__init__</a></td> +<td></td> +</tr><tr> +<td><a href="#__init___1">__init__</a></td> +<td></td> +</tr><tr> +<td><a href="#__init___2">__init__</a></td> +<td></td> +</tr><tr> +<td><a href="#__repr__">__repr__</a></td> +<td></td> +</tr><tr> +<td><a href="#__repr___1">__repr__</a></td> +<td></td> +</tr><tr> +<td><a href="#__str__">__str__</a></td> +<td></td> +</tr><tr> +<td><a href="#getNodeName">getNodeName</a></td> +<td>Module function for getting the name of a node.</td> +</tr><tr> +<td><a href="#getNodeType">getNodeType</a></td> +<td></td> +</tr><tr> +<td><a href="#getNodeType_1">getNodeType</a></td> +<td></td> +</tr><tr> +<td><a href="#iter_child_nodes">iter_child_nodes</a></td> +<td>Yield all direct child nodes of *node*, that is, all fields that are nodes and all items of fields that are lists of nodes.</td> +</tr><tr> +<td><a href="#names">names</a></td> +<td>Return a list of the names referenced by this binding.</td> +</tr><tr> +<td><a href="#unusedAssignments">unusedAssignments</a></td> +<td>Return a generator for the assignments which have not been used.</td> +</tr> </table> <hr /><hr /> <a NAME="Argument" ID="Argument"></a> @@ -147,30 +189,12 @@ </table> <h3>Methods</h3> <table> -<tr> -<td><a href="#Binding.__init__">Binding</a></td> -<td></td> -</tr><tr> -<td><a href="#Binding.__repr__">__repr__</a></td> -<td></td> -</tr><tr> -<td><a href="#Binding.__str__">__str__</a></td> -<td></td> -</tr> +<tr><td>None</td></tr> </table> <h3>Static Methods</h3> <table> <tr><td>None</td></tr> </table> -<a NAME="Binding.__init__" ID="Binding.__init__"></a> -<h4>Binding (Constructor)</h4> -<b>Binding</b>(<i>name, source</i>) -<a NAME="Binding.__repr__" ID="Binding.__repr__"></a> -<h4>Binding.__repr__</h4> -<b>__repr__</b>(<i></i>) -<a NAME="Binding.__str__" ID="Binding.__str__"></a> -<h4>Binding.__str__</h4> -<b>__str__</b>(<i></i>) <div align="right"><a href="#top">Up</a></div> <hr /><hr /> @@ -183,7 +207,7 @@ object <h3>Class Attributes</h3> <table> -<tr><td>ATTRIBUTES</td></tr><tr><td>BOOLOP</td></tr><tr><td>CALL</td></tr><tr><td>COMPREHENSION</td></tr><tr><td>INVERT</td></tr><tr><td>ISNOT</td></tr><tr><td>LOAD</td></tr><tr><td>MOD</td></tr><tr><td>NONLOCAL</td></tr><tr><td>PASS</td></tr><tr><td>RETURN</td></tr><tr><td>SETCOMP</td></tr><tr><td>SLICE</td></tr><tr><td>TRY</td></tr><tr><td>nodeDepth</td></tr><tr><td>scope</td></tr><tr><td>traceTree</td></tr> +<tr><td>AND</td></tr><tr><td>BOOLOP</td></tr><tr><td>COMPREHENSION</td></tr><tr><td>CONTINUE</td></tr><tr><td>LOAD</td></tr><tr><td>NONLOCAL</td></tr><tr><td>NUM</td></tr><tr><td>RETURN</td></tr><tr><td>SETCOMP</td></tr><tr><td>SLICE</td></tr><tr><td>TRYEXCEPT</td></tr><tr><td>_customBuiltIns</td></tr><tr><td>_getDoctestExamples</td></tr><tr><td>builtIns</td></tr><tr><td>nodeDepth</td></tr><tr><td>offset</td></tr><tr><td>traceTree</td></tr><tr><td>withDoctest</td></tr> </table> <h3>Class Methods</h3> <table> @@ -216,6 +240,9 @@ <td><a href="#Checker.FUNCTIONDEF">FUNCTIONDEF</a></td> <td></td> </tr><tr> +<td><a href="#Checker.GENERATOREXP">GENERATOREXP</a></td> +<td></td> +</tr><tr> <td><a href="#Checker.GLOBAL">GLOBAL</a></td> <td>Keep track of globals declarations.</td> </tr><tr> @@ -234,24 +261,21 @@ <td><a href="#Checker.NAME">NAME</a></td> <td>Handle occurrence of Name (which can be a load/store/delete access.)</td> </tr><tr> -<td><a href="#Checker.STARRED">STARRED</a></td> +<td><a href="#Checker.TRY">TRY</a></td> <td></td> </tr><tr> -<td><a href="#Checker._runDeferred">_runDeferred</a></td> -<td>Run the callables in deferred using their associated scope stack.</td> -</tr><tr> <td><a href="#Checker.addArgs">addArgs</a></td> <td></td> </tr><tr> <td><a href="#Checker.addBinding">addBinding</a></td> <td>Called when a binding is altered.</td> </tr><tr> +<td><a href="#Checker.checkDeadScopes">checkDeadScopes</a></td> +<td>Look at scopes which have been fully examined and report names in them which were imported but unused.</td> +</tr><tr> <td><a href="#Checker.checkUnusedAssignments">checkUnusedAssignments</a></td> <td>Check to see if any assignments have not been used.</td> </tr><tr> -<td><a href="#Checker.check_dead_scopes">check_dead_scopes</a></td> -<td>Look at scopes which have been fully examined and report names in them which were imported but unused.</td> -</tr><tr> <td><a href="#Checker.collectLoopVars">collectLoopVars</a></td> <td></td> </tr><tr> @@ -261,24 +285,51 @@ <td><a href="#Checker.deferFunction">deferFunction</a></td> <td>Schedule a function handler to be called just before completion.</td> </tr><tr> -<td><a href="#Checker.handleAssignName">handleAssignName</a></td> +<td><a href="#Checker.descendantOf">descendantOf</a></td> <td></td> </tr><tr> -<td><a href="#Checker.handleBody">handleBody</a></td> +<td><a href="#Checker.differentForks">differentForks</a></td> +<td>True, if lnode and rnode are located on different forks of IF/TRY</td> +</tr><tr> +<td><a href="#Checker.getCommonAncestor">getCommonAncestor</a></td> +<td></td> +</tr><tr> +<td><a href="#Checker.getDocstring">getDocstring</a></td> +<td></td> +</tr><tr> +<td><a href="#Checker.getNodeHandler">getNodeHandler</a></td> <td></td> </tr><tr> <td><a href="#Checker.handleChildren">handleChildren</a></td> <td></td> </tr><tr> +<td><a href="#Checker.handleDoctests">handleDoctests</a></td> +<td></td> +</tr><tr> <td><a href="#Checker.handleNode">handleNode</a></td> <td></td> </tr><tr> +<td><a href="#Checker.handleNodeDelete">handleNodeDelete</a></td> +<td></td> +</tr><tr> +<td><a href="#Checker.handleNodeLoad">handleNodeLoad</a></td> +<td></td> +</tr><tr> +<td><a href="#Checker.handleNodeStore">handleNodeStore</a></td> +<td></td> +</tr><tr> +<td><a href="#Checker.hasParent">hasParent</a></td> +<td></td> +</tr><tr> <td><a href="#Checker.ignore">ignore</a></td> <td></td> </tr><tr> <td><a href="#Checker.isDocstring">isDocstring</a></td> <td>Determine if the given node is a docstring, as long as it is at the correct place in the node tree.</td> </tr><tr> +<td><a href="#Checker.onFork">onFork</a></td> +<td></td> +</tr><tr> <td><a href="#Checker.popScope">popScope</a></td> <td></td> </tr><tr> @@ -288,9 +339,15 @@ <td><a href="#Checker.pushFunctionScope">pushFunctionScope</a></td> <td></td> </tr><tr> +<td><a href="#Checker.pushScope">pushScope</a></td> +<td></td> +</tr><tr> <td><a href="#Checker.report">report</a></td> <td></td> </tr><tr> +<td><a href="#Checker.runDeferred">runDeferred</a></td> +<td>Run the callables in deferred using their associated scope stack.</td> +</tr><tr> <td><a href="#Checker.runFunction">runFunction</a></td> <td></td> </tr><tr> @@ -304,16 +361,19 @@ </table> <a NAME="Checker.__init__" ID="Checker.__init__"></a> <h4>Checker (Constructor)</h4> -<b>Checker</b>(<i>module, filename='(none)'</i>) +<b>Checker</b>(<i>tree, filename='(none)', builtins=None</i>) <p> Constructor </p><dl> -<dt><i>module</i></dt> +<dt><i>tree</i></dt> <dd> parsed module tree or module source code </dd><dt><i>filename</i></dt> <dd> name of the module file (string) +</dd><dt><i>builtins</i></dt> +<dd> +set of names to be treated as builtins (set of string) </dd> </dl><a NAME="Checker.ASSIGN" ID="Checker.ASSIGN"></a> <h4>Checker.ASSIGN</h4> @@ -342,6 +402,9 @@ </p><a NAME="Checker.FUNCTIONDEF" ID="Checker.FUNCTIONDEF"></a> <h4>Checker.FUNCTIONDEF</h4> <b>FUNCTIONDEF</b>(<i>node</i>) +<a NAME="Checker.GENERATOREXP" ID="Checker.GENERATOREXP"></a> +<h4>Checker.GENERATOREXP</h4> +<b>GENERATOREXP</b>(<i>node</i>) <a NAME="Checker.GLOBAL" ID="Checker.GLOBAL"></a> <h4>Checker.GLOBAL</h4> <b>GLOBAL</b>(<i>node</i>) @@ -364,47 +427,34 @@ <b>NAME</b>(<i>node</i>) <p> Handle occurrence of Name (which can be a load/store/delete access.) -</p><a NAME="Checker.STARRED" ID="Checker.STARRED"></a> -<h4>Checker.STARRED</h4> -<b>STARRED</b>(<i>node</i>) -<a NAME="Checker._runDeferred" ID="Checker._runDeferred"></a> -<h4>Checker._runDeferred</h4> -<b>_runDeferred</b>(<i>deferred</i>) -<p> - Run the callables in deferred using their associated scope stack. -</p><a NAME="Checker.addArgs" ID="Checker.addArgs"></a> +</p><a NAME="Checker.TRY" ID="Checker.TRY"></a> +<h4>Checker.TRY</h4> +<b>TRY</b>(<i>node</i>) +<a NAME="Checker.addArgs" ID="Checker.addArgs"></a> <h4>Checker.addArgs</h4> <b>addArgs</b>(<i></i>) <a NAME="Checker.addBinding" ID="Checker.addBinding"></a> <h4>Checker.addBinding</h4> -<b>addBinding</b>(<i>lineno, value, reportRedef=True</i>) +<b>addBinding</b>(<i>node, value, reportRedef=True</i>) <p> Called when a binding is altered. -</p><dl> -<dt><i>lineno</i></dt> -<dd> -line of the statement responsible for the change - (integer) -</dd><dt><i>value</i></dt> -<dd> -the optional new value, a Binding instance, associated - with the binding; if None, the binding is deleted if it exists -</dd><dt><i>reportRedef</i></dt> -<dd> -flag indicating if rebinding while unused will be - reported (boolean) -</dd> -</dl><a NAME="Checker.checkUnusedAssignments" ID="Checker.checkUnusedAssignments"></a> +</p><p> + - `node` is the statement responsible for the change + - `value` is the optional new value, a Binding instance, associated + with the binding; if None, the binding is deleted if it exists. + - if `reportRedef` is True (default), rebinding while unused will be + reported. +</p><a NAME="Checker.checkDeadScopes" ID="Checker.checkDeadScopes"></a> +<h4>Checker.checkDeadScopes</h4> +<b>checkDeadScopes</b>(<i></i>) +<p> + Look at scopes which have been fully examined and report names in them + which were imported but unused. +</p><a NAME="Checker.checkUnusedAssignments" ID="Checker.checkUnusedAssignments"></a> <h4>Checker.checkUnusedAssignments</h4> <b>checkUnusedAssignments</b>(<i></i>) <p> Check to see if any assignments have not been used. -</p><a NAME="Checker.check_dead_scopes" ID="Checker.check_dead_scopes"></a> -<h4>Checker.check_dead_scopes</h4> -<b>check_dead_scopes</b>(<i></i>) -<p> - Look at scopes which have been fully examined and report names in them - which were imported but unused. </p><a NAME="Checker.collectLoopVars" ID="Checker.collectLoopVars"></a> <h4>Checker.collectLoopVars</h4> <b>collectLoopVars</b>(<i></i>) @@ -424,18 +474,44 @@ because code later in the file might modify the global scope. When `callable` is called, the scope at the time this is called will be restored, however it will contain any new bindings added to it. -</p><a NAME="Checker.handleAssignName" ID="Checker.handleAssignName"></a> -<h4>Checker.handleAssignName</h4> -<b>handleAssignName</b>(<i>node</i>) -<a NAME="Checker.handleBody" ID="Checker.handleBody"></a> -<h4>Checker.handleBody</h4> -<b>handleBody</b>(<i>tree</i>) +</p><a NAME="Checker.descendantOf" ID="Checker.descendantOf"></a> +<h4>Checker.descendantOf</h4> +<b>descendantOf</b>(<i>node, ancestors, stop=None</i>) +<a NAME="Checker.differentForks" ID="Checker.differentForks"></a> +<h4>Checker.differentForks</h4> +<b>differentForks</b>(<i>lnode, rnode</i>) +<p> +True, if lnode and rnode are located on different forks of IF/TRY +</p><a NAME="Checker.getCommonAncestor" ID="Checker.getCommonAncestor"></a> +<h4>Checker.getCommonAncestor</h4> +<b>getCommonAncestor</b>(<i>lnode, rnode, stop=None</i>) +<a NAME="Checker.getDocstring" ID="Checker.getDocstring"></a> +<h4>Checker.getDocstring</h4> +<b>getDocstring</b>(<i>node</i>) +<a NAME="Checker.getNodeHandler" ID="Checker.getNodeHandler"></a> +<h4>Checker.getNodeHandler</h4> +<b>getNodeHandler</b>(<i>node_class</i>) <a NAME="Checker.handleChildren" ID="Checker.handleChildren"></a> <h4>Checker.handleChildren</h4> <b>handleChildren</b>(<i>tree</i>) +<a NAME="Checker.handleDoctests" ID="Checker.handleDoctests"></a> +<h4>Checker.handleDoctests</h4> +<b>handleDoctests</b>(<i>node</i>) <a NAME="Checker.handleNode" ID="Checker.handleNode"></a> <h4>Checker.handleNode</h4> <b>handleNode</b>(<i>node, parent</i>) +<a NAME="Checker.handleNodeDelete" ID="Checker.handleNodeDelete"></a> +<h4>Checker.handleNodeDelete</h4> +<b>handleNodeDelete</b>(<i>node</i>) +<a NAME="Checker.handleNodeLoad" ID="Checker.handleNodeLoad"></a> +<h4>Checker.handleNodeLoad</h4> +<b>handleNodeLoad</b>(<i>node</i>) +<a NAME="Checker.handleNodeStore" ID="Checker.handleNodeStore"></a> +<h4>Checker.handleNodeStore</h4> +<b>handleNodeStore</b>(<i>node</i>) +<a NAME="Checker.hasParent" ID="Checker.hasParent"></a> +<h4>Checker.hasParent</h4> +<b>hasParent</b>(<i>node, kind</i>) <a NAME="Checker.ignore" ID="Checker.ignore"></a> <h4>Checker.ignore</h4> <b>ignore</b>(<i>node</i>) @@ -445,7 +521,10 @@ <p> Determine if the given node is a docstring, as long as it is at the correct place in the node tree. -</p><a NAME="Checker.popScope" ID="Checker.popScope"></a> +</p><a NAME="Checker.onFork" ID="Checker.onFork"></a> +<h4>Checker.onFork</h4> +<b>onFork</b>(<i>parent, lnode, rnode, items</i>) +<a NAME="Checker.popScope" ID="Checker.popScope"></a> <h4>Checker.popScope</h4> <b>popScope</b>(<i></i>) <a NAME="Checker.pushClassScope" ID="Checker.pushClassScope"></a> @@ -454,10 +533,18 @@ <a NAME="Checker.pushFunctionScope" ID="Checker.pushFunctionScope"></a> <h4>Checker.pushFunctionScope</h4> <b>pushFunctionScope</b>(<i></i>) +<a NAME="Checker.pushScope" ID="Checker.pushScope"></a> +<h4>Checker.pushScope</h4> +<b>pushScope</b>(<i>scopeClass=FunctionScope</i>) <a NAME="Checker.report" ID="Checker.report"></a> <h4>Checker.report</h4> <b>report</b>(<i>messageClass, *args, **kwargs</i>) -<a NAME="Checker.runFunction" ID="Checker.runFunction"></a> +<a NAME="Checker.runDeferred" ID="Checker.runDeferred"></a> +<h4>Checker.runDeferred</h4> +<b>runDeferred</b>(<i>deferred</i>) +<p> + Run the callables in deferred using their associated scope stack. +</p><a NAME="Checker.runFunction" ID="Checker.runFunction"></a> <h4>Checker.runFunction</h4> <b>runFunction</b>(<i></i>) <a NAME="Checker.scope" ID="Checker.scope"></a> @@ -466,6 +553,32 @@ <div align="right"><a href="#top">Up</a></div> <hr /><hr /> +<a NAME="ClassDefinition" ID="ClassDefinition"></a> +<h2>ClassDefinition</h2> +<p> + Represents a class definition. +</p> +<h3>Derived from</h3> +Definition +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> <a NAME="ClassScope" ID="ClassScope"></a> <h2>ClassScope</h2> <p> @@ -492,6 +605,32 @@ <div align="right"><a href="#top">Up</a></div> <hr /><hr /> +<a NAME="Definition" ID="Definition"></a> +<h2>Definition</h2> +<p> + A binding that defines a function or a class. +</p> +<h3>Derived from</h3> +Binding +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> <a NAME="ExportBinding" ID="ExportBinding"></a> <h2>ExportBinding</h2> <p> @@ -519,21 +658,13 @@ </table> <h3>Methods</h3> <table> -<tr> -<td><a href="#ExportBinding.names">names</a></td> -<td>Return a list of the names referenced by this binding.</td> -</tr> +<tr><td>None</td></tr> </table> <h3>Static Methods</h3> <table> <tr><td>None</td></tr> </table> -<a NAME="ExportBinding.names" ID="ExportBinding.names"></a> -<h4>ExportBinding.names</h4> -<b>names</b>(<i></i>) -<p> - Return a list of the names referenced by this binding. -</p> + <div align="right"><a href="#top">Up</a></div> <hr /><hr /> <a NAME="FunctionDefinition" ID="FunctionDefinition"></a> @@ -542,10 +673,10 @@ Represents a function definition. </p> <h3>Derived from</h3> -Binding +Definition <h3>Class Attributes</h3> <table> -<tr><td>is_property</td></tr> +<tr><td>None</td></tr> </table> <h3>Class Methods</h3> <table> @@ -571,6 +702,32 @@ Scope <h3>Class Attributes</h3> <table> +<tr><td>alwaysUsed</td></tr><tr><td>usesLocals</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="GeneratorScope" ID="GeneratorScope"></a> +<h2>GeneratorScope</h2> +<p> + Class representing a name scope for a generator function. +</p> +<h3>Derived from</h3> +Scope +<h3>Class Attributes</h3> +<table> <tr><td>None</td></tr> </table> <h3>Class Methods</h3> @@ -579,18 +736,12 @@ </table> <h3>Methods</h3> <table> -<tr> -<td><a href="#FunctionScope.__init__">FunctionScope</a></td> -<td></td> -</tr> +<tr><td>None</td></tr> </table> <h3>Static Methods</h3> <table> <tr><td>None</td></tr> </table> -<a NAME="FunctionScope.__init__" ID="FunctionScope.__init__"></a> -<h4>FunctionScope (Constructor)</h4> -<b>FunctionScope</b>(<i></i>) <div align="right"><a href="#top">Up</a></div> <hr /><hr /> @@ -611,18 +762,12 @@ </table> <h3>Methods</h3> <table> -<tr> -<td><a href="#Importation.__init__">Importation</a></td> -<td></td> -</tr> +<tr><td>None</td></tr> </table> <h3>Static Methods</h3> <table> <tr><td>None</td></tr> </table> -<a NAME="Importation.__init__" ID="Importation.__init__"></a> -<h4>Importation (Constructor)</h4> -<b>Importation</b>(<i>name, source</i>) <div align="right"><a href="#top">Up</a></div> <hr /><hr /> @@ -669,44 +814,6 @@ </table> <h3>Methods</h3> <table> -<tr> -<td><a href="#Scope.__init__">Scope</a></td> -<td></td> -</tr><tr> -<td><a href="#Scope.__repr__">__repr__</a></td> -<td></td> -</tr> -</table> -<h3>Static Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<a NAME="Scope.__init__" ID="Scope.__init__"></a> -<h4>Scope (Constructor)</h4> -<b>Scope</b>(<i></i>) -<a NAME="Scope.__repr__" ID="Scope.__repr__"></a> -<h4>Scope.__repr__</h4> -<b>__repr__</b>(<i></i>) - -<div align="right"><a href="#top">Up</a></div> -<hr /><hr /> -<a NAME="UnBinding" ID="UnBinding"></a> -<h2>UnBinding</h2> -<p> - Created by the 'del' operator. -</p> -<h3>Derived from</h3> -Binding -<h3>Class Attributes</h3> -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> -<table> <tr><td>None</td></tr> </table> <h3>Static Methods</h3> @@ -715,5 +822,86 @@ </table> <div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="__init__" ID="__init__"></a> +<h2>__init__</h2> +<b>__init__</b>(<i>self, name, source</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="__init___1" ID="__init___1"></a> +<h2>__init__</h2> +<b>__init__</b>(<i>self, name, source</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="__init___2" ID="__init___2"></a> +<h2>__init__</h2> +<b>__init__</b>(<i>self</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="__repr__" ID="__repr__"></a> +<h2>__repr__</h2> +<b>__repr__</b>(<i>self</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="__repr___1" ID="__repr___1"></a> +<h2>__repr__</h2> +<b>__repr__</b>(<i>self</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="__str__" ID="__str__"></a> +<h2>__str__</h2> +<b>__str__</b>(<i>self</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="getNodeName" ID="getNodeName"></a> +<h2>getNodeName</h2> +<b>getNodeName</b>(<i>node</i>) +<p> + Module function for getting the name of a node. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="getNodeType" ID="getNodeType"></a> +<h2>getNodeType</h2> +<b>getNodeType</b>(<i>node_class</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="getNodeType_1" ID="getNodeType_1"></a> +<h2>getNodeType</h2> +<b>getNodeType</b>(<i>node_class</i>) + +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="iter_child_nodes" ID="iter_child_nodes"></a> +<h2>iter_child_nodes</h2> +<b>iter_child_nodes</b>(<i>node</i>) +<p> + Yield all direct child nodes of *node*, that is, all fields that + are nodes and all items of fields that are lists of nodes. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="names" ID="names"></a> +<h2>names</h2> +<b>names</b>(<i>self</i>) +<p> + Return a list of the names referenced by this binding. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="unusedAssignments" ID="unusedAssignments"></a> +<h2>unusedAssignments</h2> +<b>unusedAssignments</b>(<i>self</i>) +<p> + Return a generator for the assignments which have not been used. +</p> +<div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/Documentation/Source/eric5.Utilities.pyflakes.messages.html Wed Jan 15 19:16:06 2014 +0100 +++ b/Documentation/Source/eric5.Utilities.pyflakes.messages.html Thu Jan 16 18:28:34 2014 +0100 @@ -30,6 +30,9 @@ <h3>Classes</h3> <table> <tr> +<td><a href="#DoctestSyntaxError">DoctestSyntaxError</a></td> +<td>Class defining the "Doctest syntax Error" message.</td> +</tr><tr> <td><a href="#DuplicateArgument">DuplicateArgument</a></td> <td>Class defining the "Duplicate Argument" message.</td> </tr><tr> @@ -45,8 +48,11 @@ <td><a href="#Message">Message</a></td> <td>Class defining the base for all specific message classes.</td> </tr><tr> -<td><a href="#RedefinedFunction">RedefinedFunction</a></td> -<td>Class defining the "Redefined Function" message.</td> +<td><a href="#Redefined">Redefined</a></td> +<td>Class defining the "Redefined" message.</td> +</tr><tr> +<td><a href="#RedefinedInListComp">RedefinedInListComp</a></td> +<td>Class defining the "Redefined In List Comprehension" message.</td> </tr><tr> <td><a href="#RedefinedWhileUnused">RedefinedWhileUnused</a></td> <td>Class defining the "Redefined While Unused" message.</td> @@ -72,6 +78,51 @@ <tr><td>None</td></tr> </table> <hr /><hr /> +<a NAME="DoctestSyntaxError" ID="DoctestSyntaxError"></a> +<h2>DoctestSyntaxError</h2> +<p> + Class defining the "Doctest syntax Error" message. +</p> +<h3>Derived from</h3> +Message +<h3>Class Attributes</h3> +<table> +<tr><td>message</td></tr><tr><td>message_id</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#DoctestSyntaxError.__init__">DoctestSyntaxError</a></td> +<td>Constructor</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="DoctestSyntaxError.__init__" ID="DoctestSyntaxError.__init__"></a> +<h4>DoctestSyntaxError (Constructor)</h4> +<b>DoctestSyntaxError</b>(<i>filename, loc, position=None</i>) +<p> + Constructor +</p><dl> +<dt><i>filename</i></dt> +<dd> +name of the file (string) +</dd><dt><i>loc</i></dt> +<dd> +location of the issue +</dd><dt><i>position</i></dt> +<dd> +position of the syntax error +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> <a NAME="DuplicateArgument" ID="DuplicateArgument"></a> <h2>DuplicateArgument</h2> <p> @@ -100,16 +151,16 @@ </table> <a NAME="DuplicateArgument.__init__" ID="DuplicateArgument.__init__"></a> <h4>DuplicateArgument (Constructor)</h4> -<b>DuplicateArgument</b>(<i>filename, lineno, name</i>) +<b>DuplicateArgument</b>(<i>filename, loc, name</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>name</i></dt> <dd> name of the duplicate argument (string) @@ -145,22 +196,22 @@ </table> <a NAME="ImportShadowedByLoopVar.__init__" ID="ImportShadowedByLoopVar.__init__"></a> <h4>ImportShadowedByLoopVar (Constructor)</h4> -<b>ImportShadowedByLoopVar</b>(<i>filename, lineno, name, orig_lineno</i>) +<b>ImportShadowedByLoopVar</b>(<i>filename, loc, name, orig_loc</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>name</i></dt> <dd> name of the shadowed import (string) -</dd><dt><i>orig_lineno</i></dt> +</dd><dt><i>orig_loc</i></dt> <dd> -line number of the import (integer) +location of the import </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -193,16 +244,16 @@ </table> <a NAME="ImportStarUsed.__init__" ID="ImportStarUsed.__init__"></a> <h4>ImportStarUsed (Constructor)</h4> -<b>ImportStarUsed</b>(<i>filename, lineno, modname</i>) +<b>ImportStarUsed</b>(<i>filename, loc, modname</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>modname</i></dt> <dd> name of the module imported using star import (string) @@ -238,16 +289,16 @@ </table> <a NAME="LateFutureImport.__init__" ID="LateFutureImport.__init__"></a> <h4>LateFutureImport (Constructor)</h4> -<b>LateFutureImport</b>(<i>filename, lineno, names</i>) +<b>LateFutureImport</b>(<i>filename, loc, names</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>names</i></dt> <dd> names of the imported futures (string) @@ -289,16 +340,16 @@ </table> <a NAME="Message.__init__" ID="Message.__init__"></a> <h4>Message (Constructor)</h4> -<b>Message</b>(<i>filename, lineno</i>) +<b>Message</b>(<i>filename, loc</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd> </dl><a NAME="Message.__str__" ID="Message.__str__"></a> <h4>Message.__str__</h4> @@ -324,10 +375,10 @@ </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> -<a NAME="RedefinedFunction" ID="RedefinedFunction"></a> -<h2>RedefinedFunction</h2> +<a NAME="Redefined" ID="Redefined"></a> +<h2>Redefined</h2> <p> - Class defining the "Redefined Function" message. + Class defining the "Redefined" message. </p> <h3>Derived from</h3> Message @@ -342,7 +393,7 @@ <h3>Methods</h3> <table> <tr> -<td><a href="#RedefinedFunction.__init__">RedefinedFunction</a></td> +<td><a href="#Redefined.__init__">Redefined</a></td> <td>Constructor</td> </tr> </table> @@ -350,24 +401,72 @@ <table> <tr><td>None</td></tr> </table> -<a NAME="RedefinedFunction.__init__" ID="RedefinedFunction.__init__"></a> -<h4>RedefinedFunction (Constructor)</h4> -<b>RedefinedFunction</b>(<i>filename, lineno, name, orig_lineno</i>) +<a NAME="Redefined.__init__" ID="Redefined.__init__"></a> +<h4>Redefined (Constructor)</h4> +<b>Redefined</b>(<i>filename, loc, name, orig_loc</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>name</i></dt> <dd> name of the redefined function (string) -</dd><dt><i>orig_lineno</i></dt> +</dd><dt><i>orig_loc</i></dt> <dd> -line number of the original definition (integer) +location of the original definition +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="RedefinedInListComp" ID="RedefinedInListComp"></a> +<h2>RedefinedInListComp</h2> +<p> + Class defining the "Redefined In List Comprehension" message. +</p> +<h3>Derived from</h3> +Message +<h3>Class Attributes</h3> +<table> +<tr><td>message</td></tr><tr><td>message_id</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#RedefinedInListComp.__init__">RedefinedInListComp</a></td> +<td>Constructor</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="RedefinedInListComp.__init__" ID="RedefinedInListComp.__init__"></a> +<h4>RedefinedInListComp (Constructor)</h4> +<b>RedefinedInListComp</b>(<i>filename, loc, name, orig_loc</i>) +<p> + Constructor +</p><dl> +<dt><i>filename</i></dt> +<dd> +name of the file (string) +</dd><dt><i>loc</i></dt> +<dd> +location of the issue +</dd><dt><i>name</i></dt> +<dd> +name of the redefined object (string) +</dd><dt><i>orig_loc</i></dt> +<dd> +location of the original definition </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -400,22 +499,22 @@ </table> <a NAME="RedefinedWhileUnused.__init__" ID="RedefinedWhileUnused.__init__"></a> <h4>RedefinedWhileUnused (Constructor)</h4> -<b>RedefinedWhileUnused</b>(<i>filename, lineno, name, orig_lineno</i>) +<b>RedefinedWhileUnused</b>(<i>filename, loc, name, orig_loc</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>name</i></dt> <dd> name of the redefined object (string) -</dd><dt><i>orig_lineno</i></dt> +</dd><dt><i>orig_loc</i></dt> <dd> -line number of the original definition (integer) +location of the original definition </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -448,16 +547,16 @@ </table> <a NAME="UndefinedExport.__init__" ID="UndefinedExport.__init__"></a> <h4>UndefinedExport (Constructor)</h4> -<b>UndefinedExport</b>(<i>filename, lineno, name</i>) +<b>UndefinedExport</b>(<i>filename, loc, name</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>name</i></dt> <dd> undefined exported name (string) @@ -493,22 +592,22 @@ </table> <a NAME="UndefinedLocal.__init__" ID="UndefinedLocal.__init__"></a> <h4>UndefinedLocal (Constructor)</h4> -<b>UndefinedLocal</b>(<i>filename, lineno, name, orig_lineno</i>) +<b>UndefinedLocal</b>(<i>filename, loc, name, orig_loc</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>name</i></dt> <dd> name of the prematurely referenced variable (string) -</dd><dt><i>orig_lineno</i></dt> +</dd><dt><i>orig_loc</i></dt> <dd> -line number of the variable definition (integer) +location of the variable definition </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -541,16 +640,16 @@ </table> <a NAME="UndefinedName.__init__" ID="UndefinedName.__init__"></a> <h4>UndefinedName (Constructor)</h4> -<b>UndefinedName</b>(<i>filename, lineno, name</i>) +<b>UndefinedName</b>(<i>filename, loc, name</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>name</i></dt> <dd> undefined name (string) @@ -586,16 +685,16 @@ </table> <a NAME="UnusedImport.__init__" ID="UnusedImport.__init__"></a> <h4>UnusedImport (Constructor)</h4> -<b>UnusedImport</b>(<i>filename, lineno, name</i>) +<b>UnusedImport</b>(<i>filename, loc, name</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) +location of the issue </dd><dt><i>name</i></dt> <dd> name of the unused import (string) @@ -634,19 +733,19 @@ </table> <a NAME="UnusedVariable.__init__" ID="UnusedVariable.__init__"></a> <h4>UnusedVariable (Constructor)</h4> -<b>UnusedVariable</b>(<i>filename, lineno, name</i>) +<b>UnusedVariable</b>(<i>filename, loc, names</i>) <p> Constructor </p><dl> <dt><i>filename</i></dt> <dd> name of the file (string) -</dd><dt><i>lineno</i></dt> +</dd><dt><i>loc</i></dt> <dd> -line number (integer) -</dd><dt><i>name</i></dt> +location of the issue +</dd><dt><i>names</i></dt> <dd> -name of the unused variable (string) +names of unused variable (string) </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/index-eric5.Utilities.html Wed Jan 15 19:16:06 2014 +0100 +++ b/Documentation/Source/index-eric5.Utilities.html Thu Jan 16 18:28:34 2014 +0100 @@ -34,7 +34,7 @@ <td>Package implementing cryptography related functionality.</td> </tr><tr> <td><a href="index-eric5.Utilities.pyflakes.html">pyflakes</a></td> -<td>Package containg the pyflakes Python3 port adapted for Qt.</td> +<td>Package containing pyflakes adapted to eric5.</td> </tr> </table>
--- a/Documentation/Source/index-eric5.Utilities.pyflakes.html Wed Jan 15 19:16:06 2014 +0100 +++ b/Documentation/Source/index-eric5.Utilities.pyflakes.html Thu Jan 16 18:28:34 2014 +0100 @@ -21,7 +21,7 @@ <body> <h1>eric5.Utilities.pyflakes</h1> <p> -Package containg the pyflakes Python3 port adapted for Qt. +Package containing pyflakes adapted to eric5. </p>
--- a/Utilities/pyflakes/__init__.py Wed Jan 15 19:16:06 2014 +0100 +++ b/Utilities/pyflakes/__init__.py Thu Jan 16 18:28:34 2014 +0100 @@ -4,7 +4,7 @@ # """ -Package containg the pyflakes Python3 port adapted for Qt. +Package containing pyflakes adapted to eric5. """ -__version__ = '0.5.0' +__version__ = '0.7.3'
--- a/Utilities/pyflakes/checker.py Wed Jan 15 19:16:06 2014 +0100 +++ b/Utilities/pyflakes/checker.py Thu Jan 16 18:28:34 2014 +0100 @@ -4,15 +4,63 @@ # # Original (c) 2005-2010 Divmod, Inc. # -# This module is based on pyflakes for Python2 but was heavily hacked to -# work with Python3 and eric5 +# This module is based on pyflakes for Python2 and Python3, but was modified to +# be integrated into eric5 + +import doctest +import os +import sys +try: + builtin_vars = dir(__import__('builtins')) + PY2 = False + ## added for eric5 + basestring = str + ## end added for eric5 +except ImportError: + builtin_vars = dir(__import__('__builtin__')) + PY2 = True + +try: + import ast + iter_child_nodes = ast.iter_child_nodes +except ImportError: # Python 2.5 + import _ast as ast -import builtins -import os.path -import ast + if 'decorator_list' not in ast.ClassDef._fields: + # Patch the missing attribute 'decorator_list' + ast.ClassDef.decorator_list = () + ast.FunctionDef.decorator_list = property(lambda s: s.decorators) + + def iter_child_nodes(node): + """ + Yield all direct child nodes of *node*, that is, all fields that + are nodes and all items of fields that are lists of nodes. + """ + for name in node._fields: + field = getattr(node, name, None) + if isinstance(field, ast.AST): + yield field + elif isinstance(field, list): + for item in field: + yield item +# Python >= 3.3 uses ast.Try instead of (ast.TryExcept + ast.TryFinally) +if hasattr(ast, 'Try'): + ast_TryExcept = ast.Try + ast_TryFinally = () +else: + ast_TryExcept = ast.TryExcept + ast_TryFinally = ast.TryFinally from . import messages +if PY2: + def getNodeType(node_class): + # workaround str.upper() which is locale-dependent + return str(unicode(node_class.__name__).upper()) +else: + def getNodeType(node_class): + return node_class.__name__.upper() + class Binding(object): """ @@ -31,20 +79,13 @@ return self.name def __repr__(self): - return '<{0} object {1!r} from line {2!r} at 0x{3:x}>'.format( + return '<%s object %r from line %r at 0x%x>' % ( self.__class__.__name__, self.name, self.source.lineno, id(self)) -class UnBinding(Binding): - ''' - Created by the 'del' operator. - ''' - pass - - class Importation(Binding): """ A binding created by an import statement. @@ -62,6 +103,13 @@ pass +class Definition(Binding): + """ + A binding that defines a function or a class. + """ + pass + + class Assignment(Binding): """ Represents binding a name with an explicit assignment. @@ -73,11 +121,18 @@ pass -class FunctionDefinition(Binding): +class FunctionDefinition(Definition): """ Represents a function definition. """ - is_property = False + pass + + +class ClassDefinition(Definition): + """ + Represents a class definition. + """ + pass class ExportBinding(Binding): @@ -101,10 +156,8 @@ names = [] if isinstance(self.source, ast.List): for node in self.source.elts: - if isinstance(node, (ast.Str, ast.Bytes)): + if isinstance(node, ast.Str): names.append(node.s) - elif isinstance(node, ast.Num): - names.append(node.n) return names @@ -115,11 +168,8 @@ importStarred = False # set to True when import * is found def __repr__(self): - return '<{0} at 0x{1:x} {2}>'.format( - self.__class__.__name__, id(self), dict.__repr__(self)) - - def __init__(self): - super(Scope, self).__init__() + scope_cls = self.__class__.__name__ + return '<%s at 0x%x %s>' % (scope_cls, id(self), dict.__repr__(self)) class ClassScope(Scope): @@ -133,9 +183,31 @@ """ Class representing a name scope for a function. """ + usesLocals = False + alwaysUsed = set(['__tracebackhide__', + '__traceback_info__', '__traceback_supplement__']) + def __init__(self): super(FunctionScope, self).__init__() - self.globals = {} + # Simplify: manage the special locals as globals + self.globals = self.alwaysUsed.copy() + + def unusedAssignments(self): + """ + Return a generator for the assignments which have not been used. + """ + for name, binding in self.items(): + if (not binding.used and name not in self.globals + and not self.usesLocals + and isinstance(binding, Assignment)): + yield name, binding + + +class GeneratorScope(Scope): + """ + Class representing a name scope for a generator function. + """ + pass class ModuleScope(Scope): @@ -144,8 +216,20 @@ """ pass -# Globally defined names which are not attributes of the builtins module. -_MAGIC_GLOBALS = ['__file__', '__builtins__'] +# Globally defined names which are not attributes of the builtins module, or +# are only present on some platforms. +_MAGIC_GLOBALS = ['__file__', '__builtins__', 'WindowsError'] + + +def getNodeName(node): + """ + Module function for getting the name of a node. + """ + # Returns node.id, or node.name, or None + if hasattr(node, 'id'): # One of the many nodes with an id + return node.id + if hasattr(node, 'name'): # a ExceptHandler node + return node.name class Checker(object): @@ -153,37 +237,54 @@ Class to check the cleanliness and sanity of Python code. """ nodeDepth = 0 + offset = None traceTree = False + withDoctest = ('PYFLAKES_NODOCTEST' not in os.environ) - def __init__(self, module, filename='(none)'): + builtIns = set(builtin_vars).union(_MAGIC_GLOBALS) + _customBuiltIns = os.environ.get('PYFLAKES_BUILTINS') + if _customBuiltIns: + builtIns.update(_customBuiltIns.split(',')) + del _customBuiltIns + + def __init__(self, tree, filename='(none)', builtins=None): """ Constructor - @param module parsed module tree or module source code + @param tree parsed module tree or module source code @param filename name of the module file (string) + @param builtins set of names to be treated as builtins (set of string) """ + self._nodeHandlers = {} self._deferredFunctions = [] self._deferredAssignments = [] - self.dead_scopes = [] + self.deadScopes = [] self.messages = [] self.filename = filename + if builtins: + self.builtIns = self.builtIns.union(builtins) self.scopeStack = [ModuleScope()] + self.exceptHandlers = [()] self.futuresAllowed = True - if isinstance(module, str): - module = ast.parse(module, filename, "exec") - self.handleBody(module) - self._runDeferred(self._deferredFunctions) + ## added for eric5 + if isinstance(tree, basestring): + tree = compile(tree, filename, "exec", ast.PyCF_ONLY_AST) + ## end added for eric5 + + self.root = tree + self.handleChildren(tree) + self.runDeferred(self._deferredFunctions) # Set _deferredFunctions to None so that deferFunction will fail # noisily if called after we've run through the deferred functions. self._deferredFunctions = None - self._runDeferred(self._deferredAssignments) + self.runDeferred(self._deferredAssignments) # Set _deferredAssignments to None so that deferAssignment will fail - # noisly if called after we've run through the deferred assignments. + # noisily if called after we've run through the deferred assignments. self._deferredAssignments = None del self.scopeStack[1:] self.popScope() - self.check_dead_scopes() + self.checkDeadScopes() def deferFunction(self, callable): ''' @@ -194,47 +295,49 @@ `callable` is called, the scope at the time this is called will be restored, however it will contain any new bindings added to it. ''' - self._deferredFunctions.append((callable, self.scopeStack[:])) + self._deferredFunctions.append((callable, self.scopeStack[:], + self.offset)) def deferAssignment(self, callable): """ Schedule an assignment handler to be called just after deferred function handlers. """ - self._deferredAssignments.append((callable, self.scopeStack[:])) + self._deferredAssignments.append((callable, self.scopeStack[:], + self.offset)) - def _runDeferred(self, deferred): + def runDeferred(self, deferred): """ Run the callables in deferred using their associated scope stack. """ - for handler, scope in deferred: + for handler, scope, offset in deferred: self.scopeStack = scope + self.offset = offset handler() + @property def scope(self): return self.scopeStack[-1] - scope = property(scope) def popScope(self): - self.dead_scopes.append(self.scopeStack.pop()) + self.deadScopes.append(self.scopeStack.pop()) - def check_dead_scopes(self): + def checkDeadScopes(self): """ Look at scopes which have been fully examined and report names in them which were imported but unused. """ - for scope in self.dead_scopes: + for scope in self.deadScopes: export = isinstance(scope.get('__all__'), ExportBinding) if export: all = scope['__all__'].names() - if os.path.split(self.filename)[1] != '__init__.py': + if not scope.importStarred and \ + os.path.basename(self.filename) != '__init__.py': # Look for possible mistakes in the export list undefined = set(all) - set(scope) for name in undefined: - self.report( - messages.UndefinedExport, - scope['__all__'].source.lineno, - name) + self.report(messages.UndefinedExport, + scope['__all__'].source, name) else: all = [] @@ -242,149 +345,336 @@ for importation in scope.values(): if isinstance(importation, Importation): if not importation.used and importation.name not in all: - self.report( - messages.UnusedImport, - importation.source.lineno, - importation.name) + self.report(messages.UnusedImport, + importation.source, importation.name) + + def pushScope(self, scopeClass=FunctionScope): + self.scopeStack.append(scopeClass()) - def pushFunctionScope(self): - self.scopeStack.append(FunctionScope()) + def pushFunctionScope(self): # XXX Deprecated + self.pushScope(FunctionScope) - def pushClassScope(self): - self.scopeStack.append(ClassScope()) + def pushClassScope(self): # XXX Deprecated + self.pushScope(ClassScope) def report(self, messageClass, *args, **kwargs): self.messages.append(messageClass(self.filename, *args, **kwargs)) - def handleBody(self, tree): - for node in tree.body: + def hasParent(self, node, kind): + while hasattr(node, 'parent'): + node = node.parent + if isinstance(node, kind): + return True + + def getCommonAncestor(self, lnode, rnode, stop=None): + if not stop: + stop = self.root + if lnode is rnode: + return lnode + if stop in (lnode, rnode): + return stop + + if not hasattr(lnode, 'parent') or not hasattr(rnode, 'parent'): + return + if (lnode.level > rnode.level): + return self.getCommonAncestor(lnode.parent, rnode, stop) + if (rnode.level > lnode.level): + return self.getCommonAncestor(lnode, rnode.parent, stop) + return self.getCommonAncestor(lnode.parent, rnode.parent, stop) + + def descendantOf(self, node, ancestors, stop=None): + for a in ancestors: + if self.getCommonAncestor(node, a, stop) not in (stop, None): + return True + return False + + def onFork(self, parent, lnode, rnode, items): + return (self.descendantOf(lnode, items, parent) ^ + self.descendantOf(rnode, items, parent)) + + def differentForks(self, lnode, rnode): + """True, if lnode and rnode are located on different forks of IF/TRY""" + ancestor = self.getCommonAncestor(lnode, rnode) + if isinstance(ancestor, ast.If): + for fork in (ancestor.body, ancestor.orelse): + if self.onFork(ancestor, lnode, rnode, fork): + return True + elif isinstance(ancestor, ast_TryExcept): + body = ancestor.body + ancestor.orelse + for fork in [body] + [[hdl] for hdl in ancestor.handlers]: + if self.onFork(ancestor, lnode, rnode, fork): + return True + elif isinstance(ancestor, ast_TryFinally): + if self.onFork(ancestor, lnode, rnode, ancestor.body): + return True + return False + + def addBinding(self, node, value, reportRedef=True): + """ + Called when a binding is altered. + + - `node` is the statement responsible for the change + - `value` is the optional new value, a Binding instance, associated + with the binding; if None, the binding is deleted if it exists. + - if `reportRedef` is True (default), rebinding while unused will be + reported. + """ + redefinedWhileUnused = False + if not isinstance(self.scope, ClassScope): + for scope in self.scopeStack[::-1]: + existing = scope.get(value.name) + if (isinstance(existing, Importation) + and not existing.used + and (not isinstance(value, Importation) or + value.fullName == existing.fullName) + and reportRedef + and not self.differentForks(node, existing.source)): + redefinedWhileUnused = True + self.report(messages.RedefinedWhileUnused, + node, value.name, existing.source) + + existing = self.scope.get(value.name) + if not redefinedWhileUnused and self.hasParent(value.source, ast.ListComp): + if (existing and reportRedef + and not self.hasParent(existing.source, (ast.For, ast.ListComp)) + and not self.differentForks(node, existing.source)): + self.report(messages.RedefinedInListComp, + node, value.name, existing.source) + + if (isinstance(existing, Definition) + and not existing.used + and not self.differentForks(node, existing.source)): + self.report(messages.RedefinedWhileUnused, + node, value.name, existing.source) + else: + self.scope[value.name] = value + + def getNodeHandler(self, node_class): + try: + return self._nodeHandlers[node_class] + except KeyError: + nodeType = getNodeType(node_class) + self._nodeHandlers[node_class] = handler = getattr(self, nodeType) + return handler + + def handleNodeLoad(self, node): + name = getNodeName(node) + if not name: + return + # try local scope + try: + self.scope[name].used = (self.scope, node) + except KeyError: + pass + else: + return + + scopes = [scope for scope in self.scopeStack[:-1] + if isinstance(scope, (FunctionScope, ModuleScope))] + if isinstance(self.scope, GeneratorScope) and scopes[-1] != self.scopeStack[-2]: + scopes.append(self.scopeStack[-2]) + + # try enclosing function scopes and global scope + importStarred = self.scope.importStarred + for scope in reversed(scopes): + importStarred = importStarred or scope.importStarred + try: + scope[name].used = (self.scope, node) + except KeyError: + pass + else: + return + + # look in the built-ins + if importStarred or name in self.builtIns: + return + if name == '__path__' and os.path.basename(self.filename) == '__init__.py': + # the special name __path__ is valid only in packages + return + + # protected with a NameError handler? + if 'NameError' not in self.exceptHandlers[-1]: + self.report(messages.UndefinedName, node, name) + + def handleNodeStore(self, node): + name = getNodeName(node) + if not name: + return + # if the name hasn't already been defined in the current scope + if isinstance(self.scope, FunctionScope) and name not in self.scope: + # for each function or module scope above us + for scope in self.scopeStack[:-1]: + if not isinstance(scope, (FunctionScope, ModuleScope)): + continue + # if the name was defined in that scope, and the name has + # been accessed already in the current scope, and hasn't + # been declared global + used = name in scope and scope[name].used + if used and used[0] is self.scope and name not in self.scope.globals: + # then it's probably a mistake + self.report(messages.UndefinedLocal, + scope[name].used[1], name, scope[name].source) + break + + parent = getattr(node, 'parent', None) + if isinstance(parent, (ast.For, ast.comprehension, ast.Tuple, ast.List)): + binding = Binding(name, node) + elif (parent is not None and name == '__all__' and + isinstance(self.scope, ModuleScope)): + binding = ExportBinding(name, parent.value) + else: + binding = Assignment(name, node) + if name in self.scope: + binding.used = self.scope[name].used + self.addBinding(node, binding) + + def handleNodeDelete(self, node): + name = getNodeName(node) + if not name: + return + if isinstance(self.scope, FunctionScope) and name in self.scope.globals: + self.scope.globals.remove(name) + else: + try: + del self.scope[name] + except KeyError: + self.report(messages.UndefinedName, node, name) + + def handleChildren(self, tree): + for node in iter_child_nodes(tree): self.handleNode(node, tree) - def handleChildren(self, tree): - for node in ast.iter_child_nodes(tree): - self.handleNode(node, tree) - def isDocstring(self, node): """ Determine if the given node is a docstring, as long as it is at the correct place in the node tree. """ - return isinstance(node, ast.Str) or \ - (isinstance(node, ast.Expr) and - isinstance(node.value, ast.Str)) - + return isinstance(node, ast.Str) or (isinstance(node, ast.Expr) and + isinstance(node.value, ast.Str)) + + def getDocstring(self, node): + if isinstance(node, ast.Expr): + node = node.value + if not isinstance(node, ast.Str): + return (None, None) + # Computed incorrectly if the docstring has backslash + doctest_lineno = node.lineno - node.s.count('\n') - 1 + return (node.s, doctest_lineno) + def handleNode(self, node, parent): - if node: - node.parent = parent - if self.traceTree: - print(' ' * self.nodeDepth + node.__class__.__name__) - self.nodeDepth += 1 - if self.futuresAllowed and \ - not (isinstance(node, ast.ImportFrom) or - self.isDocstring(node)): - self.futuresAllowed = False - nodeType = node.__class__.__name__.upper() + if node is None: + return + if self.offset and getattr(node, 'lineno', None) is not None: + node.lineno += self.offset[0] + node.col_offset += self.offset[1] + if self.traceTree: + print(' ' * self.nodeDepth + node.__class__.__name__) + if self.futuresAllowed and not (isinstance(node, ast.ImportFrom) or + self.isDocstring(node)): + self.futuresAllowed = False + self.nodeDepth += 1 + node.level = self.nodeDepth + node.parent = parent + try: + handler = self.getNodeHandler(node.__class__) + handler(node) + finally: + self.nodeDepth -= 1 + if self.traceTree: + print(' ' * self.nodeDepth + 'end ' + node.__class__.__name__) + + _getDoctestExamples = doctest.DocTestParser().get_examples + + def handleDoctests(self, node): + try: + docstring, node_lineno = self.getDocstring(node.body[0]) + if not docstring: + return + examples = self._getDoctestExamples(docstring) + except (ValueError, IndexError): + # e.g. line 6 of the docstring for <string> has inconsistent + # leading whitespace: ... + return + node_offset = self.offset or (0, 0) + self.pushScope() + for example in examples: try: - handler = getattr(self, nodeType) - handler(node) - except AttributeError: - print(nodeType, "not supported yet. Please report this.") - finally: - self.nodeDepth -= 1 - if self.traceTree: - print(' ' * self.nodeDepth + 'end ' + node.__class__.__name__) + tree = compile(example.source, "<doctest>", "exec", ast.PyCF_ONLY_AST) + except SyntaxError: + e = sys.exc_info()[1] + position = (node_lineno + example.lineno + e.lineno, + example.indent + 4 + e.offset) + self.report(messages.DoctestSyntaxError, node, position) + else: + self.offset = (node_offset[0] + node_lineno + example.lineno, + node_offset[1] + example.indent + 4) + self.handleChildren(tree) + self.offset = node_offset + self.popScope() def ignore(self, node): pass - - # ast nodes to be ignored - PASS = CONTINUE = BREAK = ELLIPSIS = NUM = STR = BYTES = \ - LOAD = STORE = DEL = AUGLOAD = AUGSTORE = PARAM = \ - ATTRIBUTES = AND = OR = ADD = SUB = MULT = DIV = \ - MOD = POW = LSHIFT = RSHIFT = BITOR = BITXOR = BITAND = FLOORDIV = \ - INVERT = NOT = UADD = USUB = EQ = NOTEQ = LT = LTE = GT = GTE = IS = \ - ISNOT = IN = NOTIN = ignore # "stmt" type nodes RETURN = DELETE = PRINT = WHILE = IF = WITH = WITHITEM = RAISE = \ - TRY = TRYEXCEPT = TRYFINALLY = ASSERT = EXEC = EXPR = handleChildren - + TRYFINALLY = ASSERT = EXEC = EXPR = handleChildren + + CONTINUE = BREAK = PASS = ignore + # "expr" type nodes - BOOLOP = BINOP = UNARYOP = IFEXP = DICT = SET = YIELD = COMPARE = \ - CALL = REPR = ATTRIBUTE = SUBSCRIPT = LIST = TUPLE = handleChildren - + BOOLOP = BINOP = UNARYOP = IFEXP = DICT = SET = YIELD = YIELDFROM = \ + COMPARE = CALL = REPR = ATTRIBUTE = SUBSCRIPT = LIST = TUPLE = \ + STARRED = handleChildren + + NUM = STR = BYTES = ELLIPSIS = ignore + # "slice" type nodes SLICE = EXTSLICE = INDEX = handleChildren - + + # expression contexts are node instances too, though being constants + LOAD = STORE = DEL = AUGLOAD = AUGSTORE = PARAM = ignore + + # same for operators + AND = OR = ADD = SUB = MULT = DIV = MOD = POW = LSHIFT = RSHIFT = \ + BITOR = BITXOR = BITAND = FLOORDIV = INVERT = NOT = UADD = USUB = \ + EQ = NOTEQ = LT = LTE = GT = GTE = IS = ISNOT = IN = NOTIN = ignore + # additional node types COMPREHENSION = KEYWORD = handleChildren - - def addBinding(self, lineno, value, reportRedef=True): - ''' - Called when a binding is altered. - @param lineno line of the statement responsible for the change - (integer) - @param value the optional new value, a Binding instance, associated - with the binding; if None, the binding is deleted if it exists - @param reportRedef flag indicating if rebinding while unused will be - reported (boolean) - ''' - if (isinstance(self.scope.get(value.name), FunctionDefinition) - and isinstance(value, FunctionDefinition) - and not self.scope.get(value.name).is_property - and not value.is_property): - self.report(messages.RedefinedFunction, - lineno, value.name, - self.scope[value.name].source.lineno) - - if not isinstance(self.scope, ClassScope): - for scope in self.scopeStack[::-1]: - existing = scope.get(value.name) - if isinstance(existing, Importation) and \ - not existing.used and \ - not isinstance(value, UnBinding) and \ - (not isinstance(value, Importation) or \ - value.fullName == existing.fullName) and \ - reportRedef: - self.report(messages.RedefinedWhileUnused, - lineno, value.name, - scope[value.name].source.lineno) - - if isinstance(value, UnBinding): - try: - del self.scope[value.name] - except KeyError: - self.report(messages.UndefinedName, lineno, value.name) - else: - self.scope[value.name] = value - - ############################################################ - ## individual handler methods below - ############################################################ - def GLOBAL(self, node): """ Keep track of globals declarations. """ if isinstance(self.scope, FunctionScope): - self.scope.globals.update(dict.fromkeys(node.names)) - + self.scope.globals.update(node.names) + NONLOCAL = GLOBAL def LISTCOMP(self, node): - for generator in node.generators: - self.handleNode(generator, node) + # handle generators before element + for gen in node.generators: + self.handleNode(gen, node) self.handleNode(node.elt, node) - - SETCOMP = GENERATOREXP = LISTCOMP - + + def GENERATOREXP(self, node): + self.pushScope(GeneratorScope) + # handle generators before element + for gen in node.generators: + self.handleNode(gen, node) + self.handleNode(node.elt, node) + self.popScope() + + SETCOMP = GENERATOREXP + def DICTCOMP(self, node): - for generator in node.generators: - self.handleNode(generator, node) + self.pushScope(GeneratorScope) + for gen in node.generators: + self.handleNode(gen, node) self.handleNode(node.key, node) self.handleNode(node.value, node) - + self.popScope() + def FOR(self, node): """ Process bindings for loop variables. @@ -397,7 +687,7 @@ elif isinstance(n, ast.expr_context): return else: - for c in ast.iter_child_nodes(n): + for c in iter_child_nodes(n): collectLoopVars(c) collectLoopVars(node.target) @@ -406,8 +696,8 @@ # unused ones will get an unused import warning and self.scope[varn].used): self.report(messages.ImportShadowedByLoopVar, - node.lineno, varn, self.scope[varn].source.lineno) - + node, varn, self.scope[varn].source) + self.handleChildren(node) def NAME(self, node): @@ -416,143 +706,85 @@ """ # Locate the name in locals / function / globals scopes. if isinstance(node.ctx, (ast.Load, ast.AugLoad)): - # try local scope - importStarred = self.scope.importStarred - try: - self.scope[node.id].used = (self.scope, node.lineno) - except KeyError: - pass - else: - return - - # try enclosing function scopes - for scope in self.scopeStack[-2:0:-1]: - importStarred = importStarred or scope.importStarred - if not isinstance(scope, FunctionScope): - continue - try: - scope[node.id].used = (self.scope, node.lineno) - except KeyError: - pass - else: - return - - # try global scope - importStarred = importStarred or self.scopeStack[0].importStarred - try: - self.scopeStack[0][node.id].used = (self.scope, node.lineno) - except KeyError: - if ((not hasattr(builtins, node.id)) - and node.id not in _MAGIC_GLOBALS - and not importStarred): - if (os.path.basename(self.filename) == '__init__.py' and - node.id == '__path__'): - # the special name __path__ is valid only in packages - pass - else: - self.report(messages.UndefinedName, - node.lineno, node.id) + self.handleNodeLoad(node) + if (node.id == 'locals' and isinstance(self.scope, FunctionScope) + and isinstance(node.parent, ast.Call)): + # we are doing locals() call in current scope + self.scope.usesLocals = True elif isinstance(node.ctx, (ast.Store, ast.AugStore)): - # if the name hasn't already been defined in the current scope - if isinstance(self.scope, FunctionScope) and \ - node.id not in self.scope: - # for each function or module scope above us - for scope in self.scopeStack[:-1]: - if not isinstance(scope, (FunctionScope, ModuleScope)): - continue - # if the name was defined in that scope, and the name has - # been accessed already in the current scope, and hasn't - # been declared global - if (node.id in scope - and scope[node.id].used - and scope[node.id].used[0] is self.scope - and node.id not in self.scope.globals): - # then it's probably a mistake - self.report(messages.UndefinedLocal, - scope[node.id].used[1], - node.id, - scope[node.id].source.lineno) - break - - if isinstance(node.parent, - (ast.For, ast.comprehension, ast.Tuple, ast.List)): - binding = Binding(node.id, node) - elif (node.id == '__all__' and - isinstance(self.scope, ModuleScope)): - binding = ExportBinding(node.id, node.parent.value) - else: - binding = Assignment(node.id, node) - if node.id in self.scope: - binding.used = self.scope[node.id].used - self.addBinding(node.lineno, binding) + self.handleNodeStore(node) elif isinstance(node.ctx, ast.Del): - if isinstance(self.scope, FunctionScope) and \ - node.id in self.scope.globals: - del self.scope.globals[node.id] - else: - self.addBinding(node.lineno, UnBinding(node.id, node)) + self.handleNodeDelete(node) else: - # must be a Param context -- this only happens for names in - # function arguments, but these aren't dispatched through here - raise RuntimeError( - "Got impossible expression context: {0:r}".format(node.ctx,)) + # must be a Param context -- this only happens for names in function + # arguments, but these aren't dispatched through here + raise RuntimeError("Got impossible expression context: %r" % (node.ctx,)) def FUNCTIONDEF(self, node): - is_property = False - if hasattr(node, "decorator_list"): - for decorator in node.decorator_list: - self.handleNode(decorator, node) - if getattr(decorator, 'id', None) == 'property': - is_property = True - if getattr(decorator, 'attr', None) in ('setter', 'deleter'): - is_property = True - funcdef = FunctionDefinition(node.name, node) - funcdef.is_property = is_property - self.addBinding(node.lineno, funcdef) + for deco in node.decorator_list: + self.handleNode(deco, node) + self.addBinding(node, FunctionDefinition(node.name, node)) self.LAMBDA(node) + if self.withDoctest: + self.deferFunction(lambda: self.handleDoctests(node)) def LAMBDA(self, node): - for default in node.args.defaults + node.args.kw_defaults: + args = [] + + if PY2: + def addArgs(arglist): + for arg in arglist: + if isinstance(arg, ast.Tuple): + addArgs(arg.elts) + else: + if arg.id in args: + self.report(messages.DuplicateArgument, + node, arg.id) + args.append(arg.id) + addArgs(node.args.args) + defaults = node.args.defaults + else: + for arg in node.args.args + node.args.kwonlyargs: + if arg.arg in args: + self.report(messages.DuplicateArgument, + node, arg.arg) + args.append(arg.arg) + self.handleNode(arg.annotation, node) + if hasattr(node, 'returns'): # Only for FunctionDefs + for annotation in (node.args.varargannotation, + node.args.kwargannotation, node.returns): + self.handleNode(annotation, node) + defaults = node.args.defaults + node.args.kw_defaults + + # vararg/kwarg identifiers are not Name nodes + for wildcard in (node.args.vararg, node.args.kwarg): + if not wildcard: + continue + if wildcard in args: + self.report(messages.DuplicateArgument, node, wildcard) + args.append(wildcard) + for default in defaults: self.handleNode(default, node) def runFunction(): - args = [] - def addArgs(arglist): - for arg in arglist: - if isinstance(arg.arg, tuple): - addArgs(arg.arg) - else: - if arg.arg in args: - self.report(messages.DuplicateArgument, - node.lineno, arg.arg) - args.append(arg.arg) - + self.pushScope() + for name in args: + self.addBinding(node, Argument(name, node), reportRedef=False) + if isinstance(node.body, list): + # case for FunctionDefs + for stmt in node.body: + self.handleNode(stmt, node) + else: + # case for Lambdas + self.handleNode(node.body, node) + def checkUnusedAssignments(): """ Check to see if any assignments have not been used. """ - for name, binding in self.scope.items(): - if (not binding.used and not name in self.scope.globals - and isinstance(binding, Assignment)): - self.report(messages.UnusedVariable, - binding.source.lineno, name) - - self.pushFunctionScope() - addArgs(node.args.args) - addArgs(node.args.kwonlyargs) - # vararg/kwarg identifiers are not Name nodes - if node.args.vararg: - args.append(node.args.vararg) - if node.args.kwarg: - args.append(node.args.kwarg) - for name in args: - self.addBinding(node.lineno, Argument(name, node), - reportRedef=False) - if isinstance(node.body, list): - self.handleBody(node) - else: - self.handleNode(node.body, node) + for name, binding in self.scope.unusedAssignments(): + self.report(messages.UnusedVariable, binding.source, name) self.deferAssignment(checkUnusedAssignments) self.popScope() @@ -564,117 +796,80 @@ classes, and the body of its definition. Additionally, add its name to the current scope. """ - for decorator in getattr(node, "decorator_list", []): - self.handleNode(decorator, node) + for deco in node.decorator_list: + self.handleNode(deco, node) for baseNode in node.bases: self.handleNode(baseNode, node) - self.addBinding(node.lineno, Binding(node.name, node)) - self.pushClassScope() - self.handleBody(node) + if not PY2: + for keywordNode in node.keywords: + self.handleNode(keywordNode, node) + self.pushScope(ClassScope) + if self.withDoctest: + self.deferFunction(lambda: self.handleDoctests(node)) + for stmt in node.body: + self.handleNode(stmt, node) self.popScope() - - def handleAssignName(self, node): - # special handling for ast.Subscript and ast.Starred - if isinstance(node, (ast.Subscript, ast.Starred)): - node.value.parent = node - self.handleAssignName(node.value) - if isinstance(node, ast.Subscript): - if isinstance(node.slice, ast.Slice): - self.handleNode(node.slice.lower, node) - self.handleNode(node.slice.upper, node) - else: - self.handleNode(node.slice.value, node) - return - - # if the name hasn't already been defined in the current scope - if isinstance(node, (ast.Tuple, ast.List)): - for elt in node.elts: - elt.parent = node - self.handleAssignName(elt) - return - - if isinstance(node, ast.Attribute): - self.handleNode(node.value, node) - return - - if isinstance(self.scope, FunctionScope) and node.id not in self.scope: - # for each function or module scope above us - for scope in self.scopeStack[:-1]: - if not isinstance(scope, (FunctionScope, ModuleScope)): - continue - # if the name was defined in that scope, and the name has - # been accessed already in the current scope, and hasn't - # been declared global - if (node.id in scope - and scope[node.id].used - and scope[node.id].used[0] is self.scope - and node.id not in self.scope.globals): - # then it's probably a mistake - self.report(messages.UndefinedLocal, - scope[node.id].used[1], - node.id, - scope[node.id].source.lineno) - break - - if isinstance(node.parent, - (ast.For, ast.ListComp, ast.GeneratorExp, - ast.Tuple, ast.List)): - binding = Binding(node.id, node) - elif (node.id == '__all__' and - isinstance(self.scope, ModuleScope) and - isinstance(node.parent, ast.Assign)): - binding = ExportBinding(node.id, node.parent.value) - else: - binding = Assignment(node.id, node) - if node.id in self.scope: - binding.used = self.scope[node.id].used - self.addBinding(node.lineno, binding) + self.addBinding(node, ClassDefinition(node.name, node)) def ASSIGN(self, node): self.handleNode(node.value, node) for target in node.targets: self.handleNode(target, node) - + def AUGASSIGN(self, node): - # AugAssign is awkward: must set the context explicitly and - # visit twice, once with AugLoad context, once with AugStore context - node.target.ctx = ast.AugLoad() + self.handleNodeLoad(node.target) + self.handleNode(node.value, node) self.handleNode(node.target, node) - self.handleNode(node.value, node) - node.target.ctx = ast.AugStore() - self.handleNode(node.target, node) - + def IMPORT(self, node): for alias in node.names: name = alias.asname or alias.name importation = Importation(name, node) - self.addBinding(node.lineno, importation) + self.addBinding(node, importation) def IMPORTFROM(self, node): if node.module == '__future__': if not self.futuresAllowed: - self.report(messages.LateFutureImport, node.lineno, - [n.name for n in node.names]) + self.report(messages.LateFutureImport, + node, [n.name for n in node.names]) else: self.futuresAllowed = False for alias in node.names: if alias.name == '*': self.scope.importStarred = True - self.report(messages.ImportStarUsed, node.lineno, node.module) + self.report(messages.ImportStarUsed, node, node.module) continue name = alias.asname or alias.name importation = Importation(name, node) if node.module == '__future__': - importation.used = (self.scope, node.lineno) - self.addBinding(node.lineno, importation) - + importation.used = (self.scope, node) + self.addBinding(node, importation) + + def TRY(self, node): + handler_names = [] + # List the exception handlers + for handler in node.handlers: + if isinstance(handler.type, ast.Tuple): + for exc_type in handler.type.elts: + handler_names.append(getNodeName(exc_type)) + elif handler.type: + handler_names.append(getNodeName(handler.type)) + # Memorize the except handlers and process the body + self.exceptHandlers.append(handler_names) + for child in node.body: + self.handleNode(child, node) + self.exceptHandlers.pop() + # Process the other nodes: "except:", "else:", "finally:" + for child in iter_child_nodes(node): + if child not in node.body: + self.handleNode(child, node) + + TRYEXCEPT = TRY + def EXCEPTHANDLER(self, node): - node.type and self.handleNode(node.type, node) - if node.name: - node.id = node.name - self.handleAssignName(node) - self.handleBody(node) - - def STARRED(self, node): - self.handleNode(node.value, node) + # 3.x: in addition to handling children, we must handle the name of + # the exception, which is not a Name node, but a simple string. + if isinstance(node.name, str): + self.handleNodeStore(node) + self.handleChildren(node)
--- a/Utilities/pyflakes/messages.py Wed Jan 15 19:16:06 2014 +0100 +++ b/Utilities/pyflakes/messages.py Thu Jan 16 18:28:34 2014 +0100 @@ -4,8 +4,8 @@ # # Original (c) 2005 Divmod, Inc. See LICENSE file for details # -# This module is based on pyflakes for Python2 but was heavily hacked to -# work with Python3 and Qt (translatable messages) +# This module is based on pyflakes for Python2 and Python3, but was modified to +# be integrated into eric5 """ Module implementing the messages for pyflakes. @@ -20,15 +20,16 @@ message = '' message_args = () - def __init__(self, filename, lineno): + def __init__(self, filename, loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue """ self.filename = filename - self.lineno = lineno + self.lineno = loc.lineno + self.col = getattr(loc, 'col_offset', 0) def __str__(self): """ @@ -56,15 +57,15 @@ message_id = 'F01' message = '%r imported but unused' - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, name): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param name name of the unused import (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (name,) @@ -75,17 +76,37 @@ message_id = 'F02' message = 'redefinition of unused %r from line %r' - def __init__(self, filename, lineno, name, orig_lineno): + def __init__(self, filename, loc, name, orig_loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param name name of the redefined object (string) - @param orig_lineno line number of the original definition (integer) + @param orig_loc location of the original definition """ - Message.__init__(self, filename, lineno) - self.message_args = (name, orig_lineno) + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) + + +class RedefinedInListComp(Message): + """ + Class defining the "Redefined In List Comprehension" message. + """ + message_id = 'F12' + message = 'list comprehension redefines %r from line %r' + + def __init__(self, filename, loc, name, orig_loc): + """ + Constructor + + @param filename name of the file (string) + @param loc location of the issue + @param name name of the redefined object (string) + @param orig_loc location of the original definition + """ + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) class ImportShadowedByLoopVar(Message): @@ -95,17 +116,17 @@ message_id = 'F03' message = 'import %r from line %r shadowed by loop variable' - def __init__(self, filename, lineno, name, orig_lineno): + def __init__(self, filename, loc, name, orig_loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param name name of the shadowed import (string) - @param orig_lineno line number of the import (integer) + @param orig_loc location of the import """ - Message.__init__(self, filename, lineno) - self.message_args = (name, orig_lineno) + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) class ImportStarUsed(Message): @@ -115,15 +136,15 @@ message_id = 'F04' message = "'from %s import *' used; unable to detect undefined names" - def __init__(self, filename, lineno, modname): + def __init__(self, filename, loc, modname): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param modname name of the module imported using star import (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (modname,) @@ -134,18 +155,39 @@ message_id = 'F05' message = 'undefined name %r' - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, name): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param name undefined name (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (name,) +class DoctestSyntaxError(Message): + """ + Class defining the "Doctest syntax Error" message. + """ + message_id = 'F13' + message = 'syntax error in doctest' + + def __init__(self, filename, loc, position=None): + """ + Constructor + + @param filename name of the file (string) + @param loc location of the issue + @param position position of the syntax error + """ + Message.__init__(self, filename, loc) + if position: + (self.lineno, self.col) = position + self.message_args = () + + class UndefinedExport(Message): """ Class defining the "Undefined Export" message. @@ -153,15 +195,15 @@ message_id = 'F06' message = 'undefined name %r in __all__' - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, name): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param name undefined exported name (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (name,) @@ -173,17 +215,17 @@ message = "local variable %r (defined in enclosing scope on line %r)" \ " referenced before assignment" - def __init__(self, filename, lineno, name, orig_lineno): + def __init__(self, filename, loc, name, orig_loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param name name of the prematurely referenced variable (string) - @param orig_lineno line number of the variable definition (integer) + @param orig_loc location of the variable definition """ - Message.__init__(self, filename, lineno) - self.message_args = (name, orig_lineno) + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) class DuplicateArgument(Message): @@ -193,36 +235,36 @@ message_id = 'F08' message = 'duplicate argument %r in function definition' - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, name): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param name name of the duplicate argument (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (name,) -class RedefinedFunction(Message): +class Redefined(Message): """ - Class defining the "Redefined Function" message. + Class defining the "Redefined" message. """ message_id = 'F09' - message = 'redefinition of function %r from line %r' + message = 'redefinition of %r from line %r' - def __init__(self, filename, lineno, name, orig_lineno): + def __init__(self, filename, loc, name, orig_loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param name name of the redefined function (string) - @param orig_lineno line number of the original definition (integer) + @param orig_loc location of the original definition """ - Message.__init__(self, filename, lineno) - self.message_args = (name, orig_lineno) + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) class LateFutureImport(Message): @@ -232,15 +274,15 @@ message_id = 'F10' message = 'future import(s) %r after other statements' - def __init__(self, filename, lineno, names): + def __init__(self, filename, loc, names): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location of the issue @param names names of the imported futures (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (names,) @@ -254,13 +296,13 @@ message_id = 'F11' message = 'local variable %r is assigned to but never used' - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, names): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) - @param name name of the unused variable (string) + @param loc location of the issue + @param names names of unused variable (string) """ - Message.__init__(self, filename, lineno) - self.message_args = (name,) + Message.__init__(self, filename, loc) + self.message_args = (names,)
--- a/Utilities/pyflakes/translations.py Wed Jan 15 19:16:06 2014 +0100 +++ b/Utilities/pyflakes/translations.py Thu Jan 16 18:28:34 2014 +0100 @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- cod)ing: utf-8 -*- # Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> # @@ -39,14 +39,19 @@ 'Duplicate argument {0!r} in function definition.'), 'F09': QCoreApplication.translate( 'pyFlakes', - 'Redefinition of function {0!r} from line {1!r}.'), + 'Redefinition of {0!r} from line {1!r}.'), 'F10': QCoreApplication.translate( 'pyFlakes', 'Future import(s) {0!r} after other statements.'), 'F11': QCoreApplication.translate( 'pyFlakes', 'Local variable {0!r} is assigned to but never used.'), - + 'F12': QCoreApplication.translate( + 'pyFlakes', + 'List comprehension redefines {0!r} from line {1!r}.'), + 'F13': QCoreApplication.translate( + 'pyFlakes', + 'Syntax error detected in doctest.'), }
--- a/changelog Wed Jan 15 19:16:06 2014 +0100 +++ b/changelog Thu Jan 16 18:28:34 2014 +0100 @@ -2,6 +2,8 @@ ---------- Version 5.5.0-xxx: - bug fixes +- Checkers + -- updated pyflakes to version 0.7.3 - Multi Project -- added support for the categorisation of projects and changed the multi project file format
--- a/i18n/eric5_cs.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_cs.ts Thu Jan 16 18:28:34 2014 +0100 @@ -63060,7 +63060,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3762"/> <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation><b>Další varování</b><p>Jít na další řádku v aktuálním editoru, která obsahuje py3flakes varovné hlášení.</p></translation> + <translation type="obsolete"><b>Další varování</b><p>Jít na další řádku v aktuálním editoru, která obsahuje py3flakes varovné hlášení.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> @@ -63075,7 +63075,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3780"/> <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation><b>Předchozí varování</b><p>Jít na předchozí řádku v aktuálním editoru, která obsahuje py3flakes varovné hlášení.</p></translation> + <translation type="obsolete"><b>Předchozí varování</b><p>Jít na předchozí řádku v aktuálním editoru, která obsahuje py3flakes varovné hlášení.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> @@ -63090,7 +63090,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3796"/> <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation><b>Vyčistit varovná hlášení</b><p>Vyčistí všechna py3flakes varovná hlášení ze všech editorů.</p></translation> + <translation type="obsolete"><b>Vyčistit varovná hlášení</b><p>Vyčistí všechna py3flakes varovná hlášení ze všech editorů.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="940"/> @@ -63850,6 +63850,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ViewProfileDialog</name> @@ -64962,65 +64977,80 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation type="unfinished">{0!r} importováno ale nepoužito.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation type="unfinished">Předefinování nepoužitých {0!r} z řádky {1!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation type="unfinished">Import {0!r} z řádky {1!r} zastíněný proměnnou cyklu.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation type="unfinished">použit 'from {0} import *'; Nelze dohledat nedefinovaná jména.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation type="unfinished">Neznámé jméno {0!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation type="unfinished">Neznámé jméno {0!r} v __all__.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation type="unfinished">Je odkazováno na lokální proměnnou {0!r} (definovaná v uzavřeném jmenném prostoru na řádce {1!r}) před tím než byla přiřazena.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation type="unfinished">Duplicitní argument {0!r} v definici funkce.</translation> </message> <message> <location filename="../Utilities/py3flakes/translations.py" line="40"/> <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation type="unfinished">Znovu definování funkce {0!r} z řádku {1!r}.</translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <translation type="obsolete">Znovu definování funkce {0!r} z řádku {1!r}.</translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation type="unfinished">Future import(y) {0!r} po ostatních výrazech.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation type="unfinished">Lokální proměnná {0!r} je přiřazena, ale nikde nepoužita.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>subversion</name>
--- a/i18n/eric5_de.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_de.ts Thu Jan 16 18:28:34 2014 +0100 @@ -59825,7 +59825,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3762"/> <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation><b>Nächste Warnung</b><p>Gehe zur nächsten Zeile des aktuellen Editors, die eine py3flakes Warning besitzt.</p></translation> + <translation type="obsolete"><b>Nächste Warnung</b><p>Gehe zur nächsten Zeile des aktuellen Editors, die eine py3flakes Warning besitzt.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> @@ -59840,7 +59840,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3780"/> <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation><b>Vorherige Warnung</b><p>Gehe zur vorherigen Zeile des aktuellen Editors, die eine py3flakes Warning besitzt.</p></translation> + <translation type="obsolete"><b>Vorherige Warnung</b><p>Gehe zur vorherigen Zeile des aktuellen Editors, die eine py3flakes Warning besitzt.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> @@ -59855,7 +59855,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3796"/> <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation><b>Warnungen löschen</b><p>Löscht die py3flakes Warnungen aller Editoren.</p></translation> + <translation type="obsolete"><b>Warnungen löschen</b><p>Löscht die py3flakes Warnungen aller Editoren.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="940"/> @@ -60615,6 +60615,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation><b>Neue Dokumentenansicht</b><p>Offnet eine neue Ansicht des aktuellen Dokumentes in einem neuen Abschnitt. Beide Ansichten zeigen das selbe Dokument. Die Cursor lassen sich jedoch unabhängig positionieren.</p></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation><b>Nächste Warnung</b><p>Gehe zur nächsten Zeile des aktuellen Editors, die eine pyflakes Warnung besitzt.</p></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation><b>Vorherige Warnung</b><p>Gehe zur vorherigen Zeile des aktuellen Editors, die eine pyflakes Warnung besitzt.</p></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation><b>Warnungen löschen</b><p>Löscht die pyflakes Warnungen aller Editoren.</p></translation> + </message> </context> <context> <name>ViewProfileSidebarsDialog</name> @@ -61514,65 +61529,80 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation>{0!r} importiert aber nicht benutzt.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation>Redefinition von nicht benutztem {0!r} aus Zeile {1!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation>Import {0!r} aus Zeile {1!r} durch lokale Variable verdeckt.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation>„from {0} import *“ verwendet; nicht definierte Namen können nicht entdeckt werden.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation>Nicht definierter Name {0!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation>Nicht definierter Name {0!r} in __all__.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation>Lokale Variable {0!r} (definiert im Sichtbarkeitsbereich in Zeile {1!r}) wird vor einer Zuweisung verwendet.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation>Doppeltes Argument {0!r} in Funktionsdefinition.</translation> </message> <message> <location filename="../Utilities/py3flakes/translations.py" line="40"/> <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation>Redefinition der Funktion {0!r} aus Zeile {1!r}.</translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <translation type="obsolete">Redefinition der Funktion {0!r} aus Zeile {1!r}.</translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation>Future Import(s) {0!r} nach anderen Statements.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation>Lokale Variable {0!r} wurde zugewiesen aber nicht verwendet.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation>keine Nachricht für '{0}' definiert</translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation>Redefinition von {0!r} aus Zeile {1!r}.</translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation>Listcomprehension redefiniert {0!r} aus Zeile {1!r}.</translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation>Syntaxfehler in Doctest entdeckt.</translation> + </message> </context> <context> <name>subversion</name>
--- a/i18n/eric5_en.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_en.ts Thu Jan 16 18:28:34 2014 +0100 @@ -59138,11 +59138,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3762"/> - <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> <source>Previous warning message</source> <translation type="unfinished"></translation> @@ -59153,11 +59148,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3780"/> - <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> <source>Clear Warning Messages</source> <translation type="unfinished"></translation> @@ -59168,11 +59158,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3796"/> - <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="3810"/> <source>Next uncovered line</source> <translation type="unfinished"></translation> @@ -60060,6 +60045,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ViewProfileSidebarsDialog</name> @@ -60948,65 +60948,75 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="40"/> - <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>subversion</name>
--- a/i18n/eric5_es.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_es.ts Thu Jan 16 18:28:34 2014 +0100 @@ -60081,7 +60081,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3762"/> <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation><b>Siguiente mensaje de advertencia</b><p>Ir a la siguiente línea en el editor actual que contiene una advertencia de py3flakes.</p></translation> + <translation type="obsolete"><b>Siguiente mensaje de advertencia</b><p>Ir a la siguiente línea en el editor actual que contiene una advertencia de py3flakes.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> @@ -60096,7 +60096,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3780"/> <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation><b>Mensaje de advertencia anterior</b><p>Ir a la línea anterior en el editor actual que contiene una advertencia de py3flakes.</p></translation> + <translation type="obsolete"><b>Mensaje de advertencia anterior</b><p>Ir a la línea anterior en el editor actual que contiene una advertencia de py3flakes.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> @@ -60111,7 +60111,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3796"/> <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation><b>Limpiar Mensajes de Advertencia</b><p>Limpiar mensajes de advertencia de py3flakes en todos los editores.</p></translation> + <translation type="obsolete"><b>Limpiar Mensajes de Advertencia</b><p>Limpiar mensajes de advertencia de py3flakes en todos los editores.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="940"/> @@ -60871,6 +60871,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation><b>Nueva Vista de Documento</b><p>Abre una nueva vista del documento actual en una nueva división. Ambas vistas muestran el mismo documento. Sin embargo, los cursores pueden estar ubicados de manera independiente.</p></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ViewProfileSidebarsDialog</name> @@ -61833,65 +61848,80 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation type="unfinished">{0!r} se ha importado pero no se ha utilizado.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation type="unfinished">Redefinición de {0!r} no utilizado desde la línea {1!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation type="unfinished">Import {0!r} en la línea {1!r} oculto por variable en un bucle.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation type="unfinished">Se ha utilizado 'from {0} import *'; no se pueden detectar nombres sin definir.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation type="unfinished">Nombre sin definir {0!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation type="unfinished">Nombre sin definir {0!r} en __all__.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation type="unfinished">Variable local {0!r} (definida en ámbito en la línea {1!r}) referenciada antes de asignación.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation type="unfinished">Argumento duplicado {0!r} en definición de función.</translation> </message> <message> <location filename="../Utilities/py3flakes/translations.py" line="40"/> <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation type="unfinished">Redefinicion de función {0!r} a partir de la línea {1!r}.</translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <translation type="obsolete">Redefinicion de función {0!r} a partir de la línea {1!r}.</translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation type="unfinished">Future import(s) {0!r} despues de otras sentencias.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation type="unfinished">La variable local {0!r} is asignada pero nunca es utilizada.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>subversion</name>
--- a/i18n/eric5_fr.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_fr.ts Thu Jan 16 18:28:34 2014 +0100 @@ -66514,7 +66514,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3762"/> <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation><b>Message d'avertissement suivant</b><p>Aller à la prochaine ligne de l'éditeur courant ayant un avertissement py3flakes.</p></translation> + <translation type="obsolete"><b>Message d'avertissement suivant</b><p>Aller à la prochaine ligne de l'éditeur courant ayant un avertissement py3flakes.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> @@ -66529,7 +66529,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3780"/> <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation><b>Message d'avertissement précédente</b><p>Aller à la ligne précédente de l'éditeur courant ayant un avertissement py3flakes.</p></translation> + <translation type="obsolete"><b>Message d'avertissement précédente</b><p>Aller à la ligne précédente de l'éditeur courant ayant un avertissement py3flakes.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> @@ -66544,7 +66544,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3796"/> <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation><b>Vider messages d'avertissement</b><p>Vider messages d'avertissement py3flakes de tous les éditeurs.</p></translation> + <translation type="obsolete"><b>Vider messages d'avertissement</b><p>Vider messages d'avertissement py3flakes de tous les éditeurs.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="940"/> @@ -67305,6 +67305,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ViewProfileDialog</name> @@ -68571,65 +68586,75 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="40"/> - <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>subversion</name>
--- a/i18n/eric5_it.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_it.ts Thu Jan 16 18:28:34 2014 +0100 @@ -63588,7 +63588,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3762"/> <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation><b>Messaggio di warning successivo</b><p>Vai alla linea seguente dell'editor che ha un warning di py3flakes.</p></translation> + <translation type="obsolete"><b>Messaggio di warning successivo</b><p>Vai alla linea seguente dell'editor che ha un warning di py3flakes.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> @@ -63603,7 +63603,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3780"/> <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation><b>Messaggio di warning precedente</b><p>Vai alla linea precedente dell'editor che ha un warning di py3flakes.</p></translation> + <translation type="obsolete"><b>Messaggio di warning precedente</b><p>Vai alla linea precedente dell'editor che ha un warning di py3flakes.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> @@ -63618,7 +63618,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3796"/> <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation><b>Pulisci messaggi di warning</b><p>Elimina i warning di py3flakes di tutte le finestre.</p></translation> + <translation type="obsolete"><b>Pulisci messaggi di warning</b><p>Elimina i warning di py3flakes di tutte le finestre.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="940"/> @@ -64378,6 +64378,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ViewProfileDialog</name> @@ -65493,65 +65508,80 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation type="unfinished">{0!r} importato ma non usato.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation type="unfinished">Ridefinizione di {0!r} inutilizzato dalla linea {1!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation type="unfinished">Import {0!r} dalla linea{1!r} nascsto da una loop variable.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation type="unfinished">'from {0} import *' usato; impossibile rilevare nomi indefiniti.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation type="unfinished">Nome indefinito {0!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation type="unfinished">Nome indefinito {0!r} in __all__.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation type="unfinished">Variabile locale {0!r} (definita nello scopo dalla linea {1!r}) usata prima di essere assegnata.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation type="unfinished">Argomento duplicato {0!r} nella definizione della funzione.</translation> </message> <message> <location filename="../Utilities/py3flakes/translations.py" line="40"/> <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation type="unfinished">Ridefinizione della funzione {0!r} nella linea {1!r}.</translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <translation type="obsolete">Ridefinizione della funzione {0!r} nella linea {1!r}.</translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation type="unfinished">Future import(s) {0!r} dopo altre istruzioni.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation type="unfinished">La variabile locale {0!r} è assegata ma mai utilizzata.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>subversion</name>
--- a/i18n/eric5_ru.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_ru.ts Thu Jan 16 18:28:34 2014 +0100 @@ -63768,7 +63768,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3762"/> <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation><b>Следующее предупреждение</b><p>Перейти к следующему предупреждению</p></translation> + <translation type="obsolete"><b>Следующее предупреждение</b><p>Перейти к следующему предупреждению</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> @@ -63783,7 +63783,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3780"/> <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation><b>Предыдущее предупреждение</b><p>Перейти к предыдущему предупреждению</p></translation> + <translation type="obsolete"><b>Предыдущее предупреждение</b><p>Перейти к предыдущему предупреждению</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> @@ -63798,7 +63798,7 @@ <message> <location filename="../ViewManager/ViewManager.py" line="3796"/> <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation><b>Очистить предупреждения</b><p>Очистить предупреждения во всех окнах редактора.</p></translation> + <translation type="obsolete"><b>Очистить предупреждения</b><p>Очистить предупреждения во всех окнах редактора.</p></translation> </message> <message> <location filename="../ViewManager/ViewManager.py" line="940"/> @@ -64558,6 +64558,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ViewProfileDialog</name> @@ -65673,65 +65688,80 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation type="unfinished">Модуль {0!r} импортирован но не используется.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation type="unfinished">Переопределение неиспользуемого {0!r} со строки {1!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation type="unfinished">Импорт {0!r} (строка {1!r}) скрывается переменной цикла.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation type="unfinished">Использование 'from {0} import *' делает детектирование неопределённых имён невозможным.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation type="unfinished">Неопределённое имя {0!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation type="unfinished">Неопределённое имя {0!r} в __all__.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation type="unfinished">Использование неопределённой локальной переменной {0!r} (будет определённа только в строке {1!r}).</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation type="unfinished">Повторное использование аргумента {0!r} в определении функции.</translation> </message> <message> <location filename="../Utilities/py3flakes/translations.py" line="40"/> <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation type="unfinished">Переопределение функции {0!r} (строка {1!r}).</translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <translation type="obsolete">Переопределение функции {0!r} (строка {1!r}).</translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation type="unfinished">Импорт {0!r} внутри кода.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation type="unfinished">Неиспользуемая локальная переменная {0!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>subversion</name>
--- a/i18n/eric5_tr.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_tr.ts Thu Jan 16 18:28:34 2014 +0100 @@ -62267,11 +62267,6 @@ <translation>So&nraki uyarı mesajı</translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3762"/> - <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> <source>Previous warning message</source> <translation>Önceki uyarı mesajı</translation> @@ -62282,11 +62277,6 @@ <translation>&Önceki uyarı mesajı</translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3780"/> - <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> <source>Clear Warning Messages</source> <translation type="unfinished"></translation> @@ -62297,11 +62287,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3796"/> - <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="3810"/> <source>Next uncovered line</source> <translation>Sonraki kapanmamış satır</translation> @@ -63225,6 +63210,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ViewProfileDialog</name> @@ -64328,65 +64328,75 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation type="unfinished">{0!r}önemli ama kullanılmamış.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation type="unfinished">Tanımlanamayan isim {0!r}.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation type="unfinished"> {0!r} adı __all__ içinde tanımlı edğil.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="40"/> - <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation type="unfinished">Yerel değiişken {0!r}e atanır ama kullanılmaz.</translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>subversion</name>
--- a/i18n/eric5_zh_CN.GB2312.ts Wed Jan 15 19:16:06 2014 +0100 +++ b/i18n/eric5_zh_CN.GB2312.ts Thu Jan 16 18:28:34 2014 +0100 @@ -66428,11 +66428,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3762"/> - <source><b>Next warning message</b><p>Go to next line of the current editor having a py3flakes warning.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="3778"/> <source>Previous warning message</source> <translation type="unfinished"></translation> @@ -66443,11 +66438,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3780"/> - <source><b>Previous warning message</b><p>Go to previous line of the current editor having a py3flakes warning.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="3794"/> <source>Clear Warning Messages</source> <translation type="unfinished"></translation> @@ -66458,11 +66448,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../ViewManager/ViewManager.py" line="3796"/> - <source><b>Clear Warning Messages</b><p>Clear py3flakes warning messages of all editors.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../ViewManager/ViewManager.py" line="940"/> <source>Join Lines</source> <translation type="unfinished"></translation> @@ -67220,6 +67205,21 @@ <source><b>New Document View</b><p>Opens a new view of the current document in a new split. Both views show the same document. However, the cursors may be positioned independently.</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3762"/> + <source><b>Next warning message</b><p>Go to next line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3780"/> + <source><b>Previous warning message</b><p>Go to previous line of the current editor having a pyflakes warning.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ViewManager/ViewManager.py" line="3796"/> + <source><b>Clear Warning Messages</b><p>Clear pyflakes warning messages of all editors.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ViewProfileDialog</name> @@ -68450,65 +68450,75 @@ <context> <name>pyFlakes</name> <message> - <location filename="../Utilities/py3flakes/translations.py" line="15"/> + <location filename="../Utilities/pyflakes/translations.py" line="15"/> <source>{0!r} imported but unused.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="18"/> + <location filename="../Utilities/pyflakes/translations.py" line="18"/> <source>Redefinition of unused {0!r} from line {1!r}.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="21"/> + <location filename="../Utilities/pyflakes/translations.py" line="21"/> <source>Import {0!r} from line {1!r} shadowed by loop variable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="24"/> + <location filename="../Utilities/pyflakes/translations.py" line="24"/> <source>'from {0} import *' used; unable to detect undefined names.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="27"/> + <location filename="../Utilities/pyflakes/translations.py" line="27"/> <source>Undefined name {0!r}.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="30"/> + <location filename="../Utilities/pyflakes/translations.py" line="30"/> <source>Undefined name {0!r} in __all__.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="33"/> + <location filename="../Utilities/pyflakes/translations.py" line="33"/> <source>Local variable {0!r} (defined in enclosing scope on line {1!r}) referenced before assignment.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="37"/> + <location filename="../Utilities/pyflakes/translations.py" line="37"/> <source>Duplicate argument {0!r} in function definition.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="40"/> - <source>Redefinition of function {0!r} from line {1!r}.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Utilities/py3flakes/translations.py" line="43"/> + <location filename="../Utilities/pyflakes/translations.py" line="43"/> <source>Future import(s) {0!r} after other statements.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="46"/> + <location filename="../Utilities/pyflakes/translations.py" line="46"/> <source>Local variable {0!r} is assigned to but never used.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Utilities/py3flakes/translations.py" line="66"/> + <location filename="../Utilities/pyflakes/translations.py" line="71"/> <source>no message defined for code '{0}'</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="40"/> + <source>Redefinition of {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="49"/> + <source>List comprehension redefines {0!r} from line {1!r}.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Utilities/pyflakes/translations.py" line="52"/> + <source>Syntax error detected in doctest.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>subversion</name>