Merged with default branch. multi_processing

Sat, 15 Feb 2020 12:13:52 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 15 Feb 2020 12:13:52 +0100
branch
multi_processing
changeset 7415
e953b2a449a9
parent 7412
0a995393d2ba (current diff)
parent 7414
d02ed92ef3b2 (diff)
child 7416
6f899e82f9a2

Merged with default branch.

eric6/DebugClients/Python/DebugClientBase.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/ThreadExtension.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugUI.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Shell.py file | annotate | diff | comparison | revisions
--- a/docs/changelog	Fri Feb 14 19:52:37 2020 +0100
+++ b/docs/changelog	Sat Feb 15 12:13:52 2020 +0100
@@ -2,6 +2,12 @@
 ----------
 Version 20.3:
 - bug fixes
+- Debugger
+  -- added debugging support for QRunable
+- Mercurial Interface
+  -- added support for the '--secure' flag of hg import as of Mercurial 5.3
+- Syntax Checker
+  -- updated pyflakes to repository as of 2020-02-03
 
 Version 20.2:
 - bug fixes
--- a/eric6/APIs/Python3/eric6.api	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/APIs/Python3/eric6.api	Sat Feb 15 12:13:52 2020 +0100
@@ -384,6 +384,7 @@
 eric6.DebugClients.Python.PyProfile.PyProfile.trace_dispatch_call?4(frame, t)
 eric6.DebugClients.Python.PyProfile.PyProfile?1(basename, timer=None, bias=None)
 eric6.DebugClients.Python.ThreadExtension.DummyThreadWrapper?1(*args, **kwargs)
+eric6.DebugClients.Python.ThreadExtension.QRunnableWrapper?1(*args, **kwargs)
 eric6.DebugClients.Python.ThreadExtension.QThreadWrapper?1(*args, **kwargs)
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension._bootstrap?5(run)
 eric6.DebugClients.Python.ThreadExtension.ThreadExtension._bootstrapQThread?5(run)
@@ -4635,7 +4636,7 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.HgGraftDialog.HgGraftDialog?1(vcs, revs=None, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgImportDialog.HgImportDialog.getParameters?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.HgImportDialog.HgImportDialog.on_patchFilePicker_textChanged?4(txt)
-eric6.Plugins.VcsPlugins.vcsMercurial.HgImportDialog.HgImportDialog?1(parent=None)
+eric6.Plugins.VcsPlugins.vcsMercurial.HgImportDialog.HgImportDialog?1(vcs, parent=None)
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.COLORNAMES?7
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.COLORS?7
 eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.HgLogBrowserDialog.AuthorColumn?7
@@ -9109,9 +9110,11 @@
 eric6.Utilities.ModuleParser.Module.scan?4(src)
 eric6.Utilities.ModuleParser.Module?1(name, file=None, moduleType=None)
 eric6.Utilities.ModuleParser.PTL_SOURCE?7
+eric6.Utilities.ModuleParser.PY_SOURCE?7
 eric6.Utilities.ModuleParser.RB_SOURCE?7
 eric6.Utilities.ModuleParser.RbModule.addClass?4(name, _class)
 eric6.Utilities.ModuleParser.RbModule?1(module, name, file, lineno)
+eric6.Utilities.ModuleParser.SEARCH_ERROR?7
 eric6.Utilities.ModuleParser.SUPPORTED_TYPES?7
 eric6.Utilities.ModuleParser.TABWIDTH?7
 eric6.Utilities.ModuleParser.TYPE_MAPPING?7
--- a/eric6/APIs/Python3/eric6.bas	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/APIs/Python3/eric6.bas	Sat Feb 15 12:13:52 2020 +0100
@@ -750,6 +750,7 @@
 QRegularExpressionWizardRepeatDialog QDialog Ui_QRegularExpressionWizardRepeatDialog
 QRegularExpressionWizardWidget QWidget Ui_QRegularExpressionWizardDialog
 QRegularExpressionWizardWindow E5MainWindow
+QRunnableWrapper module.QRunnable
 QThreadWrapper module.QThread
 QsciScintillaCompat QsciScintilla
 QtHelpDocumentationDialog QDialog Ui_QtHelpDocumentationDialog
--- a/eric6/DebugClients/Python/ThreadExtension.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/DebugClients/Python/ThreadExtension.py	Sat Feb 15 12:13:52 2020 +0100
@@ -406,9 +406,26 @@
                 
                 super(QThreadWrapper, self).__init__(*args, **kwargs)
         
+        class QRunnableWrapper(module.QRunnable):
+            """
+            Wrapper class for *.QRunnable.
+            """
+            def __init__(self, *args, **kwargs):
+                """
+                Constructor
+                """
+                # Overwrite the provided run method with our own, to
+                # intercept the thread creation by Qt
+                self.run = lambda s=self, run=self.run: (
+                    _bootstrapQThread(s, run))
+                
+                super(QRunnableWrapper, self).__init__(*args, **kwargs)
+        
         module.QThread = QThreadWrapper
-    
-    # TODO: add support for QRunnable
+        module.QRunnable = QRunnableWrapper
+        
+        self.enableImportHooks = True
+        return module
 
 #
 # eflag: noqa = M702
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Documentation/Help/source.qhp	Sat Feb 15 12:13:52 2020 +0100
@@ -11981,6 +11981,8 @@
       <keyword name="QRegularExpressionWizardWindow" id="QRegularExpressionWizardWindow" ref="eric6.Plugins.WizardPlugins.QRegularExpressionWizard.QRegularExpressionWizardDialog.html#QRegularExpressionWizardWindow" />
       <keyword name="QRegularExpressionWizardWindow (Constructor)" id="QRegularExpressionWizardWindow (Constructor)" ref="eric6.Plugins.WizardPlugins.QRegularExpressionWizard.QRegularExpressionWizardDialog.html#QRegularExpressionWizardWindow.__init__" />
       <keyword name="QRegularExpressionWizardWindow.closeEvent" id="QRegularExpressionWizardWindow.closeEvent" ref="eric6.Plugins.WizardPlugins.QRegularExpressionWizard.QRegularExpressionWizardDialog.html#QRegularExpressionWizardWindow.closeEvent" />
+      <keyword name="QRunnableWrapper" id="QRunnableWrapper" ref="eric6.DebugClients.Python.ThreadExtension.html#QRunnableWrapper" />
+      <keyword name="QRunnableWrapper (Constructor)" id="QRunnableWrapper (Constructor)" ref="eric6.DebugClients.Python.ThreadExtension.html#QRunnableWrapper.__init__" />
       <keyword name="QSCINTILLA_VERSION" id="QSCINTILLA_VERSION" ref="eric6.QScintilla.QsciScintillaCompat.html#QSCINTILLA_VERSION" />
       <keyword name="QScintilla (Package)" id="QScintilla (Package)" ref="index-eric6.QScintilla.html" />
       <keyword name="QThreadWrapper" id="QThreadWrapper" ref="eric6.DebugClients.Python.ThreadExtension.html#QThreadWrapper" />
@@ -12743,6 +12745,7 @@
       <keyword name="Shell.__configure" id="Shell.__configure" ref="eric6.QScintilla.Shell.html#Shell.__configure" />
       <keyword name="Shell.__executeCommand" id="Shell.__executeCommand" ref="eric6.QScintilla.Shell.html#Shell.__executeCommand" />
       <keyword name="Shell.__find" id="Shell.__find" ref="eric6.QScintilla.Shell.html#Shell.__find" />
+      <keyword name="Shell.__flushQueuedText" id="Shell.__flushQueuedText" ref="eric6.QScintilla.Shell.html#Shell.__flushQueuedText" />
       <keyword name="Shell.__getBanner" id="Shell.__getBanner" ref="eric6.QScintilla.Shell.html#Shell.__getBanner" />
       <keyword name="Shell.__getEndPos" id="Shell.__getEndPos" ref="eric6.QScintilla.Shell.html#Shell.__getEndPos" />
       <keyword name="Shell.__indentLength" id="Shell.__indentLength" ref="eric6.QScintilla.Shell.html#Shell.__indentLength" />
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html	Sat Feb 15 12:13:52 2020 +0100
@@ -39,6 +39,10 @@
 <td>Wrapper class for threading._DummyThread.</td>
 </tr>
 <tr>
+<td><a href="#QRunnableWrapper">QRunnableWrapper</a></td>
+<td>Wrapper class for *.QRunnable.</td>
+</tr>
+<tr>
 <td><a href="#QThreadWrapper">QThreadWrapper</a></td>
 <td>Wrapper class for *.QThread.</td>
 </tr>
@@ -105,6 +109,49 @@
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 <hr />
+<a NAME="QRunnableWrapper" ID="QRunnableWrapper"></a>
+<h2>QRunnableWrapper</h2>
+
+<p>
+                Wrapper class for *.QRunnable.
+</p>
+<h3>Derived from</h3>
+module.QRunnable
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#QRunnableWrapper.__init__">QRunnableWrapper</a></td>
+<td>Constructor</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="QRunnableWrapper.__init__" ID="QRunnableWrapper.__init__"></a>
+<h4>QRunnableWrapper (Constructor)</h4>
+<b>QRunnableWrapper</b>(<i>*args, **kwargs</i>)
+
+<p>
+                    Constructor
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
 <a NAME="QThreadWrapper" ID="QThreadWrapper"></a>
 <h2>QThreadWrapper</h2>
 
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgImportDialog.html	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgImportDialog.html	Sat Feb 15 12:13:52 2020 +0100
@@ -93,16 +93,20 @@
 
 <a NAME="HgImportDialog.__init__" ID="HgImportDialog.__init__"></a>
 <h4>HgImportDialog (Constructor)</h4>
-<b>HgImportDialog</b>(<i>parent=None</i>)
+<b>HgImportDialog</b>(<i>vcs, parent=None</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
-<dt><i>parent</i></dt>
+<dt><i>vcs</i> (Hg)</dt>
 <dd>
-reference to the parent widget (QWidget)
+reference to the VCS object
+</dd>
+<dt><i>parent</i> (QWidget)</dt>
+<dd>
+reference to the parent widget
 </dd>
 </dl>
 <a NAME="HgImportDialog.__updateOK" ID="HgImportDialog.__updateOK"></a>
@@ -123,9 +127,15 @@
 <dt>Returns:</dt>
 <dd>
 tuple naming the patch file, a flag indicating to not commit,
-            a commit message, a commit date, a commit user, a strip count and
-            a flag indicating to enforce the import
-            (string, boolean, string, string, string, integer, boolean)
+            a commit message, a commit date, a commit user, a flag indicating
+            to commit with the secret phase, a strip count and a flag
+            indicating to enforce the import
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (str, bool, str, str, str, bool, int, bool)
 </dd>
 </dl>
 <a NAME="HgImportDialog.on_patchFilePicker_textChanged" ID="HgImportDialog.on_patchFilePicker_textChanged"></a>
--- a/eric6/Documentation/Source/eric6.QScintilla.Shell.html	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Documentation/Source/eric6.QScintilla.Shell.html	Sat Feb 15 12:13:52 2020 +0100
@@ -272,6 +272,10 @@
 <td>Private slot to show the find widget.</td>
 </tr>
 <tr>
+<td><a href="#Shell.__flushQueuedText">__flushQueuedText</a></td>
+<td>Private slot to flush the accumulated text output.</td>
+</tr>
+<tr>
 <td><a href="#Shell.__getBanner">__getBanner</a></td>
 <td>Private method to get the banner for the remote interpreter.</td>
 </tr>
@@ -1112,6 +1116,13 @@
 <p>
         Private slot to show the find widget.
 </p>
+<a NAME="Shell.__flushQueuedText" ID="Shell.__flushQueuedText"></a>
+<h4>Shell.__flushQueuedText</h4>
+<b>__flushQueuedText</b>(<i></i>)
+
+<p>
+        Private slot to flush the accumulated text output.
+</p>
 <a NAME="Shell.__getBanner" ID="Shell.__getBanner"></a>
 <h4>Shell.__getBanner</h4>
 <b>__getBanner</b>(<i></i>)
@@ -1281,20 +1292,20 @@
 </p>
 <a NAME="Shell.__raw_input" ID="Shell.__raw_input"></a>
 <h4>Shell.__raw_input</h4>
-<b>__raw_input</b>(<i>s, echo</i>)
+<b>__raw_input</b>(<i>prompt, echo</i>)
 
 <p>
         Private method to handle raw input.
 </p>
 <dl>
 
-<dt><i>s</i></dt>
+<dt><i>prompt</i> (str)</dt>
 <dd>
-prompt to be displayed (string)
+prompt to be displayed
 </dd>
-<dt><i>echo</i></dt>
+<dt><i>echo</i> (bool)</dt>
 <dd>
-Flag indicating echoing of the input (boolean)
+Flag indicating echoing of the input
 </dd>
 </dl>
 <a NAME="Shell.__resetIncrementalHistorySearch" ID="Shell.__resetIncrementalHistorySearch"></a>
--- a/eric6/Documentation/Source/eric6.Utilities.ModuleParser.html	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Utilities.ModuleParser.html	Sat Feb 15 12:13:52 2020 +0100
@@ -39,7 +39,7 @@
 <h3>Global Attributes</h3>
 
 <table>
-<tr><td>PTL_SOURCE</td></tr><tr><td>RB_SOURCE</td></tr><tr><td>SUPPORTED_TYPES</td></tr><tr><td>TABWIDTH</td></tr><tr><td>TYPE_MAPPING</td></tr><tr><td>__all__</td></tr><tr><td>_commentsub</td></tr><tr><td>_hashsub</td></tr><tr><td>_modules</td></tr><tr><td>_py_getnext</td></tr><tr><td>_rb_getnext</td></tr>
+<tr><td>PTL_SOURCE</td></tr><tr><td>PY_SOURCE</td></tr><tr><td>RB_SOURCE</td></tr><tr><td>SEARCH_ERROR</td></tr><tr><td>SUPPORTED_TYPES</td></tr><tr><td>TABWIDTH</td></tr><tr><td>TYPE_MAPPING</td></tr><tr><td>__all__</td></tr><tr><td>_commentsub</td></tr><tr><td>_hashsub</td></tr><tr><td>_modules</td></tr><tr><td>_py_getnext</td></tr><tr><td>_rb_getnext</td></tr>
 </table>
 <h3>Classes</h3>
 
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/__init__.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/__init__.py	Sat Feb 15 12:13:52 2020 +0100
@@ -34,7 +34,7 @@
 __version__ = '2.1.1+'
 
 """
-pyflakes repository date: 2019-07-09.
+pyflakes repository date: 2020-02-03.
 """
 
 """ Changes
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/checker.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/checker.py	Sat Feb 15 12:13:52 2020 +0100
@@ -19,6 +19,7 @@
 import functools
 import os
 import re
+import string
 import sys
 import tokenize
 
@@ -36,6 +37,8 @@
 
 builtin_vars = dir(__import__('__builtin__' if PY2 else 'builtins'))
 
+parse_format_string = string.Formatter().parse
+
 if PY2:
     tokenize_tokenize = tokenize.generate_tokens
 else:
@@ -76,18 +79,103 @@
 if PY35_PLUS:
     FOR_TYPES = (ast.For, ast.AsyncFor)
     LOOP_TYPES = (ast.While, ast.For, ast.AsyncFor)
+    FUNCTION_TYPES = (ast.FunctionDef, ast.AsyncFunctionDef)
 else:
     FOR_TYPES = (ast.For,)
     LOOP_TYPES = (ast.While, ast.For)
+    FUNCTION_TYPES = (ast.FunctionDef,)
 
-# https://github.com/python/typed_ast/blob/55420396/ast27/Parser/tokenizer.c#L102-L104
+# https://github.com/python/typed_ast/blob/1.4.0/ast27/Parser/tokenizer.c#L102-L104
 TYPE_COMMENT_RE = re.compile(r'^#\s*type:\s*')
-# https://github.com/python/typed_ast/blob/55420396/ast27/Parser/tokenizer.c#L1400
-TYPE_IGNORE_RE = re.compile(TYPE_COMMENT_RE.pattern + r'ignore\s*(#|$)')
-# https://github.com/python/typed_ast/blob/55420396/ast27/Grammar/Grammar#L147
+# https://github.com/python/typed_ast/blob/1.4.0/ast27/Parser/tokenizer.c#L1408-L1413
+ASCII_NON_ALNUM = ''.join([chr(i) for i in range(128) if not chr(i).isalnum()])
+TYPE_IGNORE_RE = re.compile(
+    TYPE_COMMENT_RE.pattern + r'ignore([{}]|$)'.format(ASCII_NON_ALNUM))
+# https://github.com/python/typed_ast/blob/1.4.0/ast27/Grammar/Grammar#L147
 TYPE_FUNC_RE = re.compile(r'^(\(.*?\))\s*->\s*(.*)$')
 
 
+MAPPING_KEY_RE = re.compile(r'\(([^()]*)\)')
+CONVERSION_FLAG_RE = re.compile('[#0+ -]*')
+WIDTH_RE = re.compile(r'(?:\*|\d*)')
+PRECISION_RE = re.compile(r'(?:\.(?:\*|\d*))?')
+LENGTH_RE = re.compile('[hlL]?')
+# https://docs.python.org/3/library/stdtypes.html#old-string-formatting
+VALID_CONVERSIONS = frozenset('diouxXeEfFgGcrsa%')
+
+
+def _must_match(regex, string, pos):
+    # type: (Pattern[str], str, int) -> Match[str]
+    match = regex.match(string, pos)
+    assert match is not None
+    return match
+
+
+def parse_percent_format(s):  # type: (str) -> Tuple[PercentFormat, ...]
+    """Parses the string component of a `'...' % ...` format call
+
+    Copied from https://github.com/asottile/pyupgrade at v1.20.1
+    """
+
+    def _parse_inner():
+        # type: () -> Generator[PercentFormat, None, None]
+        string_start = 0
+        string_end = 0
+        in_fmt = False
+
+        i = 0
+        while i < len(s):
+            if not in_fmt:
+                try:
+                    i = s.index('%', i)
+                except ValueError:  # no more % fields!
+                    yield s[string_start:], None
+                    return
+                else:
+                    string_end = i
+                    i += 1
+                    in_fmt = True
+            else:
+                key_match = MAPPING_KEY_RE.match(s, i)
+                if key_match:
+                    key = key_match.group(1)  # type: Optional[str]
+                    i = key_match.end()
+                else:
+                    key = None
+
+                conversion_flag_match = _must_match(CONVERSION_FLAG_RE, s, i)
+                conversion_flag = conversion_flag_match.group() or None
+                i = conversion_flag_match.end()
+
+                width_match = _must_match(WIDTH_RE, s, i)
+                width = width_match.group() or None
+                i = width_match.end()
+
+                precision_match = _must_match(PRECISION_RE, s, i)
+                precision = precision_match.group() or None
+                i = precision_match.end()
+
+                # length modifier is ignored
+                i = _must_match(LENGTH_RE, s, i).end()
+
+                try:
+                    conversion = s[i]
+                except IndexError:
+                    raise ValueError('end-of-string while parsing format')
+                i += 1
+
+                fmt = (key, conversion_flag, width, precision, conversion)
+                yield s[string_start:string_end], fmt
+
+                in_fmt = False
+                string_start = i
+
+        if in_fmt:
+            raise ValueError('end-of-string while parsing format')
+
+    return tuple(_parse_inner())
+
+
 class _FieldsOrder(dict):
     """Fix order of AST node fields."""
 
@@ -543,11 +631,13 @@
             if name in scope:
                 return (
                     isinstance(scope[name], ImportationFrom) and
-                    scope[name].fullName == 'typing.overload'
+                    scope[name].fullName in (
+                        'typing.overload', 'typing_extensions.overload',
+                    )
                 )
-        else:
-            return False
-    
+
+        return False
+
     def is_typing_overload_decorator(node):
         return (
             (
@@ -561,7 +651,7 @@
         )
 
     return (
-        isinstance(value.source, ast.FunctionDef) and
+        isinstance(value.source, FUNCTION_TYPES) and
         any(
             is_typing_overload_decorator(dec)
             for dec in value.source.decorator_list
@@ -829,22 +919,31 @@
     def getParent(self, node):
         # Lookup the first parent which is not Tuple, List or Starred
         while True:
-            node = node.parent
+            node = node._pyflakes_parent
             if not hasattr(node, 'elts') and not hasattr(node, 'ctx'):
                 return node
 
     def getCommonAncestor(self, lnode, rnode, stop):
-        if stop in (lnode, rnode) or not (hasattr(lnode, 'parent') and
-                                          hasattr(rnode, 'parent')):
+        if (
+                stop in (lnode, rnode) or
+                not (
+                    hasattr(lnode, '_pyflakes_parent') and
+                    hasattr(rnode, '_pyflakes_parent')
+                )
+        ):
             return None
         if lnode is rnode:
             return lnode
 
-        if (lnode.depth > rnode.depth):
-            return self.getCommonAncestor(lnode.parent, rnode, stop)
-        if (lnode.depth < rnode.depth):
-            return self.getCommonAncestor(lnode, rnode.parent, stop)
-        return self.getCommonAncestor(lnode.parent, rnode.parent, stop)
+        if (lnode._pyflakes_depth > rnode._pyflakes_depth):
+            return self.getCommonAncestor(lnode._pyflakes_parent, rnode, stop)
+        if (lnode._pyflakes_depth < rnode._pyflakes_depth):
+            return self.getCommonAncestor(lnode, rnode._pyflakes_parent, stop)
+        return self.getCommonAncestor(
+            lnode._pyflakes_parent,
+            rnode._pyflakes_parent,
+            stop,
+        )
 
     def descendantOf(self, node, ancestors, stop):
         for a in ancestors:
@@ -882,7 +981,7 @@
         - `node` is the statement responsible for the change
         - `value` is the new value, a Binding instance
         """
-        # assert value.source in (node, node.parent):
+        # assert value.source in (node, node._pyflakes_parent):
         for scope in self.scopeStack[::-1]:
             if value.name in scope:
                 break
@@ -1021,11 +1120,11 @@
 
         parent_stmt = self.getParent(node)
         if isinstance(parent_stmt, (FOR_TYPES, ast.comprehension)) or (
-                parent_stmt != node.parent and
+                parent_stmt != node._pyflakes_parent and
                 not self.isLiteralTupleUnpacking(parent_stmt)):
             binding = Binding(name, node)
         elif name == '__all__' and isinstance(self.scope, ModuleScope):
-            binding = ExportBinding(name, node.parent, self.scope)
+            binding = ExportBinding(name, node._pyflakes_parent, self.scope)
         elif isinstance(getattr(node, 'ctx', None), ast.Param):
             binding = Argument(name, self.getScopeNode(node))
         else:
@@ -1038,11 +1137,11 @@
             """
             Return `True` if node is part of a conditional body.
             """
-            current = getattr(node, 'parent', None)
+            current = getattr(node, '_pyflakes_parent', None)
             while current:
                 if isinstance(current, (ast.If, ast.While, ast.IfExp)):
                     return True
-                current = getattr(current, 'parent', None)
+                current = getattr(current, '_pyflakes_parent', None)
             return False
 
         name = getNodeName(node)
@@ -1129,8 +1228,8 @@
                                         self.isDocstring(node)):
             self.futuresAllowed = False
         self.nodeDepth += 1
-        node.depth = self.nodeDepth
-        node.parent = parent
+        node._pyflakes_depth = self.nodeDepth
+        node._pyflakes_parent = parent
         try:
             handler = self.getNodeHandler(node.__class__)
             handler(node)
@@ -1239,9 +1338,249 @@
     PASS = ignore
 
     # "expr" type nodes
-    BOOLOP = BINOP = UNARYOP = IFEXP = SET = \
-        CALL = REPR = ATTRIBUTE = SUBSCRIPT = \
-        STARRED = NAMECONSTANT = handleChildren
+    BOOLOP = UNARYOP = IFEXP = SET = \
+        REPR = ATTRIBUTE = SUBSCRIPT = \
+        STARRED = NAMECONSTANT = NAMEDEXPR = handleChildren
+
+    def _handle_string_dot_format(self, node):
+        try:
+            placeholders = tuple(parse_format_string(node.func.value.s))
+        except ValueError as e:
+            self.report(messages.StringDotFormatInvalidFormat, node, e)
+            return
+
+        class state:  # py2-compatible `nonlocal`
+            auto = None
+            next_auto = 0
+
+        placeholder_positional = set()
+        placeholder_named = set()
+
+        def _add_key(fmtkey):
+            """Returns True if there is an error which should early-exit"""
+            if fmtkey is None:  # end of string or `{` / `}` escapes
+                return False
+
+            # attributes / indices are allowed in `.format(...)`
+            fmtkey, _, _ = fmtkey.partition('.')
+            fmtkey, _, _ = fmtkey.partition('[')
+
+            try:
+                fmtkey = int(fmtkey)
+            except ValueError:
+                pass
+            else:  # fmtkey was an integer
+                if state.auto is True:
+                    self.report(messages.StringDotFormatMixingAutomatic, node)
+                    return True
+                else:
+                    state.auto = False
+
+            if fmtkey == '':
+                if state.auto is False:
+                    self.report(messages.StringDotFormatMixingAutomatic, node)
+                    return True
+                else:
+                    state.auto = True
+
+                fmtkey = state.next_auto
+                state.next_auto += 1
+
+            if isinstance(fmtkey, int):
+                placeholder_positional.add(fmtkey)
+            else:
+                placeholder_named.add(fmtkey)
+
+            return False
+
+        for _, fmtkey, spec, _ in placeholders:
+            if _add_key(fmtkey):
+                return
+
+            # spec can also contain format specifiers
+            if spec is not None:
+                try:
+                    spec_placeholders = tuple(parse_format_string(spec))
+                except ValueError as e:
+                    self.report(messages.StringDotFormatInvalidFormat, node, e)
+                    return
+
+                for _, spec_fmtkey, spec_spec, _ in spec_placeholders:
+                    # can't recurse again
+                    if spec_spec is not None and '{' in spec_spec:
+                        self.report(
+                            messages.StringDotFormatInvalidFormat,
+                            node,
+                            'Max string recursion exceeded',
+                        )
+                        return
+                    if _add_key(spec_fmtkey):
+                        return
+
+        # bail early if there is *args or **kwargs
+        if (
+                # python 2.x *args / **kwargs
+                getattr(node, 'starargs', None) or
+                getattr(node, 'kwargs', None) or
+                # python 3.x *args
+                any(
+                    isinstance(arg, getattr(ast, 'Starred', ()))
+                    for arg in node.args
+                ) or
+                # python 3.x **kwargs
+                any(kwd.arg is None for kwd in node.keywords)
+        ):
+            return
+
+        substitution_positional = set(range(len(node.args)))
+        substitution_named = {kwd.arg for kwd in node.keywords}
+
+        extra_positional = substitution_positional - placeholder_positional
+        extra_named = substitution_named - placeholder_named
+
+        missing_arguments = (
+            (placeholder_positional | placeholder_named) -
+            (substitution_positional | substitution_named)
+        )
+
+        if extra_positional:
+            self.report(
+                messages.StringDotFormatExtraPositionalArguments,
+                node,
+                ', '.join(sorted(str(x) for x in extra_positional)),
+            )
+        if extra_named:
+            self.report(
+                messages.StringDotFormatExtraNamedArguments,
+                node,
+                ', '.join(sorted(extra_named)),
+            )
+        if missing_arguments:
+            self.report(
+                messages.StringDotFormatMissingArgument,
+                node,
+                ', '.join(sorted(str(x) for x in missing_arguments)),
+            )
+
+    def CALL(self, node):
+        if (
+                isinstance(node.func, ast.Attribute) and
+                isinstance(node.func.value, ast.Str) and
+                node.func.attr == 'format'
+        ):
+            self._handle_string_dot_format(node)
+        self.handleChildren(node)
+
+    def _handle_percent_format(self, node):
+        try:
+            placeholders = parse_percent_format(node.left.s)
+        except ValueError:
+            self.report(
+                messages.PercentFormatInvalidFormat,
+                node,
+                'incomplete format',
+            )
+            return
+
+        named = set()
+        positional_count = 0
+        positional = None
+        for _, placeholder in placeholders:
+            if placeholder is None:
+                continue
+            name, _, width, precision, conversion = placeholder
+
+            if conversion == '%':
+                continue
+
+            if conversion not in VALID_CONVERSIONS:
+                self.report(
+                    messages.PercentFormatUnsupportedFormatCharacter,
+                    node,
+                    conversion,
+                )
+
+            if positional is None and conversion:
+                positional = name is None
+
+            for part in (width, precision):
+                if part is not None and '*' in part:
+                    if not positional:
+                        self.report(
+                            messages.PercentFormatStarRequiresSequence,
+                            node,
+                        )
+                    else:
+                        positional_count += 1
+
+            if positional and name is not None:
+                self.report(
+                    messages.PercentFormatMixedPositionalAndNamed,
+                    node,
+                )
+                return
+            elif not positional and name is None:
+                self.report(
+                    messages.PercentFormatMixedPositionalAndNamed,
+                    node,
+                )
+                return
+
+            if positional:
+                positional_count += 1
+            else:
+                named.add(name)
+
+        if (
+                isinstance(node.right, (ast.List, ast.Tuple)) and
+                # does not have any *splats (py35+ feature)
+                not any(
+                    isinstance(elt, getattr(ast, 'Starred', ()))
+                    for elt in node.right.elts
+                )
+        ):
+            substitution_count = len(node.right.elts)
+            if positional and positional_count != substitution_count:
+                self.report(
+                    messages.PercentFormatPositionalCountMismatch,
+                    node,
+                    positional_count,
+                    substitution_count,
+                )
+            elif not positional:
+                self.report(messages.PercentFormatExpectedMapping, node)
+
+        if (
+                isinstance(node.right, ast.Dict) and
+                all(isinstance(k, ast.Str) for k in node.right.keys)
+        ):
+            if positional and positional_count > 1:
+                self.report(messages.PercentFormatExpectedSequence, node)
+                return
+
+            substitution_keys = {k.s for k in node.right.keys}
+            extra_keys = substitution_keys - named
+            missing_keys = named - substitution_keys
+            if not positional and extra_keys:
+                self.report(
+                    messages.PercentFormatExtraNamedArguments,
+                    node,
+                    ', '.join(sorted(extra_keys)),
+                )
+            if not positional and missing_keys:
+                self.report(
+                    messages.PercentFormatMissingArgument,
+                    node,
+                    ', '.join(sorted(missing_keys)),
+                )
+
+    def BINOP(self, node):
+        if (
+                isinstance(node.op, ast.Mod) and
+                isinstance(node.left, ast.Str)
+        ):
+            self._handle_percent_format(node)
+        self.handleChildren(node)
 
     NUM = STR = BYTES = ELLIPSIS = CONSTANT = ignore
 
@@ -1271,7 +1610,24 @@
             self.report(messages.RaiseNotImplemented, node)
 
     # additional node types
-    COMPREHENSION = KEYWORD = FORMATTEDVALUE = JOINEDSTR = handleChildren
+    COMPREHENSION = KEYWORD = FORMATTEDVALUE = handleChildren
+
+    _in_fstring = False
+
+    def JOINEDSTR(self, node):
+        if (
+                # the conversion / etc. flags are parsed as f-strings without
+                # placeholders
+                not self._in_fstring and
+                not any(isinstance(x, ast.FormattedValue) for x in node.values)
+        ):
+            self.report(messages.FStringMissingPlaceholders, node)
+
+        self._in_fstring, orig = True, self._in_fstring
+        try:
+            self.handleChildren(node)
+        finally:
+            self._in_fstring = orig
 
     def DICT(self, node):
         # Complain if there are duplicate keys with different values
@@ -1363,7 +1719,7 @@
         if isinstance(node.ctx, (ast.Load, ast.AugLoad)):
             self.handleNodeLoad(node)
             if (node.id == 'locals' and isinstance(self.scope, FunctionScope) and
-                    isinstance(node.parent, ast.Call)):
+                    isinstance(node._pyflakes_parent, ast.Call)):
                 # we are doing locals() call in current scope
                 self.scope.usesLocals = True
         elif isinstance(node.ctx, (ast.Store, ast.AugStore, ast.Param)):
@@ -1379,8 +1735,8 @@
         # definition (not OK), for 'continue', a finally block (not OK), or
         # the top module scope (not OK)
         n = node
-        while hasattr(n, 'parent'):
-            n, n_child = n.parent, n
+        while hasattr(n, '_pyflakes_parent'):
+            n, n_child = n._pyflakes_parent, n
             if isinstance(n, LOOP_TYPES):
                 # Doesn't apply unless it's in the loop itself
                 if n_child not in n.orelse:
@@ -1389,7 +1745,7 @@
                 break
             # Handle Try/TryFinally difference in Python < and >= 3.3
             if hasattr(n, 'finalbody') and isinstance(node, ast.Continue):
-                if n_child in n.finalbody:
+                if n_child in n.finalbody and not PY38_PLUS:
                     self.report(messages.ContinueInFinally, node)
                     return
         if isinstance(node, ast.Continue):
@@ -1450,6 +1806,10 @@
             addArgs(node.args.args)
             defaults = node.args.defaults
         else:
+            if PY38_PLUS:
+                for arg in node.args.posonlyargs:
+                    args.append(arg.arg)
+                    annotations.append(arg.annotation)
             for arg in node.args.args + node.args.kwonlyargs:
                 args.append(arg.arg)
                 annotations.append(arg.annotation)
@@ -1714,6 +2074,5 @@
 
         self.handleChildren(node)
 
-
 #
 # eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/messages.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/messages.py	Sat Feb 15 12:13:52 2020 +0100
@@ -571,5 +571,257 @@
     message_id = 'F33'
     message = 'use ==/!= to compare str, bytes, and int literals'
 
+
+class FStringMissingPlaceholders(Message):
+    """
+    Class defining the "Missing Placeholder" message.
+    
+    Indicates that an f-string is missing some placeholders.
+    """
+    message_id = 'F34'
+    message = 'f-string is missing placeholders'
+
+
+class StringDotFormatExtraPositionalArguments(Message):
+    """
+    Class defining the "Unused Arguments" message.
+    
+    Indicates that an f-string has unused arguments.
+    """
+    message_id = 'F35'
+    message = "'...'.format(...) has unused arguments at position(s): %s"
+
+    def __init__(self, filename, loc, extra_positions):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param extra_positions indexes of unused arguments
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (extra_positions,)
+
+
+class StringDotFormatExtraNamedArguments(Message):
+    """
+    Class defining the "Unused Named Arguments" message.
+    
+    Indicates that an f-string has unused named arguments.
+    """
+    message_id = 'F36'
+    message = "'...'.format(...) has unused named argument(s): %s"
+
+    def __init__(self, filename, loc, extra_keywords):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param extra_keywords index of unused named arguments
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (extra_keywords,)
+
+
+class StringDotFormatMissingArgument(Message):
+    """
+    Class defining the "Missing Arguments" message.
+    
+    Indicates that an f-string is missing some arguments.
+    """
+    message_id = 'F37'
+    message = "'...'.format(...) is missing argument(s) for placeholder(s): %s"
+
+    def __init__(self, filename, loc, missing_arguments):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param missing_arguments missing arguments
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (missing_arguments,)
+
+
+class StringDotFormatMixingAutomatic(Message):
+    """
+    Class defining the "Mixing Automatic and Manual" message.
+    
+    Indicates that an f-string mixes automatic and manual numbering.
+    """
+    message_id = 'F38'
+    message = "'...'.format(...) mixes automatic and manual numbering"
+
+
+class StringDotFormatInvalidFormat(Message):
+    """
+    Class defining the "Invalid Format String" message.
+    
+    Indicates that an f-string contains an invalid format string.
+    """
+    message_id = 'F39'
+    message = "'...'.format(...) has invalid format string: %s"
+
+    def __init__(self, filename, loc, error):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param error error details
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (error,)
+
+
+class PercentFormatInvalidFormat(Message):
+    """
+    Class defining the "Invalid Percent Format String" message.
+    
+    Indicates that a percent format has an invalid format string.
+    """
+    message_id = 'F40'
+    message = "'...' %% ... has invalid format string: %s"
+
+    def __init__(self, filename, loc, error):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param error error details
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (error,)
+
+
+class PercentFormatMixedPositionalAndNamed(Message):
+    """
+    Class defining the "Mixed Positional and Named" message.
+    
+    Indicates that a percent format has mixed positional and named
+    placeholders.
+    """
+    message_id = 'F41'
+    message = "'...' %% ... has mixed positional and named placeholders"
+
+
+class PercentFormatUnsupportedFormatCharacter(Message):
+    """
+    Class defining the "Unsupported Format Character" message.
+    
+    Indicates that a percent format has an unsupported format character.
+    """
+    message_id = 'F42'
+    message = "'...' %% ... has unsupported format character %r"
+
+    def __init__(self, filename, loc, c):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param c unsupported format character
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (c,)
+
+
+class PercentFormatPositionalCountMismatch(Message):
+    """
+    Class defining the "Placeholder Substitution Mismatch" message.
+    
+    Indicates that a percent format has a mismatching number of placeholders
+    and substitutions.
+    """
+    message_id = 'F43'
+    message = "'...' %% ... has %d placeholder(s) but %d substitution(s)"
+
+    def __init__(self, filename, loc, n_placeholders, n_substitutions):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param n_placeholders number of placeholders (integer)
+        @param n_substitutions number of substitutions (integer)
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (n_placeholders, n_substitutions)
+
+
+class PercentFormatExtraNamedArguments(Message):
+    """
+    Class defining the "Unused Named Arguments" message.
+    
+    Indicates that a percent format has unused named arguments.
+    """
+    message_id = 'F44'
+    message = "'...' %% ... has unused named argument(s): %s"
+
+    def __init__(self, filename, loc, extra_keywords):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param extra_keywords index of unused named arguments
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (extra_keywords,)
+
+
+class PercentFormatMissingArgument(Message):
+    """
+    Class defining the "Missing Arguments" message.
+    
+    Indicates that a percent format is missing arguments for some placeholders.
+    """
+    message_id = 'F45'
+    message = "'...' %% ... is missing argument(s) for placeholder(s): %s"
+
+    def __init__(self, filename, loc, missing_arguments):
+        """
+        Constructor
+        
+        @param filename name of the file (string)
+        @param loc location of the issue
+        @param missing_arguments missing arguments
+        """
+        Message.__init__(self, filename, loc)
+        self.message_args = (missing_arguments,)
+
+
+class PercentFormatExpectedMapping(Message):
+    """
+    Class defining the "Sequence instead of Mapping" message.
+    
+    Indicates that a percent format expected a mapping but got a sequence.
+    """
+    message_id = 'F46'
+    message = "'...' %% ... expected mapping but got sequence"
+
+
+class PercentFormatExpectedSequence(Message):
+    """
+    Class defining the "Mapping instead of Sequence" message.
+    
+    Indicates that a percent format expected a sequence but got a mapping.
+    """
+    message_id = 'F47'
+    message = "'...' %% ... expected sequence but got mapping"
+
+
+class PercentFormatStarRequiresSequence(Message):
+    """
+    Class defining the "'*' Requires Sequence" message.
+    
+    Indicates that a percent format expected a sequence.
+    """
+    message_id = 'F48'
+    message = "'...' %% ... `*` specifier requires sequence"
+
 #
 # eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py	Sat Feb 15 12:13:52 2020 +0100
@@ -117,6 +117,51 @@
     'F33': QCoreApplication.translate(
         'pyFlakes',
         "use ==/!= to compare str, bytes, and int literals"),
+    'F34': QCoreApplication.translate(
+        'pyFlakes',
+        "f-string is missing placeholders"),
+    'F35': QCoreApplication.translate(
+        'pyFlakes',
+        "'...'.format(...) has unused arguments at position(s): {0}"),
+    'F36': QCoreApplication.translate(
+        'pyFlakes',
+        "'...'.format(...) has unused named argument(s): {0}"),
+    'F37': QCoreApplication.translate(
+        'pyFlakes',
+        "'...'.format(...) is missing argument(s) for placeholder(s): {0}"),
+    'F38': QCoreApplication.translate(
+        'pyFlakes',
+        "'...'.format(...) mixes automatic and manual numbering"),
+    'F39': QCoreApplication.translate(
+        'pyFlakes',
+        "'...'.format(...) has invalid format string: {0}"),
+    'F40': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... has invalid format string: {0}"),
+    'F41': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... has mixed positional and named placeholders"),
+    'F42': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... has unsupported format character {0!r}"),
+    'F43': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... has {0!d} placeholder(s) but {1!d} substitution(s)"),
+    'F44': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... has unused named argument(s): {0}"),
+    'F45': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... is missing argument(s) for placeholder(s): {0}"),
+    'F46': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... expected mapping but got sequence"),
+    'F47': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... expected sequence but got mapping"),
+    'F48': QCoreApplication.translate(
+        'pyFlakes',
+        "'...' % ... `*` specifier requires sequence"),
 }
 
 
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py	Sat Feb 15 12:13:52 2020 +0100
@@ -81,7 +81,7 @@
         prepareProcess(self.__server, self.__encoding)
         
         self.__server.start('hg', self.__serverArgs)
-        serverStarted = self.__server.waitForStarted(5000)
+        serverStarted = self.__server.waitForStarted(15000)
         if not serverStarted:
             return False, self.tr(
                 'The process {0} could not be started. '
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py	Sat Feb 15 12:13:52 2020 +0100
@@ -20,11 +20,14 @@
     """
     Class implementing a dialog to enter data for the Mercurial import command.
     """
-    def __init__(self, parent=None):
+    def __init__(self, vcs, parent=None):
         """
         Constructor
         
-        @param parent reference to the parent widget (QWidget)
+        @param vcs reference to the VCS object
+        @type Hg
+        @param parent reference to the parent widget
+        @type QWidget
         """
         super(HgImportDialog, self).__init__(parent)
         self.setupUi(self)
@@ -33,6 +36,8 @@
         self.patchFilePicker.setFilters(self.tr(
             "Patch Files (*.diff *.patch);;All Files (*)"))
         
+        self.secretCheckBox.setEnabled(vcs.version >= (5, 3, 0))
+        
         self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False)
         
         self.__initDateTime = QDateTime.currentDateTime()
@@ -62,9 +67,10 @@
         Public method to retrieve the import data.
         
         @return tuple naming the patch file, a flag indicating to not commit,
-            a commit message, a commit date, a commit user, a strip count and
-            a flag indicating to enforce the import
-            (string, boolean, string, string, string, integer, boolean)
+            a commit message, a commit date, a commit user, a flag indicating
+            to commit with the secret phase, a strip count and a flag
+            indicating to enforce the import
+        @rtype tuple of (str, bool, str, str, str, bool, int, bool)
         """
         if self.dateEdit.dateTime() != self.__initDateTime:
             date = self.dateEdit.dateTime().toString("yyyy-MM-dd hh:mm")
@@ -73,4 +79,5 @@
         
         return (self.patchFilePicker.text(), self.noCommitCheckBox.isChecked(),
                 self.messageEdit.toPlainText(), date, self.userEdit.text(),
-                self.stripSpinBox.value(), self.forceCheckBox.isChecked())
+                self.secretCheckBox.isChecked(), self.stripSpinBox.value(),
+                self.forceCheckBox.isChecked())
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui	Sat Feb 15 12:13:52 2020 +0100
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>500</width>
-    <height>400</height>
+    <height>450</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -88,7 +88,7 @@
           </property>
           <property name="sizeHint" stdset="0">
            <size>
-            <width>40</width>
+            <width>258</width>
             <height>20</height>
            </size>
           </property>
@@ -113,6 +113,16 @@
         </item>
        </layout>
       </item>
+      <item>
+       <widget class="QCheckBox" name="secretCheckBox">
+        <property name="toolTip">
+         <string>Enable to commit with the secret phase</string>
+        </property>
+        <property name="text">
+         <string>Commit with Secret Phase</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
@@ -214,6 +224,7 @@
   <tabstop>messageEdit</tabstop>
   <tabstop>dateEdit</tabstop>
   <tabstop>userEdit</tabstop>
+  <tabstop>secretCheckBox</tabstop>
   <tabstop>stripSpinBox</tabstop>
   <tabstop>patchFilePicker</tabstop>
   <tabstop>forceCheckBox</tabstop>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py	Sat Feb 15 12:13:52 2020 +0100
@@ -2706,9 +2706,9 @@
                 return False
         
         from .HgImportDialog import HgImportDialog
-        dlg = HgImportDialog()
+        dlg = HgImportDialog(self)
         if dlg.exec_() == QDialog.Accepted:
-            (patchFile, noCommit, message, date, user, stripCount,
+            (patchFile, noCommit, message, date, user, withSecret, stripCount,
              force) = dlg.getParameters()
             
             args = self.initCommand("import")
@@ -2730,6 +2730,8 @@
                 args.append(str(stripCount))
             if force:
                 args.append("--force")
+            if withSecret:
+                args.append("--secret")
             args.append(patchFile)
             
             dia = HgDialog(self.tr("Import Patch"), self)
--- a/eric6/QScintilla/Editor.py	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/QScintilla/Editor.py	Sat Feb 15 12:13:52 2020 +0100
@@ -250,6 +250,8 @@
         self.clearAlternateKeys()
         self.clearKeys()
         
+        self.__markerMap = EditorMarkerMap(self)
+        
         # initialize the mark occurrences timer
         self.__markOccurrencesTimer = QTimer(self)
         self.__markOccurrencesTimer.setSingleShot(True)
@@ -330,8 +332,6 @@
             (1 << self.__changeMarkerUnsaved)
         )
         
-        self.__markerMap = EditorMarkerMap(self)
-        
         # configure the margins
         self.__setMarginsDisplay()
         self.linesChanged.connect(self.__resizeLinenoMargin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Styles/eric6_Dark-Python.e6h	Sat Feb 15 12:13:52 2020 +0100
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HighlightingStyles SYSTEM "HighlightingStyles-6.0.dtd">
+<!-- Eric6 highlighting styles -->
+<!-- Saved: 2020-02-07, 19:03:26-->
+<!-- Author: Detlev Offenbach <detlev@die-offenbachs.de> -->
+<HighlightingStyles version="6.0">
+  <Lexer name="Python3">
+    <Style style="0" substyle="-1" color="#ffffff" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Default</Description>
+    </Style>
+    <Style style="1" substyle="-1" color="#78969f" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Comment</Description>
+    </Style>
+    <Style style="2" substyle="-1" color="#96a9ab" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Number</Description>
+    </Style>
+    <Style style="3" substyle="-1" color="#34cabe" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Double-quoted string</Description>
+    </Style>
+    <Style style="4" substyle="-1" color="#34cabe" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Single-quoted string</Description>
+    </Style>
+    <Style style="5" substyle="-1" color="#55aaff" paper="#282828" font="Hack,9,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Keyword</Description>
+    </Style>
+    <Style style="6" substyle="-1" color="#2aa198" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple single-quoted string</Description>
+    </Style>
+    <Style style="7" substyle="-1" color="#2aa198" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple double-quoted string</Description>
+    </Style>
+    <Style style="8" substyle="-1" color="#bbd300" paper="#282828" font="Hack,9,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Class name</Description>
+    </Style>
+    <Style style="9" substyle="-1" color="#bbd300" paper="#282828" font="Hack,9,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Function or method name</Description>
+    </Style>
+    <Style style="10" substyle="-1" color="#aac0c2" paper="#282828" font="Hack,9,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Operator</Description>
+    </Style>
+    <Style style="11" substyle="-1" color="#e6e6e6" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Identifier</Description>
+    </Style>
+    <Style style="12" substyle="-1" color="#586e75" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Comment block</Description>
+    </Style>
+    <Style style="13" substyle="-1" color="#f8dba1" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Unclosed string</Description>
+    </Style>
+    <Style style="14" substyle="-1" color="#78acce" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Highlighted identifier</Description>
+    </Style>
+    <Style style="15" substyle="-1" color="#9ed5b4" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Decorator</Description>
+    </Style>
+    <Style style="16" substyle="-1" color="#ec80ec" paper="#282828" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Double-quoted f-string</Description>
+    </Style>
+    <Style style="17" substyle="-1" color="#ec80ec" paper="#282828" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Single-quoted f-string</Description>
+    </Style>
+    <Style style="18" substyle="-1" color="#ff0000" paper="#282828" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple single-quoted f-string</Description>
+    </Style>
+    <Style style="19" substyle="-1" color="#ff0000" paper="#282828" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple double-quoted f-string</Description>
+    </Style>
+    <Style style="11" substyle="0" color="#dd9900" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Standard Library Modules</Description>
+      <Words>__main__ _dummy_thread _thread abc aifc argparse array ast asynchat asyncio
+ asyncore atexit audioop base64 bdb binascii binhex bisect builtins bz2
+ calendar cgi cgitb chunk cmath cmd code codecs codeop collections colorsys
+ compileall concurrent configparser contextlib copy copyreg crypt csv ctypes
+ curses datetime dbm decimal difflib dis distutils dummy_threading email
+ ensurepip enum errno faulthandler fcntl filecmp fileinput fnmatch formatter
+ fpectl fractions ftplib functools gc getopt getpass gettext glob grp gzip
+ hashlib heapq hmac html http http imaplib imghdr importlib inspect io
+ ipaddress itertools json keyword linecache locale logging lzma macpath
+ mailbox mailcap marshal math mimetypes mmap modulefinder msilib msvcrt
+ multiprocessing netrc nis nntplib numbers operator os ossaudiodev parser path
+ pathlib pdb pickle pickletools pipes pkgutil platform plistlib poplib posix
+ pprint pty pwd py_compile pyclbr queue quopri random re readline reprlib
+ resource rlcompleter runpy sched select selectors shelve shlex shutil signal
+ site smtpd smtplib sndhdr socket socketserver spwd sqlite3 ssl stat statistics
+ string stringprep struct subprocess sunau symbol symtable sys sysconfig syslog
+ tabnanny tarfile telnetlib tempfile termios textwrap threading time timeit
+ tkinter token tokenize trace traceback tracemalloc tty turtle types
+ unicodedata unittest urllib uu uuid venv warnings wave weakref webbrowser
+ winreg winsound wsgiref xdrlib xml xmlrpc zipfile zipimport zlib</Words>
+    </Style>
+    <Style style="11" substyle="1" color="#ee00aa" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>__future__ Imports</Description>
+      <Words>__future__ with_statement unicode_literals print_function division
+ absolute_import generator_stop annotations</Words>
+    </Style>
+    <Style style="11" substyle="2" color="#aaffff" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>PyQt5 Modules</Description>
+      <Words>PyQt5 Qsci Qt QtCore QtDBus QtDesigner QtGui QtHelp QtLocation QtMacExtras QtMultimedia QtMultimediaWidgets QtNetwork QtNetworkAuth QtNfc QtOpenGL QtPositioning QtPrintSupport QtQml QtQuick QtQuickWidgets QtRemoteObjects QtSensors QtSerialPort QtSql QtSvg QtTest QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineWidgets QtWebSockets QtWidgets QtWinExtras QtX11Extras QtXml QtXmlPatterns sip QtWebKit QtWebKitWidgets</Words>
+    </Style>
+  </Lexer>
+  <Lexer name="Python2">
+    <Style style="0" substyle="-1" color="#ffffff" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Default</Description>
+    </Style>
+    <Style style="1" substyle="-1" color="#78969f" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Comment</Description>
+    </Style>
+    <Style style="2" substyle="-1" color="#96a9ab" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Number</Description>
+    </Style>
+    <Style style="3" substyle="-1" color="#34cabe" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Double-quoted string</Description>
+    </Style>
+    <Style style="4" substyle="-1" color="#34cabe" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Single-quoted string</Description>
+    </Style>
+    <Style style="5" substyle="-1" color="#55aaff" paper="#282828" font="Hack,9,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Keyword</Description>
+    </Style>
+    <Style style="6" substyle="-1" color="#2aa198" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple single-quoted string</Description>
+    </Style>
+    <Style style="7" substyle="-1" color="#2aa198" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple double-quoted string</Description>
+    </Style>
+    <Style style="8" substyle="-1" color="#bbd300" paper="#282828" font="Hack,9,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Class name</Description>
+    </Style>
+    <Style style="9" substyle="-1" color="#bbd300" paper="#282828" font="Hack,9,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Function or method name</Description>
+    </Style>
+    <Style style="10" substyle="-1" color="#aac0c2" paper="#282828" font="Hack,9,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Operator</Description>
+    </Style>
+    <Style style="11" substyle="-1" color="#e6e6e6" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Identifier</Description>
+    </Style>
+    <Style style="12" substyle="-1" color="#586e75" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Comment block</Description>
+    </Style>
+    <Style style="13" substyle="-1" color="#f8dba1" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Unclosed string</Description>
+    </Style>
+    <Style style="14" substyle="-1" color="#78acce" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Highlighted identifier</Description>
+    </Style>
+    <Style style="15" substyle="-1" color="#9ed5b4" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Decorator</Description>
+    </Style>
+    <Style style="16" substyle="-1" color="#ec80ec" paper="#282828" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Double-quoted f-string</Description>
+    </Style>
+    <Style style="17" substyle="-1" color="#ec80ec" paper="#282828" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Single-quoted f-string</Description>
+    </Style>
+    <Style style="18" substyle="-1" color="#ff0000" paper="#282828" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple single-quoted f-string</Description>
+    </Style>
+    <Style style="19" substyle="-1" color="#ff0000" paper="#282828" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple double-quoted f-string</Description>
+    </Style>
+    <Style style="11" substyle="0" color="#dd9900" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Standard Library Modules</Description>
+      <Words>__main__ _dummy_thread _thread abc aifc argparse array ast asynchat asyncio
+ asyncore atexit audioop base64 bdb binascii binhex bisect builtins bz2
+ calendar cgi cgitb chunk cmath cmd code codecs codeop collections colorsys
+ compileall concurrent configparser contextlib copy copyreg crypt csv ctypes
+ curses datetime dbm decimal difflib dis distutils dummy_threading email
+ ensurepip enum errno faulthandler fcntl filecmp fileinput fnmatch formatter
+ fpectl fractions ftplib functools gc getopt getpass gettext glob grp gzip
+ hashlib heapq hmac html http http imaplib imghdr importlib inspect io
+ ipaddress itertools json keyword linecache locale logging lzma macpath
+ mailbox mailcap marshal math mimetypes mmap modulefinder msilib msvcrt
+ multiprocessing netrc nis nntplib numbers operator os ossaudiodev parser path
+ pathlib pdb pickle pickletools pipes pkgutil platform plistlib poplib posix
+ pprint pty pwd py_compile pyclbr queue quopri random re readline reprlib
+ resource rlcompleter runpy sched select selectors shelve shlex shutil signal
+ site smtpd smtplib sndhdr socket socketserver spwd sqlite3 ssl stat statistics
+ string stringprep struct subprocess sunau symbol symtable sys sysconfig syslog
+ tabnanny tarfile telnetlib tempfile termios textwrap threading time timeit
+ tkinter token tokenize trace traceback tracemalloc tty turtle types
+ unicodedata unittest urllib uu uuid venv warnings wave weakref webbrowser
+ winreg winsound wsgiref xdrlib xml xmlrpc zipfile zipimport zlib</Words>
+    </Style>
+    <Style style="11" substyle="1" color="#ee00aa" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>__future__ Imports</Description>
+      <Words>__future__ with_statement unicode_literals print_function division
+ absolute_import generator_stop annotations</Words>
+    </Style>
+    <Style style="11" substyle="2" color="#aaffff" paper="#282828" font="Hack,9,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>PyQt5 Modules</Description>
+      <Words>PyQt5 Qsci Qt QtCore QtDBus QtDesigner QtGui QtHelp QtLocation QtMacExtras QtMultimedia QtMultimediaWidgets QtNetwork QtNetworkAuth QtNfc QtOpenGL QtPositioning QtPrintSupport QtQml QtQuick QtQuickWidgets QtRemoteObjects QtSensors QtSerialPort QtSql QtSvg QtTest QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineWidgets QtWebSockets QtWidgets QtWinExtras QtX11Extras QtXml QtXmlPatterns sip QtWebKit QtWebKitWidgets</Words>
+    </Style>
+  </Lexer>
+</HighlightingStyles>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Styles/eric6_Light-Python.e6h	Sat Feb 15 12:13:52 2020 +0100
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE HighlightingStyles SYSTEM "HighlightingStyles-6.0.dtd">
+<!-- Eric6 highlighting styles -->
+<!-- Saved: 2020-02-08, 15:34:07-->
+<!-- Author: Detlev Offenbach <detlev@die-offenbachs.de> -->
+<HighlightingStyles version="6.0">
+  <Lexer name="Python3">
+    <Style style="0" substyle="-1" color="#808080" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Default</Description>
+    </Style>
+    <Style style="1" substyle="-1" color="#007f00" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Comment</Description>
+    </Style>
+    <Style style="2" substyle="-1" color="#007f7f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Number</Description>
+    </Style>
+    <Style style="3" substyle="-1" color="#7f007f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Double-quoted string</Description>
+    </Style>
+    <Style style="4" substyle="-1" color="#7f007f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Single-quoted string</Description>
+    </Style>
+    <Style style="5" substyle="-1" color="#00007f" paper="#ffffff" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Keyword</Description>
+    </Style>
+    <Style style="6" substyle="-1" color="#7f0000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple single-quoted string</Description>
+    </Style>
+    <Style style="7" substyle="-1" color="#7f0000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple double-quoted string</Description>
+    </Style>
+    <Style style="8" substyle="-1" color="#0000ff" paper="#ffffff" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Class name</Description>
+    </Style>
+    <Style style="9" substyle="-1" color="#007f7f" paper="#ffffff" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Function or method name</Description>
+    </Style>
+    <Style style="10" substyle="-1" color="#141312" paper="#ffffff" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Operator</Description>
+    </Style>
+    <Style style="11" substyle="-1" color="#141312" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Identifier</Description>
+    </Style>
+    <Style style="12" substyle="-1" color="#188a20" paper="#abffb9" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Comment block</Description>
+    </Style>
+    <Style style="13" substyle="-1" color="#000000" paper="#e0c0e0" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="True">
+      <Description>Unclosed string</Description>
+    </Style>
+    <Style style="14" substyle="-1" color="#407090" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Highlighted identifier</Description>
+    </Style>
+    <Style style="15" substyle="-1" color="#805000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Decorator</Description>
+    </Style>
+    <Style style="16" substyle="-1" color="#7f007f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Double-quoted f-string</Description>
+    </Style>
+    <Style style="17" substyle="-1" color="#7f007f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Single-quoted f-string</Description>
+    </Style>
+    <Style style="18" substyle="-1" color="#7f0000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple single-quoted f-string</Description>
+    </Style>
+    <Style style="19" substyle="-1" color="#7f0000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple double-quoted f-string</Description>
+    </Style>
+    <Style style="11" substyle="0" color="#dd9900" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Standard Library Modules</Description>
+      <Words>__main__ _dummy_thread _thread abc aifc argparse array ast asynchat asyncio
+ asyncore atexit audioop base64 bdb binascii binhex bisect builtins bz2
+ calendar cgi cgitb chunk cmath cmd code codecs codeop collections colorsys
+ compileall concurrent configparser contextlib copy copyreg crypt csv ctypes
+ curses datetime dbm decimal difflib dis distutils dummy_threading email
+ ensurepip enum errno faulthandler fcntl filecmp fileinput fnmatch formatter
+ fpectl fractions ftplib functools gc getopt getpass gettext glob grp gzip
+ hashlib heapq hmac html http http imaplib imghdr importlib inspect io
+ ipaddress itertools json keyword linecache locale logging lzma macpath
+ mailbox mailcap marshal math mimetypes mmap modulefinder msilib msvcrt
+ multiprocessing netrc nis nntplib numbers operator os ossaudiodev parser path
+ pathlib pdb pickle pickletools pipes pkgutil platform plistlib poplib posix
+ pprint pty pwd py_compile pyclbr queue quopri random re readline reprlib
+ resource rlcompleter runpy sched select selectors shelve shlex shutil signal
+ site smtpd smtplib sndhdr socket socketserver spwd sqlite3 ssl stat statistics
+ string stringprep struct subprocess sunau symbol symtable sys sysconfig syslog
+ tabnanny tarfile telnetlib tempfile termios textwrap threading time timeit
+ tkinter token tokenize trace traceback tracemalloc tty turtle types
+ unicodedata unittest urllib uu uuid venv warnings wave weakref webbrowser
+ winreg winsound wsgiref xdrlib xml xmlrpc zipfile zipimport zlib</Words>
+    </Style>
+    <Style style="11" substyle="1" color="#ee00aa" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>__future__ Imports</Description>
+      <Words>__future__ with_statement unicode_literals print_function division
+ absolute_import generator_stop annotations</Words>
+    </Style>
+    <Style style="11" substyle="2" color="#44aadd" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>PyQt5 Modules</Description>
+      <Words>PyQt5 Qsci Qt QtCore QtDBus QtDesigner QtGui QtHelp QtLocation QtMacExtras QtMultimedia QtMultimediaWidgets QtNetwork QtNetworkAuth QtNfc QtOpenGL QtPositioning QtPrintSupport QtQml QtQuick QtQuickWidgets QtRemoteObjects QtSensors QtSerialPort QtSql QtSvg QtTest QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineWidgets QtWebSockets QtWidgets QtWinExtras QtX11Extras QtXml QtXmlPatterns sip QtWebKit QtWebKitWidgets</Words>
+    </Style>
+  </Lexer>
+  <Lexer name="Python2">
+    <Style style="0" substyle="-1" color="#808080" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Default</Description>
+    </Style>
+    <Style style="1" substyle="-1" color="#007f00" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Comment</Description>
+    </Style>
+    <Style style="2" substyle="-1" color="#007f7f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Number</Description>
+    </Style>
+    <Style style="3" substyle="-1" color="#7f007f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Double-quoted string</Description>
+    </Style>
+    <Style style="4" substyle="-1" color="#7f007f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Single-quoted string</Description>
+    </Style>
+    <Style style="5" substyle="-1" color="#00007f" paper="#ffffff" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Keyword</Description>
+    </Style>
+    <Style style="6" substyle="-1" color="#7f0000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple single-quoted string</Description>
+    </Style>
+    <Style style="7" substyle="-1" color="#7f0000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple double-quoted string</Description>
+    </Style>
+    <Style style="8" substyle="-1" color="#0000ff" paper="#ffffff" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Class name</Description>
+    </Style>
+    <Style style="9" substyle="-1" color="#007f7f" paper="#ffffff" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Function or method name</Description>
+    </Style>
+    <Style style="10" substyle="-1" color="#141312" paper="#ffffff" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False">
+      <Description>Operator</Description>
+    </Style>
+    <Style style="11" substyle="-1" color="#141312" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Identifier</Description>
+    </Style>
+    <Style style="12" substyle="-1" color="#188a20" paper="#abffb9" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Comment block</Description>
+    </Style>
+    <Style style="13" substyle="-1" color="#000000" paper="#e0c0e0" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="True">
+      <Description>Unclosed string</Description>
+    </Style>
+    <Style style="14" substyle="-1" color="#407090" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Highlighted identifier</Description>
+    </Style>
+    <Style style="15" substyle="-1" color="#805000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Decorator</Description>
+    </Style>
+    <Style style="16" substyle="-1" color="#7f007f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Double-quoted f-string</Description>
+    </Style>
+    <Style style="17" substyle="-1" color="#7f007f" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Single-quoted f-string</Description>
+    </Style>
+    <Style style="18" substyle="-1" color="#7f0000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple single-quoted f-string</Description>
+    </Style>
+    <Style style="19" substyle="-1" color="#7f0000" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Triple double-quoted f-string</Description>
+    </Style>
+    <Style style="11" substyle="0" color="#dd9900" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>Standard Library Modules</Description>
+      <Words>__main__ _dummy_thread _thread abc aifc argparse array ast asynchat asyncio
+ asyncore atexit audioop base64 bdb binascii binhex bisect builtins bz2
+ calendar cgi cgitb chunk cmath cmd code codecs codeop collections colorsys
+ compileall concurrent configparser contextlib copy copyreg crypt csv ctypes
+ curses datetime dbm decimal difflib dis distutils dummy_threading email
+ ensurepip enum errno faulthandler fcntl filecmp fileinput fnmatch formatter
+ fpectl fractions ftplib functools gc getopt getpass gettext glob grp gzip
+ hashlib heapq hmac html http http imaplib imghdr importlib inspect io
+ ipaddress itertools json keyword linecache locale logging lzma macpath
+ mailbox mailcap marshal math mimetypes mmap modulefinder msilib msvcrt
+ multiprocessing netrc nis nntplib numbers operator os ossaudiodev parser path
+ pathlib pdb pickle pickletools pipes pkgutil platform plistlib poplib posix
+ pprint pty pwd py_compile pyclbr queue quopri random re readline reprlib
+ resource rlcompleter runpy sched select selectors shelve shlex shutil signal
+ site smtpd smtplib sndhdr socket socketserver spwd sqlite3 ssl stat statistics
+ string stringprep struct subprocess sunau symbol symtable sys sysconfig syslog
+ tabnanny tarfile telnetlib tempfile termios textwrap threading time timeit
+ tkinter token tokenize trace traceback tracemalloc tty turtle types
+ unicodedata unittest urllib uu uuid venv warnings wave weakref webbrowser
+ winreg winsound wsgiref xdrlib xml xmlrpc zipfile zipimport zlib</Words>
+    </Style>
+    <Style style="11" substyle="1" color="#ee00aa" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>__future__ Imports</Description>
+      <Words>__future__ with_statement unicode_literals print_function division
+ absolute_import generator_stop annotations</Words>
+    </Style>
+    <Style style="11" substyle="2" color="#44aadd" paper="#ffffff" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False">
+      <Description>PyQt5 Modules</Description>
+      <Words>PyQt5 Qsci Qt QtCore QtDBus QtDesigner QtGui QtHelp QtLocation QtMacExtras QtMultimedia QtMultimediaWidgets QtNetwork QtNetworkAuth QtNfc QtOpenGL QtPositioning QtPrintSupport QtQml QtQuick QtQuickWidgets QtRemoteObjects QtSensors QtSerialPort QtSql QtSvg QtTest QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineWidgets QtWebSockets QtWidgets QtWinExtras QtX11Extras QtXml QtXmlPatterns sip QtWebKit QtWebKitWidgets</Words>
+    </Style>
+  </Lexer>
+</HighlightingStyles>
--- a/eric6/i18n/eric6_cs.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_cs.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -30182,72 +30182,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30277,7 +30277,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30312,62 +30312,62 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30402,22 +30402,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -32616,40 +32616,50 @@
         <translation type="unfinished">Zadejte nepovinného uživatele pro zápis změn (commit)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -63827,7 +63837,7 @@
         <translation>Č.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
@@ -63883,17 +63893,17 @@
         <translation>{0} na {1}, {2}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation>StdOut: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation>StdErr: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; není soubor.&lt;/p&gt;</translation>
     </message>
@@ -63936,7 +63946,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation type="unfinished">Projekt</translation>
     </message>
@@ -63966,14 +63976,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation type="unfinished"></translation>
@@ -85935,12 +85945,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -89249,12 +89259,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation type="unfinished">Generování hlavního okna...</translation>
     </message>
@@ -89405,7 +89415,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -89514,6 +89524,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
Binary file eric6/i18n/eric6_de.qm has changed
--- a/eric6/i18n/eric6_de.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_de.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -27960,72 +27960,72 @@
         <translation>Pflege Änderungen in das Mercurial-Repository ein</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation>Mercurial-Befehlsserver</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Mercurial-Befehlsserver konnte nicht wiedergestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Mercurial-Befehlsserver konnte nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation>Patch importieren</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation>Patches exportieren</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation>Phase ändern</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation>Änderungssätze kopieren</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation>Änderungssätze kopieren (Fortsetzung)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation>Unterrepository hinzufügen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Unterrepositorydatei .hgsub konnte nicht gelesen werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Unterrepositorydatei .hgsub enthält bereits einen Eintrag &lt;b&gt;{0}&lt;/b&gt;. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Unterrepositorydatei .hgsub konnte nicht gespeichert werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation>Unterrepositorys löschen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Unterrepositorydatei .hgsub existiert nicht. Abbruch...&lt;/p&gt;</translation>
     </message>
@@ -28055,7 +28055,7 @@
         <translation>Wollen Sie wirklich alle Änderungen des Projektes rückgängig machen?</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation>Erzeuge nicht versioniertes Archiv</translation>
     </message>
@@ -28085,62 +28085,62 @@
         <translation>Spitze des aktuellen Zweigs</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation>Mercurial-Lesezeichen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation>Lesezeichen löschen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation>Wähle das zu löschende Lesezeichen aus:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation>Mercurial-Lesezeichen löschen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation>Mercurial-Lesezeichen umbenennen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation>Mercurial-Lesezeichen verschieben</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation>Lesezeichen herunterladen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation>Wähle das herunterzuladende Lesezeichen:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation>Lade Lesezeichen von einem entfernten Mercurial-Repository herunter</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation>Lesezeichen hochladen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation>Wähle das hochzuladende Lesezeichen:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation>Lade Lesezeichen zu einem entfernten Mercurial-Repository hoch</translation>
     </message>
@@ -28175,22 +28175,22 @@
         <translation>Markiere als &apos;aufgelöst&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation>Alle Backups löschen</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Sollen wirklich alle Backupdateien des Backupbereiches &lt;b&gt;{0}&lt;/b&gt; gelöscht werden?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation>Änderungssätze kopieren (Stopp)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation>Änderungssätze kopieren (Abbruch)</translation>
     </message>
@@ -30212,40 +30212,50 @@
         <translation>Gib den optionalen Nutzer der Änderung ein</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation># Löschungen:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation>Gib die Anzahl an führenden Verzeichnissen, die gelöscht werden sollen, ein (Standard 1)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation>Patchdatei:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation>Gib den namen einer Patchdatei ein</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation>Auswählen, um den Import zu erzwingen</translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation>Gib den namen einer Patchdatei ein</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation>Auswählen, um den Import zu erzwingen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation>Erzwinge Import</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation>Patchdateien (*.diff *.patch);;Alle Dateien (*)</translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation>Aktivieren, um mit &apos;Secret&apos; Phase einzupflegen</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation>Einpflegen mit Secret Phase</translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -61055,7 +61065,7 @@
         <translation>Einfügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation>Drop Fehler</translation>
     </message>
@@ -61065,7 +61075,7 @@
         <translation>Nr.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; ist keine Datei.&lt;/p&gt;</translation>
     </message>
@@ -61085,12 +61095,12 @@
         <translation>Passiver Debugmodus</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation>StdOut: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation>StdErr: {0}</translation>
     </message>
@@ -61183,7 +61193,7 @@
 Funktion: {3}({4})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation>Projekt</translation>
     </message>
@@ -61213,7 +61223,7 @@
         <translation>Aktiver Name</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
@@ -61222,7 +61232,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation>Aktuelle virtuelle Umgebung: &apos;{0}&apos;
@@ -83116,12 +83126,12 @@
         <translation> s</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation>Fragwürdige URL entdeckt</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation>&lt;p&gt;Die URL &lt;b&gt;{0}&lt;/b&gt; wurde in der Safe Browsing Datenbank gefunden.&lt;/p&gt;{1}</translation>
     </message>
@@ -86390,12 +86400,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation>Starte...</translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation>Erzeuge das Hauptfenster...</translation>
     </message>
@@ -86555,7 +86565,7 @@
         <translation>Syntaxfehler in Doctest entdeckt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation>keine Nachricht für &apos;{0}&apos; definiert</translation>
     </message>
@@ -86664,6 +86674,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation>Verwende ==/!= zum Vergleich von str, bytes und int Literalen</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation>F-Zeichenkette hat keine Platzhalter</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation>&apos;...&apos;.format(...) hat ungenutzte Argumente an Position(en): {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation>&apos;...&apos;.format(...) hat ungenutzte benannte Argumente an Position(en): {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation>&apos;...&apos;.format(...) hat kein(e) Argument(e) für Platzhalter: {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation>&apos;...&apos;.format(...)  mischt automatische und manuelle Nummerierung</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation>&apos;...&apos;.format(...) hat einen ungültigen Formatstring: {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation>&apos;...&apos; % ... hat einen ungültigen Formatstring: {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation>&apos;...&apos; % ... hat gemischte positionierte und benannte Platzhalter</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation>&apos;...&apos; % ... hat nicht unterstützte Formatzeichen {0!r}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation>&apos;...&apos; % ... hat {0!d} Platzhalter aber {1!d} Ersetzung(en)</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation>&apos;...&apos; % ... hat ungenutzte benannte Argumente: {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation>&apos;...&apos; % ... hat kein(e) Argument(e) für Platzhalter: {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation>&apos;...&apos; % ... erwartete ein Mapping bekam aber eine Sequenz</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation>&apos;...&apos; % ... erwartete eine Sequenz bekam aber ein Mapping</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation>&apos;...&apos; % ... &apos;*&apos; Angabe erfordert eine Sequenz</translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_empty.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_empty.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -27874,157 +27874,157 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30022,40 +30022,50 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -60668,27 +60678,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
@@ -60718,14 +60728,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation type="unfinished"></translation>
@@ -82439,12 +82449,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85690,12 +85700,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85921,7 +85931,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85955,6 +85965,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_en.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_en.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -27815,72 +27815,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -27910,7 +27910,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
@@ -27940,62 +27940,62 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
@@ -28030,22 +28030,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30043,40 +30043,50 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -60673,22 +60683,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -60731,7 +60741,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation type="unfinished"></translation>
     </message>
@@ -60761,14 +60771,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation type="unfinished"></translation>
@@ -82485,12 +82495,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85739,12 +85749,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85895,7 +85905,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -86004,6 +86014,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_es.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_es.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -27962,72 +27962,72 @@
         <translation>Haciendo commit de cambios al repositorio Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation>Servidor de Comandos de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El Servidor de Comandos de Mercurial no ha podido reiniciarse.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El Servidor de Comandos de Mercurial no ha podido iniciarse.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation>Importar Patch</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation>Exportar Patches</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation>Cambiar Fase</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation>Copiar Changesets</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation>Copiar Changesets (Continuar)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation>Añadir Sub-repositorio</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;No se ha podido leer el archivo .hgsub de sub-repositorios.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo .hgsub de sub-repositorios ya contiene una entrada.&lt;/p&gt;&lt;p&gt;Abortando...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;No se ha podido escribir al archivo .hgsub de sub-repositorios.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation>Eliminar Sub-repositorios</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de subrepositorios .hgsub no existe. Abortando...&lt;/p&gt;</translation>
     </message>
@@ -28057,7 +28057,7 @@
         <translation>¿Realmente desea revertir todos los cambios del proyecto?</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation>Crear Archivo Sin Versionar</translation>
     </message>
@@ -28087,62 +28087,62 @@
         <translation>Tip branch actual</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation>Marcador de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation>Borrar Marcador</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation>Seleccionar el marcador a borrar:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation>Borrar Marcador de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation>Renombrar Marcador de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation>Mover Marcador de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation>Pull de Marcador</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation>Seleccinar el marcador sobre el que hacer pull:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation>Haciendo pull de marcador desde un repositorio Mercurial remoto</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation>Push de Marcador</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation>Seleccinar el marcador sobre el que hacer push:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation>Haciendo push de marcador desde un repositorio Mercurial remoto</translation>
     </message>
@@ -28177,22 +28177,22 @@
         <translation>Marcando como &apos;resolved&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation>Borrar todas las Copias de Seguridad</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation>&lt;p&gt;¿Desea realmente borrar todos los bundles de copia de seguridad almacenados en el área de copias de seguridad &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation>Copiar Changesets (Stop)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation>Copiar Changesets (Abortar)</translation>
     </message>
@@ -30214,40 +30214,50 @@
         <translation>Introduzca opcionalmente usuario para el commit</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation>Número de Strip:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation>Introducir número de directorios al principio para quitar (por defecto 1)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation>Archivo Patch:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation>Introducir el nombre de archivo patch</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation>Seleccionar para hacer cumplir el import</translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation>Introducir el nombre de archivo patch</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation>Seleccionar para hacer cumplir el import</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation>Hacer Cumplir el Import</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation>Archivos de Patch (*.diff *.patch);;Todos los Archivos (*)</translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -61047,7 +61057,7 @@
         <translation>No.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation>Error al soltar</translation>
     </message>
@@ -61099,17 +61109,17 @@
         <translation>{0} en {1}, {2}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation>StdOut: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation>StdErr: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; no es un archivo.&lt;/p&gt;</translation>
     </message>
@@ -61160,7 +61170,7 @@
 Función: {3}({4})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation>Proyecto</translation>
     </message>
@@ -61190,7 +61200,7 @@
         <translation>Nombre Activo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
@@ -61199,7 +61209,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation>Entorno Virtual Actual: &apos;{0}&apos;
@@ -83076,12 +83086,12 @@
         <translation> s</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation>Detectada URL sospechosa</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation>&lt;p&gt;La URL &lt;b&gt;{0}&lt;/b&gt; se ha encontrado en la base de datos de Navegación Segura.&lt;/p&gt;{1}</translation>
     </message>
@@ -86349,12 +86359,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation>Comenzando...</translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation>Generando Ventana Principal...</translation>
     </message>
@@ -86505,7 +86515,7 @@
         <translation>La variable local {0!r} está asignada pero nunca es utilizada.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation>sin mensaje definido para el código &apos;{0}&apos;</translation>
     </message>
@@ -86629,6 +86639,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation>usar ==/!= para comparar str, bytes, y literales int</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_fr.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_fr.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -29422,72 +29422,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -29517,7 +29517,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
@@ -29552,62 +29552,62 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation type="unfinished">Signet Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation type="unfinished">Supprimer le signet</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation type="unfinished">Selectionner le signet à supprimer:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation type="unfinished">Supprimer le signet Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation type="unfinished">Renommer le signet Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation type="unfinished">Déplacer le signet Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation type="unfinished">Récuperer le signet</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation type="unfinished">Sélectionner le signet à récuperer:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation type="unfinished">Récupérant le signet d&apos;un dépôt Mercurial distant</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation type="unfinished">Envoyer signet</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation type="unfinished">Sélectionner le signet à envoyer:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation type="unfinished">À envoyer le signet à un dépôt Mercurial distant</translation>
     </message>
@@ -29642,22 +29642,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31867,40 +31867,50 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -62980,7 +62990,7 @@
         <translation>Effacer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation>Erreur de suppression</translation>
     </message>
@@ -63046,17 +63056,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -63099,7 +63109,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation type="unfinished">Projet</translation>
     </message>
@@ -63129,14 +63139,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation type="unfinished"></translation>
@@ -85084,12 +85094,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -88412,12 +88422,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation type="unfinished">Création de la fenêtre principale...</translation>
     </message>
@@ -88574,7 +88584,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -88683,6 +88693,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_it.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_it.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -31446,72 +31446,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation type="unfinished">Rimuovi sotto-archivi</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31541,7 +31541,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31576,62 +31576,62 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation type="unfinished">Segnalibro Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation type="unfinished">Cancella segnalibro</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation type="unfinished">Seleziona il segnalibro da cancellare:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation type="unfinished">Cancella Segnalibro Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation type="unfinished">Rinomina Segnalibro Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation type="unfinished">Sposta Segnalibro Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation type="unfinished">Estrai Segnalibro</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation type="unfinished">Seleziona il segnalibro da estrarre:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation type="unfinished">Etrae segnalibro da un repository Mercurial remoto</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation type="unfinished">Inserisce Segnalibro</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation type="unfinished">Seleziona il segnalibro da inserire:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation type="unfinished">Inserisce segnalibro in un repository Mercurial remoto</translation>
     </message>
@@ -31666,22 +31666,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33979,40 +33979,50 @@
         <translation type="unfinished">Inserisci utente per la commit opzionale</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -65427,7 +65437,7 @@
         <translation>Pulisci</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation>Drop Error</translation>
     </message>
@@ -65494,17 +65504,17 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation>StdOut: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation>StdErr: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; non è un file.&lt;/p&gt;</translation>
     </message>
@@ -65547,7 +65557,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation type="unfinished">Progetto</translation>
     </message>
@@ -65577,14 +65587,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation type="unfinished"></translation>
@@ -87590,12 +87600,12 @@
         <translation type="unfinished"> s</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -90933,12 +90943,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation type="unfinished">Inizio...</translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation type="unfinished">Generazione Main Window...</translation>
     </message>
@@ -91101,7 +91111,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -91210,6 +91220,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_pt.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_pt.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -31016,72 +31016,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation>Mudar Fase</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation type="unfinished">Copiar Conjuntos de Alterações</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation>Retirar Sub Repositórios</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31111,7 +31111,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31176,82 +31176,82 @@
         <translation>Criado o novo ramo &lt;{0}&gt;.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation>Marcador de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation>Apagar Marcador</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation>Selecionar o marcador a apagar:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation>Apagar o Marcador de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation>Renomear o Marcador de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation>Mover o Marcador de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation>Puxar Marcador</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation>Selecionar o marcador a puxar:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation>A puxar marcador desde o repositório remoto de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation>Empurrar Marcador</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation>Selecione o marcador a empurrar:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation>A empurrar marcador a um repositório remoto de Mercurial</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33559,40 +33559,50 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -64766,22 +64776,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; não é um ficheiro.&lt;/p&gt;</translation>
     </message>
@@ -64824,7 +64834,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation type="unfinished">Projeto</translation>
     </message>
@@ -64854,14 +64864,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation type="unfinished"></translation>
@@ -86759,12 +86769,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -90058,12 +90068,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation>A iniciar...</translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation>A criar a Janela Principal...</translation>
     </message>
@@ -90232,7 +90242,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation>sem mensagem definida para código &apos;{0}&apos;</translation>
     </message>
@@ -90336,6 +90346,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_ru.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_ru.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -28008,72 +28008,72 @@
         <translation>Mercurial: Фиксация изменений в репозитории</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation>Mercurial: Сервер команд</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Mercurial: Невозможно перезапустить сервер.&lt;br&gt;Причина: {0}.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Mercurial: Невозможно запустить сервер.&lt;br&gt;Причина: {0}.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation>Импорт патча</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation>Экспорт патчей</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation>Изменить фазу</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation>Копировать набор изменений</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation>Копировать набор изменений (Continue)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation>Добавить субрепозиторий</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно прочитать файл субрепозиториев .hgsub.&lt;b&gt;&lt;/b&gt;Причина {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Файл субрепозиториев .hgsub уже содержит запись &lt;b&gt;{0}&lt;/b&gt;. Отмена...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно записать файл субрепозиториев .hgsub.&lt;p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation>Удалить субрепозитории</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Отсутствует файл субрепозиториев .hgsub. Отмена...&lt;/p&gt;</translation>
     </message>
@@ -28103,7 +28103,7 @@
         <translation>Вы действительно хотите вернуть все изменения в проекте?</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation>Создать неверсированный архив</translation>
     </message>
@@ -28133,62 +28133,62 @@
         <translation>Конечная ревизия текущей ветви</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation>Mercurial: Закладка</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation>Удалить закладку</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation>Выберите закладку для удаления:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation>Mercurial: Удалить закладку</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation>Mercurial: Переименовать закладку</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation>Mercurial: Переместить закладку</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation>Затянуть закладку</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation>Выберите закладку для затягивания:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation>Затянуть закладку из удалённого Mercurial репозитория</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation>Протолкнуть закладку</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation>Выберите закладку для проталкивания:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation>Mercurial: Проталкивание закладки в удалённый репозиторий</translation>
     </message>
@@ -28223,22 +28223,22 @@
         <translation>Помеченные как &apos;resolved&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation>Удалить все резервные копии</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Вы действительно хотите удалить все резервные комплекты, сохраненные в &apos;области резервного копирования&apos;&lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation>Копировать набор изменений (Stop)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation>Копировать набор изменений (Abort)</translation>
     </message>
@@ -30259,40 +30259,50 @@
         <translation>Введите опционально автора фиксации</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation>Счетчик удалений:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation>Число ведущих директорий для удаления (по умолчанию 1)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation>Файл патча:</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation>Введите имя файла патча</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation>Разрешить применение импорта</translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation>Введите имя файла патча</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation>Разрешить применение импорта</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation>Применять импорт</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation>Файлы патчей (*.diff *.patch);;Все файлы (*)</translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -61262,22 +61272,22 @@
         <translation>{0} on {1}, {2}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation>StdOut: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation>StdErr: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation>Ошибка Drag&amp;&amp;Drop</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; не является файлом&lt;/p&gt;</translation>
     </message>
@@ -61328,7 +61338,7 @@
 Функция: {3}({4})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation>Проект</translation>
     </message>
@@ -61358,7 +61368,7 @@
         <translation>Активное виртуальное окружение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
@@ -61367,7 +61377,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation>Текущее виртуальное окружение: &apos;{0}&apos;
@@ -83317,12 +83327,12 @@
         <translation> сек</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation>Обнаружен подозрительный URL</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation>&lt;p&gt;URL &lt;b&gt;{0}&lt;/b&gt; был найден в базе Safe Browsing.&lt;/p&gt;{1}</translation>
     </message>
@@ -86596,12 +86606,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation>Запуск...</translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation>Создание главного окна...</translation>
     </message>
@@ -86768,7 +86778,7 @@
         <translation>Определены синтаксические ошибки в doctest.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation>нет сообщения, определенного для кода &apos;{0}&apos;</translation>
     </message>
@@ -86877,6 +86887,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation>используйте == /! = для сравнения str, bytes, и int литералов</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_tr.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_tr.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -30288,72 +30288,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30383,7 +30383,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30418,62 +30418,62 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30508,22 +30508,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -32823,40 +32823,50 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -64058,22 +64068,22 @@
         <translation>{0} üzerin {1}, {2}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation>Stdçıktı:{0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation>stdhata: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation>Düşme hatası</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; bir dosya değil.&lt;/p&gt;</translation>
     </message>
@@ -64116,7 +64126,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation type="unfinished">Proje</translation>
     </message>
@@ -64146,14 +64156,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation type="unfinished"></translation>
@@ -86048,12 +86058,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -89366,12 +89376,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation type="unfinished">Anapencere üretiliyor...</translation>
     </message>
@@ -89528,7 +89538,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -89637,6 +89647,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
--- a/eric6/i18n/eric6_zh_CN.ts	Fri Feb 14 19:52:37 2020 +0100
+++ b/eric6/i18n/eric6_zh_CN.ts	Sat Feb 15 12:13:52 2020 +0100
@@ -30816,72 +30816,72 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>Mercurial Command Server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3246"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3248"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be restarted.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3395"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3397"/>
         <source>&lt;p&gt;The Mercurial Command Server could not be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2735"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2737"/>
         <source>Import Patch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2787"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2789"/>
         <source>Export Patches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2834"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2836"/>
         <source>Change Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2891"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2893"/>
         <source>Copy Changesets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2940"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2942"/>
         <source>Copy Changesets (Continue)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3098"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3100"/>
         <source>Add Sub-repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3133"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3079"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3081"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub already contains an entry &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub could not be written to.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3151"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3153"/>
         <source>Remove Sub-repositories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3119"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3121"/>
         <source>&lt;p&gt;The sub-repositories file .hgsub does not exist. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30911,7 +30911,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2995"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2997"/>
         <source>Create Unversioned Archive</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30946,62 +30946,62 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3522"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3524"/>
         <source>Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Delete Bookmark</source>
         <translation type="unfinished">删除书签</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3544"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3546"/>
         <source>Select the bookmark to be deleted:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3555"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3557"/>
         <source>Delete Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3588"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3590"/>
         <source>Rename Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3630"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3632"/>
         <source>Move Mercurial Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Pull Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3724"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3726"/>
         <source>Select the bookmark to be pulled:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3736"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3738"/>
         <source>Pulling bookmark from a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Push Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3768"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3770"/>
         <source>Select the bookmark to be push:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3780"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3782"/>
         <source>Pushing bookmark to a remote Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
@@ -31036,22 +31036,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>Delete All Backups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3012"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3014"/>
         <source>&lt;p&gt;Do you really want to delete all backup bundles stored the backup area &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2952"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2954"/>
         <source>Copy Changesets (Stop)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2965"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2967"/>
         <source>Copy Changesets (Abort)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -33291,40 +33291,50 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="132"/>
         <source>Strip Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="131"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="141"/>
         <source>Enter number of leading directories to strip off (default 1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="162"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="172"/>
         <source>Patch File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="178"/>
-        <source>Enter the name of the patch file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="185"/>
-        <source>Select to enforce the import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="188"/>
+        <source>Enter the name of the patch file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="195"/>
+        <source>Select to enforce the import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="198"/>
         <source>Enforce Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="33"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.py" line="36"/>
         <source>Patch Files (*.diff *.patch);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="119"/>
+        <source>Enable to commit with the secret phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui" line="122"/>
+        <source>Commit with Secret Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HgLogBrowserDialog</name>
@@ -64673,7 +64683,7 @@
         <translation>No.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>Drop Error</source>
         <translation>降落误差</translation>
     </message>
@@ -64688,17 +64698,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1024"/>
+        <location filename="../QScintilla/Shell.py" line="1030"/>
         <source>StdOut: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1032"/>
+        <location filename="../QScintilla/Shell.py" line="1038"/>
         <source>StdErr: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2147"/>
+        <location filename="../QScintilla/Shell.py" line="2157"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; 不是一个文件。&lt;/p&gt;</translation>
     </message>
@@ -64741,7 +64751,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="2005"/>
+        <location filename="../QScintilla/Shell.py" line="2015"/>
         <source>Project</source>
         <translation type="unfinished">项目</translation>
     </message>
@@ -64771,14 +64781,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1825"/>
+        <location filename="../QScintilla/Shell.py" line="1835"/>
         <source>Available Virtual Environments:
 {0}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Shell.py" line="1866"/>
+        <location filename="../QScintilla/Shell.py" line="1876"/>
         <source>Current Virtual Environment: &apos;{0}&apos;
 </source>
         <translation type="unfinished"></translation>
@@ -86802,12 +86812,12 @@
         <translation type="unfinished"> 秒</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>Suspicuous URL detected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/WebBrowserPage.py" line="170"/>
+        <location filename="../WebBrowser/WebBrowserPage.py" line="171"/>
         <source>&lt;p&gt;The URL &lt;b&gt;{0}&lt;/b&gt; was found in the Safe Browsing database.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -90096,12 +90106,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="387"/>
+        <location filename="../eric6.py" line="390"/>
         <source>Starting...</source>
         <translation>正在启动…</translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="392"/>
+        <location filename="../eric6.py" line="395"/>
         <source>Generating Main Window...</source>
         <translation>正在产生主窗口…</translation>
     </message>
@@ -90252,7 +90262,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -90361,6 +90371,81 @@
         <source>use ==/!= to compare str, bytes, and int literals</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="120"/>
+        <source>f-string is missing placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="123"/>
+        <source>&apos;...&apos;.format(...) has unused arguments at position(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="126"/>
+        <source>&apos;...&apos;.format(...) has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="129"/>
+        <source>&apos;...&apos;.format(...) is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="132"/>
+        <source>&apos;...&apos;.format(...) mixes automatic and manual numbering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="135"/>
+        <source>&apos;...&apos;.format(...) has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="138"/>
+        <source>&apos;...&apos; % ... has invalid format string: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="141"/>
+        <source>&apos;...&apos; % ... has mixed positional and named placeholders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="144"/>
+        <source>&apos;...&apos; % ... has unsupported format character {0!r}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="147"/>
+        <source>&apos;...&apos; % ... has {0!d} placeholder(s) but {1!d} substitution(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="150"/>
+        <source>&apos;...&apos; % ... has unused named argument(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="153"/>
+        <source>&apos;...&apos; % ... is missing argument(s) for placeholder(s): {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="156"/>
+        <source>&apos;...&apos; % ... expected mapping but got sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="159"/>
+        <source>&apos;...&apos; % ... expected sequence but got mapping</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="162"/>
+        <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>

eric ide

mercurial