Finished enhancing the docstring checker to include the eric docstring style.

Mon, 23 Sep 2013 19:32:25 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 23 Sep 2013 19:32:25 +0200
changeset 2929
28ab0bc63d69
parent 2928
4f74d3f595ce
child 2930
92973b701875

Finished enhancing the docstring checker to include the eric docstring style.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.UtilitiesPython2.Pep257CheckerPy2.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.UtilitiesPython2.Pep8Checker.html file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/Pep8/Pep257Checker.py file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/Pep8/Pep8Checker.py file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/Pep8/Pep8Dialog.py file | annotate | diff | comparison | revisions
UtilitiesPython2/Pep257CheckerPy2.py file | annotate | diff | comparison | revisions
UtilitiesPython2/Pep8Checker.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
i18n/eric5_cs.ts file | annotate | diff | comparison | revisions
i18n/eric5_de.qm file | annotate | diff | comparison | revisions
i18n/eric5_de.ts file | annotate | diff | comparison | revisions
i18n/eric5_en.ts file | annotate | diff | comparison | revisions
i18n/eric5_es.ts file | annotate | diff | comparison | revisions
i18n/eric5_fr.ts file | annotate | diff | comparison | revisions
i18n/eric5_it.ts file | annotate | diff | comparison | revisions
i18n/eric5_ru.ts file | annotate | diff | comparison | revisions
i18n/eric5_tr.ts file | annotate | diff | comparison | revisions
i18n/eric5_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Sun Sep 22 19:47:04 2013 +0200
+++ b/APIs/Python3/eric5.api	Mon Sep 23 19:32:25 2013 +0200
@@ -3720,7 +3720,8 @@
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Checker.Messages?7
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Checker.getMessage?4(code, *args)
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Checker.run?4()
-eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Checker?1(source, filename, select, ignore, expected, repeat, maxLineLength=79)
+eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Checker.unpackArgs?4()
+eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Checker?1(source, filename, select, ignore, expected, repeat, maxLineLength=79, docType="pep257")
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Context.contextType?4()
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Context.end?4()
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Context.indent?4()
@@ -3728,7 +3729,7 @@
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Context.ssource?4()
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Context.start?4()
 eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.Pep257Context?1(source, startLine, contextType)
-eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.Pep8Py2Checker?1(filename, lines, repeat=False, select="", ignore="", max_line_length=79, hang_closing=False)
+eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.Pep8Py2Checker?1(filename, lines, repeat=False, select="", ignore="", max_line_length=79, hang_closing=False, docType="pep257")
 eric5.Plugins.CheckerPlugins.Pep8.Pep8CodeSelectionDialog.Pep8CodeSelectionDialog.getSelectedCodes?4()
 eric5.Plugins.CheckerPlugins.Pep8.Pep8CodeSelectionDialog.Pep8CodeSelectionDialog?1(codes, showFixCodes, parent=None)
 eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.Pep8Dialog.codeRole?7
@@ -8390,7 +8391,8 @@
 eric5.Utilities.writeEncodedFile?4(filename, text, orig_coding)
 eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Checker.Codes?7
 eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Checker.run?4()
-eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Checker?1(source, filename, select, ignore, expected, repeat, maxLineLength=79)
+eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Checker.unpackArgs?4()
+eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Checker?1(source, filename, select, ignore, expected, repeat, maxLineLength=79, docType="pep257")
 eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Context.contextType?4()
 eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Context.end?4()
 eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Context.indent?4()
@@ -8398,6 +8400,7 @@
 eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Context.ssource?4()
 eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Context.start?4()
 eric5.UtilitiesPython2.Pep257CheckerPy2.Pep257Context?1(source, startLine, contextType)
+eric5.UtilitiesPython2.Pep8Checker.Pep8Report.docType?7
 eric5.UtilitiesPython2.Pep8Checker.Pep8Report.error_args?4(line_number, offset, code, check, *args)
 eric5.UtilitiesPython2.Pep8Checker.Pep8Report.filename?7
 eric5.UtilitiesPython2.Pep8Checker.Pep8Report.hang_closing?7
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sun Sep 22 19:47:04 2013 +0200
+++ b/Documentation/Help/source.qhp	Mon Sep 23 19:32:25 2013 +0200
@@ -7979,6 +7979,20 @@
       <keyword name="Pep257Checker.__checkClassDocstring" id="Pep257Checker.__checkClassDocstring" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkClassDocstring" />
       <keyword name="Pep257Checker.__checkEndsWithPeriod" id="Pep257Checker.__checkEndsWithPeriod" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkEndsWithPeriod" />
       <keyword name="Pep257Checker.__checkEndsWithPeriod" id="Pep257Checker.__checkEndsWithPeriod" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkEndsWithPeriod" />
+      <keyword name="Pep257Checker.__checkEricBlankAfterSummary" id="Pep257Checker.__checkEricBlankAfterSummary" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkEricBlankAfterSummary" />
+      <keyword name="Pep257Checker.__checkEricBlankAfterSummary" id="Pep257Checker.__checkEricBlankAfterSummary" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkEricBlankAfterSummary" />
+      <keyword name="Pep257Checker.__checkEricEndsWithPeriod" id="Pep257Checker.__checkEricEndsWithPeriod" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkEricEndsWithPeriod" />
+      <keyword name="Pep257Checker.__checkEricEndsWithPeriod" id="Pep257Checker.__checkEricEndsWithPeriod" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkEricEndsWithPeriod" />
+      <keyword name="Pep257Checker.__checkEricFunctionArguments" id="Pep257Checker.__checkEricFunctionArguments" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkEricFunctionArguments" />
+      <keyword name="Pep257Checker.__checkEricFunctionArguments" id="Pep257Checker.__checkEricFunctionArguments" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkEricFunctionArguments" />
+      <keyword name="Pep257Checker.__checkEricNBlankAfterLastParagraph" id="Pep257Checker.__checkEricNBlankAfterLastParagraph" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkEricNBlankAfterLastParagraph" />
+      <keyword name="Pep257Checker.__checkEricNBlankAfterLastParagraph" id="Pep257Checker.__checkEricNBlankAfterLastParagraph" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkEricNBlankAfterLastParagraph" />
+      <keyword name="Pep257Checker.__checkEricNoBlankBeforeAndAfterClass" id="Pep257Checker.__checkEricNoBlankBeforeAndAfterClass" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkEricNoBlankBeforeAndAfterClass" />
+      <keyword name="Pep257Checker.__checkEricNoBlankBeforeAndAfterClass" id="Pep257Checker.__checkEricNoBlankBeforeAndAfterClass" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkEricNoBlankBeforeAndAfterClass" />
+      <keyword name="Pep257Checker.__checkEricOneLiner" id="Pep257Checker.__checkEricOneLiner" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkEricOneLiner" />
+      <keyword name="Pep257Checker.__checkEricOneLiner" id="Pep257Checker.__checkEricOneLiner" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkEricOneLiner" />
+      <keyword name="Pep257Checker.__checkEricReturn" id="Pep257Checker.__checkEricReturn" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkEricReturn" />
+      <keyword name="Pep257Checker.__checkEricReturn" id="Pep257Checker.__checkEricReturn" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkEricReturn" />
       <keyword name="Pep257Checker.__checkFunctionDocstring" id="Pep257Checker.__checkFunctionDocstring" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkFunctionDocstring" />
       <keyword name="Pep257Checker.__checkFunctionDocstring" id="Pep257Checker.__checkFunctionDocstring" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkFunctionDocstring" />
       <keyword name="Pep257Checker.__checkImperativeMood" id="Pep257Checker.__checkImperativeMood" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__checkImperativeMood" />
@@ -8001,8 +8015,12 @@
       <keyword name="Pep257Checker.__checkUnicode" id="Pep257Checker.__checkUnicode" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__checkUnicode" />
       <keyword name="Pep257Checker.__error" id="Pep257Checker.__error" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__error" />
       <keyword name="Pep257Checker.__error" id="Pep257Checker.__error" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__error" />
+      <keyword name="Pep257Checker.__getArgNames" id="Pep257Checker.__getArgNames" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__getArgNames" />
+      <keyword name="Pep257Checker.__getArgNames" id="Pep257Checker.__getArgNames" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__getArgNames" />
       <keyword name="Pep257Checker.__getSummaryLine" id="Pep257Checker.__getSummaryLine" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__getSummaryLine" />
       <keyword name="Pep257Checker.__getSummaryLine" id="Pep257Checker.__getSummaryLine" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__getSummaryLine" />
+      <keyword name="Pep257Checker.__getSummaryLines" id="Pep257Checker.__getSummaryLines" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__getSummaryLines" />
+      <keyword name="Pep257Checker.__getSummaryLines" id="Pep257Checker.__getSummaryLines" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__getSummaryLines" />
       <keyword name="Pep257Checker.__ignoreCode" id="Pep257Checker.__ignoreCode" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__ignoreCode" />
       <keyword name="Pep257Checker.__ignoreCode" id="Pep257Checker.__ignoreCode" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.__ignoreCode" />
       <keyword name="Pep257Checker.__parseClasses" id="Pep257Checker.__parseClasses" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.__parseClasses" />
@@ -8028,6 +8046,8 @@
       <keyword name="Pep257Checker.getMessage" id="Pep257Checker.getMessage" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.getMessage" />
       <keyword name="Pep257Checker.run" id="Pep257Checker.run" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.run" />
       <keyword name="Pep257Checker.run" id="Pep257Checker.run" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.run" />
+      <keyword name="Pep257Checker.unpackArgs" id="Pep257Checker.unpackArgs" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Checker.unpackArgs" />
+      <keyword name="Pep257Checker.unpackArgs" id="Pep257Checker.unpackArgs" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Checker.unpackArgs" />
       <keyword name="Pep257CheckerPy2 (Module)" id="Pep257CheckerPy2 (Module)" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html" />
       <keyword name="Pep257Context" id="Pep257Context" ref="eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html#Pep257Context" />
       <keyword name="Pep257Context" id="Pep257Context" ref="eric5.UtilitiesPython2.Pep257CheckerPy2.html#Pep257Context" />
--- a/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html	Sun Sep 22 19:47:04 2013 +0200
+++ b/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep257Checker.html	Mon Sep 23 19:32:25 2013 +0200
@@ -55,19 +55,22 @@
 </table>
 <h3>Class Methods</h3>
 <table>
-<tr><td>None</td></tr>
+<tr>
+<td><a href="#Pep257Checker.getMessage">getMessage</a></td>
+<td>Class method to get a translated and formatted message for a given code.</td>
+</tr>
 </table>
 <h3>Methods</h3>
 <table>
 <tr>
 <td><a href="#Pep257Checker.__init__">Pep257Checker</a></td>
-<td>Constructor (according to 'extended' pep8.py API)</td>
+<td>Constructor</td>
 </tr><tr>
 <td><a href="#Pep257Checker.__checkBackslashes">__checkBackslashes</a></td>
 <td>Private method to check, that all docstrings containing backslashes are surrounded by raw triple double quotes.</td>
 </tr><tr>
 <td><a href="#Pep257Checker.__checkBlankAfterLastParagraph">__checkBlankAfterLastParagraph</a></td>
-<td>Private method to check, that docstring summaries are followed by a blank line.</td>
+<td>Private method to check, that the last paragraph of docstrings is followed by a blank line.</td>
 </tr><tr>
 <td><a href="#Pep257Checker.__checkBlankAfterSummary">__checkBlankAfterSummary</a></td>
 <td>Private method to check, that docstring summaries are followed by a blank line.</td>
@@ -81,6 +84,27 @@
 <td><a href="#Pep257Checker.__checkEndsWithPeriod">__checkEndsWithPeriod</a></td>
 <td>Private method to check, that docstring summaries end with a period.</td>
 </tr><tr>
+<td><a href="#Pep257Checker.__checkEricBlankAfterSummary">__checkEricBlankAfterSummary</a></td>
+<td>Private method to check, that docstring summaries are followed by a blank line.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricEndsWithPeriod">__checkEricEndsWithPeriod</a></td>
+<td>Private method to check, that docstring summaries end with a period.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricFunctionArguments">__checkEricFunctionArguments</a></td>
+<td>Private method to check, that docstrings contain an @param line for each argument.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricNBlankAfterLastParagraph">__checkEricNBlankAfterLastParagraph</a></td>
+<td>Private method to check, that the last paragraph of docstrings is not followed by a blank line.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricNoBlankBeforeAndAfterClass">__checkEricNoBlankBeforeAndAfterClass</a></td>
+<td>Private method to check, that class docstrings have no blank line around them.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricOneLiner">__checkEricOneLiner</a></td>
+<td>Private method to check, that one-liner docstrings are on three lines (quotes, docstring, quotes).</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricReturn">__checkEricReturn</a></td>
+<td>Private method to check, that docstrings contain an @return line.</td>
+</tr><tr>
 <td><a href="#Pep257Checker.__checkFunctionDocstring">__checkFunctionDocstring</a></td>
 <td>Private method to check, that all public functions and methods have a docstring.</td>
 </tr><tr>
@@ -114,9 +138,15 @@
 <td><a href="#Pep257Checker.__error">__error</a></td>
 <td>Private method to record an issue.</td>
 </tr><tr>
+<td><a href="#Pep257Checker.__getArgNames">__getArgNames</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#Pep257Checker.__getSummaryLine">__getSummaryLine</a></td>
 <td>Private method to extract the summary line.</td>
 </tr><tr>
+<td><a href="#Pep257Checker.__getSummaryLines">__getSummaryLines</a></td>
+<td>Private method to extract the summary lines.</td>
+</tr><tr>
 <td><a href="#Pep257Checker.__ignoreCode">__ignoreCode</a></td>
 <td>Private method to check if the error code should be ignored.</td>
 </tr><tr>
@@ -150,22 +180,41 @@
 <td><a href="#Pep257Checker.__skipIndentedBlock">__skipIndentedBlock</a></td>
 <td>Private method to skip over an indented block of source code.</td>
 </tr><tr>
-<td><a href="#Pep257Checker.getMessage">getMessage</a></td>
-<td>Public method to get a translated and formatted message for a given code.</td>
-</tr><tr>
 <td><a href="#Pep257Checker.run">run</a></td>
 <td>Public method to check the given source for violations of doc string conventions according to PEP-257.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.unpackArgs">unpackArgs</a></td>
+<td>Local helper function to unpack function argument names.</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
 <table>
 <tr><td>None</td></tr>
 </table>
-<a NAME="Pep257Checker.__init__" ID="Pep257Checker.__init__"></a>
+<a NAME="Pep257Checker.getMessage" ID="Pep257Checker.getMessage"></a>
+<h4>Pep257Checker.getMessage (class method)</h4>
+<b>getMessage</b>(<i>code, *args</i>)
+<p>
+        Class method to get a translated and formatted message for a
+        given code.
+</p><dl>
+<dt><i>code</i></dt>
+<dd>
+message code (string)
+</dd><dt><i>args</i></dt>
+<dd>
+arguments for a formatted message (list)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+translated and formatted message (string)
+</dd>
+</dl><a NAME="Pep257Checker.__init__" ID="Pep257Checker.__init__"></a>
 <h4>Pep257Checker (Constructor)</h4>
-<b>Pep257Checker</b>(<i>source, filename, select, ignore, expected, repeat, maxLineLength=79</i>)
+<b>Pep257Checker</b>(<i>source, filename, select, ignore, expected, repeat, maxLineLength=79, docType="pep257"</i>)
 <p>
-        Constructor (according to 'extended' pep8.py API)
+        Constructor
 </p><dl>
 <dt><i>source</i></dt>
 <dd>
@@ -186,9 +235,13 @@
 <dd>
 flag indicating to report each occurrence of a code
             (boolean)
-</dd><dt><i>maxLineLength</i></dt>
+</dd><dt><i>maxLineLength=</i></dt>
 <dd>
 allowed line length (integer)
+</dd><dt><i>docType=</i></dt>
+<dd>
+type of the documentation strings
+            (string, one of 'eric' or 'pep257')
 </dd>
 </dl><a NAME="Pep257Checker.__checkBackslashes" ID="Pep257Checker.__checkBackslashes"></a>
 <h4>Pep257Checker.__checkBackslashes</h4>
@@ -208,8 +261,8 @@
 <h4>Pep257Checker.__checkBlankAfterLastParagraph</h4>
 <b>__checkBlankAfterLastParagraph</b>(<i>docstringContext, context</i>)
 <p>
-        Private method to check, that docstring summaries are followed
-        by a blank line.
+        Private method to check, that the last paragraph of docstrings is
+        followed by a blank line.
 </p><dl>
 <dt><i>docstringContext</i></dt>
 <dd>
@@ -273,6 +326,102 @@
 <dd>
 context of the docstring (Pep257Context)
 </dd>
+</dl><a NAME="Pep257Checker.__checkEricBlankAfterSummary" ID="Pep257Checker.__checkEricBlankAfterSummary"></a>
+<h4>Pep257Checker.__checkEricBlankAfterSummary</h4>
+<b>__checkEricBlankAfterSummary</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that docstring summaries are followed
+        by a blank line.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricEndsWithPeriod" ID="Pep257Checker.__checkEricEndsWithPeriod"></a>
+<h4>Pep257Checker.__checkEricEndsWithPeriod</h4>
+<b>__checkEricEndsWithPeriod</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that docstring summaries end with a period.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricFunctionArguments" ID="Pep257Checker.__checkEricFunctionArguments"></a>
+<h4>Pep257Checker.__checkEricFunctionArguments</h4>
+<b>__checkEricFunctionArguments</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that docstrings contain an @param line
+        for each argument.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricNBlankAfterLastParagraph" ID="Pep257Checker.__checkEricNBlankAfterLastParagraph"></a>
+<h4>Pep257Checker.__checkEricNBlankAfterLastParagraph</h4>
+<b>__checkEricNBlankAfterLastParagraph</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that the last paragraph of docstrings is
+        not followed by a blank line.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricNoBlankBeforeAndAfterClass" ID="Pep257Checker.__checkEricNoBlankBeforeAndAfterClass"></a>
+<h4>Pep257Checker.__checkEricNoBlankBeforeAndAfterClass</h4>
+<b>__checkEricNoBlankBeforeAndAfterClass</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that class docstrings have no blank line
+        around them.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricOneLiner" ID="Pep257Checker.__checkEricOneLiner"></a>
+<h4>Pep257Checker.__checkEricOneLiner</h4>
+<b>__checkEricOneLiner</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that one-liner docstrings are on
+        three lines (quotes, docstring, quotes).
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricReturn" ID="Pep257Checker.__checkEricReturn"></a>
+<h4>Pep257Checker.__checkEricReturn</h4>
+<b>__checkEricReturn</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that docstrings contain an @return line.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
 </dl><a NAME="Pep257Checker.__checkFunctionDocstring" ID="Pep257Checker.__checkFunctionDocstring"></a>
 <h4>Pep257Checker.__checkFunctionDocstring</h4>
 <b>__checkFunctionDocstring</b>(<i>docstringContext, context</i>)
@@ -429,7 +578,10 @@
 <dd>
 arguments for the message (list)
 </dd>
-</dl><a NAME="Pep257Checker.__getSummaryLine" ID="Pep257Checker.__getSummaryLine"></a>
+</dl><a NAME="Pep257Checker.__getArgNames" ID="Pep257Checker.__getArgNames"></a>
+<h4>Pep257Checker.__getArgNames</h4>
+<b>__getArgNames</b>(<i>node</i>)
+<a NAME="Pep257Checker.__getSummaryLine" ID="Pep257Checker.__getSummaryLine"></a>
 <h4>Pep257Checker.__getSummaryLine</h4>
 <b>__getSummaryLine</b>(<i>docstringContext</i>)
 <p>
@@ -444,6 +596,22 @@
 <dd>
 summary line (string) and the line it was found on (integer)
 </dd>
+</dl><a NAME="Pep257Checker.__getSummaryLines" ID="Pep257Checker.__getSummaryLines"></a>
+<h4>Pep257Checker.__getSummaryLines</h4>
+<b>__getSummaryLines</b>(<i>docstringContext</i>)
+<p>
+        Private method to extract the summary lines.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+summary lines (list of string) and the line it was found on
+            (integer)
+</dd>
 </dl><a NAME="Pep257Checker.__ignoreCode" ID="Pep257Checker.__ignoreCode"></a>
 <h4>Pep257Checker.__ignoreCode</h4>
 <b>__ignoreCode</b>(<i>code</i>)
@@ -579,32 +747,28 @@
 <dd>
 last token of the indented block
 </dd>
-</dl><a NAME="Pep257Checker.getMessage" ID="Pep257Checker.getMessage"></a>
-<h4>Pep257Checker.getMessage</h4>
-<b>getMessage</b>(<i>code, *args</i>)
-<p>
-        Public method to get a translated and formatted message for a
-        given code.
-</p><dl>
-<dt><i>code</i></dt>
-<dd>
-message code (string)
-</dd><dt><i>args</i></dt>
-<dd>
-arguments for a formatted message (list)
-</dd>
-</dl><dl>
-<dt>Returns:</dt>
-<dd>
-translated and formatted message (string)
-</dd>
 </dl><a NAME="Pep257Checker.run" ID="Pep257Checker.run"></a>
 <h4>Pep257Checker.run</h4>
 <b>run</b>(<i></i>)
 <p>
         Public method to check the given source for violations of doc string
         conventions according to PEP-257.
-</p>
+</p><a NAME="Pep257Checker.unpackArgs" ID="Pep257Checker.unpackArgs"></a>
+<h4>Pep257Checker.unpackArgs</h4>
+<b>unpackArgs</b>(<i></i>)
+<p>
+                Local helper function to unpack function argument names.
+</p><dl>
+<dt><i>args</i></dt>
+<dd>
+list of AST node arguments
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of argument names (list of string)
+</dd>
+</dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="Pep257Context" ID="Pep257Context"></a>
--- a/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html	Sun Sep 22 19:47:04 2013 +0200
+++ b/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Checker.html	Mon Sep 23 19:32:25 2013 +0200
@@ -67,7 +67,7 @@
 </table>
 <a NAME="Pep8Py2Checker.__init__" ID="Pep8Py2Checker.__init__"></a>
 <h4>Pep8Py2Checker (Constructor)</h4>
-<b>Pep8Py2Checker</b>(<i>filename, lines, repeat=False, select="", ignore="", max_line_length=79, hang_closing=False</i>)
+<b>Pep8Py2Checker</b>(<i>filename, lines, repeat=False, select="", ignore="", max_line_length=79, hang_closing=False, docType="pep257"</i>)
 <p>
         Constructor
 </p><dl>
@@ -95,6 +95,10 @@
 <dd>
 flag indicating to allow hanging closing
             brackets (boolean)
+</dd><dt><i>docType=</i></dt>
+<dd>
+type of the documentation strings
+            (string, one of 'eric' or 'pep257')
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html	Sun Sep 22 19:47:04 2013 +0200
+++ b/Documentation/Source/eric5.Plugins.CheckerPlugins.Pep8.Pep8Dialog.html	Mon Sep 23 19:32:25 2013 +0200
@@ -118,7 +118,7 @@
 <td>Private slot to select the issue codes not to be fixed via a selection dialog.</td>
 </tr><tr>
 <td><a href="#Pep8Dialog.on_resetDefaultButton_clicked">on_resetDefaultButton_clicked</a></td>
-<td>Slot documentation goes here.</td>
+<td>Private slot to reset the configuration values to their default values.</td>
 </tr><tr>
 <td><a href="#Pep8Dialog.on_resultList_itemActivated">on_resultList_itemActivated</a></td>
 <td>Private slot to handle the activation of an item.</td>
@@ -339,7 +339,7 @@
 <h4>Pep8Dialog.on_resetDefaultButton_clicked</h4>
 <b>on_resetDefaultButton_clicked</b>(<i></i>)
 <p>
-        Slot documentation goes here.
+        Private slot to reset the configuration values to their default values.
 </p><a NAME="Pep8Dialog.on_resultList_itemActivated" ID="Pep8Dialog.on_resultList_itemActivated"></a>
 <h4>Pep8Dialog.on_resultList_itemActivated</h4>
 <b>on_resultList_itemActivated</b>(<i>item, column</i>)
--- a/Documentation/Source/eric5.UtilitiesPython2.Pep257CheckerPy2.html	Sun Sep 22 19:47:04 2013 +0200
+++ b/Documentation/Source/eric5.UtilitiesPython2.Pep257CheckerPy2.html	Mon Sep 23 19:32:25 2013 +0200
@@ -61,13 +61,13 @@
 <table>
 <tr>
 <td><a href="#Pep257Checker.__init__">Pep257Checker</a></td>
-<td>Constructor (according to 'extended' pep8.py API)</td>
+<td>Constructor</td>
 </tr><tr>
 <td><a href="#Pep257Checker.__checkBackslashes">__checkBackslashes</a></td>
 <td>Private method to check, that all docstrings containing backslashes are surrounded by raw triple double quotes.</td>
 </tr><tr>
 <td><a href="#Pep257Checker.__checkBlankAfterLastParagraph">__checkBlankAfterLastParagraph</a></td>
-<td>Private method to check, that docstring summaries are followed by a blank line.</td>
+<td>Private method to check, that the last paragraph of docstrings is followed by a blank line.</td>
 </tr><tr>
 <td><a href="#Pep257Checker.__checkBlankAfterSummary">__checkBlankAfterSummary</a></td>
 <td>Private method to check, that docstring summaries are followed by a blank line.</td>
@@ -81,6 +81,27 @@
 <td><a href="#Pep257Checker.__checkEndsWithPeriod">__checkEndsWithPeriod</a></td>
 <td>Private method to check, that docstring summaries end with a period.</td>
 </tr><tr>
+<td><a href="#Pep257Checker.__checkEricBlankAfterSummary">__checkEricBlankAfterSummary</a></td>
+<td>Private method to check, that docstring summaries are followed by a blank line.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricEndsWithPeriod">__checkEricEndsWithPeriod</a></td>
+<td>Private method to check, that docstring summaries end with a period.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricFunctionArguments">__checkEricFunctionArguments</a></td>
+<td>Private method to check, that docstrings contain an @param line for each argument.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricNBlankAfterLastParagraph">__checkEricNBlankAfterLastParagraph</a></td>
+<td>Private method to check, that the last paragraph of docstrings is not followed by a blank line.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricNoBlankBeforeAndAfterClass">__checkEricNoBlankBeforeAndAfterClass</a></td>
+<td>Private method to check, that class docstrings have no blank line around them.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricOneLiner">__checkEricOneLiner</a></td>
+<td>Private method to check, that one-liner docstrings are on three lines (quotes, docstring, quotes).</td>
+</tr><tr>
+<td><a href="#Pep257Checker.__checkEricReturn">__checkEricReturn</a></td>
+<td>Private method to check, that docstrings contain an @return line.</td>
+</tr><tr>
 <td><a href="#Pep257Checker.__checkFunctionDocstring">__checkFunctionDocstring</a></td>
 <td>Private method to check, that all public functions and methods have a docstring.</td>
 </tr><tr>
@@ -114,9 +135,15 @@
 <td><a href="#Pep257Checker.__error">__error</a></td>
 <td>Private method to record an issue.</td>
 </tr><tr>
+<td><a href="#Pep257Checker.__getArgNames">__getArgNames</a></td>
+<td></td>
+</tr><tr>
 <td><a href="#Pep257Checker.__getSummaryLine">__getSummaryLine</a></td>
 <td>Private method to extract the summary line.</td>
 </tr><tr>
+<td><a href="#Pep257Checker.__getSummaryLines">__getSummaryLines</a></td>
+<td>Private method to extract the summary lines.</td>
+</tr><tr>
 <td><a href="#Pep257Checker.__ignoreCode">__ignoreCode</a></td>
 <td>Private method to check if the error code should be ignored.</td>
 </tr><tr>
@@ -152,6 +179,9 @@
 </tr><tr>
 <td><a href="#Pep257Checker.run">run</a></td>
 <td>Public method to check the given source for violations of doc string conventions according to PEP-257.</td>
+</tr><tr>
+<td><a href="#Pep257Checker.unpackArgs">unpackArgs</a></td>
+<td>Local helper function to unpack function argument names.</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
@@ -160,9 +190,9 @@
 </table>
 <a NAME="Pep257Checker.__init__" ID="Pep257Checker.__init__"></a>
 <h4>Pep257Checker (Constructor)</h4>
-<b>Pep257Checker</b>(<i>source, filename, select, ignore, expected, repeat, maxLineLength=79</i>)
+<b>Pep257Checker</b>(<i>source, filename, select, ignore, expected, repeat, maxLineLength=79, docType="pep257"</i>)
 <p>
-        Constructor (according to 'extended' pep8.py API)
+        Constructor
 </p><dl>
 <dt><i>source</i></dt>
 <dd>
@@ -183,9 +213,13 @@
 <dd>
 flag indicating to report each occurrence of a code
             (boolean)
-</dd><dt><i>maxLineLength</i></dt>
+</dd><dt><i>maxLineLength=</i></dt>
 <dd>
 allowed line length (integer)
+</dd><dt><i>docType=</i></dt>
+<dd>
+type of the documentation strings
+            (string, one of 'eric' or 'pep257')
 </dd>
 </dl><a NAME="Pep257Checker.__checkBackslashes" ID="Pep257Checker.__checkBackslashes"></a>
 <h4>Pep257Checker.__checkBackslashes</h4>
@@ -205,8 +239,8 @@
 <h4>Pep257Checker.__checkBlankAfterLastParagraph</h4>
 <b>__checkBlankAfterLastParagraph</b>(<i>docstringContext, context</i>)
 <p>
-        Private method to check, that docstring summaries are followed
-        by a blank line.
+        Private method to check, that the last paragraph of docstrings is
+        followed by a blank line.
 </p><dl>
 <dt><i>docstringContext</i></dt>
 <dd>
@@ -270,6 +304,102 @@
 <dd>
 context of the docstring (Pep257Context)
 </dd>
+</dl><a NAME="Pep257Checker.__checkEricBlankAfterSummary" ID="Pep257Checker.__checkEricBlankAfterSummary"></a>
+<h4>Pep257Checker.__checkEricBlankAfterSummary</h4>
+<b>__checkEricBlankAfterSummary</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that docstring summaries are followed
+        by a blank line.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricEndsWithPeriod" ID="Pep257Checker.__checkEricEndsWithPeriod"></a>
+<h4>Pep257Checker.__checkEricEndsWithPeriod</h4>
+<b>__checkEricEndsWithPeriod</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that docstring summaries end with a period.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricFunctionArguments" ID="Pep257Checker.__checkEricFunctionArguments"></a>
+<h4>Pep257Checker.__checkEricFunctionArguments</h4>
+<b>__checkEricFunctionArguments</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that docstrings contain an @param line
+        for each argument.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricNBlankAfterLastParagraph" ID="Pep257Checker.__checkEricNBlankAfterLastParagraph"></a>
+<h4>Pep257Checker.__checkEricNBlankAfterLastParagraph</h4>
+<b>__checkEricNBlankAfterLastParagraph</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that the last paragraph of docstrings is
+        not followed by a blank line.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricNoBlankBeforeAndAfterClass" ID="Pep257Checker.__checkEricNoBlankBeforeAndAfterClass"></a>
+<h4>Pep257Checker.__checkEricNoBlankBeforeAndAfterClass</h4>
+<b>__checkEricNoBlankBeforeAndAfterClass</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that class docstrings have no blank line
+        around them.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricOneLiner" ID="Pep257Checker.__checkEricOneLiner"></a>
+<h4>Pep257Checker.__checkEricOneLiner</h4>
+<b>__checkEricOneLiner</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that one-liner docstrings are on
+        three lines (quotes, docstring, quotes).
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
+</dl><a NAME="Pep257Checker.__checkEricReturn" ID="Pep257Checker.__checkEricReturn"></a>
+<h4>Pep257Checker.__checkEricReturn</h4>
+<b>__checkEricReturn</b>(<i>docstringContext, context</i>)
+<p>
+        Private method to check, that docstrings contain an @return line.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd><dt><i>context</i></dt>
+<dd>
+context of the docstring (Pep257Context)
+</dd>
 </dl><a NAME="Pep257Checker.__checkFunctionDocstring" ID="Pep257Checker.__checkFunctionDocstring"></a>
 <h4>Pep257Checker.__checkFunctionDocstring</h4>
 <b>__checkFunctionDocstring</b>(<i>docstringContext, context</i>)
@@ -426,7 +556,10 @@
 <dd>
 arguments for the message (list)
 </dd>
-</dl><a NAME="Pep257Checker.__getSummaryLine" ID="Pep257Checker.__getSummaryLine"></a>
+</dl><a NAME="Pep257Checker.__getArgNames" ID="Pep257Checker.__getArgNames"></a>
+<h4>Pep257Checker.__getArgNames</h4>
+<b>__getArgNames</b>(<i>node</i>)
+<a NAME="Pep257Checker.__getSummaryLine" ID="Pep257Checker.__getSummaryLine"></a>
 <h4>Pep257Checker.__getSummaryLine</h4>
 <b>__getSummaryLine</b>(<i>docstringContext</i>)
 <p>
@@ -441,6 +574,22 @@
 <dd>
 summary line (string) and the line it was found on (integer)
 </dd>
+</dl><a NAME="Pep257Checker.__getSummaryLines" ID="Pep257Checker.__getSummaryLines"></a>
+<h4>Pep257Checker.__getSummaryLines</h4>
+<b>__getSummaryLines</b>(<i>docstringContext</i>)
+<p>
+        Private method to extract the summary lines.
+</p><dl>
+<dt><i>docstringContext</i></dt>
+<dd>
+docstring context (Pep257Context)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+summary lines (list of string) and the line it was found on
+            (integer)
+</dd>
 </dl><a NAME="Pep257Checker.__ignoreCode" ID="Pep257Checker.__ignoreCode"></a>
 <h4>Pep257Checker.__ignoreCode</h4>
 <b>__ignoreCode</b>(<i>code</i>)
@@ -582,7 +731,22 @@
 <p>
         Public method to check the given source for violations of doc string
         conventions according to PEP-257.
-</p>
+</p><a NAME="Pep257Checker.unpackArgs" ID="Pep257Checker.unpackArgs"></a>
+<h4>Pep257Checker.unpackArgs</h4>
+<b>unpackArgs</b>(<i></i>)
+<p>
+                Local helper function to unpack function argument names.
+</p><dl>
+<dt><i>args</i></dt>
+<dd>
+list of AST node arguments
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of argument names (list of string)
+</dd>
+</dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="Pep257Context" ID="Pep257Context"></a>
--- a/Documentation/Source/eric5.UtilitiesPython2.Pep8Checker.html	Sun Sep 22 19:47:04 2013 +0200
+++ b/Documentation/Source/eric5.UtilitiesPython2.Pep8Checker.html	Mon Sep 23 19:32:25 2013 +0200
@@ -48,7 +48,7 @@
 pep8.BaseReport
 <h3>Class Attributes</h3>
 <table>
-<tr><td>filename</td></tr><tr><td>hang_closing</td></tr><tr><td>ignore</td></tr><tr><td>max_line_length</td></tr><tr><td>repeat</td></tr><tr><td>select</td></tr>
+<tr><td>docType</td></tr><tr><td>filename</td></tr><tr><td>hang_closing</td></tr><tr><td>ignore</td></tr><tr><td>max_line_length</td></tr><tr><td>repeat</td></tr><tr><td>select</td></tr>
 </table>
 <h3>Class Methods</h3>
 <table>
--- a/Plugins/CheckerPlugins/Pep8/Pep257Checker.py	Sun Sep 22 19:47:04 2013 +0200
+++ b/Plugins/CheckerPlugins/Pep8/Pep257Checker.py	Mon Sep 23 19:32:25 2013 +0200
@@ -20,6 +20,7 @@
     from io import StringIO             # __IGNORE_WARNING__
 import tokenize
 import ast
+import sys
 
 from PyQt4.QtCore import QT_TRANSLATE_NOOP, QCoreApplication
 
@@ -112,7 +113,7 @@
         
         "D203", "D205",
         "D221",
-        "D231", "D234", "D235", "D236", "D237",
+        "D231", "D234", "D235", "D236", "D237", "D238",
         "D242", "D243", "D244", "D245",
     ]
     
@@ -184,6 +185,9 @@
             "Pep257Checker",
             "docstring contains too many @param/@keyparam lines"),
         "D237": QT_TRANSLATE_NOOP(
+            "Pep257Checker",
+            "keyword only arguments must be documented with @keyparam lines"),
+        "D238": QT_TRANSLATE_NOOP(
             "Pep257Checker", "order of @param/@keyparam lines does"
             " not match the function/method signature"),
         "D242": QT_TRANSLATE_NOOP(
@@ -295,7 +299,7 @@
                     (self.__checkNoSignature, ("D133",)),
                     (self.__checkEricReturn, ("D234",)),
                     (self.__checkEricFunctionArguments,
-                     ("D235", "D236", "D237")),
+                     ("D235", "D236", "D237", "D238")),
                     (self.__checkNoBlankLineBefore, ("D141",)),
                 ],
                 "docstring": [
@@ -359,9 +363,10 @@
             # record the issue with one based line number
             self.errors.append((self.__filename, lineNumber + 1, offset, text))
     
-    def getMessage(self, code, *args):
+    @classmethod
+    def getMessage(cls, code, *args):
         """
-        Public method to get a translated and formatted message for a
+        Class method to get a translated and formatted message for a
         given code.
         
         @param code message code (string)
@@ -474,21 +479,56 @@
             summaries.append(line2)
         return summaries, lineno
     
-    def __getArgNames(self, node):
-        """
-        Private method to get the argument names of a function node.
-        
-        @param node AST node to extract arguments names from
-        @return list of argument names (list of string)
-        """
-        arguments = []
-        arguments.extend([arg.arg for arg in node.args.args])
-        if node.args.vararg is not None:
-            arguments.append(node.args.vararg)
-        arguments.extend([arg.arg for arg in node.args.kwonlyargs])
-        if node.args.kwarg is not None:
-            arguments.append(node.args.kwarg)
-        return arguments
+    if sys.version_info[0] < 3:
+        def __getArgNames(self, node):
+            """
+            Private method to get the argument names of a function node.
+            
+            @param node AST node to extract arguments names from
+            @return tuple of two list of argument names, one for arguments
+                and one for keyword arguments (tuple of list of string)
+            """
+            def unpackArgs(args):
+                """
+                Local helper function to unpack function argument names.
+                
+                @param args list of AST node arguments
+                @return list of argument names (list of string)
+                """
+                ret = []
+                for arg in args:
+                    if isinstance(arg, ast.Tuple):
+                        ret.extend(unpackArgs(arg.elts))
+                    else:
+                        ret.append(arg.id)
+                return ret
+            
+            arguments = unpackArgs(node.args.args)
+            if node.args.vararg is not None:
+                arguments.append(node.args.vararg)
+            kwarguments = []
+            if node.args.kwarg is not None:
+                kwarguments.append(node.args.kwarg)
+            return arguments, kwarguments
+    else:
+        def __getArgNames(self, node):          # __IGNORE_WARNING__
+            """
+            Private method to get the argument names of a function node.
+            
+            @param node AST node to extract arguments names from
+            @return tuple of two list of argument names, one for arguments
+                and one for keyword arguments (tuple of list of string)
+            """
+            arguments = []
+            arguments.extend([arg.arg for arg in node.args.args])
+            if node.args.vararg is not None:
+                arguments.append(node.args.vararg)
+            
+            kwarguments = []
+            kwarguments.extend([arg.arg for arg in node.args.kwonlyargs])
+            if node.args.kwarg is not None:
+                kwarguments.append(node.args.kwarg)
+            return arguments, kwarguments
     
     ##################################################################
     ## Parsing functionality below
@@ -1084,7 +1124,7 @@
         if (isinstance(tree, ast.Module) and len(tree.body) == 1 and
                 isinstance(tree.body[0], ast.FunctionDef)):
             functionDef = tree.body[0]
-            argNames = self.__getArgNames(functionDef)
+            argNames, kwNames = self.__getArgNames(functionDef)
             if "self" in argNames:
                 argNames.remove("self")
             if "cls" in argNames:
@@ -1092,12 +1132,29 @@
             
             docstring = docstringContext.ssource()
             if (docstring.count("@param") + docstring.count("@keyparam") < 
-                    len(argNames)):
+                    len(argNames + kwNames)):
                 self.__error(docstringContext.end(), 0, "D235")
             elif (docstring.count("@param") + docstring.count("@keyparam") > 
-                    len(argNames)):
+                    len(argNames + kwNames)):
                 self.__error(docstringContext.end(), 0, "D236")
-            # TODO: check order (args, vararg, kwonlyargs, kwarg
+            else:
+                # extract @param and @keyparam from docstring
+                args = []
+                kwargs = []
+                for line in docstringContext.source():
+                    if line.strip().startswith(("@param", "@keyparam")):
+                        at, name, _ = line.strip().split(None, 2)
+                        if at == "@keyparam":
+                            kwargs.append(name)
+                        args.append(name)
+                
+                # do the checks
+                for name in kwNames:
+                    if name not in kwargs:
+                        self.__error(docstringContext.end(), 0, "D237")
+                        return
+                if argNames + kwNames != args:
+                    self.__error(docstringContext.end(), 0, "D238")
     
     def __checkEricBlankAfterSummary(self, docstringContext, context):
         """
--- a/Plugins/CheckerPlugins/Pep8/Pep8Checker.py	Sun Sep 22 19:47:04 2013 +0200
+++ b/Plugins/CheckerPlugins/Pep8/Pep8Checker.py	Mon Sep 23 19:32:25 2013 +0200
@@ -27,7 +27,7 @@
     """
     def __init__(self, filename, lines, repeat=False,
                  select="", ignore="", max_line_length=79,
-                 hang_closing=False):
+                 hang_closing=False, docType="pep257"):
         """
         Constructor
         
@@ -41,7 +41,11 @@
         @keyparam max_line_length maximum allowed line length (integer)
         @keyparam hang_closing flag indicating to allow hanging closing
             brackets (boolean)
+        @keyparam docType type of the documentation strings
+            (string, one of 'eric' or 'pep257')
         """
+        assert docType in ("eric", "pep257")
+        
         self.errors = []
         self.counters = {}
         
@@ -68,6 +72,8 @@
         args.append(str(max_line_length))
         if hang_closing:
             args.append("-h")
+        args.append("-d")
+        args.append(docType)
         args.append("-f")
         args.append(filename)
         
--- a/Plugins/CheckerPlugins/Pep8/Pep8Dialog.py	Sun Sep 22 19:47:04 2013 +0200
+++ b/Plugins/CheckerPlugins/Pep8/Pep8Dialog.py	Mon Sep 23 19:32:25 2013 +0200
@@ -419,6 +419,7 @@
                             ignore=excludeMessages,
                             max_line_length=maxLineLength,
                             hang_closing=hangClosing,
+                            docType=docType,
                         )
                         errors = report.errors[:]
                         stats.update(report.counters)
--- a/UtilitiesPython2/Pep257CheckerPy2.py	Sun Sep 22 19:47:04 2013 +0200
+++ b/UtilitiesPython2/Pep257CheckerPy2.py	Mon Sep 23 19:32:25 2013 +0200
@@ -19,6 +19,8 @@
     # Python 3
     from io import StringIO             # __IGNORE_WARNING__
 import tokenize
+import ast
+import sys
 
 
 class Pep257Context(object):
@@ -106,12 +108,17 @@
         "D121", "D122",
         "D131", "D132", "D133", "D134",
         "D141", "D142", "D143", "D144", "D145",
+        
+        "D203", "D205",
+        "D221",
+        "D231", "D234", "D235", "D236", "D237", "D238",
+        "D242", "D243", "D244", "D245",
     ]
     
     def __init__(self, source, filename, select, ignore, expected, repeat,
-                 maxLineLength=79):
+                 maxLineLength=79, docType="pep257"):
         """
-        Constructor (according to 'extended' pep8.py API)
+        Constructor
         
         @param source source code to be checked (list of string)
         @param filename name of the source file (string)
@@ -120,13 +127,18 @@
         @param expected list of expected codes (list of string)
         @param repeat flag indicating to report each occurrence of a code
             (boolean)
-        @param maxLineLength allowed line length (integer)
+        @keyparam maxLineLength allowed line length (integer)
+        @keyparam docType type of the documentation strings
+            (string, one of 'eric' or 'pep257')
         """
+        assert docType in ("eric", "pep257")
+        
         self.__select = tuple(select)
         self.__ignore = tuple(ignore)
         self.__expected = expected[:]
         self.__repeat = repeat
         self.__maxLineLength = maxLineLength
+        self.__docType = docType
         self.__filename = filename
         self.__source = source[:]
         self.__isScript = self.__source[0].startswith('#!')
@@ -149,39 +161,74 @@
             'classDocstring', 'methodDocstring',
             'defDocstring', 'docstring'
         ]
-        self.__checkersWithCodes = {
-            "moduleDocstring": [
-                (self.__checkModulesDocstrings, ("D101",)),
-            ],
-            "functionDocstring": [
-            ],
-            "classDocstring": [
-                (self.__checkClassDocstring, ("D104", "D105")),
-                (self.__checkBlankBeforeAndAfterClass, ("D142", "D143")),
-            ],
-            "methodDocstring": [
-            ],
-            "defDocstring": [
-                (self.__checkFunctionDocstring, ("D102", "D103")),
-                (self.__checkImperativeMood, ("D132",)),
-                (self.__checkNoSignature, ("D133",)),
-                (self.__checkReturnType, ("D134",)),
-                (self.__checkNoBlankLineBefore, ("D141",)),
-            ],
-            "docstring": [
-                (self.__checkTripleDoubleQuotes, ("D111",)),
-                (self.__checkBackslashes, ("D112",)),
-                (self.__checkUnicode, ("D113",)),
-                (self.__checkOneLiner, ("D121",)),
-                (self.__checkIndent, ("D122",)),
-                (self.__checkEndsWithPeriod, ("D131",)),
-                (self.__checkBlankAfterSummary, ("D144",)),
-                (self.__checkBlankAfterLastParagraph, ("D145",)),
-            ],
-        }
+        if self.__docType == "pep257":
+            checkersWithCodes = {
+                "moduleDocstring": [
+                    (self.__checkModulesDocstrings, ("D101",)),
+                ],
+                "functionDocstring": [
+                ],
+                "classDocstring": [
+                    (self.__checkClassDocstring, ("D104", "D105")),
+                    (self.__checkBlankBeforeAndAfterClass, ("D142", "D143")),
+                ],
+                "methodDocstring": [
+                ],
+                "defDocstring": [
+                    (self.__checkFunctionDocstring, ("D102", "D103")),
+                    (self.__checkImperativeMood, ("D132",)),
+                    (self.__checkNoSignature, ("D133",)),
+                    (self.__checkReturnType, ("D134",)),
+                    (self.__checkNoBlankLineBefore, ("D141",)),
+                ],
+                "docstring": [
+                    (self.__checkTripleDoubleQuotes, ("D111",)),
+                    (self.__checkBackslashes, ("D112",)),
+                    (self.__checkUnicode, ("D113",)),
+                    (self.__checkOneLiner, ("D121",)),
+                    (self.__checkIndent, ("D122",)),
+                    (self.__checkEndsWithPeriod, ("D131",)),
+                    (self.__checkBlankAfterSummary, ("D144",)),
+                    (self.__checkBlankAfterLastParagraph, ("D145",)),
+                ],
+            }
+        elif self.__docType == "eric":
+            checkersWithCodes = {
+                "moduleDocstring": [
+                    (self.__checkModulesDocstrings, ("D101",)),
+                ],
+                "functionDocstring": [
+                ],
+                "classDocstring": [
+                    (self.__checkClassDocstring, ("D104", "D205")),
+                    (self.__checkEricNoBlankBeforeAndAfterClass,
+                     ("D242", "D243")),
+                ],
+                "methodDocstring": [
+                ],
+                "defDocstring": [
+                    (self.__checkFunctionDocstring, ("D102", "D203")),
+                    (self.__checkImperativeMood, ("D132",)),
+                    (self.__checkNoSignature, ("D133",)),
+                    (self.__checkEricReturn, ("D234",)),
+                    (self.__checkEricFunctionArguments,
+                     ("D235", "D236", "D237", "D238")),
+                    (self.__checkNoBlankLineBefore, ("D141",)),
+                ],
+                "docstring": [
+                    (self.__checkTripleDoubleQuotes, ("D111",)),
+                    (self.__checkBackslashes, ("D112",)),
+                    (self.__checkUnicode, ("D113",)),
+                    (self.__checkEricOneLiner, ("D221",)),
+                    (self.__checkIndent, ("D122",)),
+                    (self.__checkEricEndsWithPeriod, ("D231",)),
+                    (self.__checkEricBlankAfterSummary, ("D244",)),
+                    (self.__checkEricNBlankAfterLastParagraph, ("D245",)),
+                ],
+            }
         
         self.__checkers = {}
-        for key, checkers in self.__checkersWithCodes.items():
+        for key, checkers in checkersWithCodes.items():
             for checker, codes in checkers:
                 if any(not (code and self.__ignoreCode(code))
                         for code in codes):
@@ -278,7 +325,102 @@
         
         if len(lines) == 1 or len(line) > 0:
             return line, 0
-        return lines[1].strip(), 1
+        return lines[1].strip().replace('"""', "").replace("'''", ""), 1
+    
+    def __getSummaryLines(self, docstringContext):
+        """
+        Private method to extract the summary lines.
+        
+        @param docstringContext docstring context (Pep257Context)
+        @return summary lines (list of string) and the line it was found on
+            (integer)
+        """
+        summaries = []
+        lines = docstringContext.source()
+        
+        line0 = (lines[0]
+                .replace('r"""', "", 1)
+                .replace('u"""', "", 1)
+                .replace('"""', "")
+                .replace("r'''", "", 1)
+                .replace("u'''", "", 1)
+                .replace("'''", "")
+                .strip())
+        if len(lines) > 1:
+            line1 = lines[1].strip().replace('"""', "").replace("'''", "")
+        else:
+            line1 = ""
+        if len(lines) > 2:
+            line2 = lines[2].strip().replace('"""', "").replace("'''", "")
+        else:
+            line2 = ""
+        if line0:
+            lineno = 0
+            summaries.append(line0)
+            if not line0.endswith(".") and line1:
+                # two line summary
+                summaries.append(line1)
+        elif line1:
+            lineno = 1
+            summaries.append(line1)
+            if not line1.endswith(".") and line2:
+                # two line summary
+                summaries.append(line2)
+        else:
+            lineno = 2
+            summaries.append(line2)
+        return summaries, lineno
+    
+    if sys.version_info[0] < 3:
+        def __getArgNames(self, node):
+            """
+            Private method to get the argument names of a function node.
+            
+            @param node AST node to extract arguments names from
+            @return tuple of two list of argument names, one for arguments
+                and one for keyword arguments (tuple of list of string)
+            """
+            def unpackArgs(args):
+                """
+                Local helper function to unpack function argument names.
+                
+                @param args list of AST node arguments
+                @return list of argument names (list of string)
+                """
+                ret = []
+                for arg in args:
+                    if isinstance(arg, ast.Tuple):
+                        ret.extend(unpackArgs(arg.elts))
+                    else:
+                        ret.append(arg.id)
+                return ret
+            
+            arguments = unpackArgs(node.args.args)
+            if node.args.vararg is not None:
+                arguments.append(node.args.vararg)
+            kwarguments = []
+            if node.args.kwarg is not None:
+                kwarguments.append(node.args.kwarg)
+            return arguments, kwarguments
+    else:
+        def __getArgNames(self, node):          # __IGNORE_WARNING__
+            """
+            Private method to get the argument names of a function node.
+            
+            @param node AST node to extract arguments names from
+            @return tuple of two list of argument names, one for arguments
+                and one for keyword arguments (tuple of list of string)
+            """
+            arguments = []
+            arguments.extend([arg.arg for arg in node.args.args])
+            if node.args.vararg is not None:
+                arguments.append(node.args.vararg)
+            
+            kwarguments = []
+            kwarguments.extend([arg.arg for arg in node.args.kwonlyargs])
+            if node.args.kwarg is not None:
+                kwarguments.append(node.args.kwarg)
+            return arguments, kwarguments
     
     ##################################################################
     ## Parsing functionality below
@@ -454,7 +596,7 @@
         return []       # fall back
     
     ##################################################################
-    ## Checking functionality below
+    ## Checking functionality below (PEP-257)
     ##################################################################
 
     def __checkModulesDocstrings(self, docstringContext, context):
@@ -487,7 +629,10 @@
         
         functionName = context.source()[0].lstrip().split()[1].split("(")[0]
         if functionName.startswith('_') and not functionName.endswith('__'):
-            code = "D103"
+            if self.__docType == "eric":
+                code = "D203"
+            else:
+                code = "D103"
         else:
             code = "D102"
         
@@ -514,7 +659,10 @@
         
         className = context.source()[0].lstrip().split()[1].split("(")[0]
         if className.startswith('_'):
-            code = "D105"
+            if self.__docType == "eric":
+                code = "D205"
+            else:
+                code = "D105"
         else:
             code = "D104"
         
@@ -592,6 +740,9 @@
                              nonEmptyLines[0].strip() + '"""')
                 if context.contextType() != "module":
                     modLen += 4
+                if not nonEmptyLines[0].strip().endswith("."):
+                    # account for a trailing dot
+                    modLen += 1
                 if modLen <= self.__maxLineLength:
                     self.__error(docstringContext.start(), 0, "D121")
     
@@ -704,7 +855,6 @@
                 not contextLines[cti].strip().startswith(
                 ('"""', 'r"""', 'u"""', "'''", "r'''", "u'''")):
             cti += 1
-        
         if cti == len(contextLines):
             return
         
@@ -728,7 +878,6 @@
             not contextLines[cti].strip().startswith(
                 ('"""', 'r"""', 'u"""', "'''", "r'''", "u'''")):
             cti += 1
-        
         if cti == len(contextLines):
             return
         
@@ -742,6 +891,8 @@
                 not contextLines[cti].strip().endswith(('"""', "'''")):
             cti += 1
         end = cti
+        if cti == len(contextLines):
+            return
         
         if contextLines[start - 1].strip():
             self.__error(docstringContext.start(), 0, "D142")
@@ -760,16 +911,145 @@
             return
         
         docstrings = docstringContext.source()
-        if len(docstrings) in [1, 3]:
+        if len(docstrings) <= 3:
             # correct/invalid one-liner
             return
         
         summary, lineNumber = self.__getSummaryLine(docstringContext)
-        if docstrings[lineNumber + 1].strip():
-            self.__error(docstringContext.start() + lineNumber, 0, "D144")
+        if len(docstrings) > 2:
+            if docstrings[lineNumber + 1].strip():
+                self.__error(docstringContext.start() + lineNumber, 0, "D144")
     
     def __checkBlankAfterLastParagraph(self, docstringContext, context):
         """
+        Private method to check, that the last paragraph of docstrings is
+        followed by a blank line.
+        
+        @param docstringContext docstring context (Pep257Context)
+        @param context context of the docstring (Pep257Context)
+        """
+        if docstringContext is None:
+            return
+        
+        docstrings = docstringContext.source()
+        if len(docstrings) <= 3:
+            # correct/invalid one-liner
+            return
+        
+        if docstrings[-2].strip():
+            self.__error(docstringContext.end(), 0, "D145")
+    
+    ##################################################################
+    ## Checking functionality below (eric specific ones)
+    ##################################################################
+
+    def __checkEricOneLiner(self, docstringContext, context):
+        """
+        Private method to check, that one-liner docstrings are on
+        three lines (quotes, docstring, quotes).
+        
+        @param docstringContext docstring context (Pep257Context)
+        @param context context of the docstring (Pep257Context)
+        """
+        if docstringContext is None:
+            return
+        
+        lines = docstringContext.source()
+        if len(lines) != 3:
+            nonEmptyLines = [l for l in lines if l.strip().strip('\'"')]
+            if len(nonEmptyLines) == 1:
+                self.__error(docstringContext.start(), 0, "D221")
+    
+    def __checkEricEndsWithPeriod(self, docstringContext, context):
+        """
+        Private method to check, that docstring summaries end with a period.
+        
+        @param docstringContext docstring context (Pep257Context)
+        @param context context of the docstring (Pep257Context)
+        """
+        if docstringContext is None:
+            return
+        
+        summaryLines, lineNumber = self.__getSummaryLines(docstringContext)
+        summary = " ".join([s.strip() for s in summaryLines if s])
+        if not summary.endswith(".") and \
+                not summary.split(None, 1)[0].lower() == "constructor":
+            self.__error(
+                docstringContext.start() + lineNumber + len(summaryLines) - 1,
+                0, "D231")
+    
+    def __checkEricReturn(self, docstringContext, context):
+        """
+        Private method to check, that docstrings contain an @return line.
+        
+        @param docstringContext docstring context (Pep257Context)
+        @param context context of the docstring (Pep257Context)
+        """
+        if docstringContext is None or self.__isScript:
+            return
+        
+        if "@return" not in docstringContext.ssource():
+            tokens = list(
+                tokenize.generate_tokens(StringIO(context.ssource()).readline))
+            return_ = [tokens[i + 1][0] for i,  token in enumerate(tokens)
+                       if token[1] == "return"]
+            if (set(return_) -
+                    set([tokenize.COMMENT, tokenize.NL, tokenize.NEWLINE]) !=
+                    set([])):
+                self.__error(docstringContext.end(), 0, "D234")
+    
+    def __checkEricFunctionArguments(self, docstringContext, context):
+        """
+        Private method to check, that docstrings contain an @param line
+        for each argument.
+        
+        @param docstringContext docstring context (Pep257Context)
+        @param context context of the docstring (Pep257Context)
+        """
+        if docstringContext is None or self.__isScript:
+            return
+        
+        try:
+            tree = ast.parse(context.ssource())
+        except (SyntaxError, TypeError):
+            return
+        if (isinstance(tree, ast.Module) and len(tree.body) == 1 and
+                isinstance(tree.body[0], ast.FunctionDef)):
+            functionDef = tree.body[0]
+            argNames, kwNames = self.__getArgNames(functionDef)
+            if "self" in argNames:
+                argNames.remove("self")
+            if "cls" in argNames:
+                argNames.remove("cls")
+            
+            docstring = docstringContext.ssource()
+            if (docstring.count("@param") + docstring.count("@keyparam") < 
+                    len(argNames + kwNames)):
+                self.__error(docstringContext.end(), 0, "D235")
+            elif (docstring.count("@param") + docstring.count("@keyparam") > 
+                    len(argNames + kwNames)):
+                self.__error(docstringContext.end(), 0, "D236")
+            else:
+                # extract @param and @keyparam from docstring
+                args = []
+                kwargs = []
+                for line in docstringContext.source():
+                    if line.strip().startswith(("@param", "@keyparam")):
+                        at, name, _ = line.strip().split(None, 2)
+                        if at == "@keyparam":
+                            kwargs.append(name)
+                        args.append(name)
+                
+                # do the checks
+                for name in kwNames:
+                    if name not in kwargs:
+                        self.__error(docstringContext.end(), 0, "D237")
+                        return
+                if argNames + kwNames != args:
+                    self.__error(docstringContext.end(), 0, "D238")
+    
+    def __checkEricBlankAfterSummary(self, docstringContext, context):
+        """
         Private method to check, that docstring summaries are followed
         by a blank line.
         
@@ -780,12 +1060,71 @@
             return
         
         docstrings = docstringContext.source()
-        if len(docstrings) in [1, 3]:
+        if len(docstrings) <= 3:
             # correct/invalid one-liner
             return
         
-        if docstrings[-2].strip():
-            self.__error(docstringContext.end(), 0, "D145")
+        summaryLines, lineNumber = self.__getSummaryLines(docstringContext)
+        if len(docstrings) > lineNumber + len(summaryLines) - 1:
+            if docstrings[lineNumber + len(summaryLines)].strip():
+                self.__error(docstringContext.start() + lineNumber, 0, "D244")
+    
+    def __checkEricNoBlankBeforeAndAfterClass(self, docstringContext, context):
+        """
+        Private method to check, that class docstrings have no blank line
+        around them.
+        
+        @param docstringContext docstring context (Pep257Context)
+        @param context context of the docstring (Pep257Context)
+        """
+        if docstringContext is None:
+            return
+        
+        contextLines = context.source()
+        cti = 0
+        while cti < len(contextLines) and \
+            not contextLines[cti].strip().startswith(
+                ('"""', 'r"""', 'u"""', "'''", "r'''", "u'''")):
+            cti += 1
+        if cti == len(contextLines):
+            return
+        
+        start = cti
+        if contextLines[cti].strip() in (
+                '"""', 'r"""', 'u"""', "'''", "r'''", "u'''"):
+            # it is a multi line docstring
+            cti += 1
+        
+        while cti < len(contextLines) and \
+                not contextLines[cti].strip().endswith(('"""', "'''")):
+            cti += 1
+        end = cti
+        if cti == len(contextLines):
+            return
+        
+        if not contextLines[start - 1].strip():
+            self.__error(docstringContext.start(), 0, "D242")
+        if not contextLines[end + 1].strip():
+            self.__error(docstringContext.end(), 0, "D243")
+    
+    def __checkEricNBlankAfterLastParagraph(self, docstringContext, context):
+        """
+        Private method to check, that the last paragraph of docstrings is
+        not followed by a blank line.
+        
+        @param docstringContext docstring context (Pep257Context)
+        @param context context of the docstring (Pep257Context)
+        """
+        if docstringContext is None:
+            return
+        
+        docstrings = docstringContext.source()
+        if len(docstrings) <= 3:
+            # correct/invalid one-liner
+            return
+        
+        if not docstrings[-2].strip():
+            self.__error(docstringContext.end(), 0, "D245")
 
 #
 # eflag: FileType = Python2
--- a/UtilitiesPython2/Pep8Checker.py	Sun Sep 22 19:47:04 2013 +0200
+++ b/UtilitiesPython2/Pep8Checker.py	Mon Sep 23 19:32:25 2013 +0200
@@ -62,6 +62,7 @@
     filename = ""
     max_line_length = 79
     hang_closing = False
+    docType = "pep257"
     
     if "-f" not in sys.argv:
         print "ERROR"
@@ -69,7 +70,7 @@
         print "No file name given."
     else:
         try:
-            optlist, args = getopt.getopt(sys.argv[1:], "f:hi:m:rs:")
+            optlist, args = getopt.getopt(sys.argv[1:], "d:f:hi:m:rs:")
         except getopt.GetoptError:
             print "ERROR"
             print ""
@@ -93,6 +94,9 @@
                     pass
             elif opt == "-h":
                 hang_closing = True
+            elif opt == "-d":
+                if arg in ("pep257", "eric"):
+                    docType = arg
         
         try:
             source = readEncodedFile(filename)[0]
@@ -128,8 +132,8 @@
         
         # check PEP-257
         pep257Checker = Pep257Checker(
-            source, file, select, ignore, [], repeat,
-            maxLineLength=max_line_length)
+            source, filename, select, ignore, [], repeat,
+            maxLineLength=max_line_length, docType=docType)
         pep257Checker.run()
         
         
@@ -148,6 +152,7 @@
                 for a in args:
                     print a
             print "PEP8_STATISTICS"
+            # TODO: add statistics for D
             for key in report.counters:
                 if key.startswith(("E", "N", "W")):
                     print key, report.counters[key]
--- a/changelog	Sun Sep 22 19:47:04 2013 +0200
+++ b/changelog	Mon Sep 23 19:32:25 2013 +0200
@@ -21,6 +21,8 @@
 - Checkers
   -- PEP-8
      --- extended the PEP-8 checker and its fixer
+     --- added a checker for naming conventions
+     --- added a checker for docstring conventions
 - Editor
   -- added the capability to preview HTML, Mardown and ReST files
   -- added the capability to sort lines spanned by a rectangular selection
--- a/i18n/eric5_cs.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_cs.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -33090,105 +33090,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -33269,47 +33324,47 @@
         <translation type="unfinished">...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation type="unfinished">Soubor/Řádek</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation type="unfinished">Kód</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation type="unfinished">Zpráva</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation type="unfinished">Zobrazit</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation type="unfinished">Stisknout pro zobrazení všech souborů, které obsahují problém</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation type="unfinished">Žádné problémy nenalezeny.</translation>
     </message>
@@ -33349,12 +33404,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
         <source>Press to show some statistics for the last run</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33374,17 +33429,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33399,12 +33454,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33456,7 +33511,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -33464,10 +33519,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -33756,12 +33831,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation type="unfinished"></translation>
     </message>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_de.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -1943,8 +1944,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/Bookmarks/BookmarksMenu.py" line="139"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
     </message>
 </context>
 <context>
@@ -2180,8 +2181,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/Bookmarks/BookmarksToolBar.py" line="87"/>
-        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
     </message>
 </context>
 <context>
@@ -14895,8 +14896,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/HelpBrowserWV.py" line="1025"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../Helpviewer/HelpBrowserWV.py" line="1083"/>
@@ -31720,105 +31721,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation>Modul hat keinen Docstring</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation>Öffentliche Funktion/Methode hat keinen Docstring</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation>Private Funktion/Methode hat keinen Docstring</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation>Öffentliche Klasse hat keinen Docstring</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
-        <translation>Private Klasse hat keinen Docstring</translation>
+        <source>public function/method is missing a docstring</source>
+        <translation>Öffentliche Funktion/Methode hat keinen Docstring</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation>Docstring nicht durch &quot;&quot;&quot; eingeschlossen</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation>Docstring, der \ enthält, nicht durch r&quot;&quot;&quot; eingeschlossen</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
-        <translation>Docstring, der Unicode Zeichen enthält, nicht durch u&quot;&quot;&quot; eingeschlossen</translation>
+        <source>private function/method may be missing a docstring</source>
+        <translation>Private Funktion/Methode hat keinen Docstring</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation>Öffentliche Klasse hat keinen Docstring</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
+        <translation>Private Klasse hat keinen Docstring</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
-        <translation>einzeiliger Docstring über mehrere Zeilen</translation>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
+        <translation>Docstring nicht durch &quot;&quot;&quot; eingeschlossen</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
-        <translation>Docstring hat falsche Einrückung</translation>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
+        <translation>Docstring, der \ enthält, nicht durch r&quot;&quot;&quot; eingeschlossen</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation>Docstring, der Unicode Zeichen enthält, nicht durch u&quot;&quot;&quot; eingeschlossen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation>einzeiliger Docstring über mehrere Zeilen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation>Docstring hat falsche Einrückung</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation>Docstring Zusammenfassung endet nicht mit einem Punkt</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation>Docstring Zusammenfassung nicht im Imperativ (Tut anstelle Tue)</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation>Docstring Zusammenfassung scheint Funktion-/Methodensignatur zu sein</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation>Docstring Zusammenfassung nicht im Imperativ (Tut anstelle Tue)</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation>Docstring Zusammenfassung scheint Funktion-/Methodensignatur zu sein</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation>Docstring erwähnt nicht den Typ des Rückgabewertes</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation>Funktions-/Methodendocstring ist durch eine Leerzeile abgetrennt</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation>Klassendocstring hat keine führende Leerzeile</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation>Klassendocstring hat keine nachfolgende Leerzeile</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation>Docstring Zusammenfassung hat keine folgende Leerzeile</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation>letzter Abschnitt des Docstring hat keine folgende Leerzeile</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation>kein Schlüssel für diesen Code definiert</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation>Private Funktion/Methode hat keinen Docstring</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation>Private Klasse hat keinen Docstring</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation>einzeiliger Docstring nicht auf drei Zeilen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation>Docstring enthält keine @return Zeile</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation>Docstring enthält nicht genügend @param/@keyparam Zeilen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation>Docstring enthält zu viele @param/@keyparam Zeilen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation>&apos;keyword only&apos; Argumente müssen mit @keyparam Zeilen dokumentiert werden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation>Reihenfolge der @param/@keyparam Zeilen stimmt nicht mit der Funktions-/Methodensignatur überein</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation>Klassendocstring hat eine führende Leerzeile</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation>Klassendocstring hat eine nachfolgende Leerzeile</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation>letzter Abschnitt des Docstring hat eine folgende Leerzeile</translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -31899,47 +31955,47 @@
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation>Auswählen, um Wiederholungen eines Nachrichtentyps zuzulassen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation>Nachrichten wiederholen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation>Datei/Zeile</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation>Schlüssel</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation>Nachricht</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation>Zeige</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation>Drücken, um alle Dateien mit Problemen anzuzeigen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation>Fehler: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation>Keine Probleme gefunden.</translation>
     </message>
@@ -31979,12 +32035,12 @@
         <translation>Ausgewählte Nachrichten:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation>Statistik...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
         <source>Press to show some statistics for the last run</source>
         <translation>Drücken, um eine Statistik für den letzten Lauf zu zeigen</translation>
     </message>
@@ -32004,17 +32060,17 @@
         <translation>Geben Sie die Nachrichtenschlüssel für automatisch zu behebende Probleme ein (leer lassen, um alle zu beheben)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation>Auswählen, um ausgewählte Probleme zu beheben</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation>Probleme automatisch beheben</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation>Lösung: {0}</translation>
     </message>
@@ -32029,12 +32085,12 @@
         <translation>Gib die maximal zulässige Zeilenlänge ein (PEP-8: 79 Zeichen)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation>Auswählen, um hängende schließende Klammern zuzulassen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation>Hängende schließende Klammern zulassen</translation>
     </message>
@@ -32089,7 +32145,7 @@
         <translation>Drücken, um die Quelltextstil-Prüfung zu starten</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -32100,10 +32156,30 @@
 Zeile und Position.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation>Zeigt den Fortschritt der Quelltextstil-Prüfung an</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation>Docstring Typ:</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation>Wähle den Regelsatz für Docstrings</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation>PEP-257</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation>Eric</translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -32390,12 +32466,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation>Kein Python 2-Interpreter konfiguriert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation>Python 2-Interpreter wurde nicht innerhalb von 15s beendet.</translation>
     </message>
--- a/i18n/eric5_en.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_en.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -31565,105 +31565,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -31744,47 +31799,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31824,12 +31879,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
         <source>Press to show some statistics for the last run</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31849,17 +31904,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31874,12 +31929,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31931,7 +31986,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -31939,10 +31994,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -32229,12 +32304,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric5_es.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_es.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -31759,105 +31759,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation type="unfinished">no hay definido un mensaje para este código</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -31992,12 +32047,12 @@
         <translation>Introduzca códigos de mensaje o categorías a incluir separados por comas</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation>Seleccione para repetir cada tipo de mensaje</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation>Repetir mensajes</translation>
     </message>
@@ -32032,17 +32087,17 @@
 y se posicionará el cursor en la línea y posición adecuadas.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation>Archivo/Línea</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation>Código</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation>Mensaje</translation>
     </message>
@@ -32052,32 +32107,32 @@
         <translation type="obsolete">Muestra el progreso de la acción de validacion de PEP 8</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation>Mostrar</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation>Pulsar para mostrar todos los archivos con algún problema</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation>Error: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation>No se han encontrado problemas.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation>Estadísticas...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
         <source>Press to show some statistics for the last run</source>
         <translation>Pulse para mostrar algunas estadísticas de la última ejecución</translation>
     </message>
@@ -32097,17 +32152,17 @@
         <translation>Introduzca los códigos de mensaje de los problemas que se desea arreglar automáticamente (dejar en blanco para arreglar todos)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation>Seleccionar para arreglar algunos problemas</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation>Arreglar problemas automaticamente</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation>Arreglar: {0}</translation>
     </message>
@@ -32122,12 +32177,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -32179,7 +32234,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -32187,10 +32242,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -32492,12 +32567,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation>Intérprete de Python2 no configurado.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation>El intérprete de Python2 no terminó en un plazo de 15s.</translation>
     </message>
--- a/i18n/eric5_fr.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_fr.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -34317,105 +34317,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -34496,47 +34551,47 @@
         <translation type="unfinished">...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation type="unfinished">Fichier/ligne</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation type="unfinished">Code</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation type="unfinished">Message</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34576,12 +34631,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
         <source>Press to show some statistics for the last run</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34601,17 +34656,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34626,12 +34681,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34683,7 +34738,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -34691,10 +34746,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -34981,12 +35056,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric5_it.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_it.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -32859,105 +32859,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation type="unfinished">nessun messaggio definito per questo codice </translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -33147,22 +33202,22 @@
         <translation type="obsolete">Premi per pulire i problemi corretti</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation>Seleziona per ripetere ogni tipo di messaggio</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation>Ripetti messaggio</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation>Seleziona per correggere alcuni problemi</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation>Correggi automanticamente i problemi</translation>
     </message>
@@ -33178,17 +33233,17 @@
 alla riga e colonna corretta.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation>File/Linea</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation>Codice</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation>Messaggio</translation>
     </message>
@@ -33198,37 +33253,37 @@
         <translation type="obsolete">Mostra l&apos;avanzamenteo del controllo PEP 8</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation>Statistiche...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
-        <source>Press to show some statistics for the last run</source>
-        <translation>Premi per mostrare delle statistiche dell&apos;ultima esecuzione</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <source>Press to show some statistics for the last run</source>
+        <translation>Premi per mostrare delle statistiche dell&apos;ultima esecuzione</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation>Mostra</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation>Premi per mostrare tutti i file che contengono errori di sintassi</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation>Errore: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation>Corregge:{0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation>Nessun problema trovato.</translation>
     </message>
@@ -33243,12 +33298,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33300,7 +33355,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -33308,10 +33363,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -33613,12 +33688,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation>Interprete Python2 non configurato.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation>L&apos;interprete Python2 non ha finito entro i 15s.</translation>
     </message>
--- a/i18n/eric5_ru.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_ru.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -33021,105 +33021,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation type="unfinished">сообщение об ошибке не определено</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -33255,12 +33310,12 @@
         <translation type="obsolete">Очистить</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation>Повторять однотипные сообщения</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation>Повторять сообщения</translation>
     </message>
@@ -33276,17 +33331,17 @@
 на сообветствующую строчку.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation>Файл/Строка</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation>Код</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation>Сообщение</translation>
     </message>
@@ -33296,22 +33351,22 @@
         <translation type="obsolete">Отображает прогресс проверки синтаксиса на соответствие PEP 8</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation>Показать</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation>Показать все файлы, содержащие синтаксические ошибки</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation>Ошибка: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation>Синтаксисические ошибки не найдены.</translation>
     </message>
@@ -33351,12 +33406,12 @@
         <translation>Включить сообщения:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation>Статистика...</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
         <source>Press to show some statistics for the last run</source>
         <translation>Показать результаты последней проверки</translation>
     </message>
@@ -33381,17 +33436,17 @@
         <translation type="obsolete">Очистить</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation>Исправлять автоматически</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation>Исправлять автоматически</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation>Исправлено: {0}</translation>
     </message>
@@ -33406,12 +33461,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33463,7 +33518,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -33471,10 +33526,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -33778,12 +33853,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation>Интерпретатор Python2 не настроен.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation>Интерпретатор Python2 не завершился в течение 15 секунд.</translation>
     </message>
--- a/i18n/eric5_tr.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_tr.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -32925,105 +32925,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -33154,72 +33209,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation>Dosya/Satır</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation>Kod</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation>Mesaj</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
-        <source>Press to show some statistics for the last run</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <source>Press to show some statistics for the last run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation>Göster</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation>Hata: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation>Sorun bulunamadı.</translation>
     </message>
@@ -33234,12 +33289,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33291,7 +33346,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -33299,10 +33354,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -33589,12 +33664,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation>Python2 yorumlayıcı ayarlanmadı.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation>Python2 yorumlayıcı 15 s. de bitmedi.</translation>
     </message>
--- a/i18n/eric5_zh_CN.GB2312.ts	Sun Sep 22 19:47:04 2013 +0200
+++ b/i18n/eric5_zh_CN.GB2312.ts	Mon Sep 23 19:32:25 2013 +0200
@@ -34250,105 +34250,160 @@
 <context>
     <name>Pep257Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="114"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="116"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="118"/>
-        <source>private function/method may be missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="121"/>
-        <source>public class is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="123"/>
-        <source>private class may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="125"/>
-        <source>docstring not surrounded by &quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="127"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="129"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="128"/>
+        <source>public class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="130"/>
+        <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="132"/>
-        <source>one-liner docstring on multiple lines</source>
+        <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="134"/>
-        <source>docstring has wrong indentation</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="136"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="139"/>
+        <source>one-liner docstring on multiple lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="141"/>
+        <source>docstring has wrong indentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="177"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="138"/>
-        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="142"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="145"/>
+        <source>docstring summary is not in imperative mood (Does instead of Do)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="149"/>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="152"/>
         <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="155"/>
         <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="158"/>
         <source>class docstring is not preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="154"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="161"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="157"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="197"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="160"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="167"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="380"/>
         <source>no message for this code defined</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="171"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="173"/>
+        <source>private class is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="175"/>
+        <source>one-liner docstring not on three lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="179"/>
+        <source>docstring does not contain a @return line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="181"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="184"/>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="187"/>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="190"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="193"/>
+        <source>class docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="195"/>
+        <source>class docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep257Checker.py" line="200"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8CheckerPlugin</name>
@@ -34429,47 +34484,47 @@
         <translation type="unfinished">……</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="327"/>
         <source>Select to repeat each message type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="299"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="330"/>
         <source>Repeat messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="353"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="405"/>
         <source>File/Line</source>
         <translation type="unfinished">文件/行</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="358"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="410"/>
         <source>Code</source>
         <translation type="unfinished">代码</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="415"/>
         <source>Message</source>
         <translation type="unfinished">消息</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="99"/>
         <source>Show</source>
         <translation type="unfinished">显示</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="98"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="101"/>
         <source>Press to show all files containing an issue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="380"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="389"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="513"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="524"/>
         <source>No issues found.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34509,12 +34564,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="94"/>
         <source>Statistics...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="93"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="96"/>
         <source>Press to show some statistics for the last run</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34534,17 +34589,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="309"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="340"/>
         <source>Select to fix some issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="343"/>
         <source>Fix issues automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="839"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="858"/>
         <source>Fix: {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34559,12 +34614,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="269"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="300"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="303"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
@@ -34616,7 +34671,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="337"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="389"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -34624,10 +34679,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="371"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="423"/>
         <source>Shows the progress of the style check check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="267"/>
+        <source>Docstring Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.ui" line="276"/>
+        <source>Select the rule set for docstrings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="91"/>
+        <source>PEP-257</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Dialog.py" line="92"/>
+        <source>Eric</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Pep8Fixer</name>
@@ -34912,12 +34987,12 @@
 <context>
     <name>Pep8Py2Checker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="50"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="54"/>
         <source>Python2 interpreter not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="120"/>
+        <location filename="../Plugins/CheckerPlugins/Pep8/Pep8Checker.py" line="126"/>
         <source>Python2 interpreter did not finish within 15s.</source>
         <translation type="unfinished"></translation>
     </message>

eric ide

mercurial